lightcraft/crates/gpu
Nathaniel Ledford b358022f14
#323: pipeline: render a window of the output (RenderRequest::window)
A zoomed view needs the pixels it shows at the zoom scale, not a whole-frame
texture stretched over them. RenderRequest gains an optional PixelWindow of the
virtual full output that max_w x max_h describes; only the window is
materialized. It is Frame:🪟 the crop rectangle narrows to the window
(flips as drawn), so sampling, masks, spots, red eye and the lens warp need no
change. The post-crop vignette keeps the whole frame's geometry (Frame::view)
and dehaze uses the whole frame's airlight (estimated on a 384 px render), so a
window matches the same pixels of the full render. The GPU renderer declines
windowed requests (CPU for now).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 18:28:45 -04:00
..
src #323: pipeline: render a window of the output (RenderRequest::window) 2026-10-08 18:28:45 -04:00
tests M3: isolate global Tint direction correction for compatibility review 2026-10-08 10:26:18 +08:00
Cargo.toml M5.2a: lightcraft-gpu crate (wgpu compute) with the per-pixel stage on the GPU 2026-10-01 02:29:54 -04:00