Candidate construction guide · native Resolve not tested
Build slides inside a floating task preview
Concrete original SVG/code kit; mechanically testable, unrendered by this builder. Parent renders and independent source-first critique are separate. Source quality remains unresolved; no completed-example or variant-as-example credit.
Source and adaptation
Exact source: A Look at ChatGPT agent, publication date 2025-07-17; source frames [2040,2340), 60/1 fps, 300 frames, 1920x1080 design canvas.
Publication metadata, source-master hash and source frame mapping are inherited from the pinned queue, not a new online metadata or master verification. The retained source excerpt is research only; it is not an active dependency or part of the overlay.
Largest known gap: Original vector cover art and native editable sample data replace source photos and product content. Source blur/shimmer and progressive table population are only approximated; no output readability or native Resolve calibration has been checked.
300 consecutive retained excerpt frames decoded and statically viewed in 13 indexed sheets at320x180 per cell; 8 selected frames viewed at960x540. This is not moving review or master-resolution inspection.
Source observations
- interface; local frames [0, 3, 4]: A compact white activity card floats over a soft blue abstract field. A cover slide with a photographic right panel is visible on0..3; frame4 replaces it with a light chart slide. Outer title, file header and small bottom transport pill remain separate from slide content.
- interface; local frames [4, 13, 22, 40, 56, 90, 112]: Two unequal colored chart bars grow upward from a common lower baseline, with the tall lime bar dominant. Both reach an apparent hold around56 and remain through112. Small body copy and gridlines coexist with the chart; exact text behavior is not recoverable from the tiny sheet cells.
- transition; local frames [112, 113, 115, 135, 173, 180, 240]: At113 the chart slide is replaced by a new heading over an initially empty light field. Three blue content cards reveal upward from a common bottom, staggered left to right, then hold as three full panels. Content is progressively exposed rather than the entire outer window moving.
- transition; local frames [240, 252, 253, 264, 299]: Near the end the activity card softens and changes height/vertical bounds. The slide preview and transport controls are replaced at253 by a spreadsheet-style task with a new title/file header. Table rows populate through the last frame, with unfinished cells still soft. This exit remains inside the selected five-second excerpt and must not be replaced by a slide hold.
Intentional differences
- Original garden and studio plans replace source branding, source photograph, document text and data. All chart values and counts are illustrative, not research measurements or claimed product performance.
- Observed retained-frame switches are cover3→chart4, chart112→columns113 and slide252→table253. Exact easing, card dimensions and per-cell schedules remain chosen adaptation controls.
- Chosen chart values: bars144px wide and68/282px tall; masks reveal from the fixed baseline392. Both masks hold through13, reach full at56, then hold to112. Data/palette changes do not change this demonstration timing.
- Chosen column masks:232x294 boxes atx28/284/540,y122. Reveal starts115/122/129, finishes158/168/178 with smoothstep. Text is exposed by the same mask, never vertically squashed.
- Chosen task-card morph240..264 changes y202→274 and height676→528. At253 switch all title/file/preview gates without a dissolve; remove transport controls. Table cells enter at256+8row+3column and clear6px blur over12frames, leaving late cells incomplete at299.
- The source moving light field and subtle task-title shimmer are not recreated. Original SVG gradient material drift is deliberately simpler; render and native Resolve evaluation are pending.
- Both original content variants keep all geometry, phase bounds and durations. They are contents of one treatment, not additional examples.
Run from the download
Start in a fresh extracted kit root with exactly these runtime files:
guide.json
README.md
handoff.py
controls.csv
overlay-manifest.json
core-publication-v08.zip
active-assets.zip
Use Python3.11+, Node22.18+, npm, unzip, FFmpeg/FFprobe and an existing supported Chromium. The core pins Remotion4.0.520 and the runtime lockfile. Set REMOTION_BROWSER_EXECUTABLE to your local Chromium if discovery fails. No private checkout, preparation script, authoring generator or inspection archive is required.
The core and active overlay both contain project/... members. Apply the selected overlay AFTER the core. The legacy assets-001.zip archives are not this kit; do not install them. The core font and its license remain required even though all active image/video media is SVG/code.
set -eu
test ! -e project
python3 -c "import hashlib,pathlib; assert hashlib.sha256(pathlib.Path('core-publication-v08.zip').read_bytes()).hexdigest() == '307fb6b927e35e6d73779652873d994f5c3e36cb7deba65f22fa64748057a0de', 'Core checksum mismatch'"
python3 -c "import hashlib,json,pathlib; manifest=json.loads(pathlib.Path('overlay-manifest.json').read_text()); assert hashlib.sha256(pathlib.Path('active-assets.zip').read_bytes()).hexdigest() == manifest['archiveSha256'], 'Overlay checksum mismatch'"
unzip core-publication-v08.zip
unzip -o active-assets.zip
python3 handoff.py verify --guide guide.json --project project
python3 handoff.py frames --guide guide.json --project project > controls-regenerated.csv
(cd project && npm ci)
Run the exact archived CLIs from project/. These are user-run commands, not a claim that the author rendered. No --fps, --duration or --output option is supported; cadence and duration come from the recipe.
cd project
node --experimental-strip-types scripts/catalog.mjs show agent-slide-build --contract
node --experimental-strip-types scripts/render.mjs --help
node --experimental-strip-types scripts/verify.mjs --help
node --experimental-strip-types scripts/render.mjs --recipe agent-slide-build --variant default --out out/agent-slide-build-default.mp4
node --experimental-strip-types scripts/render.mjs --recipe agent-slide-build --variant adaptation --out out/agent-slide-build-adaptation.mp4
node --experimental-strip-types scripts/verify.mjs out/agent-slide-build-default.mp4
node --experimental-strip-types scripts/verify.mjs out/agent-slide-build-adaptation.mp4
cd ..
Keep each output manifest next to its movie. The CLI refuses to overwrite an output or sibling manifest. Verification is provenance/technical checking, not source-fidelity approval. New editorial holds would change the requested bounded example and are not part of this kit.
Edit the complete Content object
Create the file from the installed recipe, never from a stale example or a partial object. This refuses to overwrite an existing custom file:
cd project
node --input-type=module -e "import {readFileSync,mkdirSync,writeFileSync} from 'node:fs'; const recipe=JSON.parse(readFileSync('recipes/agent-slide-build.json','utf8')); mkdirSync('inputs',{recursive:true}); writeFileSync('inputs/agent-slide-build-custom.json',JSON.stringify(recipe.defaults,null,2)+'\n',{flag:'wx'});"
cd ..
Edit project/inputs/agent-slide-build-custom.json, respecting every field and the limits in guide.json. Both variants are original illustrative content, not real product behavior. For image slots, keep the declared viewBox/aspect and SVG-only dependency rules. Then:
cd project
node --experimental-strip-types scripts/render.mjs --recipe agent-slide-build --content inputs/agent-slide-build-custom.json --out out/agent-slide-build-custom.mp4
cd ..
Construction steps
- Start in the downloaded kit root. Unpack core-publication-v08.zip and then active-assets.zip with overwrite enabled. Both use project/... member paths; no legacy asset archive, private preparation script or inspection file is required.
- Verify the selected recipe and both variants of every active SVG using unchanged handoff.py, and export its native-frame controls.csv before editing. Local frame zero is the queued source start, not absolute source frame zero.
- Keep all UI components as native rectangles, paths and text. Build the supplied SVG materials from their exact element/gradient tree when reproducing them in Fusion. Never use a source screenshot, footage, embedded bitmap or rasterized whole-interface substitute.
- Make a1920x1080 square-pixel Fusion composition at60fps, range0..lastIncludedFrame. Use one global frame clock for every child; parent gates intersect child gates but do not rebase keyframe time.
- Build groups on transparent RGBA working domains, merge their children in listed order, intersect local rounded/inset masks, then apply the parent transform and opacity once. Mask the composite, not just the Transform effect.
- Set bundled Geist with explicit line breaks, listed weight, pixel size, line height and box width. No automatic shrink/wrap is supported. Calibrate Text+ size/baseline with the installed font and test both complete contents before accepting an output.
- Create context-field and light-field as separate original SVG material subgroups. Light-field is2048x1152, alpha0.72, with x-64→-24 and y-36→-12 over0..299, smoothstep. This chosen drift is not a reconstruction of the source light field.
- Make task-card at x510,y202,width900,height676,radius40,white fill,overflow hidden. Its y/height hold through240 then smoothstep to274/528 at264, holding to299. Key the local rectangle/mask height, not vertical Transform scale: text and controls must not squash. Put task-shadow behind at y=taskY+18, matching width/height,radius40,alpha0.08,CSS blur24px.
- Inside task-card, task-icon is(40,30,38,38). Task title is(96,28,762,52),Geist34,line42.5. Gate the slides title[0,253) and table title[253,300). Artifact-rim=(34,104,832,height),radius18,2px inside stroke; height538 through240→386 at264. File title is(78,121,600,32),font18; switch file labels/icons exactly at253.
- Create slide-preview=(48,178,804,454), overflow hidden, on[0,253). It contains cover-phase[0,4),chart-phase[4,113),columns-phase[113,253). Use hard gates with no transition handles. The transport pill is a sibling of those three phases and stays on[0,253), never on the spreadsheet.
- Cover: left color panel404x454, original400x454 cover SVG atx404, kicker(28,284),font13, title(28,320,348,118),font28,line35. The cover only occupies four included frames; do not add an introductory hold to make it easier to read.
- Chart: title(28,28,370,90),font30,line37.5. Notes(28,236,356,156),font13,line18.2. Gridlines run x436..776 at y98,196,294,392. Bars atx454/610, width144, final heights68/282 and final tops324/110. Both lower edges remain392. Alpha clip.top starts at the full respective height through13, reaches0 at56 by smoothstep, and holds through112. Animate masks, not bar scale about the center.
- Columns: title(36,28,370,90),font30. Create three232x294 groups at(28,122),(284,122),(540,122), each with accent fill, a title at(20,18),font16,line20, and body at(20,112),font13,line18.2. Use one top-inset alpha mask per group so body/text reveal with the panel rather than scaling the type.
- The column top inset is294 until each start115/122/129, then smoothly reaches0 at158/168/178 respectively, holding through252. Global frame numbers apply directly inside all nested groups. Their final lower edge is416. Rebuilding each branch with a rebased clip clock will put the stagger at the wrong time.
- Place transport-pill at(310,392,184,50) inside slide-preview, radius25, above all payload phases. Rebuild its separate previous/play/next paths from guide.json; it deliberately overlaps the bottom of the slide. There is no authored click or actual document-generation behavior.
- At253 disable the entire slide-preview including its transport. Enable table-preview=(34,176,832,310), overflow hidden, for[253,300). Its header labels are x220,420,620 at y14,font14; row labels atx20,y62+48row,font13, and data cells atx220+200column at the same row y,font13.
- For rows0..4, row-label gate starts253+8row and opacity moves0.45→1 over8frames. Data-cell gate starts256+8row+3*column; opacity0.35→1 linear and CSS blur6→0 smoothstep over12frames. Keys beyond299 describe an uncompleted trajectory, not extra rendered frames. Preserve the remaining blur/alpha at the last included frame; never replace it with a falsely finished table.
- Keep the small task-card morph separate from payload gates. There is no whole-canvas zoom, dissolve between chart and columns, or outgoing fade. Exact crop/softness and Text+ rasterization require parent-output and native Resolve comparison, not a mechanical pass alone.
Fusion hierarchy and controls
This is an application-unverified construction map, not a .comp or .drp import. No native Resolve output exists from this worker. The full controls, exact paths, materials and text are in guide.json; the per-frame numeric sampler is controls.csv.
Use Background_Canvas -> the ordered root Merge chain -> MediaOut1. Build every group on transparent RGBA before its parent transform. A group fill is behind all of its children. Each row identifies the exact recipe node, parent, half-open local gate and local pixel box. Do not flatten the whole interface into an image.
| Layer / tool | Parent | Local gate | x; y; width; height |
|---|---|---|---|
| context-field / image | Canvas | [0,300) | 0; 0; 1920; 1080 |
| light-field / image | Canvas | [0,300) | 0:-64 smooth; 299:-24 hold; 0:-36 smooth; 299:-12 hold; 2048; 1152 |
| task-shadow / rect | Canvas | [0,300) | 510; 0:220 hold; 240:220 smooth; 264:292 hold; 299:292 hold; 900; 0:676 hold; 240:676 smooth; 264:528 hold; 299:528 hold |
| task-card / group | Canvas | [0,300) | 510; 0:202 hold; 240:202 smooth; 264:274 hold; 299:274 hold; 900; 0:676 hold; 240:676 smooth; 264:528 hold; 299:528 hold |
| task-icon / path | task-card | [0,300) | 40; 30; 38; 38 |
| slides-task-title / text | task-card | [0,253) | 96; 28; 762; 52 |
| table-task-title / text | task-card | [253,300) | 96; 28; 762; 52 |
| artifact-rim / rect | task-card | [0,300) | 34; 104; 832; 0:538 hold; 240:538 smooth; 264:386 hold; 299:386 hold |
| file-divider / rect | task-card | [0,300) | 34; 166; 832; 1 |
| slide-file-icon / rect | task-card | [0,253) | 50; 126; 18; 20 |
| table-file-icon / rect | task-card | [253,300) | 50; 126; 18; 20 |
| slide-file-title / text | task-card | [0,253) | 78; 121; 600; 32 |
| table-file-title / text | task-card | [253,300) | 78; 121; 600; 32 |
| download-icon / path | task-card | [0,300) | 788; 122; 26; 26 |
| expand-icon / path | task-card | [0,300) | 827; 124; 24; 24 |
| slide-preview / group | task-card | [0,253) | 48; 178; 804; 454 |
| cover-phase / group | slide-preview | [0,4) | 0; 0; 804; 454 |
| cover-color / rect | cover-phase | [0,4) | 0; 0; 404; 454 |
| cover-art / image | cover-phase | [0,4) | 404; 0; 400; 454 |
| cover-kicker / text | cover-phase | [0,4) | 28; 284; 348; 26 |
| cover-title / text | cover-phase | [0,4) | 28; 320; 348; 118 |
| chart-phase / group | slide-preview | [4,113) | 0; 0; 804; 454 |
| chart-title / text | chart-phase | [4,113) | 28; 28; 370; 90 |
| chart-notes / text | chart-phase | [4,113) | 28; 236; 356; 156 |
| chart-grid-0 / rect | chart-phase | [4,113) | 436; 98; 340; 1 |
| chart-grid-1 / rect | chart-phase | [4,113) | 436; 196; 340; 1 |
| chart-grid-2 / rect | chart-phase | [4,113) | 436; 294; 340; 1 |
| chart-grid-3 / rect | chart-phase | [4,113) | 436; 392; 340; 1 |
| chart-bar-0 / rect | chart-phase | [4,113) | 454; 324; 144; 68 |
| chart-bar-label-0 / text | chart-phase | [4,113) | 450; 404; 152; 28 |
| chart-bar-1 / rect | chart-phase | [4,113) | 610; 110; 144; 282 |
| chart-bar-label-1 / text | chart-phase | [4,113) | 606; 404; 152; 28 |
| columns-phase / group | slide-preview | [113,253) | 0; 0; 804; 454 |
| columns-title / text | columns-phase | [113,253) | 36; 28; 370; 90 |
| column-0 / group | columns-phase | [113,253) | 28; 122; 232; 294 |
| column-title-0 / text | column-0 | [113,253) | 20; 18; 192; 60 |
| column-body-0 / text | column-0 | [113,253) | 20; 112; 192; 164 |
| column-1 / group | columns-phase | [113,253) | 284; 122; 232; 294 |
| column-title-1 / text | column-1 | [113,253) | 20; 18; 192; 60 |
| column-body-1 / text | column-1 | [113,253) | 20; 112; 192; 164 |
| column-2 / group | columns-phase | [113,253) | 540; 122; 232; 294 |
| column-title-2 / text | column-2 | [113,253) | 20; 18; 192; 60 |
| column-body-2 / text | column-2 | [113,253) | 20; 112; 192; 164 |
| transport-pill / rect | slide-preview | [0,253) | 310; 392; 184; 50 |
| previous-arrow / path | slide-preview | [0,253) | 326; 404; 22; 26 |
| play-arrow / path | slide-preview | [0,253) | 390; 404; 24; 26 |
| next-arrow / path | slide-preview | [0,253) | 454; 404; 22; 26 |
| table-preview / group | task-card | [253,300) | 34; 176; 832; 310 |
| table-paper / rect | table-preview | [253,300) | 0; 0; 832; 320 |
| table-col-one / text | table-preview | [253,300) | 220; 14; 178; 28 |
| table-col-two / text | table-preview | [253,300) | 420; 14; 178; 28 |
| table-col-three / text | table-preview | [253,300) | 620; 14; 178; 28 |
| table-row-label-0 / text | table-preview | [253,300) | 20; 62; 180; 28 |
| table-cell-0-0 / text | table-preview | [256,300) | 220; 62; 178; 28 |
| table-cell-0-1 / text | table-preview | [259,300) | 420; 62; 178; 28 |
| table-cell-0-2 / text | table-preview | [262,300) | 620; 62; 178; 28 |
| table-row-label-1 / text | table-preview | [261,300) | 20; 110; 180; 28 |
| table-cell-1-0 / text | table-preview | [264,300) | 220; 110; 178; 28 |
| table-cell-1-1 / text | table-preview | [267,300) | 420; 110; 178; 28 |
| table-cell-1-2 / text | table-preview | [270,300) | 620; 110; 178; 28 |
| table-row-label-2 / text | table-preview | [269,300) | 20; 158; 180; 28 |
| table-cell-2-0 / text | table-preview | [272,300) | 220; 158; 178; 28 |
| table-cell-2-1 / text | table-preview | [275,300) | 420; 158; 178; 28 |
| table-cell-2-2 / text | table-preview | [278,300) | 620; 158; 178; 28 |
| table-row-label-3 / text | table-preview | [277,300) | 20; 206; 180; 28 |
| table-cell-3-0 / text | table-preview | [280,300) | 220; 206; 178; 28 |
| table-cell-3-1 / text | table-preview | [283,300) | 420; 206; 178; 28 |
| table-cell-3-2 / text | table-preview | [286,300) | 620; 206; 178; 28 |
| table-row-label-4 / text | table-preview | [285,300) | 20; 254; 180; 28 |
| table-cell-4-0 / text | table-preview | [288,300) | 220; 254; 178; 28 |
| table-cell-4-1 / text | table-preview | [291,300) | 420; 254; 178; 28 |
| table-cell-4-2 / text | table-preview | [294,300) | 620; 254; 178; 28 |
Coordinates, easing and alpha
- Local x/y are pixels from the top-left of the parent, not the composition. All keys use the same native local frame f. For absolute source time use sourceStart+f, and for nominal seconds multiply by fpsDenominator/fpsNumerator. These are not measured master PTS.
- Use full1920x1080 transparent domains for local transforms, retaining offscreen material until the parent clipping stage. For these recipes any content permanently outside that local domain never returns into the visible window. Do not resize a group to its changing visible bounding box before parenting.
- For zero-rotation local origin(ox,oy), sx=scalescaleX and sy=scalescaleY: bx=x+ox-sxox, by=y+oy-syoy. Output pixels=(bx+sxinputX,by+syinputY). Full-frame Fusion centered Pivot=(0.5,0.5) then uses CenterX=bx/1920+sx/2; CenterY=1-by/1080-sy/2. Use independent X/Y Size if scales differ. All authored rotations are zero; Angle sign would invert for CSS clockwise rotation.
- For a local rectangle center use ((x+w/2)/1920,1-(y+h/2)/1080), Width=w/1920, Height=h/1080. For rounded corners preserve the radius in pixel geometry; reconstruct a Bezier rounded rectangle rather than treating the Fusion Corner Radius knob as pixels. Every SVG path/viewBox and native icon path is preserved in the guide.
- Left-key hold means the left value persists strictly before the next key, and the right value begins exactly at that key. Smooth means uu(3-2*u), not Resolve default Auto or the older cubic Bezier(.16,1,.3,1). Bake controls.csv values as native-frame keys when an analytic expression is inconvenient.
- Masks change alpha before Over compositing. overflow:hidden plus radius intersects the children with a local rounded rectangle; radius alone does not clip children. All clip.top/right/bottom/left values are local pixels, not percentages or a time offset. Visible inset bounds=(left,top,width-left-right,height-top-bottom). Intersect masks; do not use an effect mask that merely limits Transform influence.
- CSS rect borders lie inside their stated box. Native fallback uses an outer rounded mask minus an inset rounded mask of border thickness; do not expand the box with a centered outline. Whole-group opacity is applied once after child Over merges.
- Keep premultiplied RGBA consistent for Over. If a color operation needs straight alpha, unpremultiply then premultiply immediately around it. No arbitrary opacity compensation, Screen blend or black backing. The original SVG radial/linear gradients use local alpha stops.
- All blur controls are CSS pixel values. Fusion Gaussian radius/quality is not assumed equivalent; calibrate the separate shadow branches and soft table cells at full output resolution. Transparent SVG gradient stops are not blur nodes. Disable motion blur; no exposure sampling is authored.
- Geist text uses explicit line breaks and listed pixel boxes. Resolve Text+ font size/baseline and SVG gradient appearance need actual application calibration. Do not claim identical rasterization from a numerical sampler pass. Use held StyledText strings for the exact character prefix schedule if Write On counts differently.
- Use no optical flow, dynamic zoom, retiming, transition handles or synthesized audio. No extra frames precede or follow the source window. Final output is clipped to1920x1080, not scaled to fit it.
Editable SVG materials
Every SVG is generated from scratch by generate_assets.py. That optional source file can reproduce assets byte-for-byte when supplied; it is not a runtime prerequisite. The active archive already contains the required SVGs. No tracing, bitmap conversion, source master, remote resource, SVG image node or embedded font is present.
Rebuild each SVG as a vector subgroup using svgConstruction in guide.json: all viewBoxes, element attributes, paths, gradient coordinates, stop colors and opacities are explicit. Resolve SVG imports may lose paint/gradient semantics; do not assume a successful import is equivalent. Native Background/Polygon/Ellipse material layers are the fallback, not a screenshot export.
| Active SVG path under project/public | SHA-256 |
|---|---|
| art/agent-slide-build/context-adaptation.svg | 48ceec2824c7fab6795613dec0deb0995b043def292b8b599f58b0f336eb7917 |
| art/agent-slide-build/context-default.svg | 9436d3586dec1c325315dc30743e2a6f7eb8dc5533a6b1c9aa3500ef8f4a3b52 |
| art/agent-slide-build/cover-adaptation.svg | 7b27cb9dc54389fd378952f00f255c595e4f099932cfa6413e917af419f99619 |
| art/agent-slide-build/cover-default.svg | f96657837d49e26552c017a5576e5b04a4a83b4c4f9277e63f11994ee42e502d |
| art/agent-slide-build/lights-adaptation.svg | 5ab12eb4c36e16521e2c2753edba64a311cef9f94239b87e310f0bd11645e82f |
| art/agent-slide-build/lights-default.svg | 408979f95405508227753027ae73776082f2062c6c24e4a7d941fd02f686b9fa |
Checkpoints and regression gates
| Local / source frame | Expected implementation state |
|---|---|
| 0 / 2040 | Original vector cover within fixed artifact preview. |
| 3 / 2043 | Last cover frame. |
| 4 / 2044 | Chart-only payload begins; both bars fully masked. |
| 13 / 2053 | Last zero-height pose; bar growth starts after13. |
| 22 / 2062 | Both bars grow from baseline392. |
| 40 / 2080 | Bars growing, no preview movement. |
| 56 / 2096 | Bars at full68/282px heights. |
| 90 / 2130 | Chart hold. |
| 112 / 2152 | Last chart frame. |
| 113 / 2153 | Column title visible; all columns fully masked. |
| 115 / 2155 | First column growth begins after this key. |
| 122 / 2162 | Second growth starts; first underway. |
| 129 / 2169 | Third growth starts. |
| 135 / 2175 | Staggered partial column reveals; text is clipped, not squashed. |
| 158 / 2198 | First column full. |
| 168 / 2208 | Second column full. |
| 178 / 2218 | Third column full. |
| 180 / 2220 | All three columns held. |
| 228 / 2268 | Column hold continues. |
| 240 / 2280 | Task-card bounds start to morph after this key. |
| 252 / 2292 | Last slide/transport frame during morph. |
| 253 / 2293 | Only table payload; task/file titles switch; slide transport absent. |
| 256 / 2296 | First data-cell gate; alpha0.35 and blur6. |
| 264 / 2304 | Task card reaches y274,height528; table still builds. |
| 280 / 2320 | Several rows populated; later cells are still entering. |
| 294 / 2334 | Last cell enters at blur6,alpha0.35. |
| 299 / 2339 | Late cell still soft, no invented completion; exclusive end300. |
The focused test_guide.py is an authoring regression suite, not a required download step. It checks exact recipe/source/SVG pins, archive whitelist, deterministic SVG generation, hierarchy and masks, native/quarter-frame sampler agreement, all handoff rows, half-open cuts, content rejection and actual archived CLI options without rendering.
A human still needs to review parent-rendered default and adaptation outputs at native cadence, compare the source and validate the Fusion reconstruction. A contact sheet is not moving review.
Limits
- Original vector cover art and native editable sample data replace source photos and product content. Source blur/shimmer and progressive table population are only approximated; no output readability or native Resolve calibration has been checked.
- No output render/encode, npm dependency installation, moving-source review, audio assessment, blind test or native Resolve execution was performed by this builder.
- Full native source masters were unavailable. Retained excerpts have960x540 pixels; 1920x1080 source dimensions and master hashes are inherited queue metadata.
- All historical source-quality status remains unresolved. Mechanical readiness does not approve material, typography, motion, source fidelity or production use.
- The core includes a licensed Geist font. This is SVG/code-only active imagery, not an assertion that the entire runtime contains no binary files.
- Only selected recipe and active SVG files belong in the overlay. No old asset pack, source master, private worker, dependency tree or critic output belongs in it.
- Text fit requires the actual loaded browser font; field length caps and numeric tracks alone cannot establish readability.
- Both content variants demonstrate one treatment, not two new examples. No shared counts, catalog entries or publication state are modified.
Historical inputs and source masters are provenance only. The downloadable run steps use only the listed kit files and installed tools. The source-only builder pass precedes any fresh critic findings; it does not accept its own visual quality.