mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-28 12:26:52 -06:00
The glass light falls off with the distance to the edge, read past `depth` (up to ~3 × depth at full splay), but the coverage window around a cut layer was only `depth + 2` wide. With frost and refraction at 0 the backdrop margin is 0 too, so a band or canvas patch edge running through the pane changed the light near it: up to 12 levels between a banded and a whole render. The window now covers the light's reach (where it falls under half a level, clamped at 0 and capped at 512 px) plus the span the normals are smoothed over, and past that reach the light is 0 instead of whatever the window happened to hold. Tests: a cut 50–80 px inside the pane equals the whole render byte for byte (fails on main by 12 levels); light_reach edge cases. Adds an ignored release timing test (glass_bench_tests). Refs #256 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>