PrivatetslPrivate_Private_(Re)build the pick graph, dispatching on the line primitive (#1352). Every build site — constructor, clone, projection-mode flip, 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).
The pick graph is JS-specialized on the projection mode (see
updateCameraParams), so after copying uIsOrtho the clone's
graph is rebuilt when the mode differs from the constructor
default (perspective) — same rebuild-on-flip rule as the source.
Update camera-dependent uniforms (viewport, projection kind, near cull).
Push again after a resize, a projection-kind flip, a near-cull change or a pixel-ratio change. An FOV or ortho-zoom change needs no push.
Viewport resolution in pixels
Whether camera is orthographic (default false)
OptionalnearCull: number
Near-fade start distance in world units (consumed by all four geometry materials via the shared perspectiveNearFade)
Physical render-target pixels per CSS pixel; screen-space appearance constants scale with it above 1×
Rebind 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).
Build the per-rebuild factory config from current uniforms.