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

    Module rendering/picking/_shared/shared-pick-graph-tsl

    Pick materials on #2992's shared TSL node graphs: ONE graph per pick configuration (applySharedTSLGraph, materials/_shared/shared-graph-tsl.ts) instead of one per material, so N pick materials of one configuration cost one WebGPU node build, as their visual twins do.

    The pick factories end by stamping the pick pass's fixed material state onto the material they build into. Under the shared graph they build into a scratch material once per configuration, so that state is re-applied here on every material: an opaque ID buffer (no blending, depth-tested and written, not tone mapped) whose opacity is pinned to exactly 1 — NodeMaterial appends DiffuseColor.w *= material.opacity to every fragment, and the element id's HIGH half rides in alpha (see the factories' comments).

    applyPickMaterialState
    applySharedPickGraph