# Share-focus — one retained standalone study

This kit replays the existing `sites-observed-share-focus-v06-r02` treatment.
It does not restyle it or select a recipe from the shared-library core.
The standalone addon and the 16 renderer/configuration files selected by its
retained receipt are unchanged. `input-binding.json` records their exact bytes.

The two actual replays are byte-identical to the retained original and adaptation.
All 57 decoded RGB24 frames, all 57 YUV420P frames and every frame clock agree for
each movie. That is a reproducibility result, **not a source-fidelity pass**.
Native Resolve has not been run. No moving or blind-quality verdict is claimed.

## Start here

- `SOURCE.md`: source identity, fresh versus inherited measurements, exact crop.
- `CONTENT.md`: the two original content contracts and heading derivation.
- `RESOLVE.md`: concrete layer order, timings, preparation and import instructions.
- `INSPECTION.md`: inspected frames and unresolved visible differences.
- `replay-proof.json`: actual two-render hashes, frame inventories and clocks.
- `preparation-manifest.json` / `optical-manifest.json`: separately retained PNG inventories.
- `validation.json`: checks actually run and explicit limits.

## Runtime prerequisites

Use an existing read-only dependency tree matching `runtime/package.json` and
`runtime/package-lock.json`: Node v24.13.1, Remotion 4.0.520, React 19.2.8 and
TypeScript 5.9.3. This handoff installs or copies no dependencies. The external
resolver in `shared-dependencies.mjs` supplies missing bare imports; webpack uses
the same configured package resolution. Do not create a `node_modules` symlink.

The recorded renderer is **Google Chrome for Testing 152.0.7977.42**, Linux full
Chrome, binary SHA256
`9a1fec86405041cdf16c9977d022130c4caf96da6d1a9a20b1767b4ae370e8f6`.
A same-version HeadlessShell is not an equivalent executable. The launcher checks
the actual executable bytes, product/version, bundled font, pinned direct package
metadata and all bound addon/renderer files before creating output. Required
system shared libraries must already be available; the receipt does not attest
every shared library or transitive dependency. The kit does not promise identical
pixels on another OS, browser build or font rasterizer.

Set these variables to your authorized absolute paths; no private workstation
locations are embedded in this kit:

```sh
export FIELDNOTES_NODE_MODULES="${READONLY_PINNED_NODE_MODULES:?}"
export REMOTION_BROWSER_EXECUTABLE="${PINNED_FULL_CHROME:?}"
export TMPDIR="${AUTHORIZED_OFF_VOLUME_SCRATCH:?}"
export FIELDNOTES_STORAGE_GUARD="${GLOBAL_STORAGE_GUARD_PY:?}"
export FIELDNOTES_GUARD_WORKER="${AUTHORIZED_WORKER_ID:?}"
export FIELDNOTES_ENCODER_LOCK="${SHARED_ENCODER_LOCK_FILE:?}"
```

The guard must accept `--worker ID --incoming-bytes BYTES` and reject unsafe paths
or insufficient storage before writes. Use your coordinator's bounded process
supervisor as well: the small public launcher runs the preflight and lock, **not**
a continuously sampled storage monitor. All actual evidence for this handoff used
the bounded worker workflow; its private audit also records a recovered optical
export supervisor interruption. Do not infer an uninterrupted peak measurement.

From this directory, with **fresh, nonexistent** absolute output directories:

```sh
bash run.sh replay "${FRESH_MOVIE_DIRECTORY:?}"
bash run.sh prepare "${FRESH_STATIC_PLATE_DIRECTORY:?}"
bash run.sh optics "${FRESH_OPTICAL_SEQUENCE_DIRECTORY:?}"
bash run.sh content "${FRESH_CONTENT_REPORT_FILE:?}"
export FIELDNOTES_PLATES="${FRESH_STATIC_PLATE_DIRECTORY:?}"
export FIELDNOTES_OPTICS="${FRESH_OPTICAL_SEQUENCE_DIRECTORY:?}"
bash run.sh verify "$FIELDNOTES_PLATES"
bash run.sh verify "$FIELDNOTES_OPTICS"
bash run.sh tests
bash run.sh typecheck
```

`bash run.sh controls` regenerates the checked-in source SVG/CSV controls; it
writes here, unlike binary preparation. Do not run that mode on a frozen copy.
The old `addon/run.sh` is preserved as provenance, not this kit's entry point; its
historical worker authorization is not a grant to write into that worker.

`replay.mjs` renders composition `Treatment`, zero extra holds, 1840×1016,
57 frames at 30 fps, H.264 CRF16, yuv420p, bt709, PNG intermediates, no audio,
one concurrent frame and serial encoding. MP4 timescale is 15360. Output overwrite
and browser downloads are disabled. There is no source clip renderer input.

## What is editable

The complete scene remains in the standalone JSON recipe and original TypeScript
renderer: 297 nodes, including 64 vector paths, 118 text nodes and 13 groups.
`controls/` adds 128 standalone SVGs (64 for each content), 16,929 layer/frame
rows, 9,212 active pointer-exposure rows, all 57 timeline rows and resolved text.
No effect is replaced by footage. The prepared PNGs are optional code-derived
Resolve import bridges; all source geometry and overlapping optical groups remain
editable in the recipe. Do not distribute those PNGs as source assets.

## Distribution boundary

The source-only ZIP contains this kit's code, original vectors, controls, docs and
the retained licensed Geist font/OFL notice. It contains **no MP4, PNG, JPG, source
pixels, dependency tree, browser or native Resolve project**. Generated preparation
and frozen previews remain separate evidence. The source clip is a brief silent
research excerpt, kept separately from editable assets. Publication/integration is
outside this builder handoff; no registry, accepted site or other lane is changed.

Geist's permission is in `addon/public/fonts/OFL.txt`; retain that file with the
font. Third-party runtime packages are not redistributed here. Refer to their own
licenses in your existing dependency installation. Source attribution is not a
license to republish the original film as candidate material.
