mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-29 20:27:05 -06:00
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).