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

    Module data/scene-loader/process/data-processor-lines

    Lines data-processor concern extracted from scene-loader.ts.

    Three pure-ish functions for line projection and GPU commit. They take the SceneLoader's per-call inputs as parameters (rootGroup, gpuBufferPool, updateVersion) instead of reading them off this, so the lines pipeline is testable in isolation and the SceneLoader facade stays small.

    Behavior summary:

    • tolerance computation delegates to tolerance-computer,
    • extend_to_all flips covered dimensions to infinite tolerance,
    • worker projection is used when useWebWorkers && segmentCount > 1000,
    • per-vertex scalars (colormap mode) ride the worker payload too — forwarded as a transferable typed-array and interpolated via interpolate_scalars_batch on the worker side,
    • the non-worker path and worker-UNAVAILABLE failures (the pool has no worker at all) run the shared dispatcher in-process (workers/data-worker/projection/in-process); any other failure — a rejection from the worker, a timeout — propagates instead, since the fallback shares the kernel and would only block the UI thread,
    • first-update info logs are gated by updateVersion <= 1,
    • commits use the GPU buffer pool when enabled, otherwise updateInstancedLinesMesh.
    StagedLinesGeometryCommit
    StagedLinesCommit
    projectLinesTo3DUsingWorker
    processLinesData
    commitLinesGeometry → commitLinesGeometry