OpenAI Film Fieldnotes

Candidate construction guide · native Resolve not tested

Historical builder snapshot: 2026-09-14. Earlier README and handoff statements about being unrendered or unpublished describe that authoring stage. The current selected report verifies both content exports at 2026-09-15T00:24:06.540448+00:00; those earlier statements do not describe their current availability. Native Resolve execution and source-quality approval remain unverified.

Current selected render verification · Batch export report

One task, visible in two places

phone-desktop-pair / wave05-interface. One independently judgeable mechanism: The phone opens a task and exposes its response, then a desktop view fades in alongside it so both contexts remain visible together.

This is an original code/SVG specimen, not a live product demo. No render, native Resolve validation, independent quality approval or publication is claimed. Quality credit remains zero. The two content variants are inputs to the same mechanism, not two examples.

Start and duration

Read START-HERE.md. Requirements: Python 3.11+ (the pinned handoff uses hashlib.file_digest) and Node.js 22.18+ for the shared core's TypeScript preflight. The python3 commands below must resolve to Python 3.11 or newer. Canvas: 1280 x 720, square pixels, silent. Rate: 24000/1001 fps, never rounded. Duration: 96 frames, exactly 1001/250 seconds (4.004000000 s). Local frames run from 0 through 95; end is exclusive at 96.

Source: Use ChatGPT Work on Your Phone (2026-08-28), https://www.youtube.com/watch?v=yfnh8SuMbNw. Selected source frames [2182, 2278). The source-master hash is inherited, not reverified. Only the retained 960x540 silent excerpt was hashed and decoded here. Its own PTS is retained in retained-excerpt-pts.json; nominal source seconds are frame/rational-rate arithmetic. Absolute source PTS is unavailable. The original source packet and selection unit remain byte-exact in source-packet.json and source-unit.json. The inherited September 5, 2026 cutoff is not refreshed by this work.

Source observations

All 96 consecutive retained-excerpt frames were inspected in native-pixel sheets, with native-pixel crops around boundaries. Large sheets are scaled by the viewing tool; this is static frame inspection, not an uninterrupted moving review or independent critic pass. No source critic files were read. An allowed packaging-helper view incidentally returned unrelated legacy review summaries after construction; those were not used. This is not a blind study.

No easing curve, opacity curve, source typography metric or pixel travel distance was recovered. Those numbers in this recipe are authored estimates.

Authored adaptation

Biggest known gap: The short crossfade and phone travel use estimated smoothstep geometry; source wallpaper, presenter and denser asynchronous text are intentionally absent.

Frame plan

The following anchors describe this authored build. Compare the separate source observations before calling any anchor a source event measurement.

Local / Fusion frame Nominal source frame Authored state
0 2182 task list
5 2187 opening task
14 2196 task context
24 2206 response begins
37 2219 three-line response
46 2228 before pair
48 2230 translucent desktop
51 2233 opaque desktop
53 2235 pair settles
95 2277 pair persists

Mechanism invariants

Remotion contract

Use the unchanged shared Recipe / Content API. No new engine API is needed. The executable recipe is overlay/recipes/phone-desktop-pair.json; reconstruction puts it at project/recipes/phone-desktop-pair.json. defaults and adaptation are embedded and duplicated exactly in inputs/defaults.json and inputs/adaptation.json. Edit a Content copy, not src/ or tracks.

Slot Type Maximum characters / geometry
stage color SVG/palette
accent color SVG/palette
specimen text 20
chapter text 31
taskName text 15
phoneLabel text 10
listTitle text 12
loading text 12
question text 25
answer text 51
desktopQuestion text 25
desktopAnswer text 68
followUp text 15
comparison text 46
taskBadge image SVG/palette

Text is ASCII, explicitly line-broken, and fixed size. Width preflight checks the complete strings, including a deliberately unrevealed suffix. It does not shrink, auto-wrap or crop rejected copy. Image slots accept the declared SVG aspect and resolution only. The supplied SVGs are geometric primitives with no embedded text, fonts, image data or external references. Their different variant geometries demonstrate asset substitution.

Run these preparation checks from the unpacked kit directory:

python3 test_kit.py --reconstruct clean
python3 test_kit.py --project clean/project
python3 handoff.py verify --guide guide.json --project clean/project
python3 handoff.py frames --guide guide.json --project clean/project > roundtrip.csv
cmp controls.csv roundtrip.csv
python3 test_kit.py --project clean/project --export-fusion > fusion-roundtrip.csv
cmp fusion-controls.csv fusion-roundtrip.csv

CSV files preserve literal helper stdout, including CRLF line endings. Capture stdout as bytes or redirect it directly as shown; never pass it through text-mode newline normalization. Equal parsed fields are not a substitute for a byte-exact cmp. The kit's verifier keeps both raw-byte gates.

test_kit.py --core PATH overrides the default this kit's own core-publication-v08.zip; it never discovers a developer's core implicitly. The same self-contained verifier supplies --reconstruct DEST and --export-fusion, so it does not depend on optional helper filenames. In a parent repack, active-assets.zip is accepted only with the exact overlay checksum and member set. Content JSON may be flattened to defaults.json and adaptation.json; the verifier still requires exact equality to the embedded Content. The nominal bundled-TTF font check is not the browser's final shaping check. The parent must render both variants, inspect readability and motion, and retain the renderer's manifest. Parent-only render commands, after a shared-dependency runtime is prepared, use the existing scripts:

cd clean/project
npm run render -- --recipe phone-desktop-pair --variant default --out out/phone-desktop-pair-default.mp4
npm run render -- --recipe phone-desktop-pair --variant adaptation --out out/phone-desktop-pair-adaptation.mp4

No install or encode was run by this worker. Parent batch preparation uses the existing shared dependency loader; do not duplicate node_modules for each kit.

DaVinci Resolve

Follow RESOLVE-HANDOFF.md and resolve-recipe.json. The CSV is a baked per-frame control table, not an automatic importer. It includes evaluated text for both variants, leaf opacity, world bounds and exact normalized units. Group rows are diagnostic, not additional painted nodes. Native Resolve is not available or validated here. Rasterization, font metrics and native rendering agreement remain open even when all numeric checks pass.

Download and review boundary

asset-overlay.zip is exactly one recipe plus its referenced SVGs under the project/ prefix; overlay-manifest.json pins every member. No dependency tree, source film or source image is in the overlay. download-kit.zip, when supplied by the parent handoff, also contains the exact shared core ZIP, documentation, source metadata/PTS, input JSON, controls and verifier. Source research PNGs stay in the bounded private worker and are never editable assets.

The parent owns all rendering, independent critics and publication. A packaging or test pass is not source-quality approval. This kit does not synchronize an all-hands recording or replace its required storyboard review.