ADR-0006: Episode IR = performance + coverage, with relative timing
- Status: Accepted (2026-09-29)
- Date: 2026-09-29
Context
The director turns a screenplay into scenes, shots, blocking, camera, transitions, timing and emotion per line. Two facts shape the format:
- Timing is not knowable up front. A line lasts as long as its voice take, and takes change: TTS provider, delivery notes, a recorded replacement.
- Re-direction must be cheap and local. "Make shot 12 a close-up and slow that line down" should change one shot and one line, with everything else following.
Decision
Each scene has two independent lists:
cues(performance). One continuous, ordered performance: lines, moves, looks, gestures, expressions, postures, props, SFX, FX, music and beats. Each cue'satis relative:- omitted: after the most recent cue not placed
withanother cue, plus the line gap; afteranother cue (a negative gap overlaps it);withanother cue, with an offset, optionally anchored to a word of a line;atSecfor hand-tuning.
- omitted: after the most recent cue not placed
shots(coverage). Ordered cuts over the performance. Each cut point is anchored to a cue edge with an offset, and optionally snapped to silence. The camera is either a named set setup or a framing intent (size, subjects, height, over-the-shoulder, lens) that the framing solver resolves on the legal side of the axis.
The compiler resolves both into a frame-exact Timeline once takes exist. Only the
compiler writes Timelines, and only the engine reads them.
Alternatives considered
- Shot-first (each shot owns its lines and actions). Simple to write, but continuity breaks across cuts, re-cutting means re-performing, and J- and L-cuts need special cases.
- Absolute timestamps in the IR. Every re-take or pace change would ripple through
hand-edited numbers. They survive only as an escape hatch (
atSec). - Adopting a published plan format wholesale (e.g. the PACE typed plan, 2026). Useful prior art for validation metrics, but it is 3D-scene-first and leaves transitions unimplemented. We borrow ideas, not the format.
Consequences
- The timeline editor (M7) edits the IR, never the Timeline. Chat edits become IR diffs.
- Captions, OTIO export, cut-on-silence and loudness ducking all fall out of one resolved timeline.
- Validators can reason about coverage: which shots show the speaker, where the axis is established, and which shots in a row share a subject.