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

    Wiring passed to a type-specific runX adapter for one contract case.

    Field types match the shared shape of all four *RefinementCtx interfaces so they assign directly; the adapter only casts the loader-map value type, deriveNodeViewState's return, and the processSpy return (which differ per geometry).

    interface RefinementRunWiring {
        rootGroup?: Group<Object3DEventMap>;
        objects?: ReadonlyMap<string, Object3D<Object3DEventMap> | undefined>;
        loaders: Map<string, unknown>;
        viewStateQueue: ViewStateQueue;
        deriveNodeViewState: () => unknown;
        updateVisibleCountsInMonitor: () => void;
        releaseLock: () => void;
        retriggerUpdate: (pendingState: Partial<ViewState>) => void;
        processSpy: (...args: unknown[]) => unknown;
        signal?: AbortSignal;
        residencyBudget?: RefinementResidencyBudget;
    }
    Index
    rootGroup?: Group<Object3DEventMap>

    Scene objects keyed by loader path; defaults to an empty root in adapters.

    objects?: ReadonlyMap<string, Object3D<Object3DEventMap> | undefined>

    Pre-resolved rendered objects keyed by loader path.

    loaders: Map<string, unknown>

    Loader map keyed by node path. Adapter casts to its loader type.

    viewStateQueue: ViewStateQueue
    deriveNodeViewState: () => unknown
    updateVisibleCountsInMonitor: () => void
    releaseLock: () => void
    retriggerUpdate: (pendingState: Partial<ViewState>) => void
    processSpy: (...args: unknown[]) => unknown

    The geometry-specific "process" callback (processGSplats / processLines / updatePointsGeometry). The adapter casts + wires this into the ctx so the skip-path case can assert it was never invoked.

    signal?: AbortSignal

    Per-run abort signal, threaded into loader.updateView by the wrapper.

    residencyBudget?: RefinementResidencyBudget

    Optional residency ceiling passed through the geometry-specific wrapper.