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

    Interface DataLoader

    Core interface for points data loaders. Implementations handle different loading strategies (spatial index vs fallback).

    Canonical definition lives here in types/ (moved from data/data-loader-types.ts, which re-exports it).

    Mirrors LinesDataLoader and GSplatsDataLoader in types/{lines,gsplats}.ts. Aliased as PointsDataLoader below (using a slightly different PointsViewState shape).

    interface DataLoader {
        loadPoints(
            viewState: ViewState,
            session?: UpdateSession,
        ): Promise<LoadedPointsData>;
        updateView(
            viewState: ViewState,
            session?: UpdateSession,
            signal?: AbortSignal,
            residencyAllowanceBytes?: number,
        ): Promise<LoadedPointsData>;
        dispose(): void;
        addEventListener?(listener: MonitorEventListener): void;
        removeEventListener?(listener: MonitorEventListener): void;
        getMetrics?(): LoaderMetrics;
        getActiveQueries?(): QueryInfo[];
    }

    Implemented by

    Index
    • Update existing data for a new view state.

      Parameters

      • viewState: ViewState
      • Optionalsession: UpdateSession
      • Optionalsignal: AbortSignal

        Optional per-update abort signal. When it fires (a newer view-state superseded this one), in-flight chunk reads/decodes bail with an AbortError instead of running to completion.

      • OptionalresidencyAllowanceBytes: number

      Returns Promise<LoadedPointsData>

    • LoaderMonitor surface (optional, for the data-loading-monitor UI). Mirrors the surface that points-spatial-index-loader.ts exposes — implementations that don't track metrics may omit these methods. Symmetric with LinesDataLoader / GSplatsDataLoader.

      Parameters

      Returns void