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

    Common inputs every per-type handler ctx shares.

    interface UpdateCtxsInput {
        rootGroup: Group<Object3DEventMap> | null;
        viewStateQueue: ViewStateQueue;
        clearFailure(path: string): void;
        currentVersion: number;
        updateVersion: number;
        extendedToleranceCache: Map<string, number[]>;
        signal?: AbortSignal;
        frameBudgetMs?: number;
        ladderDepth?: number | "auto";
        deriveNodeViewState(
            path: string,
            attrs: { extend_to_all?: string[] } | undefined,
            opts: DeriveOpts,
        ): DerivedNodeViewState;
    }
    Index
    rootGroup: Group<Object3DEventMap> | null
    viewStateQueue: ViewStateQueue
    currentVersion: number
    updateVersion: number
    extendedToleranceCache: Map<string, number[]>
    signal?: AbortSignal

    Per-update abort signal; forwarded into each per-type handler ctx.

    frameBudgetMs?: number

    Per-tick LOD time budget during dimension-animation playback (see ViewState.frameBudgetMs). A per-pass directive: forwarded into each handler ctx and injected into the DERIVED per-node view state there — never persisted on the scene loader.

    ladderDepth?: number | "auto"

    Pinned playback ladder depth (see ViewState.ladderDepth); same contract.