Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...
    interface AtomicCommitCtx {
        gpuBufferPool: GPUBufferPool | null;
        nodeFactory: NodeFactory;
        signal?: AbortSignal;
        discard?: boolean;
        updatePointsGeometry(
            path: string,
            data: LoadedPointsData,
            session?: UpdateSession,
        ): void;
        commitLinesGeometry(
            staged: StagedLinesCommit,
            session?: UpdateSession,
        ): void;
        commitGSplatsGeometry(
            staged: StagedGSplatsCommit,
            session?: UpdateSession,
        ): void;
        commitMeshGeometry(staged: StagedMeshCommit, session?: UpdateSession): void;
        onCommitFailed?(path: string): void;
    }
    Index
    gpuBufferPool: GPUBufferPool | null

    Optional GPU buffer pool — frame counter is bumped once per cycle.

    nodeFactory: NodeFactory

    Pickable-state invalidator (cached pick buffer goes stale on geometry change).

    signal?: AbortSignal

    Per-update abort signal. When aborted, this update was superseded: SKIP every geometry mutation (beginFrame / commits / markPickingDirty) so no stale or partial frame reaches the GPU — but STILL end every profiler session below (the sessions were opened in runLoaderUpdates and must be closed exactly once regardless of commit). See Guards G5/G6.

    discard?: boolean

    Skip all geometry mutations while still ending every profiler session.