# Send a prompt so it lifts into the corner, then stream a numbered answer beneath it

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 [1155, 1245) on the 30/1 fps master: 90 frames, 3.000000 s. Local frame 0 = source frame 1155.
Create a 1920x1080 progressive timeline at 30/1 fps and a Fusion composition exactly 90 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 two-line user prompt sits in a grey bubble mid-frame with a purple send circle (f0–9). At ~f10 the bubble glides up and right, shrinking slightly, and the send button disappears; a faint 'Used health data' status appears beneath it at ~f16. At ~f40 a red-dot source label and a paragraph begin streaming at the left, followed by a bold 'Questions to bring…' heading (~f60) and a numbered list that fills line by line until f89.

## Mechanism
Send commits the composer bubble into a message by translating and shrinking it, after which the assistant reply streams as prose, heading and a row-by-row numbered list.

## Phases (local frames)
- 0: Composer bubble with send button
- 10: Bubble lifts to upper-right, send fades
- 16: Faint status label appears
- 40: Source label and paragraph stream
- 60: Heading, then numbered list fills
- 89: List complete

## Layer inventory (absolute 1920x1080 top-left pixels, back to front)
- bubble [group] at (420, 440) size 880x100
    keyframes x: f10=420, f24=1040 (inOut)
    keyframes y: f10=440, f24=80 (inOut)
    keyframes scale: f10=1, f24=0.9 (inOut)
  - bubble-bg [rect] at (420, 440) size 880x100 radius 26 fill #f2f2f2
  - prompt [text] at (448, 462) text "My doctor recommended we act early. / What questions should I ask at my next visit?" 20px weight 400 #111111
  - send [ellipse] at (1232, 470) size 40x40 fill #8b5cf6
      keyframes opacity: f8=1, f12=0 (out)
  - send-arrow [path] at (1252, 490) stroke #ffffff 3px
      keyframes opacity: f8=1, f12=0 (out)
- status [text] at (1060, 200) size 780x0 text "Used health data" 18px weight 400 #b0b0b0 visible [0, 40)
    keyframes opacity: f16=0, f22=1 (out)
- reply [group] at (300, 300) size 1320x700 visible [40, 90)
    keyframes opacity: f40=0, f44=1 (out)
  - src-dot [ellipse] at (300, 306) size 16x16 fill #e5343a
  - src [text] at (326, 302) text "Used health data  ›" 18px weight 500 #6f6f6f
  - para [text] at (300, 344) size 1300x0 text "Your clinician's note recommends acting at 39 weeks because your blood pressure has been trending slightly higher. Your latest labs and monitoring look reassuring." 20px weight 400 #222222 reveal words frames 42-60
  - heading [text] at (300, 450) text "Questions to bring to your next visit:" 20px weight 700 #111111
      keyframes opacity: f60=0, f63=1 (out)
  - qs [text] at (324, 492) text "1. Why do you recommend a follow-up at 39 weeks specifically? / 2. What are the benefits and risks of acting now versus waiting? / 3. Which option would you start with, and why? / 4. How long might the process take? / 5. Will I be able to move around, eat, or use the shower? / 6. What comfort options will be available? / 7. Which parts of my plan can stay the same? / 8. What happens if the first approach doesn't work?" 19px weight 400 #222222 reveal lines frames 64-89

## Construction steps
1. Timeline 1920x1080 at 30 fps; Fusion comp 90 frames. Local 0 = master frame 1155.
2. Bubble: 880x100 #f2f2f2 rounded 26 with two 20px lines and a 40px purple send circle. Keyframe the bubble Transform from (420,440) to (1040,80) and Size 1.0 to 0.9 over frames 10 to 24, ease-in-out, pivot top-right; blend the send circle out over 8 to 12.
3. Status: 18px #b0b0b0 right-aligned text under the parked bubble, blend in frames 16 to 22 and off at 40.
4. Reply block from frame 40: red 16px dot plus 18px grey source label; paragraph Write On by words 42 to 60; heading blends in 60 to 63; the eight numbered lines reveal one per ~3 frames from 64 to 89 with a 3-frame fade each.
5. Easy mistake: revealing the list by characters; the source populates whole rows, so use line-mode reveal.

## Content variants
Default copy:
- prompt: My doctor recommended we act early. / What questions should I ask at my next visit?
- status: Used health data
- source: Used health data
- para: Your clinician's note recommends acting at 39 weeks because your blood pressure has been trending slightly higher. Your latest labs and monitoring look reassuring.
- heading: Questions to bring to your next visit:
- qs: 1. Why do you recommend a follow-up at 39 weeks specifically? / 2. What are the benefits and risks of acting now versus waiting? / 3. Which option would you start with, and why? / 4. How long might the process take? / 5. Will I be able to move around, eat, or use the shower? / 6. What comfort options will be available? / 7. Which parts of my plan can stay the same? / 8. What happens if the first approach doesn't work?
Adaptation changes:
- prompt: My physio suggested a different program. / What should I ask before I switch?
- para: Your physio's note suggests changing programs because your knee range has plateaued for three weeks. Your strength scores are still improving.
- heading: Questions to ask before switching:
- qs: 1. What specifically has plateaued and how is it measured? / 2. What does the new program change first? / 3. How long before we expect a difference? / 4. Which exercises should I stop right away? / 5. Are there warning signs I should watch for? / 6. Can I keep cycling on rest days? / 7. How often will we reassess? / 8. What happens if the new plan also stalls?

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