Skip to content

Commit 7cc5b06

Browse files
committed
Fix requirements.txt
1 parent 4bcf379 commit 7cc5b06

4 files changed

Lines changed: 58 additions & 42 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
__pycache__/
22
*.pyc
3-
.claude_data
3+
.claude_data
4+
.claude

Roadmap.md

Lines changed: 53 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,37 @@ But seriously, after updating your code see if it works. If it didn't send the e
3333

3434
---
3535

36+
37+
Check Roadmap.md for some tasks and do them. don't do any marked as (low priority). If you think you can do the ones marked as New to-do items, needs more info/explaining/numbering those are good. There is some info on the project in README.md and info on the file structure and notes on each files functions in the ProjectStructure.md
38+
39+
3640
### **ComfyUI Ultimate Sampler Grid – Development Roadmap**
3741

3842

39-
## Calculate diff - pack into manifest, read in card view at top of card stats, add to sort favorites by lora with lora diff name
43+
# New to-do items, needs more info/explaining/numbering
4044

41-
## Implement Settings For Lookahead Async Model Cacher
45+
## Easy Feature: Add Esc key close to Revise modal and add X to close in top right of modal in Dashboard and the Lookup LoRA Metadata from CivitAI, and omit lora triggerwords modals in the Builder UI.
4246

43-
## Feature: LoRA Lookup From Builder UI. Get metadata, images, url, tags, & more to view quickly from builder in comfyui
47+
## Bug Fix: Batch Encoding Runs Before Job Skip/Continue/Resume check and will encode everything again even if it's already been completed. Also Continue/Resume Should NOT run by default if optional inputs are connected because changes to the optional inputs are not currently being tracked. We need to track connected node changes from each of the optional inputs, we could also use this step to save the workflow to the benchmark/session folder and compare the last run workflow to the current to track node changes and determine changes and also integrate currenly missing from optional inputs such as model, loras, prompts, etc.
48+
49+
## Feature: Plug in any directory into the dashboard, view all the images in it, read from pnginfo meta-data, generate a manifest and be able to favorite/filter/sort images in directories that weren't generated with the node.
50+
51+
## Feature: Test multiple vaes. VAE Selection could be added to the Builder UI & configs_json and integrated into the generation_orchestrator, image_generator, model_loader, saved manifest.json, filters, dashboard grid display card info, etc...
52+
53+
## calculate height and width of card and row based on input dimension (sort of implemented but not working right with multiple size images in one run, needs fixing)
54+
55+
## Replace revise button in dashboard with edit emoji
56+
57+
## Setup Diffusion_checkpoints and gguf loaders in config builder ui node, allow selection of them in model select, add text encoder selection options, pass to json_config and handle them in the sampler node, model loader and gen_orchestrator
4458

45-
## Fix: Manifest doesn't need lora omit triggers list in every item
59+
60+
## Calculate diff - pack into manifest, read in card view at top of card stats, add to sort favorites by lora with lora diff name. easily view what makes that displayed card/item different
61+
62+
## Implement Configurable Settings For Lookahead Async Model Cacher (low priority)
4663

4764
## Add attention options, xformers, sdpa, sage, flash, etc, option for test all, test all should clear ram & vram between each test.
4865

66+
# Deeper explained items to-do list
4967

5068
#### **1. Skip Logic for Optional Inputs**
5169

@@ -64,19 +82,8 @@ But seriously, after updating your code see if it works. If it didn't send the e
6482

6583
* **Target Files:** `sampler_node.py`, `generation_orchestrator.py`
6684

67-
#### **3. Lora/Model Quick Toggle (Bypass)**
68-
69-
* **Problem:** Users delete LoRAs to test without them, losing the config.
70-
* **Instruction:**
71-
1. **Frontend (`web/config_builder.js`):** In the LoRA list UI, add a small checkbox or "eye" icon next to each entry.
72-
2. **Data Handling:** When generating the JSON for `lora_config`, do **not** remove the entry if unchecked. Instead, prepend a specific marker (e.g., `#` or `OFF::`) to the string.
73-
3. **Backend (`config_utils.py`):** In `parse_lora_definition`, add a check: `if part.startswith("#") or part.startswith("OFF::"): continue`. This filters it out at expansion time while keeping it in the UI text.
74-
75-
76-
* **Target Files:** `web/config_builder.js`, `config_utils.py`
7785

