Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...
    interface SpawnWorkerOptions {
        index: number;
        total: number;
        dataWorkerCtor: new () => Worker;
        urlOverride: string | undefined;
        pendingWorkers: Set<Worker>;
        attachPermanentHandlers: (worker: Worker, workerNumber: number) => void;
        runInitGuard: (
            worker: Worker,
            api: Remote<
                {
                    initialize: (
                        wasmPath?: string,
                        wasmModule?: Module,
                    ) => Promise<WorkerInitResult>;
                    decodeQuantized: (
                        p: {
                            data: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike>;
                            bounds: [number, number];
                            dtype: "uint8" | "uint16";
                        },
                    ) => Promise<Float32Array<ArrayBufferLike>>;
                    decodeLogScalar: (
                        p: {
                            data: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike>;
                            maxLog: number;
                            dtype: "uint8" | "uint16";
                        },
                    ) => Promise<Float32Array<ArrayBufferLike>>;
                    decodeGeologScalar: (
                        p: {
                            data: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike>;
                            minLog: number;
                            maxLog: number;
                            dtype: "uint8" | "uint16";
                        },
                    ) => Promise<Float32Array<ArrayBufferLike>>;
                    decodePerChannel: (
                        p: {
                            data: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike>;
                            kind: PerChannelKind;
                            colLo: Float64Array;
                            colHi: Float64Array;
                            zeroLevel: boolean;
                            colOffset: number;
                            bits: 8 | 16;
                        },
                    ) => Promise<Float32Array<ArrayBufferLike>>;
                    decodeLUT: (
                        p: {
                            indices: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike>;
                            lut: number[];
                            k: number;
                            lutMode: "row" | "scalar";
                            dtype?: "uint8" | "uint16";
                        },
                    ) => Promise<Float32Array<ArrayBufferLike>>;
                    decodeBroadcasted: (
                        p: {
                            value: Float32Array;
                            numPoints: number;
                            elementsPerPoint: number;
                        },
                    ) => Promise<Float32Array<ArrayBufferLike>>;
                    projectLinesTo3D: (
                        p: {
                            positions: Float32Array;
                            segments: Uint32Array;
                            widths: Float32Array;
                            colors:
                                | Uint8Array<ArrayBufferLike>
                                | Float32Array<ArrayBufferLike>
                                | Uint16Array<ArrayBufferLike>
                                | null;
                            sharpness: Float32Array<ArrayBufferLike> | null;
                            scalars:
                                | Uint8Array<ArrayBufferLike>
                                | Float32Array<ArrayBufferLike>
                                | Float16Array<ArrayBufferLike>
                                | null;
                            viewState: ProjectionViewState;
                            ndim: number;
                            segmentCount: number;
                            colorComponents?: 3 | 4;
                            emitSourceIndices?: boolean;
                        },
                    ) => Promise<
                        {
                            startPositions: Float32Array;
                            endPositions: Float32Array;
                            startColors: Float32Array;
                            endColors: Float32Array;
                            startWidths: Float32Array;
                            endWidths: Float32Array;
                            startSharpness: Float32Array;
                            endSharpness: Float32Array;
                            startScalars: Float32Array;
                            endScalars: Float32Array;
                            startAlphas: Float32Array;
                            endAlphas: Float32Array;
                            segmentLengths: Float32Array;
                            startJointCode: Float32Array;
                            endJointCode: Float32Array;
                            visibleSegmentCount: number;
                            bounds?: LinesProjectionBounds;
                            sourceSegmentIndices?: Uint32Array<ArrayBufferLike>;
                        },
                    >;
                    projectGSplatsTo3D: (
                        p: {
                            positions: Float32Array;
                            choleskyFactors: Float32Array;
                            amplitudes: Float32Array;
                            colors:
                                | Uint8Array<ArrayBufferLike>
                                | Float32Array<ArrayBufferLike>
                                | Uint16Array<ArrayBufferLike>
                                | null;
                            sharpness: Float32Array<ArrayBufferLike> | null;
                            viewState: ProjectionViewState;
                            ndim: number;
                            splatCount: number;
                            discreteDims?: readonly number[];
                            discreteSteps?: Record<number, number>;
                            extendToAllDims?: readonly number[];
                            truncate?: number;
                            colorComponents?: 3 | 4;
                            emitSourceIndices?: boolean;
                        },
                    ) => Promise<
                        {
                            centers3D: Float32Array;
                            choleskyFactors3D: Float32Array;
                            amplitudes: Float32Array;
                            colors: Float32Array;
                            visibleCount: number;
                            bounds?: GSplatsProjectionBounds;
                            sourceIndices?: Uint32Array<ArrayBufferLike>;
                        },
                    >;
                },
            >,
            workerNumber: number,
        ) => Promise<WorkerInitResult>;
        isCurrentGeneration: () => boolean;
    }
    Index
    index: number
    total: number
    dataWorkerCtor: new () => Worker
    urlOverride: string | undefined
    pendingWorkers: Set<Worker>
    attachPermanentHandlers: (worker: Worker, workerNumber: number) => void
    runInitGuard: (
        worker: Worker,
        api: Remote<
            {
                initialize: (
                    wasmPath?: string,
                    wasmModule?: Module,
                ) => Promise<WorkerInitResult>;
                decodeQuantized: (
                    p: {
                        data: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike>;
                        bounds: [number, number];
                        dtype: "uint8" | "uint16";
                    },
                ) => Promise<Float32Array<ArrayBufferLike>>;
                decodeLogScalar: (
                    p: {
                        data: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike>;
                        maxLog: number;
                        dtype: "uint8" | "uint16";
                    },
                ) => Promise<Float32Array<ArrayBufferLike>>;
                decodeGeologScalar: (
                    p: {
                        data: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike>;
                        minLog: number;
                        maxLog: number;
                        dtype: "uint8" | "uint16";
                    },
                ) => Promise<Float32Array<ArrayBufferLike>>;
                decodePerChannel: (
                    p: {
                        data: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike>;
                        kind: PerChannelKind;
                        colLo: Float64Array;
                        colHi: Float64Array;
                        zeroLevel: boolean;
                        colOffset: number;
                        bits: 8 | 16;
                    },
                ) => Promise<Float32Array<ArrayBufferLike>>;
                decodeLUT: (
                    p: {
                        indices: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike>;
                        lut: number[];
                        k: number;
                        lutMode: "row" | "scalar";
                        dtype?: "uint8" | "uint16";
                    },
                ) => Promise<Float32Array<ArrayBufferLike>>;
                decodeBroadcasted: (
                    p: {
                        value: Float32Array;
                        numPoints: number;
                        elementsPerPoint: number;
                    },
                ) => Promise<Float32Array<ArrayBufferLike>>;
                projectLinesTo3D: (
                    p: {
                        positions: Float32Array;
                        segments: Uint32Array;
                        widths: Float32Array;
                        colors:
                            | Uint8Array<ArrayBufferLike>
                            | Float32Array<ArrayBufferLike>
                            | Uint16Array<ArrayBufferLike>
                            | null;
                        sharpness: Float32Array<ArrayBufferLike> | null;
                        scalars:
                            | Uint8Array<ArrayBufferLike>
                            | Float32Array<ArrayBufferLike>
                            | Float16Array<ArrayBufferLike>
                            | null;
                        viewState: ProjectionViewState;
                        ndim: number;
                        segmentCount: number;
                        colorComponents?: 3 | 4;
                        emitSourceIndices?: boolean;
                    },
                ) => Promise<
                    {
                        startPositions: Float32Array;
                        endPositions: Float32Array;
                        startColors: Float32Array;
                        endColors: Float32Array;
                        startWidths: Float32Array;
                        endWidths: Float32Array;
                        startSharpness: Float32Array;
                        endSharpness: Float32Array;
                        startScalars: Float32Array;
                        endScalars: Float32Array;
                        startAlphas: Float32Array;
                        endAlphas: Float32Array;
                        segmentLengths: Float32Array;
                        startJointCode: Float32Array;
                        endJointCode: Float32Array;
                        visibleSegmentCount: number;
                        bounds?: LinesProjectionBounds;
                        sourceSegmentIndices?: Uint32Array<ArrayBufferLike>;
                    },
                >;
                projectGSplatsTo3D: (
                    p: {
                        positions: Float32Array;
                        choleskyFactors: Float32Array;
                        amplitudes: Float32Array;
                        colors:
                            | Uint8Array<ArrayBufferLike>
                            | Float32Array<ArrayBufferLike>
                            | Uint16Array<ArrayBufferLike>
                            | null;
                        sharpness: Float32Array<ArrayBufferLike> | null;
                        viewState: ProjectionViewState;
                        ndim: number;
                        splatCount: number;
                        discreteDims?: readonly number[];
                        discreteSteps?: Record<number, number>;
                        extendToAllDims?: readonly number[];
                        truncate?: number;
                        colorComponents?: 3 | 4;
                        emitSourceIndices?: boolean;
                    },
                ) => Promise<
                    {
                        centers3D: Float32Array;
                        choleskyFactors3D: Float32Array;
                        amplitudes: Float32Array;
                        colors: Float32Array;
                        visibleCount: number;
                        bounds?: GSplatsProjectionBounds;
                        sourceIndices?: Uint32Array<ArrayBufferLike>;
                    },
                >;
            },
        >,
        workerNumber: number,
    ) => Promise<WorkerInitResult>
    isCurrentGeneration: () => boolean