All-player maximum detail - implementation notes

Entry point: patches/all-player-detail/configure.py
Overlay: ReleaseOverlay.cmake, composed after achievements and all accepted
vehicle/texture/repair overlays. Authored changes remain in this directory.
No checked-out dependency, RecompiledFuncs or RecompiledPatches is edited.

Source evidence

The original track_setup_racers/spawn_object path can omit the first two LODs
for CPUs and multiplayer. The final overlay clears only those two skip bits
when the loaded header identifies a racer. NO_LODS preview policy and ghost
models are preserved. This residency policy is identical on every peer and
does not read a graphics preference. Both US v77/v80 ordinary and owned guest
variants receive the same change. Peer build contracts include the new policy.

Offline single-player keeps the accepted native highest-resident selector.
Multiplayer and ordinary online sessions leave that canonical selector alone.
Their exact render_mesh ranges are recorded into the existing task identity
sidecar, matched by scene and immutable OSTask data_ptr. Experimental Rollback
uses its existing owned observations. Local maximum-detail preference is read
only when preparing presentation, never by the owned simulation.

Ordinary snapshots are 8 MiB. High-detail work uses the existing private 16 MiB
camera/car decode workspace, never an out-of-range write to the snapshot or live
guest RAM. Private model buffers C10000-D00000 remain disjoint from immediate
vertices, camera, label, car and model texture banks. The two vertex buffers
and delta storage each accommodate 8192 native vertices without overlapping.
The model-only kernel retains its closed call graph and checked memory writes.

Racer packets are prepared before optional scenery. Matching pose requests are
reused between views; head angles and transforms stay per view. Racer and scenery
packet/operation/triangle counters are separate. Triangle capacity is per view,
not shared between all four views. State restoration, exact high-driver masks,
texture ownership checks and original-draw fallback are retained. Hidden online
views do not spend high-detail draw capacity. Custom cars retain their existing
local preference path (LOD0 when enabled) with actual-LOD diagnostics added.

Ownership/capacity failure does not suppress a source draw that was not replaced.
The setting cannot create a missing LOD or repair an invalid model. Protective
limits remain; they are sized for the supported racer/view/model contracts, not
removed. Diagnostics identify scene, viewport, object, requested/effective choice
and fallback reason instead of expiring once early in the process.

Verification

audit.py inspects source hashes, final target coverage, both ROM revisions,
immutable-task capture, independent settings, decode workspace bounds, disjoint
model arenas, racer/scenery capacities, masks, ghost/Accurate policy, linked
feature markers and retained achievement integration. Package construction uses
the established allowlist and checks archive/ELF/PE ownership without running
any executable. BUILD-RECEIPT.json records the artifact hashes and peer IDs.

These checks are not gameplay validation. The owner must approve visual quality,
cross-platform online sessions and performance before release. No gameplay or
runtime qualification targets are run by this pipeline.
