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

    A pooled THREE geometry, plus the metadata the pool needs to decide reuse, eviction, and commit-age accounting.

    (The former attributeTypes?: PointsAttributeTypes dtype snapshot is gone: points moved to the fixed 3-texel texture layout, so any pooled points geometry fits any points node — dtype normalization happens at upload time, not in the buffer layout.)

    interface PooledBuffer {
        geometry:
            | InstancedBufferGeometry
            | BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>;
        capacity: number;
        type: "points" | "lines" | "gsplats";
        inUse: boolean;
        lastUsedCommit: number;
    }
    Index
    geometry:
        | InstancedBufferGeometry
        | BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>
    capacity: number
    type: "points" | "lines" | "gsplats"

    PooledGeometryType, NOT GeometryTypeName: only POOLED geometry types have buffers here (see pooled in types/geometry-capabilities). A type rendered from a plain BufferGeometry — mesh — never reaches the pool, so do not widen this to the geometry vocabulary when a geometry type is added. Keyed off the shared union rather than spelled out, so adding a POOLED type is a compile error while adding a non-pooled one correctly requires no change here.

    inUse: boolean
    lastUsedCommit: number