docs(render): S2 plan packet - membership ownership map and revised chunks
Read-only trace of every production owner of cell membership (render and physics), the retail transaction they must collapse into (Contracts A/B), and the five S2 chunks re-cut on that evidence: the two static floods are one CellTransit walk with different part inputs; retail uses the whole part array once and registers every part in every array cell; children inherit at registration; topology consolidation moves to S3. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
75873886f3
commit
e7ad25a705
2 changed files with 139 additions and 15 deletions
|
|
@ -360,24 +360,35 @@ registration transaction. Every consumer borrows it; the App-owned render
|
|||
index, visual-AABB fallbacks, origin-cell fallbacks, and duplicate cell buckets
|
||||
are deleted.
|
||||
|
||||
**Chunks:**
|
||||
1. Read-only graph snapshot beside existing owners from the same accepted
|
||||
publication; equality test against source publication; zero pixel change.
|
||||
2. Static `AddPartsShadow` parity: ordered membership vector per visual part;
|
||||
old index retained as comparator only inside this chunk; cut render lookup
|
||||
after the installed-DAT comparator is zero-mismatch. Fixtures: cathedral
|
||||
**Chunks (revised 2026-09-02 from the ownership trace in
|
||||
`s2-membership-ownership-map.md`):**
|
||||
1. Retail CELLARRAY from the whole part array (per part: physics sphere else
|
||||
drawing sphere, part box) computed in `ShadowObjectRegistry` at the same
|
||||
registration call as today's collision flood, retained as a new product
|
||||
beside `_entityToCells`, plus per-cell part entries (entity, part, GfxObj,
|
||||
cell frame, clip-planes-required) in registration order. Nothing consumes
|
||||
it yet; a comparator over installed-DAT fixtures reports retail vs current
|
||||
collision vs current render cells. Zero pixel change.
|
||||
2. Render statics cut over to the registry's per-cell part entries; delete
|
||||
`ResolveStaticRenderCells`, `ComputeStaticRenderCells`, the fingerprint
|
||||
cache, and App's `FromStaticRenderParts` use. Fixtures: cathedral
|
||||
ramp/stairs/walls, Facility stairs, a 24 m cell-edge crosser, a
|
||||
landblock-edge object, a non-colliding decoration, a multi-part Setup whose
|
||||
parts cross different cells.
|
||||
3. Dynamic/child parity: `add_shadows_to_cells`, removal, movement update,
|
||||
child inheritance as one transaction keyed by exact incarnation. Fixtures:
|
||||
local/remote player, NPC, projectile, spell world object, equipped child,
|
||||
contained child, indoor portal crossing, outdoor crossing, teardown/
|
||||
reconnect.
|
||||
4. Consumer cutover in order: indoor static render lookup, outdoor static
|
||||
render lookup, dynamic render lookup, physics broadphase projection,
|
||||
particle owner-cell lookup, point-light owner-cell lookup, directional-shadow
|
||||
reachability. Delete the superseded builders.
|
||||
3. Collision cut over: `_entityToCells`/`_cells` from the same CELLARRAY.
|
||||
Physics suites, placement/collision replay fixtures, connected nine-stop
|
||||
route.
|
||||
4. Dynamics and children: `add_shadows_to_cells` recursion at registration and
|
||||
movement; particles own-cell; delete the render-side parent-chain walk.
|
||||
Fixtures: local/remote player, NPC, projectile, spell world object,
|
||||
equipped child, contained child, indoor portal crossing, outdoor crossing,
|
||||
teardown/reconnect.
|
||||
5. Consumer cutover and deletion: remaining `WalkProductionWorldData` buckets
|
||||
become borrowed views, particle owner union reads the same, duplicate
|
||||
dictionaries and origin-cell/visual-AABB fallbacks are deleted. Lights and
|
||||
directional shadows stay for S5. Topology triplication (`LoadedCell` /
|
||||
`WalkCell` / flat asset) is consolidated with S3's `WalkPView` state, not
|
||||
here.
|
||||
|
||||
**Review:** architecture (one authority; retry/recenter/reset safe; no
|
||||
per-frame rebuild) and retail (crossed cells and insertion order match the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue