THREE.JS / LIGHTING CONTRACT

Aim first. Then shape the cone.

A real SpotLight makes target ownership, cone angle, penumbra, distance, decay, and shadow-map state inspectable on native WebGPU with an explicitly labeled WebGL2 fallback.

Ready—
Preparing the spotlight target.
backend
—
angle / edge
—
distance / decay
—
target
—
shadow map
—
sample avg / p95
—

This route is a procedural spotlight contract, not the official gallery asset or pixel composition. IES angular profiles, projector textures, arbitrary light/device matrices, context-loss stress, and whole-example fidelity remain separate boundaries.

Sources: SpotLight docs · official WebGPU spotlight example