# Cross-dissolve one dark pitch slide into the next while a playhead keeps moving 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 "ChatGPT Work for Sales: Account Planning and Meeting Prep" (hjXi7b01s2c), published 2026-07-28. Source interval [4670, 4790) on the 60/1 fps master: 120 frames, 2.000000 s. Local frame 0 = source frame 4670. 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: #f4f4f2. Export silent H.264 yuv420p to match the intended playback container. ## Observation A dark video player sits over a faded light document page. It shows 'Capability 1' with a two-line headline, a curved node diagram with a hexagonal check mark, two labelled facts and a phone mock at right (f0–34). Around f36–50 the slide cross-dissolves into 'Capability 2': a straight network diagram, new headline and new labels, the ghost of the old headline visible mid-blend. The transport bar's playhead keeps advancing throughout; the pointer rests near the bottom of the player. ## Mechanism An in-player slide change built as a straight cross-dissolve between two fully composed slide groups, with the transport bar living outside the dissolve so it never blinks. ## Phases (local frames) - 0: Slide A holds, playhead advancing - 36: Cross-dissolve A to B begins - 50: Slide B fully in - 119: Slide B holds ## Layer inventory (absolute 1920x1080 top-left pixels, back to front) - doc-0 [rect] at (120, 120) size 300x12 radius 4 fill #dcdcd8 - doc-1 [rect] at (120, 156) size 473x12 radius 4 fill #dcdcd8 - doc-2 [rect] at (120, 192) size 646x12 radius 4 fill #dcdcd8 - doc-3 [rect] at (120, 228) size 819x12 radius 4 fill #dcdcd8 - doc-4 [rect] at (120, 264) size 992x12 radius 4 fill #dcdcd8 - doc-5 [rect] at (120, 300) size 465x12 radius 4 fill #dcdcd8 - doc-6 [rect] at (120, 336) size 638x12 radius 4 fill #dcdcd8 - doc-7 [rect] at (120, 372) size 811x12 radius 4 fill #dcdcd8 - doc-8 [rect] at (120, 408) size 984x12 radius 4 fill #dcdcd8 - doc-9 [rect] at (120, 444) size 457x12 radius 4 fill #dcdcd8 - doc-10 [rect] at (120, 480) size 630x12 radius 4 fill #dcdcd8 - doc-11 [rect] at (120, 516) size 803x12 radius 4 fill #dcdcd8 - doc-12 [rect] at (120, 552) size 976x12 radius 4 fill #dcdcd8 - doc-13 [rect] at (120, 588) size 449x12 radius 4 fill #dcdcd8 - doc-14 [rect] at (120, 624) size 622x12 radius 4 fill #dcdcd8 - doc-15 [rect] at (120, 660) size 795x12 radius 4 fill #dcdcd8 - doc-16 [rect] at (120, 696) size 968x12 radius 4 fill #dcdcd8 - doc-17 [rect] at (120, 732) size 441x12 radius 4 fill #dcdcd8 - doc-18 [rect] at (120, 768) size 614x12 radius 4 fill #dcdcd8 - doc-19 [rect] at (120, 804) size 787x12 radius 4 fill #dcdcd8 - doc-20 [rect] at (120, 840) size 960x12 radius 4 fill #dcdcd8 - doc-21 [rect] at (120, 876) size 433x12 radius 4 fill #dcdcd8 - doc-22 [rect] at (120, 912) size 606x12 radius 4 fill #dcdcd8 - doc-23 [rect] at (120, 948) size 779x12 radius 4 fill #dcdcd8 - doc-side [rect] at (1420, 120) size 380x600 radius 12 fill #e9e9e6 - player [group] at (210, 90) size 1500x900 - player-bg [rect] at (210, 90) size 1500x900 radius 18 fill #0d1117 - player-top [rect] at (210, 90) size 1500x36 radius 18 fill #161b22 - player-brand [text] at (270, 102) text "NORTHWIND FABRICATION" 12px weight 600 #8b949e - slideA [group] at (210, 126) size 1500x780 keyframes opacity: f36=1, f50=0 (inOut) - A-eyebrow [text] at (270, 176) text "CAPABILITY 1" 15px weight 600 #6ee7b7 - A-head [text] at (270, 206) size 1100x0 text "Explain risk across identity, cloud, and plant dependencies." 40px weight 600 #ffffff - arcA1 [path] at (210, 126) stroke #2fe6a4 2px - arcA2 [path] at (210, 126) stroke #2d8f72 1.5px - nodeA1 [ellipse] at (690, 416) size 16x16 fill #0d1117 stroke #2fe6a4 2px - nodeA2 [ellipse] at (730, 526) size 16x16 fill #0d1117 stroke #2fe6a4 2px - hexA [path] at (630, 506) fill #0d1117 stroke #2fe6a4 3px - checkA [path] at (630, 506) stroke #2fe6a4 5px - A-l1 [text] at (850, 456) text "Evidence" 15px weight 600 #6ee7b7 - A-l2 [text] at (850, 480) size 420x0 text "Policy exceptions" 22px weight 500 #ffffff - A-l3 [text] at (850, 566) text "Dependency" 15px weight 600 #6ee7b7 - A-l4 [text] at (850, 590) size 420x0 text "Recipe service token" 22px weight 500 #ffffff - A-phone [rect] at (1350, 366) size 220x400 radius 20 fill #161b22 stroke #2d3540 1px - A-ph-0 [rect] at (1370, 396) size 180x10 radius 4 fill #2b3440 - A-ph-1 [rect] at (1370, 422) size 157x10 radius 4 fill #2b3440 - A-ph-2 [rect] at (1370, 448) size 134x10 radius 4 fill #2b3440 - A-ph-3 [rect] at (1370, 474) size 111x10 radius 4 fill #2b3440 - A-ph-4 [rect] at (1370, 500) size 158x10 radius 4 fill #2b3440 - A-ph-5 [rect] at (1370, 526) size 135x10 radius 4 fill #2b3440 - A-ph-6 [rect] at (1370, 552) size 112x10 radius 4 fill #2b3440 - A-ph-7 [rect] at (1370, 578) size 159x10 radius 4 fill #2b3440 - A-ph-cta [rect] at (1370, 716) size 180x30 radius 8 fill #2fe6a4 - slideB [group] at (210, 126) size 1500x780 keyframes opacity: f36=0, f50=1 (inOut) - B-eyebrow [text] at (270, 176) text "CAPABILITY 2" 15px weight 600 #6ee7b7 - B-head [text] at (270, 206) size 1100x0 text "Recommend the safest action, and the accountable owner." 40px weight 600 #ffffff - netB1 [line] at (210, 126) stroke #2fe6a4 2px - netB2 [line] at (210, 126) stroke #2fe6a4 2px - netB3 [line] at (210, 126) stroke #2fe6a4 2px - netB4 [line] at (210, 126) stroke #2fe6a4 2px - nB1 [ellipse] at (322, 418) size 16x16 fill #0d1117 stroke #2fe6a4 2px - nB2 [ellipse] at (322, 618) size 16x16 fill #0d1117 stroke #2fe6a4 2px - nB3 [ellipse] at (802, 448) size 16x16 fill #0d1117 stroke #2fe6a4 2px - hexB [path] at (630, 526) fill #0d1117 stroke #2fe6a4 3px - checkB [path] at (630, 526) stroke #2fe6a4 5px - B-l1 [text] at (850, 456) text "Verify first, then stage the policy rollout." 15px weight 600 #6ee7b7 - B-l2 [text] at (850, 480) size 420x0 - B-l3 [text] at (850, 566) text "Owner" 15px weight 600 #6ee7b7 - B-l4 [text] at (850, 590) size 420x0 text "Maya Chen · Identity Platform" 22px weight 500 #ffffff - B-phone [rect] at (1350, 366) size 220x400 radius 20 fill #161b22 stroke #2d3540 1px - B-ph-0 [rect] at (1370, 396) size 180x10 radius 4 fill #2b3440 - B-ph-1 [rect] at (1370, 422) size 157x10 radius 4 fill #2b3440 - B-ph-2 [rect] at (1370, 448) size 134x10 radius 4 fill #2b3440 - B-ph-3 [rect] at (1370, 474) size 111x10 radius 4 fill #2b3440 - B-ph-4 [rect] at (1370, 500) size 158x10 radius 4 fill #2b3440 - B-ph-5 [rect] at (1370, 526) size 135x10 radius 4 fill #2b3440 - B-ph-6 [rect] at (1370, 552) size 112x10 radius 4 fill #2b3440 - B-ph-7 [rect] at (1370, 578) size 159x10 radius 4 fill #2b3440 - B-ph-cta [rect] at (1370, 716) size 180x30 radius 8 fill #2fe6a4 - bar-track [rect] at (310, 930) size 1300x4 radius 2 fill #2d3540 - bar-fill [rect] at (310, 930) size 600x4 radius 2 fill #2fe6a4 keyframes w: f0=600, f119=700 - playhead [ellipse] at (904, 924) size 16x16 fill #ffffff keyframes x: f0=694, f119=794 - time-a [text] at (250, 922) text "04:12" 14px weight 400 #8b949e - time-b [text] at (1630, 922) text "07:30" 14px weight 400 #8b949e - pointer [cursor] at (1210, 1000) ## Construction steps 1. Timeline 1920x1080 at 60 fps; Fusion comp 120 frames. Local 0 = master frame 4670. 2. Backdrop: #f4f4f2 page with grey text bars so the dark player reads as an embedded video over a document. 3. Player plate: 1500x900 #0d1117, radius 18, strong drop shadow; a 36px darker header strip with a small-caps brand label. 4. Build slide A and slide B as two complete groups at the same position (eyebrow 15px green, headline 40px white, node diagram, two fact pairs, phone mock). Dissolve: slide A opacity 1 to 0 and slide B 0 to 1 over frames 36 to 50, ease-in-out. 5. Transport bar: keep it outside both slide groups; keyframe the progress width 600 to 700 and the playhead X 694 to 794 linearly across all 120 frames. 6. Easy mistake: dissolving the whole player (including the bar) instead of only the slide layer; the bar must never blink. ## Content variants Default copy: - eyebrowA: CAPABILITY 1 - headA: Explain risk across identity, cloud, and plant dependencies. - a1: Evidence - a2: Policy exceptions - a3: Dependency - a4: Recipe service token - eyebrowB: CAPABILITY 2 - headB: Recommend the safest action, and the accountable owner. - b1: Verify first, then stage the policy rollout. - b2: - b3: Owner - b4: Maya Chen · Identity Platform - brand: NORTHWIND FABRICATION Adaptation changes: - eyebrowA: STEP 1 - headA: Trace every alert back to the service that raised it. - a1: Signal - a2: Latency spike, region east - a3: Blast radius - a4: Checkout and payments - eyebrowB: STEP 2 - headB: Propose the smallest fix and name who ships it. - b1: Roll back the config, then retry the canary. - b3: Owner - b4: Jonas Weber · Platform SRE - brand: HARBOR LOGISTICS ## 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.