78-
79-
#### **7. CivitAI Download Integration**
86+
#### **7. CivitAI Download Integration** (low priority)
8087

8188
* **Problem:** Can fetch info but not download files.
8289
* **Instruction:**
@@ -87,17 +94,8 @@ But seriously, after updating your code see if it works. If it didn't send the e
8794

8895
* **Target Files:** `__init__.py`, `lora_utils.py`, `web/config_builder.js`
8996

90-
#### **8. Visualize Omitted Triggers**
91-
92-
* **Problem:** Users don't know which triggers are being removed.
93-
* **Instruction:**
94-
1. **Modify `web/config_builder.js`:** In the function that renders the trigger tags list (e.g., `renderOmitTags` or similar), iterate through the current `omit_list`.
95-
2. **Style:** If a tag in the cloud matches an entry in `omit_list`, apply a specific CSS class (e.g., `style="text-decoration: line-through; opacity: 0.5;"`).
96-
9797

98-
* **Target Files:** `web/config_builder.js`
99-
100-
#### **9. Token-Based Omit Logic**
98+
#### **9. Tag/Token-Based Omit Logic**
10199

102100
* **Problem:** Current logic (`if word in tag`) is too broad or too strict.
103101
* **Instruction:**
@@ -108,7 +106,7 @@ But seriously, after updating your code see if it works. If it didn't send the e
108106

109107
* **Target Files:** `trigger_words.py`
110108

111-
#### **10. Validation Warning (Omit vs Lookup) - Warn user if omits are added but lookup is off**
109+
#### **10. Validation Warning (Omit vs Lookup) - Warn user if omits are added but lookup is off** (low priority)
112110

113111
* **Problem:** User adds omit words but forgets to enable "Lookup & Append".
114112
* **Instruction:**
@@ -152,13 +150,12 @@ But seriously, after updating your code see if it works. If it didn't send the e
152150

153151
* **Target Files:** `generation_orchestrator.py`, `resources/logic_events.js`, `resources/template.html`
154152

155-
#### **14. Cache Trigger Word Placement**
153+
#### **14. Cache Trigger Word Placement** (low priority)
156154

157155
* **Problem:** `trigger_words.py` logic runs every loop iteration.
158156
* **Instruction:**
159-
1. **Modify `trigger_words.py`:** Import `functools.lru_cache`.
160-
2. **Apply:** Decorate `get_filtered_lora_triggers` and `build_prompt_with_triggers` with `@lru_cache(maxsize=128)`. Note: You must ensure arguments are hashable (convert lists to tuples before passing).
161-
157+
1. **Modify `trigger_words.py`:**
158+
2. **Apply:** Decorate `get_filtered_lora_triggers`
162159

163160
* **Target Files:** `trigger_words.py`
164161

@@ -176,7 +173,7 @@ But seriously, after updating your code see if it works. If it didn't send the e
176173

177174
* **Target Files:** `resources/template.html`, `resources/logic_ui.js`
178175

179-
#### **18. Optionally Pack workflow into images **
176+
#### **18. Optionally Pack workflow into images ** (low priority)
180177

181178
* **Problem:** Pack workflow into images optionally
182179
* **Instruction:**
@@ -198,7 +195,7 @@ But seriously, after updating your code see if it works. If it didn't send the e
198195

199196
* **Target Files:** `resources/logic_ui.js`
200197

201-
#### **21. Virtual DOM Pan/Zoom (Canvas Builder)**
198+
#### **21. Virtual DOM Pan/Zoom (Canvas Builder)** (low priority)
202199

203200
* **Problem:** The Config Builder UI (graph node) needs infinite canvas capabilities for large node graphs.
204201
* **Instruction:**
@@ -208,7 +205,7 @@ But seriously, after updating your code see if it works. If it didn't send the e
208205

209206
* **Target Files:** `web/config_builder.js`
210207

211-
#### **22. Import Configs (Merge)**
208+
#### **22. Import Configs (Merge)** (low priority)
212209

213210
* **Problem:** Can only load full sessions, not merge snippets.
214211
* **Instruction:**
@@ -219,7 +216,7 @@ But seriously, after updating your code see if it works. If it didn't send the e
219216

