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

    Interface LinesUserData

    User data attached to THREE.Mesh for Lines in scene.

    Lines use THREE.Mesh with InstancedBufferGeometry (not InstancedMesh) to avoid exceeding WebGL's 16 attribute location limit.

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

    interface LinesUserData {
        nodeType: "lines";
        loader: LinesDataLoader;
        attrs: LinesMetadata;
        maxWidth: number;
        visibleSegmentCount?: number;
        requestedElementCount?: number;
        droppedElementCount?: number;
        gpuPrefixIntact?: boolean;
        loadedViewVersion?: number;
        pickId?: number;
    }
    Index
    nodeType: "lines"

    Node type identifier for runtime type checking

    Data loader instance

    Zarr group attributes

    maxWidth: number

    Maximum line width (for bounding box expansion)

    visibleSegmentCount?: number

    Currently visible segment count after nD clipping (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-lines-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)