Timing and motion

How timing works

The one rule behind every timing field in the product: WHEN is in seconds, HOW LONG is in candle-widths.

There is one rule behind every timing field in the app, and once you have it, none of them are surprising.

The rule

WHEN is in seconds. HOW LONG is in candle-widths.

When something happens is a moment in the video, so it is measured in time. How long an animation takes is a property of the chart's own rhythm, so it is measured in candle-widths and scales with the tempo.

Change speed in Settings → Output and every reveal stays proportional to the chart instead of drifting out of step with it. Change it, and when things happen moves, because the chart now takes a different amount of time to play.

Columns and seconds are not interchangeable

A column is a position on the chart. A second is a position in the video. Normally one maps onto the other — but a pause holds one single column for its whole length, and the end hold does the same at the end.

That means: nothing can be placed inside a pause by naming a column. For the whole span of a three-second freeze, the playhead is at column 40. Something anchored to "column 40" has one moment available, not three seconds of them.

The two ways out

Both live in an element's Timing tab.

Offset secondsn seconds past this element's own column. Use it when there is nothing to anchor to: a hand-placed pause has no id, and the end hold is not a pause at all, so there is no object to name.

Anchor to a narration linen seconds after a specific spoken line begins. Use it when the video has narration, because re-recording that line then reflows everything anchored after it automatically. This is the better option whenever it is available.

They are mutually exclusive

Setting an anchor makes the offset field inert. Two fields both meaning "seconds past my anchor" would be genuinely ambiguous, so one wins by design rather than by accident.

There is an exit-side twin of each, for elements that leave rather than arrive. Camera shots and keyframes carry the offset too.

Where each field lives

FieldUnitWhere
Appears at / Disappears atcolumnevery element's Timing tab
Offset secondssecondsevery element's Timing tab
Anchor to linenarration line + secondsevery element's Timing tab
Reveal duration / delaycandle-widthsevery element's Animation tab
Speedcandles per secondSettings → Output
Pause lengthsecondsSettings → Motion → Pauses
Subtitle durationsecondsthe Subtitles list
Tail secondssecondsSettings → Output

Subtitles are seconds and not columns for the same reason a recording is: a caption measured off a word is pinned to a moment in an audio file, and raising the candle tempo must not slide it off its syllable.

Reading the timing on the canvas

Every element with timing draws the same three-colour language: amber for arrives, red for leaves, and a dashed connector from the marker to whatever owns it. Camera shots use exactly the same colours — a shot's arrival and its release are as visible as a pause's, without selecting anything.