API

Interface GaussianSplatStream

Common base for all scene entities: TRS transform, parent/children hierarchy, and a cached world matrix.

interface GaussianSplatStream {
    boundMax: readonly [number, number, number];
    boundMin: readonly [number, number, number];
    children: SceneNode[];
    firstFrameReady: Promise<void>;
    maxSplats: number;
    metadata?: LiteMetadata;
    name: string;
    parent: IWorldMatrixProvider | null;
    position: ObservableVec3;
    rotation: EulerProxy;
    rotationQuaternion: ObservableQuat;
    scaling: ObservableVec3;
    screenError: number;
    stats: GaussianSplatStreamStats;
    visible?: boolean;
    worldMatrix: Mat4;
    worldMatrixVersion: number;
}

Hierarchy (View Summary)

Index
boundMax: readonly [number, number, number]
boundMin: readonly [number, number, number]
children: SceneNode[]
firstFrameReady: Promise<void>
maxSplats: number
metadata?: LiteMetadata

User metadata. glTF loads populate metadata.gltf.extras when source extras exist.

name: string
parent: IWorldMatrixProvider | null
position: ObservableVec3
rotation: EulerProxy

Euler XYZ bidirectional proxy — reads decompose current quat; writes update quat atomically.

rotationQuaternion: ObservableQuat

Quaternion rotation — source of truth for the local matrix.

screenError: number
visible?: boolean

Self-visibility. Undefined/true = visible; false skips render + camera AABB. Cascade is materialized at write-time by setSubtreeVisible.

worldMatrix: Mat4
worldMatrixVersion: number