# Pop three giant words in sequence, each landing on its own offset colour plate

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 "Health in ChatGPT is coming to U.S. users" (lR58Dge8jE8), published 2026-07-23.
Source interval [44, 112) on the 30/1 fps master: 68 frames, 2.266667 s. Local frame 0 = source frame 44.
Create a 1920x1080 progressive timeline at 30/1 fps and a Fusion composition exactly 68 frames long. Keep integer frames; do not round the frame rate.
Background field: #ffffff. Export silent H.264 yuv420p to match the intended playback container.

## Observation
A small centred label reads 'With ChatGPT' (f0). At ~f3 a huge black 'now' slams in at upper-left over a pale grey plate while the label fades; ~f11 'you' lands lower and to the right on a yellow plate; ~f19 'can' lands upper-right on a pink plate, overlapping the yellow one. From ~f26 the whole composition eases downward about 120px and ghosted lab values, a small activity stat with bar glyphs and a mini lab list fade in around the words; everything holds to f67.

## Mechanism
Staggered kinetic type: each word pops with a spring onto a different offset colour plate, then the finished cluster settles downward as peripheral UI ghosts fade in.

## Phases (local frames)
- 0: Small label holds
- 3: 'now' pops on grey plate, label fades
- 11: 'you' pops on yellow plate
- 19: 'can' pops on pink plate
- 26: Cluster settles down; peripheral ghosts fade in
- 40: Hold

## Layer inventory (absolute 1920x1080 top-left pixels, back to front)
- label [text] at (0, 500) size 1920x0 text "With one assistant" 40px weight 600 #111111
    keyframes opacity: f2=1, f8=0 (out)
- cluster [group] at (0, 0) size 1920x1080
    keyframes ty: f26=0, f36=-160 (inOut)
  - plate-grey [rect] at (80, 120) size 780x720 fill #f3f3f1
      keyframes opacity: f3=0, f7=1 (out)
  - w1 [text] at (100, 160) text "now" 300px weight 700 #111111
      keyframes opacity: f3=0, f5=1 (out)
      keyframes scale: f3=0.7, f12=1 (spring)
  - plate-yellow [rect] at (640, 140) size 560x780 fill #f6d94a
      keyframes opacity: f11=0, f15=1 (out)
  - w2 [text] at (700, 360) text "you" 300px weight 700 #111111
      keyframes opacity: f11=0, f13=1 (out)
      keyframes scale: f11=0.7, f20=1 (spring)
  - plate-pink [rect] at (1040, 60) size 660x520 fill #f8c9c4
      keyframes opacity: f19=0, f23=1 (out)
  - w3 [text] at (1080, 80) text "can" 300px weight 700 #111111
      keyframes opacity: f19=0, f21=1 (out)
      keyframes scale: f19=0.7, f28=1 (spring)
  - ghost-0 [text] at (860, -40) text "180 mg/dL" 40px weight 500 #111111
      keyframes opacity: f26=0, f40=1 (out)
  - ghost-1 [text] at (860, 4) text "120 mg/dL" 40px weight 500 #111111
      keyframes opacity: f26=0, f40=1 (out)
  - ghost-2 [text] at (860, 48) text "65 x10^3/µL" 40px weight 500 #111111
      keyframes opacity: f26=0, f40=1 (out)
  - ghost-3 [text] at (860, 92) text "90 mg/dL" 40px weight 500 #111111
      keyframes opacity: f26=0, f40=1 (out)
  - stat-label [text] at (1300, 700) text "Active minutes" 18px weight 500 #8a8a8a
      keyframes opacity: f26=0, f36=1 (out)
  - stat-value [text] at (1300, 724) text "42" 34px weight 600 #111111
      keyframes opacity: f26=0, f36=1 (out)
  - stat-unit [text] at (1400, 738) text "min · Today" 16px weight 500 #8a8a8a
      keyframes opacity: f26=0, f36=1 (out)
  - bars [group] at (1620, 700) size 140x60
      keyframes opacity: f26=0, f36=1 (out)
    - bar-0 [rect] at (1620, 732) size 8x28 radius 3 fill #9a9a9a
    - bar-1 [rect] at (1636, 710) size 8x50 radius 3 fill #9a9a9a
    - bar-2 [rect] at (1652, 720) size 8x40 radius 3 fill #9a9a9a
    - bar-3 [rect] at (1668, 702) size 8x58 radius 3 fill #9a9a9a
    - bar-4 [rect] at (1684, 724) size 8x36 radius 3 fill #9a9a9a
    - bar-5 [rect] at (1700, 708) size 8x52 radius 3 fill #9a9a9a
    - bar-6 [rect] at (1716, 716) size 8x44 radius 3 fill #9a9a9a
    - bar-7 [rect] at (1732, 730) size 8x30 radius 3 fill #9a9a9a
  - labs [group] at (100, 880) size 520x180
      keyframes opacity: f28=0, f40=1 (out)
    - labs-bg [rect] at (100, 880) size 520x180 radius 16 fill #ffffff stroke #e6e6e6 1px
    - lab-0 [text] at (124, 898) text "Glucose" 18px weight 500 #333333
    - lab-1 [text] at (124, 938) text "Cholesterol" 18px weight 500 #333333
    - lab-2 [text] at (124, 978) text "Triglycerides" 18px weight 500 #333333
    - lab-3 [text] at (124, 1018) text "Creatinine" 18px weight 500 #333333
    - val-0 [text] at (480, 898) size 110x0 text "90" 18px weight 600 #111111
    - val-1 [text] at (480, 938) size 110x0 text "180" 18px weight 600 #111111
    - val-2 [text] at (480, 978) size 110x0 text "120" 18px weight 600 #111111
    - val-3 [text] at (480, 1018) size 110x0 text "0.8" 18px weight 600 #111111

## Construction steps
1. Timeline 1920x1080 at 30 fps; Fusion comp 68 frames. Local 0 = master frame 44.
2. Label: 40px centred text, Blend 1 to 0 over frames 2 to 8.
3. Word plates: grey 780x720 at (80,120), yellow 560x780 at (640,140), pink 660x520 at (1040,60); fade each in over 4 frames starting 3, 11, 19.
4. Words: 300px weight 700 with -8 tracking; each pops with Size 0.7 to 1.0 using a spring over 9 frames (starts 3, 11, 19) and a 2-frame blend-in; pivot near the left edge so the word grows outward.
5. Cluster: parent all plates, words and ghost UI to one Transform and move Y from 0 to -160 over frames 26 to 36 with ease-in-out; ghost lab values at 18% opacity, the stat block and mini lab card fade in over the same window.
6. Easy mistake: the plates must overlap (pink over yellow, yellow over grey); if they are laid side by side the collage energy is lost.

## Content variants
Default copy:
- label: With one assistant
- w1: now
- w2: you
- w3: can
- statLabel: Active minutes
- statValue: 42
- statUnit: min · Today
- lab1: Glucose
- lab2: Cholesterol
- lab3: Triglycerides
- lab4: Creatinine
- v1: 90
- v2: 180
- v3: 120
- v4: 0.8
- g1: 180 mg/dL
- g2: 120 mg/dL
- g3: 65 x10^3/µL
- g4: 90 mg/dL
Adaptation changes:
- label: From today
- w1: see
- w2: every
- w3: trend
- statLabel: Steps
- statValue: 7,336
- statUnit: steps · Today
- lab1: Iron
- lab2: Ferritin
- lab3: Vitamin D
- lab4: B12
- v1: 88
- v2: 52
- v3: 31
- v4: 410

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