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

    Interface PointsUserData

    User data attached to THREE.Points objects in the scene.

    Enables runtime type checking and provides access to loader/metadata. Note: Dimension info is NOT stored here - it's only at the Scene level.

    This follows the same pattern as LinesUserData and GSplatsUserData.

    interface PointsUserData {
        nodeType: "points";
        loader: DataLoader;
        attrs: PointsMetadata;
        maxRadius?: number;
        visiblePointCount?: number;
        requestedElementCount?: number;
        droppedElementCount?: number;
        gpuPrefixIntact?: boolean;
        loadedViewVersion?: number;
        pickId?: number;
    }
    Index
    nodeType: "points"

    Node type identifier for runtime type checking

    loader: DataLoader

    Data loader instance

    Zarr group attributes

    maxRadius?: number

    Maximum point radius (for bounding box expansion)

    visiblePointCount?: number

    Currently visible point count after nD slicing (updated on view change)

    requestedElementCount?: number

    Elements requested by the latest successful commit, before the GPU capacity clamp.

    droppedElementCount?: number

    Elements omitted by the latest successful commit's GPU capacity clamp.

    gpuPrefixIntact?: boolean

    True when the GPU interleaved buffer holds the exact data of the last commit — i.e. the append fast path may skip re-uploading the prefix. Cleared to false by NodeFactory.rebuildAfterContextRestore after a WebGL context loss (the CPU mirror survives but the GPU buffers are gone), which forces the next commit to a full rewrite. Re-enabled by every full commit. Mirrors GSplatsUserData.gpuPrefixIntact.

    loadedViewVersion?: number

    The SceneLoader view-update version this mesh's committed geometry was loaded for. Written at commit (commit-points-geometry.ts via stampLoadedViewVersion) and read by the LOD registry to tell whether a level is fresh for the current view (slice/displayDims) vs merely committed — a re-slice overwrites geometry in place without changing readiness. undefined ⇒ never committed ⇒ treated as stale.

    pickId?: number

    Pick ID assigned by PickingSystem for GPU picking (undefined if picking disabled)