Deep-copy a per-LOD decoded-data snapshot for storage in the SliceCache.
Cloning is REQUIRED: a loaded sub-LOD's typed arrays are views into the
spatial-index loader's REUSED accumulator buffer (see the spatial-index
loaders' "subarrays, zero copy" return). A cross-slice cache that aliased them
would be corrupted by the next load. Every own typed-array property is copied;
scalars / null (e.g. splatCount, ndim, absent colors) pass through.
Generic over the geometry payload (LoadedGSplatsData / LoadedPointsData /
LoadedLinesData) so all three loaders share one implementation — it copies by
property shape, never by field name.
Deep-copy a per-LOD decoded-data snapshot for storage in the SliceCache.
Cloning is REQUIRED: a loaded sub-LOD's typed arrays are views into the spatial-index loader's REUSED accumulator buffer (see the spatial-index loaders' "subarrays, zero copy" return). A cross-slice cache that aliased them would be corrupted by the next load. Every own typed-array property is copied; scalars / null (e.g.
splatCount,ndim, absentcolors) pass through.Generic over the geometry payload (LoadedGSplatsData / LoadedPointsData / LoadedLinesData) so all three loaders share one implementation — it copies by property shape, never by field name.