Mirrors points/chunk-index-loader.ts and lines/chunk-index-loader.ts
with the gsplats single-bounds shape: a chunk lookup carries the
single chunk_bounds blob covering all splats, since the segment/
vertex split lines requires has no equivalent here.
Wraps the shared fetchChunkBoundsArray helper with the gsplats-only
validation rule (chunk count reconciled against
Math.ceil(n_splats / chunk_size), taking the smaller value when the
metadata and array disagree) and folds the returned Float32Array
into the canonical ChunkSpatialIndex shape that SpatialQueryBuilder
consumes.
Also re-exposes the prefetcher's registerArrayBounds call as a
tiny path-prefixing helper so the gsplats facade doesn't need to
know how the path is normalized — same shape as the points/lines
equivalents.
GSplats-specific chunk-index probe + array-bounds registration.
Mirrors
points/chunk-index-loader.tsandlines/chunk-index-loader.tswith the gsplats single-bounds shape: a chunk lookup carries the singlechunk_boundsblob covering all splats, since the segment/ vertex split lines requires has no equivalent here.Wraps the shared
fetchChunkBoundsArrayhelper with the gsplats-only validation rule (chunk count reconciled againstMath.ceil(n_splats / chunk_size), taking the smaller value when the metadata and array disagree) and folds the returnedFloat32Arrayinto the canonicalChunkSpatialIndexshape thatSpatialQueryBuilderconsumes.Also re-exposes the prefetcher's
registerArrayBoundscall as a tiny path-prefixing helper so the gsplats facade doesn't need to know how the path is normalized — same shape as the points/lines equivalents.