Shared cache-warming read for the Points / Lines / GSplats spatial-index
loaders' prefetchChunks.
Fires a zarr readArray() for every (array × range) pair and discards the result:
the read populates the L0 / L1 / L2 caches as a side-effect so the next
demand updateView() is a fast cache hit, with no full-size output buffers
allocated only to be thrown away.
Deliberately NOT a RangeLoader.loadDirectTyped call. Prefetch warms FUTURE
frames, so — unlike a demand read — it allocates no typed output. Callers may
supply their own speculative-work signal (for example a ladder lookahead
cancelled by a view change); it is intentionally distinct from the active
demand update's signal. Keeping it separate is what makes the three loaders'
prefetch paths a single shared helper instead of three copies.
Shared cache-warming read for the Points / Lines / GSplats spatial-index loaders'
prefetchChunks.Fires a zarr
readArray()for every (array × range) pair and discards the result: the read populates the L0 / L1 / L2 caches as a side-effect so the next demandupdateView()is a fast cache hit, with no full-size output buffers allocated only to be thrown away.Deliberately NOT a
RangeLoader.loadDirectTypedcall. Prefetch warms FUTURE frames, so — unlike a demand read — it allocates no typed output. Callers may supply their own speculative-work signal (for example a ladder lookahead cancelled by a view change); it is intentionally distinct from the active demand update's signal. Keeping it separate is what makes the three loaders' prefetch paths a single shared helper instead of three copies.