52 Commits
Author SHA1 Message Date
Adachi f8531c7399 Fix cancellation, workspace lifetime races and dense-mask memory use 2026-11-10 11:48:54 +08:00
Adachi a23e6c733c Release Adachi Workbench 2.0 with localized UI and a unified workflow 2026-11-09 20:55:20 +08:00
Adachi c80ef8f551 Adapt workbench to native workflow connections and resizable panes 2026-11-09 18:05:19 +08:00
Adachi 8d56704285 Diagnose missing model components and expose CLIP and VAE choices 2026-11-09 16:33:51 +08:00
Adachi bc080ec1d9 Keep canvas editable and report live workflow stage progress 2026-11-09 16:33:51 +08:00
Adachi 8ec528161c Prevent adopting stale previews while recovering new results 2026-11-09 15:17:03 +08:00
Adachi e908e5a8bb Recover missing comparison results and stream image loading progress 2026-11-09 15:09:45 +08:00
Adachi 4a6f44787d Add workspace themes and compact controls with clear crop docks 2026-11-09 15:09:44 +08:00
Adachi 4cb1be78ff Follow sampler conditioning and enabled group presets 2026-11-09 15:09:44 +08:00
Adachi 1465bd8d7e Detect missing workspace backend before queue submission 2026-11-09 15:09:44 +08:00
Adachi 392149ffa6 Move workspace launcher onto inpaint node and extend canvas height 2026-11-09 10:55:47 +08:00
Adachi 7c9c854846 Rename inpaint node to Adachi Inpaint Workbench 2026-11-09 10:44:45 +08:00
Adachi 08d2153d3b Add white workflow inpainting workspace with validation and source history 2026-11-09 10:20:37 +08:00
Adachi 75e18a2558 Keep group preset details collapsible 2026-11-09 10:19:03 +08:00
Adachi 880dfb518d Retry comparison previews and add reload control 2026-11-05 21:40:27 +08:00
Adachi f6e42474c0 Keep comparison previews in memory and show upload progress 2026-10-28 11:17:31 +08:00
Adachi 87fadd7197 Refresh replacement uploads and sync inpaint dimensions 2026-10-28 10:54:59 +08:00
Adachi 0b89b063d6 Expire comparison previews and download latest result 2026-10-28 10:44:33 +08:00
adachi 3030531275 Remove the ✓ merge step; right-click reselects directly
Adoption returns to the repaint mask (option A) and layer blending stays opt-in via ◐. Right-click/Escape now flattens any remaining layer and releases the region in one action, so the separate ✓ commit button is gone.
2026-10-17 14:44:16 +08:00
adachi f76b5aa0fd Fix the inline status hint staying visible
The earlier status() rework let non-error hints stay visible, so "Orange is the
painted mask" lingered on the canvas. Restore the simple rule that only errors
stay visible, keep an explicit notice() for the one case that must persist, and
bump the editor asset version so browsers fetch the corrected module.
2026-10-17 14:27:42 +08:00
adachi 175a063195 Restructure crop adoption and speed up change detection
Crop & Blend adoption now bakes the layer into the source at full quality and
returns to the repaint mask immediately, so the user can generate again right
away. Layer blending is entered explicitly through the blend button instead of
auto-entering after adoption.

The inline mask change fingerprint now uses the source file's size and mtime
instead of hashing its full high-resolution bytes, removing a full-file read on
every change/execution.
2026-10-17 14:08:54 +08:00
adachi da4a26c982 Reuse the decoded result and report silent adoption skips
Adopting a crop result previously downloaded the full-size image a second time
inside the crop layer. Pass the already-decoded image through, cutting one
decode round trip.

Adoption could also return without any feedback when the preview was still
loading, no target was selected, or the crop/layer state changed. Those cases now
show a visible message instead of failing silently.
2026-10-17 13:57:03 +08:00
adachi a5bd9624b8 Preserve the mask when uploading a new source image
Uploading previously reset the mask, history and viewport. It now goes through the
same replaceSource path that adopting a result uses, so only the source pixels
change and the painted mask, undo/redo history and current view survive.

If the new image has a different size the mask cannot be kept, so the upload falls
back to a fresh load and shows a notice instead of failing.
2026-10-17 13:34:00 +08:00
adachi 0f178a55f6 Add a download button and make the pin freeze the current view
The inline mask gains a download button beside upload that saves the source image
as a PNG at its own resolution.

