SpatialQueryBuilder - Canonical spatial query API for Points, Lines, GSplats.
Provides one unified entry point for chunk-bounds-based AABB queries:
builds the query position from view state, computes (or accepts) per-dimension
tolerance, runs the AABB scan, converts matching chunks to load ranges, and
coalesces overlapping/adjacent ranges.
Tolerance source is selected at construction:
geometryType: 'points' | 'lines' | 'gsplats' — delegates to
tolerance-computer.computeTolerance for geometry-aware semantics.
tolerance: number[] — caller-supplied array (used when the caller has
geometry-specific logic that the unified computer does not model, e.g. the
points loader's EffectiveRadiusConfig-driven tolerance).
Always runs on the main thread — AABB scans are O(numChunks × ndim) and
complete in microseconds. Worker dispatch would add ~3 ms structured-clone
overhead per call, which dominates when many nodes query concurrently.
SpatialQueryBuilder - Canonical spatial query API for Points, Lines, GSplats.
Provides one unified entry point for chunk-bounds-based AABB queries: builds the query position from view state, computes (or accepts) per-dimension tolerance, runs the AABB scan, converts matching chunks to load ranges, and coalesces overlapping/adjacent ranges.
Tolerance source is selected at construction:
geometryType: 'points' | 'lines' | 'gsplats'— delegates totolerance-computer.computeTolerancefor geometry-aware semantics.tolerance: number[]— caller-supplied array (used when the caller has geometry-specific logic that the unified computer does not model, e.g. the points loader'sEffectiveRadiusConfig-driven tolerance).Always runs on the main thread — AABB scans are O(numChunks × ndim) and complete in microseconds. Worker dispatch would add ~3 ms structured-clone overhead per call, which dominates when many nodes query concurrently.