The legacy table to convert.
Gaussians per chunk (default DEFAULT_CHUNK_SIZE).
Optionalindices: Uint32Array
Optional ordered row indices to gather; output row i is dataTable row indices[i].
A CPU-resident InMemoryChunkSource over the repacked data.
Convert a legacy
DataTableinto aChunkSourceby repacking its columnar data into the canonical per-layer interleaved layout.Detects SH band count from the highest
f_rest_*index, identifies non-standard columns asother-layer extras, and copies each gaussian's fields into the appropriate per-layer buffer.Used during the 3.0 migration by readers that haven't yet been ported to native chunked decoding — they call this at the end of their existing decode to upgrade to the new return type.
When
indicesis supplied, only those rows are repacked, in that order — a direct ordered-subset gather (e.g. the LOD writer's per-unit gather), avoiding a separateDataTable.clone({ rows })copy.