nD β 3D projection for the points spatial-index loader.
Two behaviors live here, extracted from
data/points-spatial-index-loader.ts:
projectPointsTo3D β the single, WASM-accelerated Points
projection (nDβ3D extraction + effective-radius via the WASM
kernels), with optional accumulator-buffer write-through
(zero-allocation) and effective-radius filtering. Points run on the
main thread by design (memory-bandwidth-bound + zero-alloc
accumulator); the former worker-dispatcher copy was deleted in W4b.
createEmptyPointsData β factory for the "no visible points" return.
Both are pure with respect to the loader: the loader-side state
(chunkIndex, effectiveRadiusConfig, accumulator, node attrs) is
passed in via a small ProjectionContext, and the WASM backend is
supplied as an argument (via getPointsBackend), so the helpers can be
unit-tested without instantiating a full PointsSpatialIndexLoader.
nD β 3D projection for the points spatial-index loader.
Two behaviors live here, extracted from
data/points-spatial-index-loader.ts:projectPointsTo3Dβ the single, WASM-accelerated Points projection (nDβ3D extraction + effective-radius via the WASM kernels), with optional accumulator-buffer write-through (zero-allocation) and effective-radius filtering. Points run on the main thread by design (memory-bandwidth-bound + zero-alloc accumulator); the former worker-dispatcher copy was deleted in W4b.createEmptyPointsDataβ factory for the "no visible points" return.Both are pure with respect to the loader: the loader-side state (
chunkIndex,effectiveRadiusConfig,accumulator, node attrs) is passed in via a smallProjectionContext, and the WASM backend is supplied as an argument (viagetPointsBackend), so the helpers can be unit-tested without instantiating a fullPointsSpatialIndexLoader.