light Projection View
Composed lightProjection * lightView (world → light clip), kept in double for the depth pass: caster MVPs must be composed against it on the CPU so the large light-frame translations cancel before the float32 upload — uploading lightView * model alone quantizes caster geometry to ~0.5 m at ECEF magnitude.