Why
Split from #44 (about 600–650 lines over three chain builders). Alpha-tested mips lose coverage at coarse levels (−26 % to −57 % at L7–L8 on sponza's masked maps, #55's measurement). #44 delivers the rule and the compiler's chain; this issue brings the two runtime builders to the same rule.
To do
Code context
texture/mips.ts, the WebGPU and WebGL2 chain builders, the rule #44 writes in reduce.rs halve.
Proof
Coverage within ±2.5 % at every level on sponza's masked maps and leaves-cut-by-alpha, on both backends; the measurer's branch proof.
Links
Blocked by #44. Split from #44.
Why
Split from #44 (about 600–650 lines over three chain builders). Alpha-tested mips lose coverage at coarse levels (−26 % to −57 % at L7–L8 on sponza's masked maps, #55's measurement). #44 delivers the rule and the compiler's chain; this issue brings the two runtime builders to the same rule.
To do
Code context
texture/mips.ts, the WebGPU and WebGL2 chain builders, the rule #44 writes inreduce.rshalve.Proof
Coverage within ±2.5 % at every level on sponza's masked maps and leaves-cut-by-alpha, on both backends; the measurer's branch proof.
Links
Blocked by #44. Split from #44.