# Hover a toolbar action for its tooltip, click it, and morph the action row into a composer

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 "How to remix with Sora" (tC2ZELc4bOA), published 2024-12-09.
Source interval [1290, 1410) on the 60/1 fps master: 120 frames, 2.000000 s. Local frame 0 = source frame 1290.
Create a 1920x1080 progressive timeline at 60/1 fps and a Fusion composition exactly 120 frames long. Keep integer frames; do not round the frame rate.
Background field: #000000. Export silent H.264 yuv420p to match the intended playback container.

## Observation
A portrait video sits centred on black above a small 'Prompt' line, a progress bar and a six-item icon toolbar (f0–11). The pointer moves onto 'Remix' and at ~f12 a dark tooltip appears above it with a keyboard hint. The pointer clicks at ~f40; the toolbar fades and over ~f40–56 a wide dark composer grows in its place with placeholder text, three option chips, a help mark and a white 'Remix' button at right. The composer then holds while the pointer drifts down.

## Mechanism
A toolbar-to-composer morph: tooltip on hover, click, then the action row dissolves as a composer plate expands upward into the same footprint.

## Phases (local frames)
- 0: Player with toolbar
- 12: Tooltip appears over the action
- 40: Click; toolbar fades
- 56: Composer fully grown
- 119: Hold

## Layer inventory (absolute 1920x1080 top-left pixels, back to front)
- video [group] at (760, 0) size 400x580
    keyframes y: f40=0, f56=-60 (inOut)
  - v-bg [rect] at (760, 0) size 400x580 radius 8 fill #33444c
  - v-sea [rect] at (760, 300) size 400x280 fill #26505a
  - v-cliff [rect] at (800, 260) size 320x140 radius 30 fill #6b5a48
  - v-house [rect] at (910, 180) size 120x90 radius 4 fill #c9c7c0
- player-ui [group] at (0, 0) size 1920x1080
    keyframes opacity: f40=1, f52=0 (out)
  - prompt-label [text] at (560, 610) text "Prompt" 16px weight 500 #8a8a8a
  - prompt [text] at (640, 608) text "a wide, serene shot of a stark concrete house set along the coast" 18px weight 500 #ffffff
  - bar [rect] at (560, 652) size 800x3 radius 2 fill #333333
  - bar-fill [rect] at (560, 652) size 80x3 radius 2 fill #ffffff
      keyframes w: f0=80, f119=120
  - pause [text] at (520, 640) text "⏸" 18px weight 400 #ffffff
  - dur [text] at (1370, 642) text "10s" 14px weight 400 #8a8a8a
  - tools [group] at (0, 690) size 1920x60
    - tool-ico-0 [rect] at (588, 690) size 24x24 radius 6 fill #0a0a0a stroke #d0d0d0 2px
    - tool-lbl-0 [text] at (560, 722) size 80x0 text "Edit prompt" 14px weight 500 #d0d0d0
    - tool-ico-1 [rect] at (748, 690) size 24x24 radius 6 fill #0a0a0a stroke #d0d0d0 2px
    - tool-lbl-1 [text] at (720, 722) size 80x0 text "View story" 14px weight 500 #d0d0d0
    - tool-ico-2 [rect] at (908, 690) size 24x24 radius 6 fill #0a0a0a stroke #d0d0d0 2px
    - tool-lbl-2 [text] at (880, 722) size 80x0 text "Re-cut" 14px weight 500 #d0d0d0
    - tool-ico-3 [rect] at (1068, 690) size 24x24 radius 6 fill #0a0a0a stroke #d0d0d0 2px
    - tool-lbl-3 [text] at (1040, 722) size 80x0 text "Remix" 14px weight 500 #d0d0d0
    - tool-ico-4 [rect] at (1228, 690) size 24x24 radius 6 fill #0a0a0a stroke #d0d0d0 2px
    - tool-lbl-4 [text] at (1200, 722) size 80x0 text "Blend" 14px weight 500 #d0d0d0
    - tool-ico-5 [rect] at (1388, 690) size 24x24 radius 6 fill #0a0a0a stroke #d0d0d0 2px
    - tool-lbl-5 [text] at (1360, 722) size 80x0 text "Loop" 14px weight 500 #d0d0d0
  - remix-ring [ellipse] at (1058, 682) size 40x40 fill #000000 stroke #ffffff 1.5px
      keyframes opacity: f10=0, f14=1, f39=1, f40=0
      keyframes fill: f38=#000000, f40=#ffffff
  - tooltip [group] at (520, 620) size 700x44 visible [12, 120)
      keyframes opacity: f12=0, f16=1 (out)
      keyframes y: f12=632, f16=622 (out)
    - tip-bg [rect] at (520, 620) size 700x44 radius 10 fill #2a2a2a
    - tip [text] at (540, 632) text "Describe changes and create new videos based on this one" 16px weight 500 #ffffff
    - key-bg [rect] at (1166, 630) size 34x24 radius 6 fill #444444
    - key [text] at (1166, 634) size 34x0 text "R" 14px weight 600 #ffffff
