# Four live Jev drivers and a moving Package update

`record-fleet-driving.mjs` records four independent native chase cameras. The
first two vehicles are a green SUV and orange pickup. While they drive, the
same Package advances from V1 to V2 and adds a blue sports sedan and yellow van.
All four continue along separate neighbouring terrain-following routes. A fifth
Jev role can cast bounded terrain craters through the existing skill path.

The V1 builder creates four roads and two cars. Its typed integer cursor migrates
unchanged into V2; the two new prefab commands are appended. The new model blobs
are first published during recording. Existing cars retain their V1 materialized
recipes and physics incarnations, while V2 cars use V2 assets. Delivery V4's
immediate rollback cut supports V1 rendering. This does not demonstrate arbitrary
historical retention or automatic migration of an existing vehicle definition.

Use a client built with both `catalog-v2-process-e2e` and
`retained-presentation-wire-v1`. Use the smooth Rapier driving server and package
compiler. Supply an existing downloaded character cache and an OpenRouter key
through the environment or `--key-stdin`; the runner removes the key from child
environments and never writes it into evidence.

```powershell
node scripts/authoring/record-fleet-driving.mjs --bins target/fleet-driving-binaries --character-cache target/vehicle-visual-demo-20260923-final/host/authoring/characters/meshy-hero --out target/new-fleet-run --ffmpeg <ffmpeg-path>
```

`--headless` exercises the same authoring, drivers and authority checks without
native video. It is explicitly labelled headless and cannot substitute for the
native verification. Each native recording is 50 seconds, 60 FPS, 960x540.
The four borderless windows occupy the top/bottom halves of the outside monitors;
these monitors must each have at least 960x1080 physical pixels. Camera players
walk alongside their assigned vehicles using ordinary movement inputs, keeping
their capsules out of the route and the car within normal player-centred AOI.
The saboteur stages and follows on the outer shoulder. A 100 FPS per-window render cap leaves GPU/surface headroom while retaining 60 FPS
readback. Four Rayon workers per client bound shared terrain/GI CPU concurrency. The four
owned recording clients use Windows AboveNormal priority; other processes retain
their existing priority. Measurements describe this explicit recording setup. The harness waits for all four renderers, sets one future wall-clock capture
epoch, and releases disk flushing only after all four capture-done notices.
Do not overlap recording windows or run builds/compression during capture.

The native verifier checks every frame and every intervening presentation during
the relevant driving window, using the existing smoothness thresholds. All four
cars must make overlapping measured progress for at least 12 seconds and travel
at least 25 metres. It checks exact package pins, five encoded body/wheel parts,
wheel physics, complete chase framing, no visible mounted occupants, and V2's
absence before publication. The authority proof compares V1 identity, recipe,
driver, server instance and incarnation across the update and checks actual
physics sequences/progress through activation.

The reel includes the complete update at 1.0x with labels driven by the recorded
publication times and live decision telemetry. Outputs are a 1920x1280 four-view
grid and a 960x2560 vertically stacked version; neither crops a gameplay viewport.
Encoding preserves native wall-clock timing and uses ASS subtitles. Full MP4
decoding is mandatory. A rejected candidate retains its failure record and raw
evidence; a passing headless result cannot be labelled a 60 FPS native proof.

The authoring helper accepts at most 32 imported parts, 4 MiB per part and
64 MiB total. Hash checks, safe member paths, immutable journals and native
Package sealing remain mandatory. See `FOUR_VEHICLE_PACKAGE_DECISION.md` for the
bounded architecture choice and run-specific acceptance outcome.

Use `--capture-storage E:/pajama-engine-evidence/<fresh-run>` when the workspace
drive cannot hold roughly 40 GiB of temporary four-view raw frames and reports.
The recorder creates fresh camera directories and workspace junctions, retaining
normal workspace artifact paths. Native image analysis removes sealed staging
files only after successful completion.

The receipt records the active V2 Catalog observation separately from the later
release acknowledgment. Old resident model visibility is maintained by the
durably admitted exact retained grant while successor blobs load. Readiness of
the new generation still requires the complete CAS/decode/GPU handshake.
# Delivery encoding

The grid and vertical masters use CRF 20. A separate 1920x1280 web derivative
keeps the same 60 FPS, wall-clock duration and full viewports, with CRF 22 and
a 4.5 Mbit/s video ceiling for the site's static-asset size limit. The receipt
records hashes for both masters and the hosted derivative.
