Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...
    • Project GSplats nD → 3D on the main thread via the shared dispatcher.

      Parameters

      • params: {
            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;
        }
        • positions: Float32Array
        • choleskyFactors: Float32Array
        • amplitudes: Float32Array
        • colors:
              | Uint8Array<ArrayBufferLike>
              | Float32Array<ArrayBufferLike>
              | Uint16Array<ArrayBufferLike>
              | null
        • sharpness: Float32Array<ArrayBufferLike> | null
        • viewState: ProjectionViewState

          View state for projection. Same ProjectionViewState shape every project*To3D worker function accepts. GSplats consumes displayDims + slicePosition; tolerance is required for API parity but isn't consulted by the WASM kernel (per-axis hidden- dim attenuation is computed from cholesky factors instead).

        • ndim: number
        • splatCount: number
        • OptionaldiscreteDims?: readonly number[]

          Indices of hidden dimensions that are discrete (binary visibility)

        • OptionaldiscreteSteps?: Record<number, number>

          Per-dimension step sizes for discrete dims (keyed by dim index)

        • OptionalextendToAllDims?: readonly number[]

          Indices of dimensions to skip entirely (extend_to_all — always visible)

        • Optionaltruncate?: number

          Truncation radius in sigmas for shifted Gaussian attenuation (defaults to GSPLAT_DEFAULT_TRUNCATION_RADIUS)

        • OptionalcolorComponents?: 3 | 4

          Components per color item: 3 (RGB, default) or 4 (RGBA — alpha = per-splat opacity)

        • OptionalemitSourceIndices?: boolean

          Ask the fused kernel to record which SOURCE splat each emitted slot came from (issue #1423). Only the general fused path compacts, so only it can answer; the caller sets this when the node publishes visible ranges and the inputs do NOT take the standard-3D fast path (isStandardGSplats3D). Costs 4 B/splat, so it is off by default.

      Returns Promise<
          {
              centers3D: Float32Array;
              choleskyFactors3D: Float32Array;
              amplitudes: Float32Array;
              colors: Float32Array;
              visibleCount: number;
              bounds?: GSplatsProjectionBounds;
              sourceIndices?: Uint32Array<ArrayBufferLike>;
          },
      >