Skip to main content
Every number on this page was measured by scripts/measure.py on the machine named at the end, and written to docs/data/measured.json. The page is rendered from that file, so it states only what a run reported.

Landing error

decktalk verify decodes the finished film, finds the frame where each reveal starts to change, and measures how far that frame sits from the word its cue names. A reveal passes when it lands within verify.cue_offset_max_ms of its word plus half a frame, early or late, and the table counts a reveal past the limit by that same rule, so it names the reveals verify reported. A placeholder plays a click on every word of real word times, so its row measures the cue, the recording and the film it is assembled into. It has no voice of its own to misplace a word, so a voiced take’s timing is not part of it.

Every reveal, placeholder takes

Each offset is one build, in milliseconds. A positive offset is late and a negative one is early.

Build times

The project is the starter decktalk init writes, a film of 50.4 seconds in 3 sections. Each of 3 fresh copies was built 3 times in a row with decktalk build --no-spend, and each time is the wall time of the whole command, Python’s start included. The cold build starts from an empty build/ directory, with Chromium and ffmpeg already installed. The unchanged build runs the same command again with nothing edited. The last build follows a one-word change in section 3, from “Change a word” to “Change one word”. The last column counts the sections each build recorded rather than kept.

Coverage

The suites reach 98.1 percent of the package’s statements, 11,943 of 12,177. This is the total coverage report prints after the check table runs every suite the coverage floor measures:
The suites measured are browser, e2e, media, unit.

How these were measured

To measure your own machine, run the command from a checkout of the repository, then uv run scripts/build_measured.py --write to render this page from what it wrote.