Commit Graph
84 Commits
Author SHA1 Message Date
DemonGatanjieuandClaude Opus 5.5 875715e4a0 feat(share): short AMB2 share codes, one dialog to share and import
share_code.js: a workflow's lean form (node id, type, widget values,
position to 10 px, only what differs from a fresh node; node-pack nodes
keep their ports), links by slot, groups and the anomalous_* extras,
deflated and spelled in Chinese characters (14 bits each) or base64url.
Encoding rebuilds and compares; subgraphs, native reroutes or any
difference share the whole workflow. AMB0/AMB1 still decode. About 4x
shorter than AMB0 on ComfyUI's default workflow (657 vs 2521), 13x on
an Easy-Use/rgthree graph.

ui_share.js replaces the share code dialogs that lived in main.js: the
code is made on opening with both copy buttons and the fingerprint
notes, and pasting a code or JSON, or dropping/choosing a workflow file,
an image or a backup .zip, imports it. tests/share_code.mjs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 23:22:11 +08:00
DemonGatanjieuandClaude Opus 5.5 4c6a4806d2 feat(combos): right-click "Save as combo" on the canvas
The canvas's node menu (the frontend's getNodeMenuItems hook) offers
"Save as combo" for the picked nodes, or the right-clicked node when it
is not among them, when any of them is a model or text node; it opens
the same save dialog without opening the browser first, and the browser
shows the new combo afterwards.

Values other than the slots stay as they were saved (agreed): a combo
always puts down exactly what was saved; other values mean another combo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 15:04:03 +08:00
DemonGatanjieuandClaude Opus 5.5 3593e50e9f Carry model download links in saved and shared workflows
When a workflow is serialized (save, export, image metadata, share code),
a model present here without a link kept in the workflow gets its own
information's link (the editor's, else Civitai's), marked auto so a newer
one replaces it, and links for names no node holds any more are dropped;
the live graph is untouched. So after Model Check swaps in a local model,
the export names that file, its fingerprint and link. Fingerprints now
cover GGUF, .pth and .sft too. The share-code export shows how many models
carry a fingerprint, warns about those without, and can leave links out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 15:21:43 +08:00
DemonGatanjieuandClaude Opus 5.5 054cb91b9b style: one palette for every page, from the theme tokens
Pages made at different times used their own greys (slate here, neutral
there) and accents (sky, violet, indigo), and most ignored the Abyssal
Scarlet theme. About 1,850 literal colours in web/styles and in CSS and
inline styles written from JS now use the --amb-* tokens by what they are
for: surfaces, text (new --amb-text-soft and --amb-text-dim), borders (new
--amb-border-strong), the primary button, and one accent (new --amb-link,
tinted with color-mix). Both themes define the new tokens.

Literal colours stay where the colour is the meaning: status, prompt
roles, voice emotions, canvas node colours, shadows and overlays; theme
override rules are untouched. The share-code dialogs move from inline
styles to .anomalous-share-* classes. Stylesheet versions are bumped.

Checked: text contrast on every rail page, Prompt Studio, Prompt Notes,
Model Sources, settings, model detail and editor, share codes, in both
themes; structure check and JS tests pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:19:55 +08:00
DemonGatanjieuandClaude Opus 5.5 66979f698a fix(audio): align voices with ComfyUI-F5-TTS multi-voice layout and repair studio UI
ComfyUI-F5-TTS resolves {happy} to <sample stem>.happy.wav beside the selected
sample, so `Arona_happy.wav` + `{Arona_happy}` could never run. Voices now use
Character.wav (main, {main}) and Character.<emotion>.wav ({emotion}); the
catalog groups a main voice with its variants and marks tags that F5-TTS
cannot resolve (missing main, missing .txt, different format).

