A combo can now hold its own node structure: pick nodes on the canvas and New -> From the nodes picked on the canvas keeps the model nodes (a drop-down of model files) and the text nodes (a multiline text box by the node's definition) with the links between them; other picked nodes and links to them are left out, their ports stay open on the canvas. Slots are per box, so a node with several model drop-downs has several; a box fed by a link is no slot. Each model slot's folder is the one whose files hold all its drop-down's model-file options (ComfyUI's /models lists), never guessed from names. Every other box is stored by name and put back untouched, in order (a count box adds its rows first). The save dialog shows what is kept and dropped and lets slots be renamed or unticked. The editor lists the slots: a picker of that folder's models with covers, filtered by base model, and text boxes. Put on canvas makes the nodes (missing node types and their packs are named before anything is placed), fills the slots by name, links by port name and type, as one Ctrl+Z step; a box or link that cannot be restored is reported, never guessed. New -> Same structure as ... starts another combo from a saved structure. The default combo is unchanged. MCP list_combos lists node combos by slot and place_combo places them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
1.6 KiB
CSS
25 lines
1.6 KiB
CSS
@import url("./styles/00-foundation-models.css?v=20261003-settings-1");
|
|
@import url("./styles/01-shell-tools.css?v=20261003-settings-1");
|
|
@import url("./styles/02-notebooks.css?v=20261005-keep-1");
|
|
@import url("./styles/03-gallery-recipes.css?v=20261005-keep-1");
|
|
@import url("./styles/04-dialogs-materials.css?v=20261004-studio-1");
|
|
@import url("./styles/05-recipe-studio-overrides.css?v=20261002-theme-1");
|
|
@import url("./styles/06-material-workbench.css?v=20261004-studio-1");
|
|
@import url("./styles/07-prompt-studio.css?v=20261004-studio-1");
|
|
@import url("./styles/08-theme-gallery-overrides.css?v=20261004-studio-1");
|
|
@import url("./styles/09-prompt-drawers.css?v=20261004-studio-1");
|
|
@import url("./styles/10-model-sources.css?v=20261002-sources-1");
|
|
@import url("./styles/11-audio-studio.css?v=20261002-voiceover-2");
|
|
@import url("./styles/12-tts-setup.css?v=20261002-theme-1");
|
|
@import url("./styles/13-script-director.css?v=20261002-voiceover-2");
|
|
@import url("./styles/14-version-manager.css?v=20261002-theme-1");
|
|
@import url("./styles/15-shell-rail.css?v=20261003-feedback-2");
|
|
@import url("./styles/16-activity.css?v=20261002-theme-1");
|
|
@import url("./styles/17-model-types.css?v=20261006-search-1");
|
|
@import url("./styles/18-scan-page.css?v=20261003-folders-1");
|
|
@import url("./styles/19-model-doctor.css?v=20261005-mute-1");
|
|
@import url("./styles/20-current-node.css?v=20261004-studio-1");
|
|
@import url("./styles/21-prompt-studio.css?v=20261004-draftx-1");
|
|
@import url("./styles/22-model-download.css?v=20261006-download-1");
|
|
@import url("./styles/23-combo-structure.css?v=20261006-combo-1");
|