mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-26 03:16:53 -06:00
A new zoom can't reuse the retained canvas image, and the previous one, re-projected, covers little of the view after a zoom out (1/64 of it from 800% to 100%), so the page background showed until the full render finished. When renders from scratch have been slow (a frame or more), the worker first renders the whole requested view with a quarter of the pixels each way, in a Retained of its own so pans and edits still build on the full image, then refines it unless a newer request is already waiting (that one gets its own preview). The web build renders the preview and the refined image in consecutive frames. Pixel preview gets none. Finished images carry the file, page and whether they are coarse: the canvas never shows an image of another file or page, and a late preview never replaces a refined image already at the zoom asked for. ui.inspect reports the canvas quality and the latency from request to the frame showing the preview and the refined image. Refs #295