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

    Interface ProcessedGSplatsData

    Processed gsplats data ready for GPU rendering.

    After nD → 3D slicing:

    • Centers are in 3D display space
    • Cholesky factors are 3D (6 elements per splat)
    • Amplitudes are attenuated based on distance to hyperplane in hidden dimensions
    • Per-splat attributes ready for instanced rendering
    interface ProcessedGSplatsData {
        centers3D: Float32Array;
        amplitudes: Float32Array;
        choleskyFactors3D: Float32Array;
        colors: Float32Array;
        colorComponents?: 3 | 4;
        labelIndices?: Uint32Array<ArrayBufferLike>;
        labelVocabulary?: readonly GSplatLabelEntry[];
        splatCount: number;
        bounds?: GSplatsProjectionBounds;
        elementIds?: Uint32Array<ArrayBufferLike>;
    }
    Index
    centers3D: Float32Array

    Splat centers in 3D display space (M * 3)

    amplitudes: Float32Array

    Attenuated amplitudes (M,), reduced based on nD slice distance

    choleskyFactors3D: Float32Array

    3D Cholesky factors (M * 6), packed as [L00, L10, L11, L20, L21, L22] Extracted from nD Cholesky by taking display dimension submatrix.

    colors: Float32Array

    Splat colors RGB or RGBA (M * colorComponents)

    colorComponents?: 3 | 4

    Components per color item: 3 (RGB) or 4 (RGBA). Absent means 3.

    labelIndices?: Uint32Array<ArrayBufferLike>

    Compact 1-based categorical index per visible splat.

    labelVocabulary?: readonly GSplatLabelEntry[]

    Compact-index vocabulary.

    splatCount: number

    Number of visible splats after nD clipping

    Fused-scan cull metadata from projection (see GSplatsProjectionBounds). Optional: absent (e.g. zero visible splats, or a producer that didn't scan) ⇒ the commit path falls back to its own O(N) scans.

    elementIds?: Uint32Array<ArrayBufferLike>

    Slot → ON-DISK element index map for per-element label lookups, composed at projection time from the loader's ranges plus the kernel's recorded source indices (data/loaders/element-ids.ts). Absent on the identity path (one range from 0, nothing compacted), for a node that publishes no ranges, or when the inputs were inconsistent — picking then falls back to the raw slot. The commit stamps it onto the MESH (types/committed-data::setElementIdMap), never onto the loaded payload — that payload may be a SliceCache-owned snapshot.