The pin toggle previously forced the image back to a fitted view on every
measurement, so it could not hold a deliberately panned or zoomed position. It now
freezes whatever position is currently drawn, keeps panning and zooming available,
and still routes the plain wheel to the workflow canvas.
2026-10-17 13:30:26 +08:00
adachi 7f432d921c Place the Clear button after the swap control
In Crop & Blend the bottom bar now reads preset, swap, clear, mask, blend and
merge. In Mask mode the other bar controls are hidden, so Clear remains the only
button and stays at the bottom left. Bump the inline crop asset version to fetch
the updated file.
2026-10-17 00:23:55 +08:00
adachi c406ef10d9 Add a Clear button to the bottom-left canvas bar
One click empties the mask of the active target in both Mask and Crop & Blend
modes, reusing the existing clear command so the paint bounds still apply. The
button is disabled until an image is loaded. Also bump the inline crop module's
asset version so the changed file is fetched instead of a cached copy.
2026-10-17 00:20:49 +08:00
adachi 02b3ce2662 Remove hover text from the painting canvas
Hovering the image showed a hint in every mode. Drop the canvas title entirely
so no hover text appears over the picture, keep the instructions on the bottom
controls and their button tooltips, and delete the now-unused hint entries from
the locale dictionary.
2026-10-17 00:11:29 +08:00
adachi f5883dce8a Move selected-region painting help to the repaint mask button
The crop canvas repeated the selected-region painting help while a region was
locked. Move that text onto the repaint mask button, drop the now-unused
dictionary entry, and leave the locked canvas without a repeated hover hint.
2026-10-17 00:07:15 +08:00
adachi 5283ac99d0 Preview original crop while holding right mouse and add hover help 2026-10-16 23:51:46 +08:00
adachi aae35150c4 Use right-click for crop reselection and move Undo into inline toolbar 2026-10-16 23:38:27 +08:00
adachi 38fd6813f7 Allow changing crop dimensions after locking the region 2026-10-16 23:23:42 +08:00
adachi 07ce762159 Adopt crop results through comparison and sync crop resolution 2026-10-16 23:18:25 +08:00
adachi b668e9ace0 Prevent oversized sources from disabling workflow drafts at startup 2026-10-16 23:13:09 +08:00
adachi 53bebffb83 Fix draft storage and fold controls alongside revised crop workflow 2026-10-16 22:43:22 +08:00
adachi 24be45d996 Merge crop and layer blending into inline editor with selection tools 2026-10-16 22:08:37 +08:00
adachi f822bb3382 Pin inline fit and reset comparison rounds after adoption 2026-10-16 14:10:06 +08:00
adachi 51e8a94f14 Reduce comparison redraw cost at large workflow zoom 2026-10-16 13:52:29 +08:00
adachi af3de6eafb Deduplicate replayed comparison previews 2026-10-16 13:44:26 +08:00
adachi 9a38504ea7 Keep comparison fitted and retain results across runs 2026-10-16 13:29:43 +08:00
adachi a9e2b7c168 Follow Get Set routes when selecting the enabled input 2026-10-16 13:14:04 +08:00
adachi d5cb95d2e1 Bind editor and panel widget widths to node geometry 2026-10-16 12:16:21 +08:00
adachi 95b09ee484 Isolate Fit button clicks and version inline editor assets 2026-10-16 12:03:13 +08:00
adachi 75d42c44d1 Place Fit beside Load image in the inline mask 2026-10-16 11:30:11 +08:00
adachi 540f3c0c45 Keep the new nodes English-only
The exclusive switch and group preset work reintroduced Chinese text into
backend error messages and a frontend node description, which contradicts the
English-by-default rule that the Manager listing follows. Move those strings
back to English and route the frontend description through the translation
dictionary, so a Chinese ComfyUI still shows Chinese via locales/ and the
canvas dictionary.
2026-10-16 10:32:10 +08:00
adachi b2087ba565 Add automatic exclusive input switch and widen preset list 2026-10-16 10:25:29 +08:00
Adachi fa644d9969 Preserve masks on adoption and add group bypass presets 2026-10-16 09:38:55 +08:00
adachi 3664cbf1d8 Follow the ComfyUI language for the plugin's own canvas and panel labels
ComfyUI's locales/ feature only covers node definitions, so the custom painting
controls and parameter panel are translated here instead, by reading Comfy.Locale.

English stays the built-in default, which keeps the Manager listing usable for
the general audience. When the ComfyUI language is Chinese the canvas buttons and
the parameter panel labels switch to Chinese as well; any key without a
translation falls back to English.
2026-10-15 19:33:10 +08:00
Adachi c49cae39e2 Make user-facing strings English for ComfyUI Manager listing
Node display names, category, descriptions, tooltips and all frontend labels are
now English so the nodes are usable for the general Manager audience. Node class
IDs, parameter identifiers and enum values are unchanged, so existing workflows
stay compatible. Also documents how this pack differs from ComfyUI's built-in
modal mask editor and Painter node.
2026-10-15 19:07:41 +08:00
Adachi 3f2fc7e033 Prepare public Adachi-Inpaint-Workbench release and distinct eraser cursor 2026-10-15 17:17:04 +08:00
Codex 9a60d9e174 Move editor controls to inpaint node and minimize image node chrome 2026-10-15 16:47:45 +08:00