Replace flat upscale configs with pipeline/steps/repeat architecture:
- Pipelines run independently from base image
- Steps chain sequentially within a pipeline
- Steps support repeat count for iterative refinement
Add "Save Pre-Upscaled Output" option to also keep the base image.
Add "Adjust Prompt During HiRes Fix" with prepend/append/replace
behaviors. HiRes-adjusted prompts are batch pre-encoded for efficiency.
Results written to manifest metadata and exposed as label overlays.
Fix fmtVal scoping error in buildLabelOverlay (was referenced outside
the upscale block where it was defined).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New nodes now show the session landing page instead of auto-loading
"my_session". Uses _configured_from_workflow flag to distinguish fresh
nodes from saved workflows. Also fixes session cards Y-axis overflow.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Seed: expanded per-gen behavior + new full run seed behavior (random/increment/decrement before/after entire run)
- Canvas: fix flicker during simultaneous pan+zoom via requestAnimationFrame batching
- Upscaling: 3 session-level modes (HiRes fix, model upscale, model+HiRes) with tiled VAE support
- Cooldown: configurable GPU breaks between generations with optional VRAM clearing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Removed standalone edit button (editor accessible via dropdown menu)
- Dropdown and Clear on their own row, custom WxH inputs on a second row
- Custom resolutions file moved to benchmarks/USCG-custom-resolutions.json
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Removed max-height and overflow-y:auto from all submenu levels so
nested menus can extend freely without being clipped by parent containers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replaced tiny native <select> with large custom dropdown button
- 3-level nested submenu: Model Type > Orientation (Landscape/Portrait/Square) > Sizes
- Massively expanded built-in presets: SD1.5, SDXL, Illustrious/Pony, Flux, Wan/Video, HiRes/Upscale
- Custom Resolutions Editor modal for creating persistent user-defined resolutions
organized into named categories
- Custom resolutions saved to ComfyUI output/USCG-custom-resolutions.json
- Custom category always appears first in the dropdown menu
- Edit button (pencil emoji) for quick access to the custom editor
- Backend: GET/POST /configbuilder/custom_resolutions endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Three bugs fixed:
1. Global Prompt data was incorrectly loaded into Custom Prompts when
loading a session. Added _prompt_source flag ("global"/"custom") to
configs so the round-trip loader can distinguish between them and
restore global prompts to the correct section.
2. Checkbox toggle was not visually broken but appeared non-functional
because bug #1 caused global prompts to populate custom prompt fields,
making the state confusing. Now correctly separated.
3. Prompt combination count in the section header was only computed at
render time and never updated when groups changed. Added live update
via updatePromptCountDisplay() in the onChange callback.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds HTML5 drag-and-drop reordering within each list in the Config
Builder UI. Drag the ⠿ handle on any card header to change run order.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix Python 3.10 SyntaxError: extract backslash replace() out of f-string
expression in config_builder_node.py (issue #12)
- Fix dashboard iframe stealing focus from ComfyUI on every live update
by removing viewport.focus() from render/update paths in logic_virtual.js
- Intercept Ctrl+S in dashboard iframe and forward to ComfyUI parent
window so workflow save works instead of triggering browser Save As dialog
- Config Builder VAE settings now override sampler node's remote_vae_endpoint
via config_overrides_vae flag in generation_orchestrator.py flush logic
- Fix Shift+1-9 column hotkeys: use e.code instead of e.key since Shift
produces symbols (!@#$) not digits for e.key on standard keyboards
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Root cause: Two issues prevented the landing page from showing.
1. __init__.py get_session_html endpoint returned 404 when session
didn't exist, so the iframe never received any content. Now returns
full template with empty manifest so landing page JS can display
available sessions.
2. web/dashboard.js never auto-loaded on node creation - the iframe
started empty (black box). Now auto-calls forceLoadSession after
node creation so the dashboard immediately shows either the session
grid or the landing page with session cards.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Distribution Settings section:
- Always visible at top with On/Off toggle
- Settings collapse when toggled off, expand when on
- No longer conditionally rendered
Distribution config output/input removal (clean break):
- Config Builder: RETURN_TYPES reduced from 3 to 2 outputs
- distribution_config embedded in configs_json as _distribution key
- Output format: {"configs": [...], "_distribution": {...}}
- Sampler node: Removed distribution_config optional input
- Sampler extracts _distribution from configs_json automatically
- Backward compatible: plain array configs_json still works
- JSON Preview shows full output including _distribution when enabled
- Session loader handles both old array and new object formats
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Double prompt JSON editor min-height from 80px to 160px
- Sidebar config sub-icons always visible (removed hover-expand)
- Config icons now show cogwheel + number (e.g. ⚙️1)
- Text Encoders icon changed to 🔣, LoRAs to 🔮
- Dashboard: Shift+1-9 sets column count, Shift+0 resets to auto
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New toggle in Distribution Settings section. Flag flows through
distribution_config JSON as sync_models_to_workers boolean.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Task 2: Backend compares fresh CivitAI trainedWords with stored
loras_tags.json on force_refresh. Frontend shows diff banner with
Update/Keep buttons in the LoRA metadata modal.
Task 4: Per-config sidebar navigation — numbered cog icons per config
array with hover-expandable sub-section icons (Models, TE, VAE, LoRAs).
Section IDs added to all sub-sections for scroll targeting.
Task 5: Distribution Settings moved to top of layout. Extra Model &
Sampling Options moved inside Models as sub-section. TE header upgraded
to match section toggle style with brighter color. VAE header lightened
(#444 bg, #cc66ff text). LoRAs header brightened (#4499ff).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When Remote URL type is selected in VAE element, show a presets
dropdown with known HuggingFace VAE endpoints (SD, SDXL, Flux,
HunyuanVideo). Selecting a preset auto-fills the URL input.
Custom option allows manual URL entry.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All four bypass toggle onclick handlers (model, LoRA, TE, VAE) called
node.saveState() but never updatePreview(node), causing the JSON Preview
panel to show stale data when items were toggled off/on. Added the
missing updatePreview(node) call after saveState() in each handler.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaces the 3-section top row with a compact sticky top bar containing session
name input and settings dropdown (Load Session, Load Config, Save Config, toggles
for Auto-Save, Distribution, Label Mode, Include None/Default, and Refresh Models).
Adds left sidebar with navigation icons (scroll to Global Prompts, Config Arrays,
Distribution, JSON Preview) and quick action buttons (Add Config, Refresh Models).
Sidebar highlights active section via scroll spy.
All section headers now use uniform styling: 16px bold white text on a subtle
gradient bar with colored left accent stripe. Distribution settings render as a
standalone full-width section when enabled.
Improved dark mode contrast: brighter labels (#ccc), brighter input borders (#555),
brighter button text (#e0e0e0), brighter primary buttons (#0077dd).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Each config array can now have its own resolution list displayed as chips with
categorized preset dropdown (SD 1.5/SDXL/Flux × Square/Portrait/Landscape) plus
custom W×H input. Resolutions flow through configs_json, expand in the Cartesian
product, and override the sampler's global resolutions_json on a per-config basis.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>