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
|
|
@ -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