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

    Interface LinesRefinementCtx

    interface LinesRefinementCtx {
        objects: ReadonlyMap<string, Object3D<Object3DEventMap> | undefined>;
        viewStateQueue: ViewStateQueue;
        loaders: Map<string, LinesDataLoader>;
        deriveNodeViewState(
            path: string,
            attrs: LinesMetadata | undefined,
            opts: { applyPartialExtendTolerance: boolean },
        ): { skip: false; viewState: ViewState };
        processLines(
            path: string,
            data: LoadedLinesData,
            viewState: ViewState,
            session?: UpdateSession,
        ): Promise<StagedLinesCommit | null>;
        commitLines(staged: StagedLinesCommit, session?: UpdateSession): void;
        profiler?: UpdateProfiler | null;
        updateVisibleCountsInMonitor(): void;
        releaseLock(): void;
        retriggerUpdate(pendingState: Partial<ViewState>): void;
        isActive?(): boolean;
        signal?: AbortSignal;
        residencyBudget?: RefinementResidencyBudget;
    }
    Index
    objects: ReadonlyMap<string, Object3D<Object3DEventMap> | undefined>

    Scene objects already resolved by the phase eligibility sweep.

    viewStateQueue: ViewStateQueue
    loaders: Map<string, LinesDataLoader>
    profiler?: UpdateProfiler | null

    Profiler for background-pass accounting. Each per-loader refinement step opens a 'LOD Refinement' pass root (its own persistent tree, separate from 'Total Update') with a per-node child session threaded through load → process → commit.

    signal?: AbortSignal

    Per-refinement-run abort signal. The orchestrator assigns the run's controller to the SceneLoader's _updateAbortController, so a superseding updateView (or dispose) aborts in-flight refinement chunk reads MID-PASS instead of waiting out the whole pass. An AbortError in the per-loader catch is cancellation, not failure.

    residencyBudget?: RefinementResidencyBudget

    Shared residency ceiling for sweep-registered progressive leaves. Absent = unbounded (today's behaviour).