Why
Split from #748 (635 lines): WebGL2's mip chain builder applies the coverage-preserving alpha rule after #748 brings it to WebGPU.
To do
Code context
The rule and the WebGPU builder #748 lands; the textures lead's local branch (WebGL2 builder, ~215 lines).
Proof
Coverage within ±2.5 % at every level on sponza's masked maps and leaves-cut-by-alpha on WebGL2; the measurer's branch proof.
Links
Blocked by #748. Split from #748.
Why
Split from #748 (635 lines): WebGL2's mip chain builder applies the coverage-preserving alpha rule after #748 brings it to WebGPU.
To do
Code context
The rule and the WebGPU builder #748 lands; the textures lead's local branch (WebGL2 builder, ~215 lines).
Proof
Coverage within ±2.5 % at every level on sponza's masked maps and leaves-cut-by-alpha on WebGL2; the measurer's branch proof.
Links
Blocked by #748. Split from #748.