220217
* **Target Files:** `web/config_builder.js`
221218

222-
#### **23. Pseudo-JSON Nodes (Recursion)**
219+
#### **23. Pseudo-JSON Nodes (Recursion)** (low priority)
223220

224221
* **Problem:** Advanced. Running a raw JSON workflow as a sub-node.
225222
* **Instruction:**
@@ -229,7 +226,7 @@ But seriously, after updating your code see if it works. If it didn't send the e
229226

230227
* **Target Files:** `json_text_node.py`, `sampler_node.py`
231228

232-
#### **24. Combinatorial Randomization** - More Randomization tools - generate x configs from y possibilities and z prompts
229+
#### **24. Combinatorial Randomization** - More Randomization tools - generate x configs from y possibilities and z prompts - (low priority)
233230

234231
* **Problem:** Feature. Combinatorial generation logic. Combine random prompts with random loras, fun!
235232
* **Instruction:**
@@ -239,7 +236,7 @@ But seriously, after updating your code see if it works. If it didn't send the e
239236

240237
* **Target Files:** `config_builder_node.py`
241238

242-
#### **25. Double Click Filter (Isolate)**
239+
#### **25. Double Click Filter (Isolate)** - (low priority)
243240

244241
* **Problem:** Tedious to uncheck all other filters.
245242
* **Instruction:**
@@ -250,7 +247,7 @@ But seriously, after updating your code see if it works. If it didn't send the e
250247

251248
* **Target Files:** `resources/logic_ui.js`
252249

253-
#### **26. Path Validation in Builder**
250+
#### **26. Path Validation in Builder** (low priority)
254251

255252
* **Problem:** Add validation check to builder for lora and model paths
256253
* **Instruction:**
@@ -277,4 +274,21 @@ But seriously, after updating your code see if it works. If it didn't send the e
277274

278275
#### **4. Fix Lora Trigger Append Position** COMPLETED
279276

280-
#### **15/16. Lookahead Caching Switch & Debug** COMPLETED
277+
#### **15/16. Lookahead Caching Switch & Debug** COMPLETED
278+
279+
280+
Add "Don't Append" option to Append Lora Triggerwords To: section. (Adds all triggerwords to omit lora triggerwords list. COMPLETED
281+
282+
283+
## Feature: LoRA Lookup From Builder UI. Get metadata, images, url, tags, & more to view quickly from builder in comfyui
284+
285+
## Fix: Manifest doesn't need lora omit triggers list in every item. Save civitai lookup hashes when calculating lora short 256 and looking up lora trigger words. For use later with civit lookup lora / model info. Save all meta-data from lookup in a folder in output/benchmarks/model-data/{modelName} COMPLETED
286+
287+
288+
Prompts manager section in config builder, browse & combine past prompts, analyze favorited tags, auto generate tag tests, COMPLETED
289+
290+
291+
#### **3. Lora/Model Quick Toggle (Bypass)** COMPLETED
292+
293+
294+
#### **8. Visualize Omitted Triggers** COMPLETED

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[project]
22
name = "ultimate-auto-sampler-config-grid-testing-suite"
33
description = "Test Everything All In One Run!!! Testing & benchmarking tool for samplers, schedulers, CFG scales, multiple prompts, img2img denoise values, Models, Weights, LoRA and more! Features infinite-canvas dashboard image grids with virtual scrolling that can handle thousands of images! Smart caching, powerful sorting, filters, favoriting, reviewing, automatic resume on interrupt, and real-time visualization. Test entire checkpoint folders, stack multiple LoRAs, generate random seed variations, and export optimized configs, save sessions. Includes powerful UI for building AIO comparison runs, fullscreen mode, keyboard navigation, smart filtering by parameters, civitai model data info, and one-click regeneration workflow, and SO MUCH MORE. Perfect for sampler output optimization and parameter tuning."
4-
version = "1.9.1"
4+
version = "1.9.2"
55
license = {file = "LICENSE"}
66
classifiers = [
77
# # For OS-independent nodes (works on all operating systems)

requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
diffusers
1+
diffusers
2+
piexif

0 commit comments

Comments
 (0)