PrivatetslRebind the splat data texture. Same node-identity lifecycle as the visual TSL wrapper: fresh texture node + factory re-run on an identity change, no-op otherwise.
Select the pick depth convention. true = surface ('normal')
blending: write the real fragment depth so the FRONT-MOST splat
wins — matching the depth-sorted occluding surface the user sees.
false (default) = brightness-as-depth so the BRIGHTEST splat wins
— correct for the commutative modes (additive/max/luminous).
Mirrors the GLSL wrapper's method one-for-one; synced per pick
render by PickingSystem.renderPickBuffer().
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).
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
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×
Pick materials with a switchable depth convention (both gsplat pick wrappers implement it; points/lines don't — their brightness-as-depth is unconditional). The picking system's per-render mode sync detects the capability via isSurfacePickAwareMaterial, mirroring the
CameraAwareMaterialguard idiom.