# Reveal a two-line title word by word, hold it, then hard cut into the app

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 "Use ChatGPT Work to pressure-test marketing campaign briefs" (HHt8CPJRviA), published 2026-09-04.
Source interval [0, 240) on the 60/1 fps master: 240 frames, 4.000000 s. Local frame 0 = source frame 0.
Create a 1920x1080 progressive timeline at 60/1 fps and a Fusion composition exactly 240 frames long. Keep integer frames; do not round the frame rate.
Background field: #fbfbf9. Export silent H.264 yuv420p to match the intended playback container.

## Observation
The film opens on an off-white field. A two-line centred title appears one word at a time in its final position: word 1 at ~f6, word 2 ~f14, word 3 (start of line two) ~f22, word 4 ~f28 and the last word ~f34, with no slide or fade. The full title holds until f179, then a hard cut lands on a full-screen browser recording of a chat app with a sidebar, a suggested message, a highlighted user bubble and a read-only composer, which holds to the end of the window.

## Mechanism
Word-by-word in-place title reveal on a fixed beat, followed by a hard cut from the title card straight into the product frame.

## Phases (local frames)
- 0: Empty off-white field
- 6: Words appear in place every ~7 frames
- 41: Two-line title complete, hold
- 179: Hard cut to app recording

## Layer inventory (absolute 1920x1080 top-left pixels, back to front)
- title [text] at (0, 410) size 1920x0 text "Tighten campaign / briefs before launch" 88px weight 600 #151515 reveal words frames 6-41 visible [0, 179)
- app [group] at (0, 0) size 1920x1080 visible [179, 240)
  - tabstrip [rect] at (0, 0) size 1920x40 fill #2f7f8f
  - tab-active [rect] at (300, 8) size 190x32 radius 8 fill #f1f3f4
  - tab-b [rect] at (500, 12) size 150x24 radius 6 fill #4d97a6
  - tab-c [rect] at (660, 12) size 150x24 radius 6 fill #4d97a6
  - urlbar-bg [rect] at (0, 40) size 1920x36 fill #f1f3f4
  - urlbar [rect] at (90, 45) size 1500x26 radius 13 fill #ffffff stroke #dcdfe3 1px
  - sidebar [rect] at (0, 76) size 430x1004 fill #f6f6f4
  - app-name [text] at (24, 138) text "Fieldwork" 20px weight 600 #1c1c1c
  - chat-title [text] at (350, 140) text "Review launch positioning  ·  Work" 17px weight 400 #3a3a3a
  - new-chat [text] at (24, 200) text "✎  New chat" 17px weight 400 #2a2a2a
  - cam [rect] at (24, 255) size 380x214 radius 10 fill #8d8578
  - cam-desk [rect] at (24, 400) size 380x69 fill #b9ad99
  - cam-a [ellipse] at (130, 300) size 70x70 fill #3a3f6b
  - cam-b [ellipse] at (250, 300) size 70x70 fill #6b4e3a
  - pinned [text] at (24, 486) text "Pinned" 16px weight 400 #8a8a88
  - pin-1 [text] at (24, 528) text "○  Review launch positioning" 17px weight 400 #2a2a2a
  - pin-2 [text] at (24, 573) text "○  Create messaging review skill" 17px weight 400 #2a2a2a
  - pin-3 [text] at (24, 618) text "○  Connector emails in design tool" 17px weight 400 #2a2a2a
  - projects [text] at (24, 684) text "Projects" 16px weight 400 #8a8a88
  - proj-1 [text] at (24, 726) text "▢  Design" 17px weight 400 #2a2a2a
  - proj-2 [text] at (24, 771) text "▢  Finance weekly update" 17px weight 400 #2a2a2a
  - proj-3 [text] at (24, 816) text "▢  Sales enablement" 17px weight 400 #2a2a2a
  - proj-4 [text] at (24, 861) text "▢  Enterprise stories" 17px weight 400 #2a2a2a
  - proj-5 [text] at (24, 906) text "▢  Small business comms" 17px weight 400 #2a2a2a
  - show-more [text] at (24, 951) text "Show more" 16px weight 400 #8a8a88
  - avatar [ellipse] at (24, 1016) size 34x34 fill #3d5ac8
  - account [text] at (70, 1020) text "Demo workspace · Enterprise" 16px weight 400 #2a2a2a
  - suggested [text] at (645, 206) text "Suggested message:" 17px weight 400 #4a4a48
  - headline [text] at (670, 246) text "Turn scattered context into a launch-ready brief." 19px weight 600 #161616
  - body [text] at (670, 280) text "Give the workspace a clear goal plus the files it may use. It returns a / reviewable draft your team can inspect, refine and approve." 17px weight 400 #2c2c2c
  - cta-label [text] at (645, 366) text "Suggested CTA sequence:" 17px weight 400 #4a4a48
  - cta-1 [text] at (670, 402) text "1.  See the review workflow" 17px weight 600 #161616
  - cta-2 [text] at (670, 434) text "2.  Define your first governed pilot" 17px weight 600 #161616
  - note [text] at (645, 478) text "This resolves the tension by making governance evidence for the payoff, not a competing story." 17px weight 400 #2c2c2c
  - timestamp [text] at (930, 536) size 660x0 text "Today 1:51 PM" 13px weight 400 #9a9a98
  - ask-label [text] at (930, 556) text "Ask Fieldwork" 13px weight 400 #6a6a68
  - bubble [rect] at (930, 584) size 660x70 radius 14 fill #dbe7f8
  - bubble-text [text] at (948, 596) text "Great. I like these recommendations. Create an updated version / of the brief for me to download." 17px weight 400 #1d2b44
  - worked [text] at (645, 716) text "Worked for 4m 17s  ›" 16px weight 400 #8a8a88
  - result [text] at (645, 766) text "Updated brief includes the revised positioning, review lead proof, revenue variant, / audience-specific CTAs and explicit launch gates." 17px weight 400 #2c2c2c
  - dl-icon [rect] at (645, 858) size 18x18 radius 4 fill #2a5bd7
  - download [text] at (672, 854) text "Download the updated launch brief" 17px weight 600 #1d2b44
  - disclaimer [text] at (645, 946) size 945x0 text "The assistant can make mistakes. Workspace data is not used to train models." 13px weight 400 #9a9a98
  - composer [rect] at (645, 988) size 945x58 radius 29 fill #ffffff stroke #e2e2df 1px
  - plus [text] at (672, 1002) text "+" 22px weight 400 #3a3a3a
  - composer-text [text] at (704, 1006) text "This conversation is read-only." 17px weight 400 #8a8a88
  - model [text] at (1380, 1006) text "◆ 5.6 Sol  High  ⌄" 16px weight 400 #3a3a3a
  - mic [rect] at (1548, 1004) size 12x24 radius 6 fill #3a3a3a

