Walk the scene graph and report cumulative point/gsplat counts plus
per-mesh detail. The traversal:
Counts every points mesh (userData.nodeType === 'points'); uses
InstancedBufferGeometry.instanceCount because pooled attributes are
over-allocated and drawRange only covers the 6-index base quad.
Counts every THREE.Mesh with userData.nodeType === 'gsplats'
and an InstancedBufferGeometry; uses instanceCount directly.
Returns a JSON-serialisable structure suitable for hand-off to test
harnesses, AI debug drivers, or the recording panel.
Walk the scene graph and report cumulative point/gsplat counts plus per-mesh detail. The traversal:
userData.nodeType === 'points'); usesInstancedBufferGeometry.instanceCountbecause pooled attributes are over-allocated and drawRange only covers the 6-index base quad.THREE.MeshwithuserData.nodeType === 'gsplats'and anInstancedBufferGeometry; usesinstanceCountdirectly.Returns a JSON-serialisable structure suitable for hand-off to test harnesses, AI debug drivers, or the recording panel.