Commit Graph

8874 Commits

Author SHA1 Message Date
awsr 418f27266e Add compatibility fallback just in case 2026-01-21 16:57:58 -08:00
awsr 3298f3db9a Rework prompt parsing/processing
- Return consistent structure
2026-01-21 16:57:05 -08:00
Ryan Meador e6eeb22a81 fix/add element names for some video controls that were duplicate/missing 2026-01-21 19:53:11 -05:00
awsr fe20635d0f Minor readability improvement 2026-01-21 16:41:05 -08:00
awsr 2f8976e28d Type standardization in processing_class 2026-01-21 16:35:19 -08:00
awsr 6344db1b09 Enforce typing for geninfo 2026-01-21 16:20:53 -08:00
awsr c2c32d7847 Improve/update types and data handling 2026-01-21 14:13:00 -08:00
Oleksandr Liutyi 4a089fb6e4 Qwen layered settings typo 2026-01-21 19:12:43 +00:00
CalamitousFelicitousness 26c679f9e7 refactor(caption): remove unused _device tracking property 2026-01-21 11:56:07 +00:00
CalamitousFelicitousness 6b10f0df4f refactor(caption): address PR review feedback
Rename WD14 module and settings to WaifuDiffusion:
- Rename wd14.py to waifudiffusion.py
- Rename WD14Tagger class to WaifuDiffusionTagger
- Rename WD14_MODELS constant to WAIFUDIFFUSION_MODELS
- Rename settings: wd14_model -> waifudiffusion_model,
  wd14_character_threshold -> waifudiffusion_character_threshold
- Update all log messages from "WD14" to "WaifuDiffusion"

Code quality improvements:
- Simplify threshold parameter defaulting using `or` operator
- Extract save_output logic into _save_tags_to_file() helper with
  isolated error handling to prevent single file failures from
  impacting entire batch
- Fix timing log format consistency (remove 's' suffix)
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness becb19319d refactor(caption): unify tagger settings and reorganize Caption Tab UI
Consolidate WD14 and DeepBooru tagger settings into unified options:
- Merge wd14_general_threshold + deepbooru_score_threshold → tagger_threshold
- Merge wd14_include_rating + deepbooru_include_rating → tagger_include_rating
- Rename interrogate_score → tagger_show_scores
- Rename tagger_escape → tagger_escape_brackets
- Rename CLiP → OpenCLiP in caption type choices

UI reorganization:
- Add Interrogate tab to Caption Tab with default caption type selector
- Move interrogate_offload to Model Offloading section as "Offload caption models"
- Hide Interrogate settings section (all settings now in Caption Tab UI)
- Update locale_en.json for OpenCLiP naming

Code improvements:
- DeepBooru tag_multi() now accepts same parameters as WD14 for unified interface
- Fix setting references in interrogate.py for consolidated settings
- Add comprehensive tagger test suite (cli/test-tagger.py)
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness 656e86a962 refactor(caption): consolidate interrogate settings into Caption Tab UI
Hide all CLiP, VLM, and Tagger settings from Settings > Interrogate page
while keeping them in shared.opts for persistence. Caption Tab UI becomes
the single control point with change handlers that save directly to config.

Changes:
- Hide OpenCLiP, VLM, and Tagger settings with visible=False
- Add change handlers to save settings when UI controls change
- Rename "Booru Tags" tab to "Tagger", update choice labels
- Update interrogate.py to use unified tagger interface with all settings
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness 09b8fe9761 feat(caption): integrate DeepBooru into unified Booru Tagger UI
Add DeepBooru as a model option alongside WD14 models in the Booru Tags
tab, with dynamic UI that disables inapplicable controls.

Changes:
- Create modules/interrogate/tagger.py as unified adapter module
- Add batch, load/unload, get_models functions to deepbooru.py
- Update ui_caption.py to use unified tagger interface
- Consolidate shared tagger settings in shared.py
- Add implementation plan for future settings consolidation

UI behavior:
- Model dropdown shows DeepBooru + all WD14 models
- Character threshold and include rating disabled for DeepBooru
- All controls re-enable when WD14 model selected
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness db97c42320 feat(caption): add WD14 tagger with Booru Tags tab
Add SmilingWolf's WD14/WaifuDiffusion tagger models for anime/illustration
tagging as a new "Booru Tags" tab in the Caption panel.

- Support 9 models (v2 and v3 variants) via HuggingFace
- ONNX backend chosen due to safetensors v3 variants exhibiting
  unacceptable accuracy loss
- Separate thresholds for general/character tags
- Batch processing with progress bar
- Consolidate debug env var to SD_INTERROGATE_DEBUG
2026-01-21 11:56:07 +00:00
Seunghoon Lee 40e366acf7 rocm hipblaslt detection fix 2026-01-21 17:07:39 +09:00
vladmandic b54d3eb07b Merge branch 'dev' of https://github.com/vladmandic/sdnext into dev 2026-01-21 08:45:58 +01:00
vladmandic bfbe4af598 fix lora load
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-21 08:45:45 +01:00
Vladimir Mandic a5367308bc Merge pull request #4577 from awsr/patch-1
Re-enable file deletion
2026-01-21 08:02:28 +01:00
awsr ffa2150d42 Re-enable file deletion 2026-01-20 22:07:44 -08:00
CalamitousFelicitousness 694e2f0427 fix(settings): support aliases in metadata skip params
The "Restore from metadata: skip params" setting previously required
exact metadata parameter names (e.g., "Batch-2" instead of "batch_size").
This was confusing because metadata names differ from Python variables
and UI labels.