## Construction steps
1. Timeline 1920x1080 progressive at 60 fps; Fusion composition 240 frames. Local 0 = master frame 0.
2. Background: solid #fbfbf9. Title: Text+ node, two lines centred, 88 px, weight 600, line height 110, colour #151515, block top at y=410.
3. Title reveal: Text+ Write On set to Word mode with a hard (no-fade) edge; keyframe from 0 words at frame 6 to 5 words at frame 41 so one word lands every 7 frames (6, 13, 20, 27, 34). Do not add a slide or fade; the words appear in their final positions.
4. App frame: build the browser chrome (teal tab strip 0-40, grey URL bar 40-76), a 430 px sidebar and the main chat column as a Background/Text+ stack on a second track that starts exactly at frame 179; the title track ends at 179. This is a hard cut: no dissolve.
5. Main column: suggested message at y=206, headline 19 px/600, body 17 px/26 line height, CTA list, note, then the highlighted user bubble 660x70 (#dbe7f8, radius 14) at (930,584), the 'Worked for' row at y=716, result paragraph, download link and the read-only composer pill 945x58 at (645,988).
6. Easy mistake: the reveal is per word on a fixed beat, not a typewriter; and the cut must land at frame 179, not on the bar of the title hold.

## Content variants
Default copy:
- title: Tighten campaign / briefs before launch
- appName: Fieldwork
- chatTitle: Review launch positioning
- suggested: Suggested message:
- headline: Turn scattered context into a launch-ready brief.
- body: Give the workspace a clear goal plus the files it may use. It returns a / reviewable draft your team can inspect, refine and approve.
- ctaLabel: Suggested CTA sequence:
- cta1: 1.  See the review workflow
- cta2: 2.  Define your first governed pilot
- note: This resolves the tension by making governance evidence for the payoff, not a competing story.
- bubble: Great. I like these recommendations. Create an updated version / of the brief for me to download.
- worked: Worked for 4m 17s  ›
- result: Updated brief includes the revised positioning, review lead proof, revenue variant, / audience-specific CTAs and explicit launch gates.
- download: Download the updated launch brief
- composer: This conversation is read-only.
- model: ◆ 5.6 Sol  High  ⌄
Adaptation changes:
- title: Stress-test pricing / pages before release
- appName: Deskline
- chatTitle: Review pricing page
- headline: Turn a rough pricing draft into a defensible page.
- body: Give the workspace a goal plus the spreadsheets it may read. It returns a / page draft your team can inspect, refine and approve.
- cta1: 1.  Compare the three tiers
- cta2: 2.  Pick the anchor plan
- note: This resolves the tension by leading with the plan most teams actually buy.
- bubble: Good. Keep the middle tier as the anchor and produce a revised / page for me to download.
- result: Updated page includes the revised tier names, an annual toggle, proof points / and a shorter FAQ.
- download: Download the updated pricing page

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