Chain editable shot origins and revisions by exact shot references, collect them in Video Composition, apply finishing there, and render without flattening away design-system or semantic editability.
Where: Flowgen -> Shot Design Gen / Shot Motion Gen -> Video Composition -> Video Render
Key ideas
- A shot is not a video file: shot_out is a live exact reference to an editable nested document plus source selections, local timing, variants, posters, and contribution receipts.
- Stages contribute, resolver composes: Every Design or Motion node stores only its own revision. The resolver replays the ordered chain and reports applied, shadowed, skipped, broken, and conflicting targets.
- Composition owns the master clock: The same shot can appear more than once with stable placement identities. Video Composition owns occurrence order, master start/duration, between-shot transitions, audio, and finishing.
- Whole design system travels separately: Connect the Design System to shot stages and Video Composition. The complete video-target sheet and authored master motion are painted in preview, poster, composition, and final render paths.
Steps
- Create one Shot Design Gen origin per independently editable shot.
- Connect footage, exact pages/CSS, references, placement assets, a structure reference, and the video-target Design System where appropriate.
- Run Design, then connect shot_out -> shot_in through as many Design and Motion revisions as the shot needs.
- Choose layout variants and render profiles, trim source windows, and capture representative posters.
- Connect each final shot_out directly to Video Composition shots_in, or collect shot values in an Items List and connect the List when the composition should follow its row order.
- Connect Design System and the real instruction channel to Video Composition; use pattern_in when a reference composition should govern finishing.
- Set order, occurrence placement, transitions, audio, and finishing in Composition. Rewire/unwire shots deliberately; removed shot links remove their old precomps.
- Connect the finished composition to Video Render and inspect that target styles, motion, posters, and shot order survived the render.
Recommended topology
- Shot Design origin -> optional Shot Motion -> optional Shot Design revision -> optional repeated Shot Motion.
- Final shot_out values -> Video Composition shots_in.
- Video Composition output -> Video Render.
- Design System -> each consumer that must paint the complete target sheet.
Direct and List-fed shots
Composition reads direct shot wires in explicit edge order and can also resolve shot-valued List rows. A live shots_in connection is the source of truth after reload; stale persisted projections do not override it.
Finishing versus shot-local work
- Shot stages: nested layout, source window, reframe, elements, local tracks, cues, poster.
- Composition: occurrence order, master placement, transitions between shots, soundtrack/mix, whole-film finishing.
- Video Render: final output dimensions, FPS, encoder, and file.
Tips
- Keep shots small and semantically named so one revision has a clear target.
- Use posters to make List and Composition views scannable.
- Test one shot chain before scaling it through a List iteration.
- Inspect resolve diagnostics after hand-editing a nested document.
Limitations and important notes
- A generic media socket cannot preserve a shot reference.
- Flattening to a video too early removes semantic revision behavior.
- A list row must actually contain a shot value; an image poster is not a substitute.
- Final delivery still requires Video Render.
Troubleshooting
Composition shows an old or removed shot
Inspect current shots_in edges and List rows. Rewired/unwired live links should remove the old precomp; reload only after the graph save settles.
The final render lost design-system styling
Connect the Design System to Composition and ensure shot stages consumed the complete video target, then rerun the render.
A later node cannot accept shot_out
Use the exact shot_in or shots_in socket. shot is an exact-only type and cannot be coerced through default/media.