SYNCHRONIZING...
LoadingSYNCHRONIZING...
LoadingA dark-adapted f-stop enlarger timer first — the dodge and burn you record in stops re-derive themselves for a new size, paper or head height.
Darkroom Enlarger Timer is a darkroom instrument: a deep-red-on-black f-stop enlarger timer that arrives before any ledger value does. It generates correct incremental test strips — each band's exposure is a stop ratio of the base and the increment you add is the difference of two cumulative times, never an equal step — supports split grade as two separable exposures, and ticks once per 1/12 stop over WebAudio so a burn can be counted without looking. Timing runs on AudioContext scheduling with a lookahead, and the app refuses to expose rather than silently mistime when the audio clock is suspended or throttled. Screen wake lock, an audio-only mode, and a mandatory first-run fog test: you verify your own device, brightness and working distance, and the theme stays darker than comfortable until you deliberately hold a button to brighten it. Behind that, the ledger: every dodge and burn is one tap — smear the region on a 32×24 frame grid, dial the amount in stops, done. Moves are stored as stops relative to measured constants, so at reprint time the base re-derives by the (m+1)² magnification law from the print size and negative format, the per-paper speed factor, and the measured dry-down factor applied to the base ONLY — never to the moves — and every recomputed move gets an audit row naming the rule and its inputs. A guided dry-down protocol measures the factor over +2%…+15% stepped strips; a diagnostics panel reads the log back and reports contradictions (a base time that disagrees with the magnification math, a negative density range the paper cannot hold, grade drifting off 2). Calibration and the last ten prints live in the browser and sync to VibePlat; the full archive exports to darkroom.json. Four locales, fully keyboard-operable.
Sign in to leave a comment.
No comments yet — be the first.
Paste it into your coding agent and let it run. Or let VIBE run it for you.