Private_The projection kind of the camera last drawn with (quad variant only).
PrivatetslPrivate_Build the per-rebuild factory config from current uniforms.
Select the screen-space quad's projection variant for the camera this pick
draw uses — the visual twin's rule (LineTSLMaterial.selectProjectionVariant):
a re-point at the other kind's cached shared graph, only on a kind change,
never driven by a CPU push. The capsule ignores it.
Private_(Re)build the pick graph, dispatching on the line primitive (#1352). Every build site — constructor, texture rebind — funnels through here so the two factories can never drift.
Clone this picking material. Mirrors the GLSL wrapper's explicit
clone (the inherited Material.clone() calls the constructor with
no config and would throw; NodeMaterial.copy would alias the
source's node graph instead of this instance's own uniform nodes).
Select the pick depth convention (SurfacePickAwareMaterial): true
under the depth-ordered surface modes (opaque / normal) writes the
real projected depth so the FRONT-MOST element wins, as the user sees
it; false (default) keeps brightness-as-depth so the BRIGHTEST wins,
right for the commutative modes. Synced per pick render by
PickingSystem.renderPickBuffer().
Camera-dependent uniforms. The ortho branch is read in the graph from the
projection matrix of the draw (isOrthoProjectionTSL(), the GLSL twin's
luxarLineIsOrtho), so none is pushed.
OptionalnearCull: numberRebind the line data texture. TSL texture() captures the
THREE.Texture at factory time, so an identity change needs a fresh
node + graph rebuild. Mirrors PointPickingTSLMaterial. updatePointTexture. No-op when unchanged (the common per-commit
case).
A material that can re-point itself at the graph of a projection kind.