Calling it is what links this module — the depth-only caster program and
its two shaders — into the bundle; a build that never calls it carries none
of it. The program still compiles lazily, on each renderer's first
shadowed frame, never here and never at renderer initialize, so
registration alone changes no GL transcript. Without it, a light that asks
for a shadow map gets one development warning and the frame's lit surfaces
draw unshadowed. Idempotent; calling it twice re-installs the same factory.
Opts this process's
WebglRenderers into §69's shadow pass (§62; 2026-09-11).Calling it is what links this module — the depth-only caster program and its two shaders — into the bundle; a build that never calls it carries none of it. The program still compiles lazily, on each renderer's first shadowed frame, never here and never at renderer initialize, so registration alone changes no GL transcript. Without it, a light that asks for a shadow map gets one development warning and the frame's lit surfaces draw unshadowed. Idempotent; calling it twice re-installs the same factory.