Commit Graph
65 Commits
Author SHA1 Message Date
JasonHokuandClaude Opus 4.6 89b6ce4eb1 feat: upscale pipelines system + save pre-upscale + HiRes prompt adjust
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>
2026-03-09 15:33:04 -07:00
JasonHokuandClaude Opus 4.6 5fef83db25 fix: dashboard landing page loading default session instead of showing picker
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>
2026-03-09 15:32:44 -07:00
JasonHokuandClaude Opus 4.6 7e1d3bcf75 feat: rewrite upscaling UI as array-based system with Cartesian expansion
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 20:43:04 -07:00
JasonHokuandClaude Opus 4.6 7c1b6ffc8c feat: add upscale model discovery from ComfyUI folder system
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 20:33:30 -07:00
JasonHokuandClaude Opus 4.6 91b8598ac3 feat: add seed settings, canvas flicker fix, upscaling & GPU cooldown
- 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>
2026-03-08 14:00:06 -07:00
JasonHoku 8fbf7568d2 Fixed image resolution settings not outputting to config_json 2026-03-07 17:31:54 -08:00
JasonHokuandClaude Opus 4.6 5543dd1ddc fix: remove edit emoji button, add newline after dropdown, move custom res to benchmarks/
- 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>
2026-03-07 15:58:21 -08:00
JasonHokuandClaude Opus 4.6 4a90c18096 fix: resolution dropdown submenus no longer clip or show scrollbars
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>
2026-03-07 15:40:38 -08:00
JasonHokuandClaude Opus 4.6 bad7786597 feat: redesigned resolution picker with nested dropdown and custom editor
- 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>
2026-03-07 15:26:12 -08:00
JasonHokuandClaude Opus 4.6 9987d38f9b fix: Custom Prompts section — session load, checkbox toggle, and count display
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>
2026-03-07 15:04:08 -08:00
JasonHokuandClaude Opus 4.6 8ff48532f9 feat: drag-and-drop reorder for models, loras, text encoders, and VAEs
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>
2026-03-06 19:49:42 -08:00
JasonHokuandClaude Opus 4.6 5e7ad22cc7 fix: backslash in f-string, dashboard focus stealing, VAE config priority, column hotkeys
- 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>
2026-03-06 13:41:44 -08:00
JasonHokuandClaude Opus 4.6 f6103933c4 Fix dashboard landing page: auto-load + handle missing sessions
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>
2026-03-06 00:24:47 -08:00
JasonHokuandClaude Opus 4.6 2146e4926c Refactor Distribution Settings: always-visible toggle + embedded config
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>
2026-03-05 15:59:10 -08:00
JasonHokuandClaude Opus 4.6 6cc9616708 Prompt editor size, sidebar icons, and column hotkeys
- 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>
2026-03-05 15:31:54 -08:00
JasonHokuandClaude Opus 4.6 e71fe8ed91 Add Sync Models to Workers checkbox and config passthrough
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>
2026-03-02 15:04:08 -08:00
JasonHokuandClaude Opus 4.6 39695f5e52 Implement Tasks 2-5: tag diff, sidebar nav, section reorg, headers
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>
2026-03-01 15:08:54 -08:00
JasonHokuandClaude Opus 4.6 27756a0c84 Add Remote VAE presets dropdown for HF endpoints
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>
2026-03-01 15:03:15 -08:00
JasonHokuandClaude Opus 4.6 5e09125e7e Fix bypass toggles not updating JSON Preview
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>
2026-03-01 14:33:10 -08:00
JasonHokuandClaude Opus 4.6 465ff291a9 feat: builder UI overhaul — sticky top bar, sidebar nav, uniform headers, dark mode contrast
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>
2026-03-01 11:18:41 -08:00
JasonHokuandClaude Opus 4.6 aadae6d94a feat: per-config resolutions — builder UI, config expansion, generation override
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>
2026-03-01 04:24:15 -08:00
JasonHoku 4bde363040 Better UI Rendering 2026-02-28 23:16:50 -08:00
JasonHokuandClaude Opus 4.6 ee4451f3a2 Add custom lora trigger word editor with modal UI and backend endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:27:26 -08:00
JasonHokuandClaude Opus 4.6 87e37563f2 Enhance CivitAI modals: re-fetch button, save JSON, force_refresh
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:11:09 -08:00
JasonHokuandClaude Opus 4.6 4fd06a379c Optimize builder UI: debounce renderUI, parallelize model list fetches
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:00:20 -08:00
JasonHokuandClaude Opus 4.6 8b3b609e20 Fix VAE/TE on/off switches: remove bypass states from config output
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 20:51:49 -08:00
JasonHokuandClaude Opus 4.6 1625a2ba5e fix: add missing migration for extra options in loadSession/loadConfig, fix collapse toggle
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:41:58 -08:00
JasonHokuandClaude Opus 4.6 e668109d78 feat: add Extra Model & Sampling Options UI section
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 18:21:18 -08:00
JasonHokuandClaude Opus 4.6 ffc7da9dc0 feat: wire extra model & sampling options through state conversion
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 18:19:35 -08:00
JasonHokuandClaude Opus 4.6 87323c3803 feat: add default state and migration for extra model & sampling options
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 18:18:54 -08:00
JasonHoku 822373227c Optional Text Encoder On Master Only & Serve To Workers & More Distrib Logging 2026-02-26 20:11:59 -08:00
JasonHoku 39389b6ca4 send test worker through backend instead of frontend 2026-02-26 16:08:01 -08:00
JasonHoku cfb75e7922 Create Run Distribution System 2026-02-26 15:37:55 -08:00
JasonHoku 731db142d9 builder ui updates, features & dash prompt analyize copy favorites to clipboard tool 2026-02-19 15:44:06 -08:00
JasonHoku 8e9a35272f Add remote vae custom endpoint option 2026-02-18 03:52:42 -08:00
JasonHoku 7d9fee69d0 Optimize sorting & fix grid card size bug 2026-02-16 19:51:25 -08:00
JasonHoku 89edc36149 Implement ComfyUI New Security System 2026-02-16 16:21:59 -08:00
JasonHoku aec60aeb92 Fix On/Off switches for models/loras in Builder UI 2026-02-16 13:16:11 -08:00
JasonHoku e3e933fc08 Implement prompt combinators: AND, CAT, AVG(), BREAK. Consolidate dashboard topbar 2026-02-16 12:41:20 -08:00
JasonHoku f3582fb190 add model lookup on civitai button 2026-02-16 00:50:34 -08:00
JasonHoku d74a51dd15 UI updates, model based prompting, attention mode selection, recursive cartesian prompting, detect connected node changes for smarter job resuming, eta progress bar in ui, condensed dashboard top bar, close modal hotkeys, 2026-02-16 00:21:58 -08:00
JasonHoku 3393a5b60c sampler scheduler ui dropdown list propagation fix v0.3 2026-02-15 14:02:08 -08:00
JasonHoku d97af5e441 propagate sampelrs/schedulers into dropdowns v0.2 2026-02-15 13:56:52 -08:00
JasonHoku 3c06847167 Add dropdown selection and list building options for availableSamplers/availableSchedulers in builder UI 2026-02-15 13:49:22 -08:00
JasonHoku 0db471bf4f update vae models dropdown in builder ui 2026-02-15 00:01:12 -08:00
JasonHoku f7ec7cca23 implement vae selection in UI & vae iteration tools 2026-02-14 23:36:38 -08:00
JasonHoku d178bd064f Change cache busting static js serve technique to conform to ComfyUI best practices 2026-02-14 23:13:13 -08:00
JasonHoku 44da2da618 claude prompt in ui updates 1 2026-02-13 16:54:00 -08:00
JasonHoku d0aacb906e Config Builder View Lora CivitAI Data Buttons, Cleaner Manifest, Auto Card & Row Sizes In Grid, Fixed Config Builder Lora Always Combining Loras, Easier Lora UI Settings 2026-02-13 00:23:20 -08:00
JasonHoku 142421387d Allow any number input for lora strength in config builder 2026-02-10 17:33:44 -08:00