Changes:
- Auto-populate param_aliases from component labels and elem_ids
- Expand user input with aliases in should_skip()
- Support normalized names so "Batch" skips both "Batch-1" and "Batch-2"

Users can now enter any of these formats (case-insensitive):
- Python variable names: batch_size, cfg_scale, clip_skip
- UI labels: Batch size, CFG scale, Clip skip
- Metadata names: Batch-2, CFG scale, Clip skip
- Normalized names: Batch (skips both Batch-1 and Batch-2)
2026-01-21 00:56:26 +00:00
vladmandic 84ad7bf20b improve wrap_gradio_call
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-20 18:56:49 +01:00
vladmandic a7b69cd805 fix get_fixed_seed
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-20 18:33:39 +01:00
vladmandic bb1e62f2ae fix_seed
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-20 18:32:19 +01:00
vladmandic b3a99274e2 enhance SD_DEVICE_DEBUG
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-20 18:12:05 +01:00
vladmandic cbc5ada65e Merge branch 'dev' of https://github.com/vladmandic/sdnext into dev 2026-01-20 17:30:24 +01:00
vladmandic b82132c17d cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-20 17:30:22 +01:00
James58899 f77361f49a Fix rocm triton windows patch 2026-01-20 20:58:04 +08:00
vladmandic f9aa2591e5 fix gallery save/delete
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-20 09:53:20 +01:00
vladmandic 8cf27dffdb allow unsafe ssl context for downloads
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-19 17:36:01 +01:00
vladmandic ae357a5e49 fix handling of p.seeds
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-19 11:35:21 +01:00
vladmandic cc0b0e8e3d cleanup todo
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-19 11:10:05 +01:00
vladmandic e8a158f4f5 refactor prompt set
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-19 10:51:28 +01:00
Vladimir Mandic 204bee6d2b Merge pull request #4567 from CalamitousFelicitousness/fix/lora-null-description
fix(ui): handle null description in network info JSON
2026-01-19 08:12:29 +01:00
CalamitousFelicitousness 66607c48e1 fix(ui): handle null description in network info JSON
Use both default parameter and `or ''` fallback to handle missing
keys and explicit null values in LoRA info JSON files.
2026-01-19 01:26:44 +00:00
vladmandic 16293375dc lora native stack improvements
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-18 10:06:03 +01:00
vladmandic e0ea7c9d94 cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-18 07:25:54 +01:00
Vladimir Mandic 857083ff49 Merge pull request #4560 from CalamitousFelicitousness/docs/lora-settings-hints
docs(i18n): improve LoRA settings hints and labels
2026-01-18 07:10:17 +01:00
CalamitousFelicitousness 983e396f64 docs(i18n): improve LoRA settings hints and labels
- Add detailed hints explaining LoRA fuse behavior and model reload warning
- Add hints for force reload, diffusers fuse, and quantization precision options
- Improve clarity of auto-apply tags and hash metadata hints
- Comment out unimplemented lora_quant setting
2026-01-18 03:57:43 +00:00
awsr d49c484af4 Use correct import for piexif.helper 2026-01-17 03:57:53 -08:00
awsr 1f3ee826ed Fix pyright: reportOptionalMemberAccess 2026-01-17 03:31:48 -08:00
awsr bcc889d257 Fix and update layout switching 2026-01-17 03:31:07 -08:00
awsr 182bbc36a3 Avoid mixing types 2026-01-17 03:29:12 -08:00
Vladimir Mandic d934920c23 cleanup
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-16 17:34:34 +00:00
Vladimir Mandic 05b919f35b ltx2 improvements
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-16 17:31:56 +00:00
CalamitousFelicitousness b4a3a117f1 fix(shared): truncate descriptions 2026-01-16 16:24:05 +00:00
CalamitousFelicitousness 761ea1c327 feat(settings): add base path support for output folders
Change "Images folder" and "Grids folder" settings to act as base paths
that combine with specific folder settings, rather than replacing them.

- Add resolve_output_path() helper function to modules/paths.py
- Update all output path usages to use combined base + specific paths
- Update gallery API to return resolved paths with display labels
- Update gallery UI to show short labels with full path on hover

Example: If base is "C:\Database\" and specific is "outputs/text",
the resolved path becomes "C:\Database\outputs\text"

Edge cases handled:
- Empty base path: uses specific path directly (backward compatible)
- Absolute specific path: ignores base path
- Empty specific path: uses base path only
2026-01-16 16:24:05 +00:00
vladmandic b3d65f4559 logging cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-16 11:32:09 +01:00
vladmandic 952696ab20 more cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-16 10:58:09 +01:00
vladmandic 32b8b082e2 cleanup logging
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-16 10:36:02 +01:00
vladmandic 66fc59ceb7 load error trace
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-16 10:06:02 +01:00