docs(G.3a): note CacheCellStruct's unconditional UCG CellGraph add is inert (#133)
Code-review follow-up: the hydration decouple's safety rests not only on CacheCellStruct self-gating its BSP cache, but on the fact that a geometry-less cell — though now added to the UCG CellGraph unconditionally — never enters the _cellStruct BSP dictionary membership/placement resolve through, so the player can never be rooted in one. Document that load-bearing invariant at the hoist. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
ab050a015f
commit
3238f1fde4
1 changed files with 5 additions and 0 deletions
|
|
@ -5655,6 +5655,11 @@ public sealed class GameWindow : IDisposable
|
|||
// fall through floor) and the visibility node for any geometry-less
|
||||
// collision cell. CacheCellStruct self-gates on a null PhysicsBSP
|
||||
// (PhysicsDataCache), so this is safe for cells with no physics.
|
||||
// Note CacheCellStruct DOES register every resolved cell into the UCG
|
||||
// CellGraph unconditionally (before that BSP gate), so a geometry-less
|
||||
// cell now enters the graph — but it never enters the _cellStruct BSP
|
||||
// dictionary that membership/placement resolve through, so the player
|
||||
// can never be rooted in such a cell. The added graph entry is inert.
|
||||
//
|
||||
// BuildLoadedCell uses the PHYSICS (unlifted) transform. The +0.02 m
|
||||
// render lift above is a DRAW concern (shell z-fighting vs terrain);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue