Whether ShadowProgram.dispose has run.
Deletes the GL program (§83). Idempotent.
Only call this on a live context — see UnlitProgram.dispose.
Uploads one caster's world matrix. See ShadowProgram.setViewProjection.
Uploads the light's view-projection for the pass —
SceneLights.shadowMatrix. Column-major, so transpose is false (§7b).
Makes this the current program. Call before any upload below.
StaticcreateCompiles and links the shadow program on gl.
Fails exactly as UnlitProgram.create does — see it for the contract; the
messages name "shadow" and the §89 code is the same.
The depth-only caster pipeline (§69).
Owns its GL objects and nothing else. Since 2026-09-11 it compiles lazily, on the first frame whose light asks for a shadow map, and only once registerShadowPipeline has been called — the renderer drops it on context loss and re-acquires it on the next shadowed frame (§61), exactly as it handles the skinned pair.