- composer [group] at (40, 600) size 1840x140 visible [40, 120)
    keyframes opacity: f40=0, f50=1 (out)
    keyframes scale: f40=0.85, f56=1 (out)
    keyframes y: f40=660, f56=620 (out)
  - composer-bg [rect] at (40, 600) size 1840x140 radius 20 fill #1c1c1c stroke #2c2c2c 1px
  - placeholder [text] at (70, 630) text "Describe changes to this video..." 20px weight 400 #8a8a8a
  - chip1-bg [rect] at (70, 688) size 64x34 radius 8 fill #2b2b2b
  - chip1 [text] at (70, 696) size 64x0 text "2v" 16px weight 500 #e0e0e0
  - chip2-bg [rect] at (146, 688) size 84x34 radius 8 fill #2b2b2b
  - chip2 [text] at (146, 696) size 84x0 text "480p" 16px weight 500 #e0e0e0
  - chip3-bg [rect] at (242, 688) size 150x34 radius 8 fill #2b2b2b
  - chip3 [text] at (242, 696) size 150x0 text "Strong remix" 16px weight 500 #e0e0e0
  - help [text] at (412, 694) text "?" 18px weight 500 #8a8a8a
  - btn [rect] at (1764, 686) size 86x38 radius 19 fill #ffffff
  - btn-t [text] at (1764, 695) size 86x0 text "Remix" 17px weight 600 #111111
- gradient-strip [rect] at (0, 1000) size 1920x80 fill #1f3f9a
- gradient-strip2 [rect] at (900, 1000) size 1020x80 fill #d0662d
- pointer [cursor] at (1040, 760) clicks at [40]
    keyframes tx: f0=-60, f10=0 (inOut), f60=0, f90=-20 (inOut)
    keyframes ty: f0=-40, f10=-60 (inOut), f60=-60, f90=120 (inOut)

## Construction steps
1. Timeline 1920x1080 at 60 fps; Fusion comp 120 frames. Local 0 = master frame 1290.
2. Player: 400x580 portrait video plate centred at x 760, prompt line at y 608, 800px progress bar at y 652 and six 24px icon+label tools spaced 160px starting x 560 at y 690.
3. Tooltip: 700x44 #2a2a2a pill with 16px text and a 34x24 key badge; blend in 12–16 while rising 10px; parent it to the player UI so it fades with the toolbar.
4. Click at 40: pointer click ring; fill the 40px ring behind the Remix icon white for the last two frames; then Blend the entire player UI group 1 to 0 over 40–52.
5. Composer: 1840x140 #1c1c1c plate anchored bottom-centre; Blend 0 to 1 over 40–50, Size 0.85 to 1.0 and Y 660 to 620 ease-out over 40–56; contents are static (placeholder, three chips, help mark, white 86x38 button). Nudge the video plate up 60px over the same span.
6. Easy mistake: keeping the toolbar visible under the composer; the source removes it entirely so the composer owns the footprint.

## Content variants
Default copy:
- t0: Edit prompt
- t1: View story
- t2: Re-cut
- t3: Remix
- t4: Blend
- t5: Loop
- promptLabel: Prompt
- prompt: a wide, serene shot of a stark concrete house set along the coast
- tip: Describe changes and create new videos based on this one
- key: R
- placeholder: Describe changes to this video...
- chip1: 2v
- chip2: 480p
- chip3: Strong remix
- button: Remix
- dur: 10s
Adaptation changes:
- t3: Rework
- prompt: a slow aerial pass over a fishing village at dawn
- tip: Describe edits and generate a new version of this clip
- key: W
- placeholder: What should change in this clip?
- chip3: Gentle rework
- button: Rework

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