# Cut between centred product shots on a steady eight-frame beat, then hold the last

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 "This is ChatGPT Images 2.0" (-7JSa_luc6k), published 2026-04-21.
Source interval [1706, 1798) on the 30000/1001 fps master: 92 frames, 3.069733 s. Local frame 0 = source frame 1706.
Create a 1920x1080 progressive timeline at 30000/1001 fps and a Fusion composition exactly 92 frames long. Keep integer frames; do not round the frame rate.
Background field: #ffffff. Export silent H.264 yuv420p to match the intended playback container.

## Observation
Twelve packaged products appear one after another on a plain white field, each centred and sized to a similar visual weight: a tall tin, a can, a boxed jar, a red jar, a paper menu, a black menu book, a soap box, a spice pouch, a green bottle, a navy cracker bag, a cereal box and finally a comic page. Every change is a hard cut with no transition; the cuts land roughly every eight frames (some four to six), at local ~f0, 6, 14, 22, 28, 36, 44, 51, 55, 63, 71 and 79. The final comic page holds for the last thirteen frames.

## Mechanism
Metronomic hard-cut montage: centred subjects on an identical white field swapped on a fixed beat, then a hold on the final subject.

## Phases (local frames)
- 0: Cut 1
- 6: Cut 2
- 14: Cut 3
- 22: Cut 4
- 28: Cut 5
- 36: Cut 6
- 44: Cut 7
- 51: Cut 8
- 55: Cut 9
- 63: Cut 10
- 71: Cut 11
- 79: Cut 12
- 79: Hold on the last subject

## Layer inventory (absolute 1920x1080 top-left pixels, back to front)
- p1-group [group] at (960, 520) size 0x0 visible [0, 6)
  - p1-s0 [rect] at (850, 320) size 220x400 radius 30 fill #1f4a3a
  - p1-s1 [rect] at (850, 480) size 220x120 fill #e9e2cf
  - p1-s2 [rect] at (850, 320) size 220x22 radius 8 fill #b8952a
  - p1-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p1-label [text] at (660, 820) size 600x0 text "Cloud Peak Tea" 22px weight 500 #555555
- p2-group [group] at (960, 520) size 0x0 visible [6, 14)
  - p2-s0 [rect] at (870, 310) size 180x420 radius 40 fill #f4f2ea stroke #d9d5c8 2px
  - p2-s1 [ellipse] at (905, 480) size 110x110 fill #e8d44a
  - p2-s2 [rect] at (930, 350) size 60x90 fill #2a3a6a
  - p2-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p2-label [text] at (660, 820) size 600x0 text "Yuzu Sparkle" 22px weight 500 #555555
- p3-group [group] at (960, 520) size 0x0 visible [14, 22)
  - p3-s0 [rect] at (760, 410) size 260x220 radius 6 fill #8fa27a
  - p3-s1 [rect] at (1040, 430) size 120x180 radius 16 fill #3f5a3a
  - p3-s2 [rect] at (1040, 410) size 120x30 radius 8 fill #b8952a
  - p3-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p3-label [text] at (660, 820) size 600x0 text "Matcha Cream Set" 22px weight 500 #555555
- p4-group [group] at (960, 520) size 0x0 visible [22, 28)
  - p4-s0 [rect] at (810, 370) size 300x300 radius 40 fill #b8231f
  - p4-s1 [rect] at (830, 310) size 260x70 radius 14 fill #111111
  - p4-s2 [ellipse] at (880, 450) size 160x160 fill #111111
  - p4-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p4-label [text] at (660, 820) size 600x0 text "Chili Crisp" 22px weight 500 #555555
- p5-group [group] at (960, 520) size 0x0 visible [28, 36)
  - p5-s0 [rect] at (770, 260) size 380x520 radius 4 fill #f6f2ea stroke #dcd6c8 2px
  - p5-s1 [rect] at (810, 320) size 80x80 radius 6 fill #c8b28a
  - p5-s2 [rect] at (920, 320) size 80x80 radius 6 fill #c8b28a
  - p5-s3 [rect] at (1030, 320) size 80x80 radius 6 fill #c8b28a
  - p5-s4 [rect] at (810, 430) size 80x80 radius 6 fill #c8b28a
  - p5-s5 [rect] at (920, 430) size 80x80 radius 6 fill #c8b28a
  - p5-s6 [rect] at (1030, 430) size 80x80 radius 6 fill #c8b28a
  - p5-s7 [rect] at (810, 560) size 300x8 radius 4 fill #cfc7b6
  - p5-s8 [rect] at (810, 590) size 220x8 radius 4 fill #cfc7b6
  - p5-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p5-label [text] at (660, 820) size 600x0 text "Set Menu" 22px weight 500 #555555
- p6-group [group] at (960, 520) size 0x0 visible [36, 44)
  - p6-s0 [rect] at (770, 270) size 380x500 radius 4 fill #151515
  - p6-s1 [ellipse] at (840, 480) size 240x240 fill #f4f1ea
  - p6-s2 [rect] at (930, 320) size 60x120 fill #f4f1ea
  - p6-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p6-label [text] at (660, 820) size 600x0 text "Omakase Card" 22px weight 500 #555555
