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