# Stack a five-row feature list over a presenter, one row fading in per spoken beat

Manual DaVinci Resolve / Fusion construction guide generated from the recipe. It is not a tested .drp.
The accompanying Remotion project (recipe.json) is the executable definition; the numbers below are copied from it.
Neither construction establishes source fidelity: this is an original vector approximation of an inspected editing moment.

## Source and clock
Reference: OpenAI's "Introducing gpt-transcribe and gpt-live-transcribe" (WeP9VUf1OoE), published 2026-07-28.
Source interval [612, 713) on the 24000/1001 fps master: 101 frames, 4.212542 s. Local frame 0 = source frame 612.
Create a 1920x1080 progressive timeline at 24000/1001 fps and a Fusion composition exactly 101 frames long. Keep integer frames; do not round the frame rate.
Background field: #aeb8b6. Export silent H.264 yuv420p to match the intended playback container.

## Observation
Presenter at a desk with a laptop, no overlay for the first 14 frames. 'Accents' fades in at the left of frame around local frame 15 (master 627), 'Multilingual speech' below it at ~25, 'Short answers' at ~33, then 'Names' and 'Numbers' arrive in quick succession at ~42 and ~44. All five rows then hold, left-aligned in a single column of white bold type, until the window ends.

## Mechanism
A left-aligned list builds row by row on the spoken cue: each row fades in with a small upward settle while earlier rows stay fixed, so hierarchy comes from order and timing, not motion.

## Phases (local frames)
- 0: Presenter shot, no overlay
- 15: Row 1 fades in
- 25: Row 2
- 33: Row 3
- 42: Row 4
- 44: Row 5, list complete
- 60: Hold

## Layer inventory (absolute 1920x1080 top-left pixels, back to front)
- window-light [rect] at (0, 0) size 1920x640 fill #dfe3e1
- mullion-a [rect] at (560, 0) size 34x640 fill #8d9694
- mullion-b [rect] at (1320, 0) size 34x640 fill #8d9694
- sofa [rect] at (0, 620) size 1920x300 fill #3f6b74
- desk [rect] at (0, 880) size 1920x200 fill #cdbba3
- figure [ellipse] at (760, 120) size 420x820 fill #5b6068
- laptop-lid [rect] at (1180, 590) size 560x330 radius 14 fill #2b2f34
- laptop-screen [rect] at (1200, 606) size 520x296 radius 6 fill #e1eadf
- screen-lines [text] at (1220, 640) text "~~~~~ ~~~~ ~~~~~~~ ~~~ ~~~~~ / ~~~~ ~~~~~~ ~~~ ~~~~~~~~~ ~~ / ~~~~~~~ ~~~ ~~~~~ ~~~~ ~~~~~~" 18px weight 400 #8f9a90
- row-1 [text] at (128, 400) text "Accents" 62px weight 600 #ffffff visible [15, 101)
    keyframes opacity: f15=0, f19=1 (out)
    keyframes ty: f15=10, f20=0 (out)
- row-2 [text] at (128, 532) text "Mixed-language speech" 62px weight 600 #ffffff visible [25, 101)
    keyframes opacity: f25=0, f29=1 (out)
    keyframes ty: f25=10, f30=0 (out)
- row-3 [text] at (128, 664) text "One-word replies" 62px weight 600 #ffffff visible [33, 101)
    keyframes opacity: f33=0, f37=1 (out)
    keyframes ty: f33=10, f38=0 (out)
- row-4 [text] at (128, 796) text "Proper names" 62px weight 600 #ffffff visible [42, 101)
    keyframes opacity: f42=0, f46=1 (out)
    keyframes ty: f42=10, f47=0 (out)
- row-5 [text] at (128, 928) text "Figures" 62px weight 600 #ffffff visible [44, 101)
    keyframes opacity: f44=0, f48=1 (out)
    keyframes ty: f44=10, f49=0 (out)

## Construction steps
1. Timeline 1920x1080 at 23.976 fps; Fusion composition 101 frames. Local 0 = master frame 612.
2. Background: the interview plate (here a flat stand-in with window, sofa, desk and laptop shapes). Keep the left third of frame clear of detail so the list reads; the laptop stand-in sits at right for that reason.
3. Five Text+ nodes, 62 px semibold white, left edge at x=128, baselines 132 px apart starting at y=400.
4. Each row: keyframe Blend 0 to 1 over 4 frames and a Y offset of +10 px settling to 0 over 5 frames with ease-out; start frames 15, 25, 33, 42 and 44.
5. Rows never move once landed; do not restack or re-centre the column when a new row arrives.
6. Easy mistake: the last two rows land only two frames apart (42 and 44) to match the narration; spacing them evenly breaks sync with the voice.

## Content variants
Default copy:
- item1: Accents
- item2: Mixed-language speech
- item3: One-word replies
- item4: Proper names
- item5: Figures
Adaptation changes:
- item1: Latency
- item2: Speaker changes
- item3: Cross-talk
- item4: Acronyms
- item5: Dates

## Limits
Easing names map to Fusion spline shapes: linear = linear, in/out/inOut = ease curves on the same frames, hold = step, spring/overshoot = slight overshoot past the target before settling.
Text reveal frames give the first and last unit; distribute characters/words evenly between them. Cursor click rings last 14 frames.
Vector illustration is an approximation of layout and motion, not the product UI or recovered production assets.
