mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-30 04:57:22 -06:00
At 8:1 on a 24 MP photo every drag frame rendered the whole 24 MP frame, and a Retina fit view (about 2800 px) decoded the original of every photo stepped to. A new render plan (region::plan, pure and tested) makes the cost follow the canvas, not the zoom: - the whole-frame render is canvas-sized and never above the preview source level, the preview size limit or the texture side (a drag drafts that); - once the view is zoomed past it (by more than 25 %) the visible window is rendered, cut from a frame that is at most the photo's own pixels, so beyond 100 % the GPU magnifies it instead of a bigger render being made; this also ends the duplicated second render above 100 %; - a window is drafted during a drag and a draft of an older value still draws; - a user who capped the preview size keeps the whole-frame render at fit; - no window where the picture on screen isn't the frame's own aspect (an unsupported raw's embedded JPEG cropped differently, #280). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>