fix(physics): validate retail cell containment roots
This commit is contained in:
parent
7716c2ee89
commit
3e0f3b6206
23 changed files with 429 additions and 197 deletions
|
|
@ -64,8 +64,10 @@ accepted-divergence entries (#96, #49, #50).
|
|||
|
||||
## 2. Adaptation (AD) — 44 active rows
|
||||
|
||||
Recent retirements: AD-3/AD-4 retired 2026-07-31 by the exact loaded-cell
|
||||
availability and null-root containment port; AD-25 retired 2026-07-30 by the
|
||||
Recent retirements: AD-3/AD-4 retired 2026-07-31 by exact active/per-candidate
|
||||
visible-cell availability, full-catalog containment-root validation, and the
|
||||
zero-portals point-in-cell guard (rootless payloads are quarantined; only a
|
||||
missing positive child below a valid root is the inside base case); AD-25 retired 2026-07-30 by the
|
||||
shared `PhysicsObjUpdate.HandleAllCollisions` remote path; AD-11 retired
|
||||
2026-07-23 by the exact low-bit ItemUses predicate; AD-31 retired 2026-07-15
|
||||
by the DAT-authored portal-space viewport. Recent additions and splits:
|
||||
|
|
|
|||
|
|
@ -178,13 +178,18 @@ package schema, bake, DAT reader, collision formula, or render portal graph
|
|||
changed. Evidence:
|
||||
`docs/research/2026-07-26-prepared-indoor-transit-regression.md`.
|
||||
|
||||
**Cell availability semantics (2026-07-31).** Raw and prepared CellStruct
|
||||
publication now retains a `CellPhysics` record even when authored physics or
|
||||
containment roots are empty. Payload absence is the unavailable state; a loaded
|
||||
null/-1 containment root keeps retail's universal-inside BSP base case.
|
||||
Registration-side outdoor floods still add outside cells but skip transit when
|
||||
the active CLandCell is unavailable, then recover through the existing reflood
|
||||
after terrain/cell hydration. No package schema or DAT reader changed.
|
||||
**Cell availability semantics (2026-07-31, corrected after full-catalog
|
||||
audit).** Raw and prepared CellStruct publication retains a `CellPhysics`
|
||||
record when the physics root is empty but requires a valid containment root.
|
||||
The installed 729,888-record raw and prepared catalogs contain zero rootless
|
||||
containment payloads. A malformed null/-1 root is quarantined atomically; the
|
||||
recursive inside base case applies only to a missing positive child below a
|
||||
valid root. Registration-side outdoor floods still add outside cells but skip
|
||||
transit when the active CLandCell is unavailable, and every later outdoor
|
||||
candidate independently requires its own visible landcell before building
|
||||
transit. The existing reflood retries after terrain/cell hydration. Both raw
|
||||
and prepared point-in-cell paths preserve retail's zero-portals guard. No
|
||||
package schema or DAT reader changed.
|
||||
Evidence: `docs/research/2026-07-31-cell-availability-semantics.md`.
|
||||
|
||||
**Retail VFX hook compatibility seam (2026-07-14).** Chorizite.DatReaderWriter
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue