Previs Timeline (NLE)¶
The timeline is a staging editor embedded in the script reader — it assembles voice, boards, previs and styled media per scene. Finals go to Resolve/Premiere via OTIO/FCP export.
Tracks¶
Top to bottom in the NLE:
| Row | Content |
|---|---|
| Style Render | Seedance-styled shot videos (per block/take) |
| Style Frame | Committed style frames |
| Previs | Clay previs renders |
| Shots | Derived live from the voice track — camera == shot |
| Storyboard | Boards (SRB) |
| Voice / Audio | The derived dialogue track — the timeline's backbone |
The three media rows double as a shot-styling dashboard: each cell shows whether the clay render, style frame, and styled video exist for that take.
Data model & storage¶
SceneTimeline → Track → TimelineItem in alc/models/edit/models.py
(Clip, AudioClip, DialogueClip, ImageClip, StoryboardClip;
RationalTime/TimeRange at 24 fps).
- The JSON is the source of truth:
scene_{parent}_timeline.json, kept 1:1 with the on-screen view (SceneTimeline.load_manifest/save_manifest). - The voice track is derived from script blocks; per-block
AudioOverrides (trim in/out, lead gap, mute) layer edits on top without forking the derivation. Untouched blocks keep re-deriving. storyboard_locked/shots_lockedflags preserve manual cuts across rebuilds.- Media rows are resolved by
alc/services/media/prv_media.py, scanning{seq}_{block}_{take}_MagiCamrender directories.
Editing operations¶
All endpoints in app/tools/script/timeline.py
(.../scenes/{scene_id}/timeline/*): trim/move/swap/delete storyboard clips,
non-destructive shot trims (plus ripple-trim and close-gaps), voice
trim/move/mute per block, storyboard insert, and style-frame / style-video
generation (background threads, polled via /timeline/media-rows).
Export¶
POST .../timeline/export-edit writes an edit/ folder beside the latest
previs render:
- OTIO — video stack V1–V4 (boards, previs, style frame, style render),
A1 voice;
alc/models/edit/otio.py(OtioSceneTimeline). - FCP 7 XML — for Premiere/Resolve, with Windows-path fixups
(
FcpXmlHelper). - Animatic —
alc/services/media/animatic.pyrenders a review.mp4+ thumbnail proxy.