mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-26 02:59:17 -06:00
The GPU renderer renders windows (no more CPU fallback): the vignette gets the window's offset and the whole output's size (VIG_VIEW), the airlight and noise reduction scale come from the whole frame, and a window grown for spots or strokes is cut back after the readback. equivalence.rs renders every settings case as a window plus a corner vignette and a spot reading from outside, within the existing 1 LSB. Auto Mask strokes join spots in growing the window (they read the pixel under each dab). An Auto Mask dab's reference pixel is chosen from its position at f32 precision, like the GPU kernel: an f64 rounding error that depended on the window's start could put a boundary dab on either pixel. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>