The surface the §69 caster pass needs from the depth-only program — ShadowProgram's contract, structural so the renderer never names the class that implements it.
ShadowProgram
Deletes the program. Live context only; idempotent.
Uploads one caster's world matrix.
Uploads the light's shadow view-projection, once per shadow pass.
Makes this the current program.
The surface the §69 caster pass needs from the depth-only program —
ShadowProgram's contract, structural so the renderer never names the class that implements it.