# Find the category, then browse across it **Draft construction guide. Native Resolve operation and moving-source fidelity are not verified.** This is one candidate, with two editable content variants. ## Timing and source Official film identifier: `1PiLUnxd1b8`. Source interval [1560,1860), 60/1 fps. Create a silent 1920×1080 composition with 300 included frames, local 0..299. Source ordinal=1560+local frame. Local timeline duration=5.000 seconds. Do not substitute 24/25/29.97 fps or append a closing hold. The hash-bound preserved research excerpt is 960×540; native timing comes from its historical source ledger, not a guessed rate or fresh full-master decode. ## Inputs and setup Unpack the ZIP and run `python3 verify_package.py` before changing anything. `project/` is a complete TypeScript/Remotion project. `inputs/default.json` and `inputs/adaptation.json` hold the two invented content sets. The bundled Geist font includes its license. Install it for Text+ and calibrate pixel sizes and baselines against the rendered candidate. The chosen palette is original, not an official brand token. No source movie, narration or source screenshot belongs in the editable composition. `node --experimental-strip-types scripts/controls.mjs` regenerates `docs/controls.csv` from the same integer-frame model as Remotion. It contains one row per included frame and only this treatment's animated controls. For Fusion use global frame=composition start+CSV frame. A scalar step is a held key, not a default spline. For a continuous value, either key every supplied frame or recreate the declared smoothstep and compare all rows. Apply each local transform before its parent. Native Resolve import/export and pixel parity remain untested. ## Fusion layers and geometry | Group | Pixel geometry | Ownership | | --- | --- | --- | | Phone shell | x=725, y=39, w=470, h=1004,border 8, r=67 | Fixed; no camera zoom | | Screen content viewport | shell-local x=18, y=102, w=418, h=793 | Independent clipping mask | | Conversation | x=0, y=verticalY, w=418, h=1930 | Vertical child of viewport | | First category | y=470, first object row y=540 | Travels vertically only | | Second category | y=1262, second object row y=1333 | Heading travels vertically only | | Each object row | w=418, h=402 clipping domain | Clips its own horizontal strip | | Object strip | five cards,250 px pitch, w=242 per card | Second strip has horizontalX | | Header / composer | y=0, h=102 / x=15, y=895, w=424, h=70 | Above content; fixed to shell | 1. Build the phone as a fixed rounded shell with separate content and chrome. Never apply the conversation transform to its header or composer. 2. The first category and body scroll with Conversation: verticalY holds 0 through 10, then follows smoothstep to −1090 at 145. Hold that value through 299. Source samples constrain start/category-hold/end ordering, not this exact interpolation curve or distance; the original copy has different metrics. 3. The two object rows are separately clipped. The first strip keeps x=0. The second strip keeps x=0 through 252 and moves toward −565 on a smoothstep 252..315. The interval ends at 299 while that curve remains in progress. Do not add a finished swipe or extend the clip to 315. 4. The second category heading and following prose remain horizontally fixed while its cards travel sideways. Row mask belongs to Conversation and then inherits its held vertical offset; apply each transform exactly once. 5. The five bundled SVGs are original vector object studies. Rebuild their backgrounds, shadow ellipses, frame strokes, seat/back paths and linear fill gradients as separate Fusion shapes. Asset dimensions 480×560, rendered 238×278. Keep their viewBox and path coordinates; source product photos are not inputs. 6. Each object label is 20 px,600 weight, at(8,292),224 px box; caption 15 px at(8,349). Header, intro, category and summary boxes are defined in Scene.tsx. Use the generated CSV for the two animated offsets. Changing copy may require a new layout and review; no automatic shrink or fit is supplied. The original photos, small device controls, exact momentum, category spacing and source material quality remain differences. The retained source has subtle background motion; this candidate uses a held original gradient field. ## Verification and limits Compare both actual Remotion exports, not just their manifests. Check the first and final included frames, event brackets and clipping domains. The source movie is a research comparison only. The original artwork and this schematic UI do not demonstrate real product behavior. Mechanical passes do not close the published source gaps. No native .drp, automatic Resolve import or performance claim is supplied. All timing interpolation between sampled anchors is authored.