Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...

    Module data/loaders/spatial-query-builder

    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
    ChunkSpatialIndex
    SpatialQueryParams
    SpatialQueryOptions
    buildQueryPosition
    executeSpatialQuery
    chunkIndicesToRanges
    mergeRanges
    shouldExtendVisibility
    createLoadAllRange
    formatTolerance