refactor(physics): remove parsed collision graphs
Publish prepared GfxObj, Setup, CellStruct, and EnvCell collision records without retaining their parsed DAT BSP, polygon, vertex, or shape graphs. Strip temporary physics bundles at stable world commit, keep graph traversal only as an explicit test/tooling oracle, and report graph residency from actual retained fields. Validated by 115 focused collision/streaming tests, a zero-warning Release build, and 8,413 passing Release tests with five pre-existing skips. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
feb80a67d9
commit
82f8d4f82e
18 changed files with 923 additions and 104 deletions
|
|
@ -232,7 +232,7 @@ internal static class CollisionTraversal
|
|||
flatShadow.BeginGraphPass();
|
||||
try
|
||||
{
|
||||
graphRefereeResult = gfxObject.BSP.Root is not null;
|
||||
graphRefereeResult = gfxObject.BSP?.Root is not null;
|
||||
}
|
||||
catch (Exception fault)
|
||||
{
|
||||
|
|
@ -268,7 +268,7 @@ internal static class CollisionTraversal
|
|||
|
||||
CollisionShadowVerifier? shadow = cache.CollisionShadow;
|
||||
if (shadow is null || !shadow.TrySample(out long sample))
|
||||
return gfxObject.BSP.Root is not null;
|
||||
return gfxObject.BSP?.Root is not null;
|
||||
|
||||
bool flatResult = false;
|
||||
Exception? flatFault = null;
|
||||
|
|
@ -287,7 +287,7 @@ internal static class CollisionTraversal
|
|||
shadow.EndFlatPass();
|
||||
}
|
||||
|
||||
bool graphResult = gfxObject.BSP.Root is not null;
|
||||
bool graphResult = gfxObject.BSP?.Root is not null;
|
||||
if (flatFault is null)
|
||||
{
|
||||
shadow.RecordBoolean(
|
||||
|
|
@ -887,7 +887,7 @@ internal static class CollisionTraversal
|
|||
try
|
||||
{
|
||||
graphRefereeState = BSPQuery.FindCollisions(
|
||||
gfxObject.BSP.Root,
|
||||
gfxObject.BSP!.Root!,
|
||||
gfxObject.Resolved,
|
||||
graphTransition!,
|
||||
localSphereCenter,
|
||||
|
|
@ -951,7 +951,7 @@ internal static class CollisionTraversal
|
|||
if (shadow is null || !shadow.TrySample(out long sample))
|
||||
{
|
||||
return BSPQuery.FindCollisions(
|
||||
gfxObject.BSP.Root,
|
||||
gfxObject.BSP!.Root!,
|
||||
gfxObject.Resolved,
|
||||
transition,
|
||||
localSphereCenter,
|
||||
|
|
@ -999,7 +999,7 @@ internal static class CollisionTraversal
|
|||
}
|
||||
|
||||
TransitionState graphState = BSPQuery.FindCollisions(
|
||||
gfxObject.BSP.Root,
|
||||
gfxObject.BSP!.Root!,
|
||||
gfxObject.Resolved,
|
||||
transition,
|
||||
localSphereCenter,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue