Per-geometry-type material returned by
MaterialManager.get{Point,Line,GSplat}Material. The concrete
class is either the GLSL *Material (WebGL2 path) or the TSL
*TSLMaterial (WebGPU / fallback-via-WebGPURenderer path). Both
classes expose the same surface — updateOpacity,
updateCameraParams, applyBlendingMode, clone(), etc. — so
call sites treat the return type as a single union.
Per-geometry-type material returned by
MaterialManager.get{Point,Line,GSplat}Material. The concrete class is either the GLSL*Material(WebGL2 path) or the TSL*TSLMaterial(WebGPU / fallback-via-WebGPURenderer path). Both classes expose the same surface —updateOpacity,updateCameraParams,applyBlendingMode,clone(), etc. — so call sites treat the return type as a single union.