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.
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.
- Local 4, 5, 13, 14: The phone leaves its navigation/task list after local 4. An empty/loading task view follows before the response content starts appearing.
- Local 24, 31, 37, 46: Phone response text builds while the phone remains the principal device. The presenter overlay and space background belong to the source framing.
- Local 46, 47, 48, 50, 51, 53: The phone shifts left as the desktop enters. The desktop is visibly translucent at 48-50 and visually opaque by 51; both contexts persist through 95. Exact opacity values and easing were not measured.
No easing curve, opacity curve, source typography metric or pixel travel distance was recovered. Those numbers in this recipe are authored estimates.
Authored adaptation
- Original task content, phone shell, desktop shell and task glyph replace source UI, wallpaper and presenter.
- Phone response is simplified to three lines. The desktop repeats the same task and facts with wider line layout.
- Phone x=504 to 108 over local 46-53, desktop x=700 to 418, and opacity values are authored visual estimates.
- The comparison notice rules out synchronization or network-performance claims.
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
- Phone response precedes desktop entry.
- Both device contexts remain visible from local 51 to 95.
- Task name and facts match across device views; there is no object transport between screens.
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.