Luxar Viewer API Documentation - v2026.10.19
    Preparing search index...
    PICK_SYNC_INPUTS: readonly PickSyncInput[] = ...

    Every uniform input the pick pass mirrors, keyed by the pick-side name.

    • uDensityDrop: the density guard's thinning. The pick pass must drop exactly the elements the visual pass drops (same hash of the same storage index), or hovering a thinned-away element would resolve a pick the user cannot see. Read through getDensityDrop, so a visual without the uniform reads 0 (nothing dropped).
    • uCoverageTruncate ← uTruncate: the gsplat screen-coverage fade is a cull rule evaluated with the DRAW pass's T (per node), not with the tighter 1.5σ pick footprint radius the pick's own uTruncate holds.
    • uMaxExtentFactor, uCov2DDilation: the other inputs of the gsplat coverage limit and of the dilated footprint.
    • uOpacity: the LIVE node opacity. Its writers are the Layers panel, the LOD cross-fade (scene/lod-fade.ts) and the embedder exposure path, and only the first ever touched a pick material. A physical mesh keeps its opacity off the uniform record (three's PBR material), so it is read through getOpacity().
    • uNearFade: whether the mesh pick mirrors the house shader's near fade. A physical visual (three's PBR material) has none, so its pick must not discard the fade band either.
    • uIntensity, uHasElementAlpha, uVolumetric (with uOpacity): the visual weight every point/line/gsplat pick multiplies its falloff by (../_shared/visibility-glsl.ts). uVolumetric has no visual uniform — the visual shaders branch on a compile-time define — so it is derived from the node's blending mode.
    • uProjectionMode, uRayIntegralFactor: the gsplat amplitude the draw emits (sum projection's ray-integral boost vs the plain peak).
    • uDisplayGain: the gsplat display_gain folded into that amplitude, so a Layers-panel Brightness edit moves pickability with visibility.