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