# Pop a centred product title on, then insert a word mid-string so the whole title re-centres

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 [70, 165) on the 24000/1001 fps master: 95 frames, 3.962292 s. Local frame 0 = source frame 70.
Create a 1920x1080 progressive timeline at 24000/1001 fps and a Fusion composition exactly 95 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 shot with no graphic at local frame 0. A centred white hyphenated title ('gpt-transcribe' in the source) pops on between frames 4 and 6 (master ~75) and holds. At about frame 36 (master 106) a second word is inserted in the middle of the hyphenated string, and because the title is centred the head shifts left and the tail shifts right in the same instant. The longer title holds until about frame 88 (master 158) and disappears in two frames.

## Mechanism
Centred title with a hard mid-string word insertion: the swap is an instant text change on a centre-anchored layer, so the re-centring shift is the visible event rather than any tween.

## Phases (local frames)
- 0: No graphic
- 5: Short title pops on
- 36: Word inserted, title re-centres
- 88: Title off

## 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 (280, 590) size 560x330 radius 14 fill #2b2f34
- laptop-screen [rect] at (300, 606) size 520x296 radius 6 fill #e1eadf
- screen-lines [text] at (320, 640) text "~~~~~ ~~~~ ~~~~~~~ ~~~ ~~~~~ / ~~~~ ~~~~~~ ~~~ ~~~~~~~~~ ~~ / ~~~~~~~ ~~~ ~~~~~ ~~~~ ~~~~~~" 18px weight 400 #8f9a90
- title-a [text] at (0, 330) size 1920x0 text "quick-transcribe" 54px weight 600 #ffffff visible [5, 36)
    keyframes opacity: f5=0, f8=1 (out)
- title-b [text] at (0, 330) size 1920x0 text "quick-live-transcribe" 54px weight 600 #ffffff visible [36, 90)
    keyframes opacity: f86=1, f89=0 (out)

## Construction steps
1. Timeline 1920x1080 at 23.976 fps; Fusion composition 95 frames. Local 0 = master frame 70.
2. One Text+ node, 54 px semibold white, centre-justified, anchored at canvas centre x with baseline near y=360.
3. Blend 0 to 1 over frames 5 to 8 for the pop-on; Blend 1 to 0 over frames 86 to 89 for the pop-off.
4. At frame 36 replace the Styled Text with the longer string (add a Text+ keyframe or a second Text+ node cut in at 36); do not animate the change.
5. Keep centre justification on, otherwise the tail grows to the right only and the source's two-way shift is lost.
6. Easy mistake: adding a dissolve between the two strings; the source cuts them in a single frame.

## Content variants
Default copy:
- titleA: quick-transcribe
- titleB: quick-live-transcribe
Adaptation changes:
- titleA: field-notes
- titleB: field-live-notes

## 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.
