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