Files
vectorcraft/crates/ui-egui/src/tests.rs
T
VoiceLessQ 1411a821c1 Fix #3098: Image Trace traces off the UI thread, with progress and Cancel
Tracing a photo or a large image ran inside imageTrace.make on the UI
thread, so the window froze for as long as the trace took, with nothing
to say it was working.

A trace the user asks for (Object > Image Trace > Make and Make and
Expand, the task bar's Image Trace, the Image Trace panel's Trace and
presets) now runs on a thread of its own, as heavy plug-in filters do.
The status bar says so, and after 0.4 s a progress window shows how
many of the image's colors are traced, with Cancel and Continue in
Background (imageTrace.cancelRuns, imageTrace.hideRuns).

The result goes back to the command it was prepared for
(cmd::TraceRun, Traced::hand_in), which takes it only for the same
object, image and settings, so the edit is one undo step as before. A
newer trace of the same object replaces one still running, and a trace
whose image or settings changed meanwhile changes nothing. The control
channel, MCP, scripts and the web trace at once, as before.

The tracer reports its stages and color layers to a callback and stops
when it says so (trace_watched).
2026-10-29 22:39:34 +07:00

58 lines
926 B
Rust

mod adjust;
mod aisave;
mod automation;
pub(super) mod background;
mod clipboard;
mod contextmenu;
mod cut;
mod distortkeys;
mod docsetup;
mod document_drag;
mod font_menu;
mod fonts;
mod guide_escape;
mod home;
pub(super) mod labels;
mod lifecycle;
mod nativemenu;
mod nativeoptions;
mod numfields;
mod overprint;
mod paintchips;
mod pastechords;
mod pathtype;
mod pdfoutput;
pub(super) mod picks;
mod place;
mod plugin_runs;
mod plugins;
mod printps;
mod printtiling;
mod puppetwarp;
mod recolor;
mod recovery;
pub(super) mod removeanchors;
mod rotateview;
mod ruler_origin;
mod save;
mod saveext;
mod screenmode;
mod screenshots;
mod script_check;
mod scrub;
mod selectall;
mod selectescape;
mod slices;
pub(super) mod svg;
mod svgsave;
pub(super) mod synthetic;
pub(super) mod sysclip;
mod sysclip_emf;
mod sysclip_probe;
mod tab_overflow;
mod taskbar;
mod toolescape;
mod trace_runs;
mod transparencygrid;
mod widthtool;