# Pop a highlighted two-line label onto each part as it is set down on the mat 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 "Turn the world into cheese (or anything really) with this camera." (09-krjdFfis), published 2026-06-02. Source interval [140, 280) on the 30/1 fps master: 140 frames, 4.666667 s. Local frame 0 = source frame 140. Create a 1920x1080 progressive timeline at 30/1 fps and a Fusion composition exactly 140 frames long. Keep integer frames; do not round the frame rate. Background field: #c9c8e8. Export silent H.264 yuv420p to match the intended playback container. ## Observation A top-down lavender cutting mat with a few parts and an orange case edge (f0–9). As a hand places a small board at ~f10, a two-line label with lime highlight bars pops above it. Further labels pop as parts land: a display at ~f40, a battery at ~f70, a camera at ~f100, a tiny SD card at ~f110 and a large printed body at ~f130. Placed labels stay put; nothing else animates. ## Mechanism Event-timed overlay annotations: highlighted caption blocks pop in one at a time, each anchored to the object placed at that moment, and persist. ## Phases (local frames) - 0: Mat with a few loose parts - 10: First part placed, label pops - 40: Second label - 70: Third label - 100: Fourth label - 110: Fifth label - 130: Sixth label, hold ## Layer inventory (absolute 1920x1080 top-left pixels, back to front) - mat [rect] at (0, 0) size 1920x1080 fill #c9c8e8 - grid-v-1 [line] at (0, 0) stroke #ffffff 1px - grid-v-2 [line] at (0, 0) stroke #ffffff 1px - grid-v-3 [line] at (0, 0) stroke #ffffff 1px - grid-v-4 [line] at (0, 0) stroke #ffffff 1px - grid-v-5 [line] at (0, 0) stroke #ffffff 1px - grid-v-6 [line] at (0, 0) stroke #ffffff 1px - grid-v-7 [line] at (0, 0) stroke #ffffff 1px - grid-v-8 [line] at (0, 0) stroke #ffffff 1px - grid-v-9 [line] at (0, 0) stroke #ffffff 1px - grid-v-10 [line] at (0, 0) stroke #ffffff 1px - grid-v-11 [line] at (0, 0) stroke #ffffff 1px - grid-v-12 [line] at (0, 0) stroke #ffffff 1px - grid-v-13 [line] at (0, 0) stroke #ffffff 1px - grid-v-14 [line] at (0, 0) stroke #ffffff 1px - grid-v-15 [line] at (0, 0) stroke #ffffff 1px - grid-h-1 [line] at (0, 0) stroke #ffffff 1px - grid-h-2 [line] at (0, 0) stroke #ffffff 1px - grid-h-3 [line] at (0, 0) stroke #ffffff 1px - grid-h-4 [line] at (0, 0) stroke #ffffff 1px - grid-h-5 [line] at (0, 0) stroke #ffffff 1px - grid-h-6 [line] at (0, 0) stroke #ffffff 1px - grid-h-7 [line] at (0, 0) stroke #ffffff 1px - grid-h-8 [line] at (0, 0) stroke #ffffff 1px - case [rect] at (0, 0) size 140x1080 fill #e5772b - tray [rect] at (1560, 0) size 360x120 radius 10 fill #e7e7ef - p0 [rect] at (560, 380) size 80x40 radius 6 fill #1f2a1f visible [10, 140) keyframes opacity: f10=0, f13=1 (out) - p1 [rect] at (790, 240) size 120x60 radius 6 fill #151515 visible [40, 140) keyframes opacity: f40=0, f43=1 (out) - p2 [rect] at (400, 400) size 60x140 radius 6 fill #101010 visible [70, 140) keyframes opacity: f70=0, f73=1 (out) - p3 [rect] at (620, 850) size 50x120 radius 6 fill #2a5a3a visible [100, 140) keyframes opacity: f100=0, f103=1 (out) - p4 [rect] at (890, 860) size 26x40 radius 6 fill #c0392b visible [110, 140) keyframes opacity: f110=0, f113=1 (out) - p5 [rect] at (1200, 340) size 320x260 radius 6 fill #b9c33a visible [130, 140) keyframes opacity: f130=0, f133=1 (out) - l0 [group] at (470, 290) size 1x60 visible [10, 140) keyframes opacity: f10=0, f12=1 (out) keyframes scale: f10=0.8, f15=1 (out) - l0-bg0 [rect] at (375, 290) size 190x30 radius 6 fill #b6ff3b - l0-t0 [text] at (375, 294) size 190x0 text "Raspberry Pi" 20px weight 700 #111111 - l0-bg1 [rect] at (429, 320) size 82x30 radius 6 fill #b6ff3b - l0-t1 [text] at (429, 324) size 82x0 text "Zero" 20px weight 700 #111111 - l1 [group] at (720, 150) size 1x60 visible [40, 140) keyframes opacity: f40=0, f42=1 (out) keyframes scale: f40=0.8, f45=1 (out) - l1-bg0 [rect] at (632, 150) size 176x30 radius 6 fill #b6ff3b - l1-t0 [text] at (632, 154) size 176x0 text "LED display" 20px weight 700 #111111 - l1-bg1 [rect] at (611, 180) size 217x30 radius 6 fill #b6ff3b - l1-t1 [text] at (611, 184) size 217x0 text "with 4 buttons" 20px weight 700 #111111 - l2 [group] at (330, 320) size 1x60 visible [70, 140) keyframes opacity: f70=0, f72=1 (out) keyframes scale: f70=0.8, f75=1 (out) - l2-bg0 [rect] at (269, 320) size 122x30 radius 6 fill #b6ff3b - l2-t0 [text] at (269, 324) size 122x0 text "PiSugar" 20px weight 700 #111111 - l2-bg1 [rect] at (269, 350) size 122x30 radius 6 fill #b6ff3b - l2-t1 [text] at (269, 354) size 122x0 text "battery" 20px weight 700 #111111 - l3 [group] at (520, 760) size 1x60 visible [100, 140) keyframes opacity: f100=0, f102=1 (out) keyframes scale: f100=0.8, f105=1 (out) - l3-bg0 [rect] at (425, 760) size 190x30 radius 6 fill #b6ff3b - l3-t0 [text] at (425, 764) size 190x0 text "Raspberry Pi" 20px weight 700 #111111 - l3-bg1 [rect] at (465, 790) size 109x30 radius 6 fill #b6ff3b - l3-t1 [text] at (465, 794) size 109x0 text "camera" 20px weight 700 #111111 - l4 [group] at (840, 780) size 1x60 visible [110, 140) keyframes opacity: f110=0, f112=1 (out) keyframes scale: f110=0.8, f115=1 (out) - l4-bg0 [rect] at (772, 780) size 136x30 radius 6 fill #b6ff3b - l4-t0 [text] at (772, 784) size 136x0 text "Micro SD" 20px weight 700 #111111 - l4-bg1 [rect] at (799, 810) size 82x30 radius 6 fill #b6ff3b - l4-t1 [text] at (799, 814) size 82x0 text "card" 20px weight 700 #111111 - l5 [group] at (1240, 240) size 1x60 visible [130, 140) keyframes opacity: f130=0, f132=1 (out) keyframes scale: f130=0.8, f135=1 (out) - l5-bg0 [rect] at (1158, 240) size 163x30 radius 6 fill #b6ff3b - l5-t0 [text] at (1158, 244) size 163x0 text "3D printed" 20px weight 700 #111111 - l5-bg1 [rect] at (1152, 270) size 176x30 radius 6 fill #b6ff3b - l5-t1 [text] at (1152, 274) size 176x0 text "camera body" 20px weight 700 #111111 ## Construction steps 1. Timeline 1920x1080 at 30 fps; Fusion comp 140 frames. Local 0 = master frame 140. 2. Plate: #c9c8e8 mat with a 120px white grid at 50% opacity and an orange case strip at left, standing in for the footage. 3. Each label is one group: per line a #b6ff3b bar (30px tall, width fitted to the text) with 20px weight 700 black text centred on it; two lines stacked with no gap. 4. Pop: Blend 0 to 1 over 2 frames and Size 0.8 to 1.0 ease-out over 5 frames, pivot centre, starting at frames 10, 40, 70, 100, 110, 130. Anchor each group just above its part. 5. Parts fade in 3 frames before their label so the label reads as a response to the placement. 6. Easy mistake: reusing one label position; each label is placed independently near its object, not in a column. ## Content variants Default copy: - l0_0: Raspberry Pi - l0_1: Zero - l1_0: LED display - l1_1: with 4 buttons - l2_0: PiSugar - l2_1: battery - l3_0: Raspberry Pi - l3_1: camera - l4_0: Micro SD - l4_1: card - l5_0: 3D printed - l5_1: camera body Adaptation changes: - l0_0: Micro PC - l0_1: board - l1_0: OLED screen - l1_1: with 4 keys - l2_0: Slim - l2_1: battery pack - l3_0: Wide-angle - l3_1: camera - l4_0: Storage - l4_1: card - l5_0: Printed - l5_1: shell ## 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.