- script director: one character per script, untagged lines pinned to {main},
  pushes sample (main voice, node's own combo spelling) and speech together,
  confirms before overwriting and re-checks the node after the dialog
- pure rules (splitting, composing, planning, combo spelling) in audio_script.js
- one module instance per file: drop ?v= imports that duplicated
  ui_audio_gallery/ui_audio_studio state, so studio playback stops the gallery
- all user/file-derived text goes through textContent (no innerHTML)
- studio/sidebar/gallery renders ignore stale responses; errors are shown
- gallery: count badge no longer overwrites the title, paging via "load more",
  deletion errors surfaced, timeupdate instead of a 100ms timer
- sidebar: filter selection updates in place instead of refetching; the header
  tabs, sidebar and domain switch share browser.switchAudioTab
- uploader: createViewScope lifecycle (Esc/overlay/close release listeners and
  object URLs, Esc no longer reaches the parent), 409 -> confirm -> overwrite,
  sends the pre-romanization text as original_text, no hard-coded character
- workflow template: confirm before replacing the canvas, clear message when
  the template file is missing, align sample paths to the node's combo values
- static styles moved from inline JS into 11-audio-studio.css; strings localized

Verified: tests/audio_script_rules.mjs, tests/test_audio_catalog.py (15), a
jsdom walkthrough of studio/gallery/director/uploader with a stubbed app
(outside the repo), JS syntax and import/export link check. Not yet checked in
a live ComfyUI session.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W411Z69FC3em9CzpeqEub5
2026-09-23 08:02:33 +00:00
DemonGatanjieu e6758759f2 fix(audio): eliminate browser media caching with timestamp cache-buster and HTTP no-cache headers 2026-09-23 00:10:40 +08:00
DemonGatanjieu 53c9f1b17c fix(entry): eliminate trigger button FOUC flicker on page refresh via pre-mount positioning and smooth opacity reveal 2026-09-21 01:51:46 +08:00
DemonGatanjieu 9c2db0f1e9 fix(entry): resolve drag persistence collapse, dock entrapment, and regular refresh cache desync 2026-09-21 01:03:15 +08:00
DemonGatanjieu 364c5aff97 fix(entry): resolve ES module caching, mount-first lifecycle, and versioned coordinate storage 2026-09-21 00:47:07 +08:00
DemonGatanjieu a984ee4a31 refactor(main): separate entry and interface settings 2026-09-17 02:06:13 +08:00
DemonGatanjieu 67d5be6277 refactor(main): extract browser composition 2026-09-17 01:59:39 +08:00
DemonGatanjieu 1e42033ac0 refactor(sidebar): separate settings toolbox and navigation 2026-09-17 00:53:52 +08:00
DemonGatanjieu 2a53e3edf5 refactor(sidebar): extract scan and support dialogs 2026-09-17 00:45:48 +08:00
DemonGatanjieu 77ae7ce888 fix(ui): keep update guide manual and clean sidebar styles
Keep a persistent header guide button, restore upward label transitions, remove duplicate CSS and obsolete notice events, and move replay styling to CSS.

Document proportional UX checks and interruption recovery checkpoints. Validated update_guide.mjs, 48-module parse/link check, diff check, and live ComfyUI manual open, Escape, replay, Help and sidebar keyboard labels. No backend behavior changed; mobile and alternate themes were not exercised.
2026-09-16 11:27:19 +08:00
DemonGatanjieu fe27e7f2e3 feat(guide): replace automatic popup with restrained top-right amber notice badge 2026-09-16 10:36:20 +08:00
DemonGatanjieu bf2764239f feat(toolbox): clean up unlit placeholder tools and refine source hub icon 2026-09-15 21:39:17 +08:00
DemonGatanjieu b37204fd68 fix(exports): pause workflow share codes across library entry points 2026-09-15 20:57:55 +08:00
DemonGatanjieu de02f5dd81 refactor: split prompt studio views and unify UI lifecycle 2026-09-15 09:32:18 +08:00
DemonGatanjieu 2b0393723d feat(recipes-translation): decouple workflow recipes from dual-tabs and integrate atomic prompt translation 2026-09-14 10:15:26 +08:00
DemonGatanjieu ad14a596e5 refactor(materials): completely remove prompt studio from material library 2026-09-11 23:45:15 +08:00
DemonGatanjieu e568e94fac feat(toolbox): integrate Prompt Studio into toolbox palette with ready status and direct invocation 2026-09-11 22:12:43 +08:00
DemonGatanjieu 44aa09e67c fix(ui): replace cryptic nested-hexagon icon with clean 3D isometric model asset cube 2026-09-11 17:46:27 +08:00
DemonGatanjieu 8464b7c983 fix(ui): resolve settings hub clip, isolate doctor/assistant backdrops, and refine restrained iconography 2026-09-11 00:24:02 +08:00
DemonGatanjieu 1b985baf29 style(ui): redesign floating entry trigger icon with Anomalous Hypercube Core and frosted glass orb 2026-09-10 23:52:24 +08:00
DemonGatanjieu 4b283565f6 fix(ui): resolve header click swallow, eliminate cyan badges for gothic palette, and add ambient illumination 2026-09-10 21:16:44 +08:00
DemonGatanjieu 38c75f3fc0 fix(core): repair syntax error in ui_doctor.js and restore floating trigger button presentation 2026-09-10 19:50:31 +08:00
DemonGatanjieu fc40dead3d fix(ui): visual correction audit - return to gothic vampire aesthetics, sweep emojis, center header, and fix tooltip overlap 2026-09-10 19:06:44 +08:00
DemonGatanjieu 2c7a79885d feat(ui): introduce Abyssal Scarlet anime gothic theme with domain expansion easter egg and corruption animation 2026-09-10 16:20:49 +08:00
DemonGatanjieu 975863bf0f feat(materials): integrate node application and prompt combinations 2026-09-09 11:13:24 +08:00
DemonGatanjieu 393c4e9ade Connect prompt notes to materials and simplify capture pages 2026-09-08 21:36:40 +08:00
DemonGatanjieu 9b124333c0 feat(gallery): refactor image detail into fullscreen studio workbench with multi-dimensional navigation and bento inspector 2026-09-04 13:58:17 +08:00
DemonGatanjieu b55a23b529 feat(materials): add image workflow snapshot library 2026-09-03 22:11:25 +08:00
DemonGatanjieu b106111430 Fix canvas focus after browser close 2026-09-03 16:07:55 +08:00
DemonGatanjieu 039d982316 Fix live language switching 2026-08-27 14:34:33 +08:00
DemonGatanjieu 7c94cb9fea Add shortcut control to interface settings 2026-08-26 21:36:27 +08:00
DemonGatanjieu 4b828e8cb4 Add configurable browser shortcut 2026-08-26 21:07:49 +08:00
DemonGatanjieu e7719a76e6 feat(ui): refine native interface preferences 2026-08-26 18:51:33 +08:00
DemonGatanjieu cd813c778a fix(ui): make browser entry modes exclusive 2026-08-26 13:24:34 +08:00
DemonGatanjieu cbd18181fc feat(ui): customize model browser entries 2026-08-26 13:12:41 +08:00
DemonGatanjieu ec308da9e9 feat(ui): add optional floating browser entry 2026-08-26 12:07:04 +08:00
DemonGatanjieu d2575cd0a0 fix(doctor): support dynamic on-demand hash resolution, unet scan folder and smart civitai domain routing 2026-08-18 03:36:39 +08:00
DemonGatanjieu 7f50cbb898 fix(ui): hide browser trigger while open 2026-08-06 19:30:20 +08:00
DemonGatanjieu cc48b0216c Migrate main workflow i18n 2026-08-06 17:14:22 +08:00
DemonGatanjieu 00aefb9eed Establish shared i18n foundation 2026-08-06 16:20:53 +08:00
DemonGatanjieu e266542305 feat(recipe): add bound parameter snapshots 2026-08-04 23:23:07 +08:00
DemonGatanjieu 36eb970893 fix(ui): preserve plugin trigger mark 2026-08-04 21:19:06 +08:00
DemonGatanjieu 16466b32c6 fix(ui): keep plugin trigger visible 2026-08-04 18:19:41 +08:00
DemonGatanjieu f485a46600 feat: extract parameter management to dedicated Parameter Notebooks and implement Parameter Gallery 2026-08-04 17:50:50 +08:00
DemonGatanjieu d6633212e0 refactor(gallery): refresh output images on demand 2026-08-04 01:14:30 +08:00
DemonGatanjieu f1d394b543 fix(ui): repair docked notes and live gallery 2026-08-04 01:07:50 +08:00