Auto-fix for GEOMETRY_ARRAY_OVERSIZED — geometries whose raw
positionsCompressed, indices, normalsCompressed, or
uvsCompressed array lengths exceed the configured
per-geometry batch-portion thresholds.
Mechanically identical to splitDenseGeometry and
splitLargeGeometry: splits the targeted geometry once
via splitSceneGeometry (whole-triangle midpoint
partition), fans every referencing SceneMesh
onto the two pieces, destroys the source. Only the trigger
condition differs — this strategy targets geometries whose
array lengths would trip the WebGLRenderer's
GPUMemoryBatch.addMesh portion-allocation guard at upload
time.
One split per apply. A piece that still exceeds any of the
configured array-length thresholds after this single split is
flagged again on the next inspection pass; an outer loop (or
optimizeSceneModel) re-runs applyFixes until the
report converges. Matches the rest of the geometry-split fixes
— IDE-style "one fix = one specific action".
Auto-fix for
GEOMETRY_ARRAY_OVERSIZED— geometries whose rawpositionsCompressed,indices,normalsCompressed, oruvsCompressedarray lengths exceed the configured per-geometry batch-portion thresholds.Mechanically identical to splitDenseGeometry and splitLargeGeometry: splits the targeted geometry once via splitSceneGeometry (whole-triangle midpoint partition), fans every referencing SceneMesh onto the two pieces, destroys the source. Only the trigger condition differs — this strategy targets geometries whose array lengths would trip the
WebGLRenderer'sGPUMemoryBatch.addMeshportion-allocation guard at upload time.One split per apply. A piece that still exceeds any of the configured array-length thresholds after this single split is flagged again on the next inspection pass; an outer loop (or optimizeSceneModel) re-runs
applyFixesuntil the report converges. Matches the rest of the geometry-split fixes — IDE-style "one fix = one specific action".