- p7-group [group] at (960, 520) size 0x0 visible [44, 51)
  - p7-s0 [rect] at (740, 380) size 440x280 radius 16 fill #efe9d2
  - p7-s1 [rect] at (740, 490) size 440x60 fill #3f7a3a
  - p7-s2 [ellipse] at (1000, 410) size 150x150 fill #8fbf6a
  - p7-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p7-label [text] at (660, 820) size 600x0 text "Herbal Soap" 22px weight 500 #555555
- p8-group [group] at (960, 520) size 0x0 visible [51, 55)
  - p8-s0 [rect] at (790, 290) size 340x460 radius 30 fill #b8231f
  - p8-s1 [rect] at (790, 290) size 340x90 radius 30 fill #e8b23a
  - p8-s2 [ellipse] at (850, 520) size 220x160 fill #e8b23a
  - p8-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p8-label [text] at (660, 820) size 600x0 text "Spice Blend" 22px weight 500 #555555
- p9-group [group] at (960, 520) size 0x0 visible [55, 63)
  - p9-s0 [rect] at (900, 420) size 120x340 radius 30 fill #8fc86a
  - p9-s1 [rect] at (930, 280) size 60x150 radius 12 fill #8fc86a
  - p9-s2 [rect] at (900, 500) size 120x120 fill #f4f1ea
  - p9-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p9-label [text] at (660, 820) size 600x0 text "Spring Soda" 22px weight 500 #555555
- p10-group [group] at (960, 520) size 0x0 visible [63, 71)
  - p10-s0 [rect] at (790, 290) size 340x460 radius 30 fill #1b2a4a
  - p10-s1 [ellipse] at (840, 540) size 240x160 fill #e9d9b8
  - p10-s2 [rect] at (820, 320) size 100x140 fill #f4f1ea
  - p10-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p10-label [text] at (660, 820) size 600x0 text "Rice Crackers" 22px weight 500 #555555
- p11-group [group] at (960, 520) size 0x0 visible [71, 79)
  - p11-s0 [rect] at (810, 290) size 300x460 radius 6 fill #8a5a2a
  - p11-s1 [rect] at (810, 290) size 300x160 fill #efe4c8
  - p11-s2 [ellipse] at (850, 550) size 220x150 fill #f4f1ea
  - p11-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p11-label [text] at (660, 820) size 600x0 text "Buckwheat Groats" 22px weight 500 #555555
- p12-group [group] at (960, 520) size 0x0 visible [79, 92)
  - p12-s0 [rect] at (730, 290) size 460x460 radius 4 fill #e9dfc4
  - p12-s1 [rect] at (750, 310) size 200x130 fill #9a8a6a
  - p12-s2 [rect] at (970, 310) size 200x130 fill #7a6a5a
  - p12-s3 [rect] at (750, 460) size 420x120 fill #5a6a7a
  - p12-s4 [rect] at (750, 600) size 200x130 fill #9a8a6a
  - p12-s5 [rect] at (970, 600) size 200x130 fill #8a6a5a
  - p12-shadow [ellipse] at (780, 770) size 360x30 fill #000000
  - p12-label [text] at (660, 820) size 600x0 text "Comic Zine" 22px weight 500 #555555

## Construction steps
1. Timeline 1920x1080 at 29.97 fps; Fusion composition 92 frames. Local 0 = master frame 1706.
2. White background. Build each subject as a group of rectangles/ellipses centred on 960,520 with a faint blurred shadow ellipse beneath and a 22px grey label at y 820; keep every subject inside roughly 460x520 px so the visual weight matches from cut to cut.
3. Cut points (local frames): 0, 6, 14, 22, 28, 36, 44, 51, 55, 63, 71, 79. Trim each clip/group to start on its cut and end on the next; the twelfth holds to frame 92.
4. Use no dissolves, wipes or scale moves; the rhythm alone carries the sequence.
5. Easy mistake: equalising all gaps to exactly eight frames. The source drifts between four and eight, so copy the listed frames rather than a fixed grid.

## Content variants
Default copy:
- p1: Cloud Peak Tea
- p2: Yuzu Sparkle
- p3: Matcha Cream Set
- p4: Chili Crisp
- p5: Set Menu
- p6: Omakase Card
- p7: Herbal Soap
- p8: Spice Blend
- p9: Spring Soda
- p10: Rice Crackers
- p11: Buckwheat Groats
- p12: Comic Zine
Adaptation changes:
- p1: Alpine Salt
- p2: Ginger Fizz
- p3: Cedar Balm Set
- p4: Pepper Jam
- p5: Brunch Menu
- p6: Tasting Card
- p7: Oat Soap
- p8: Curry Base
- p9: Pear Cider
- p10: Seed Crackers
- p11: Spelt Flakes
- p12: Story Panels

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