Commit Graph
50 Commits
Author SHA1 Message Date
EthanfelandClaude Opus 4.6 f70b374b7b docs: update license references from MIT to GPL-3.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 00:52:41 +02:00
Ethanfel c54eeb091d docs: add Community Cache section to README 2026-04-09 13:04:17 +02:00
EthanfelandClaude Opus 4.6 89ac0734a1 docs: add collapsed Examples section with Z-Image example
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:58:34 +01:00
EthanfelandClaude Opus 4.6 92e3b6eb96 docs: restructure README for progressive disclosure
Reorder sections so newcomers see what the tool does and how to use it
before hitting technical details. Add Quick Start guide, move Installation
up, replace detailed node docs with a Nodes at a Glance table linking to
wiki, wrap How It Works in a collapsible, group feature collapsibles under
one heading, simplify AutoTuner visible text, and collapse less-common
nodes. No content removed — everything reorganized.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:53:33 +01:00
EthanfelandClaude Opus 4.6 b273cd8cf9 docs: remove all calibration_data references from documentation
Clean up README, wiki Nodes, How-It-Works, and maintainer sync docs
to reflect removal of calibration_data feature.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:00:55 +01:00
EthanfelandClaude Opus 4.6 7959ce81fd merge: integrate PR #1 correctness refactor into test branch
Merges srv1n's correctness refactor (PR #1) with conflict resolution
to preserve our recent setting renames and fixes while incorporating
their core improvements:

- Target-key grouping: analysis/merge operates on resolved model weights
  instead of raw LoRA prefixes, fixing trainer-specific aliasing bugs
- Exact low-rank linear patches: lossless linear merges for weighted_sum
  and weighted_average when no nonlinear ops are needed
- Excess conflict metric: sign disagreement beyond statistical expectation
  (cosine-sim aware), replacing raw conflict ratio in decisions
- Subspace overlap: measures how much LoRA weight perturbations align
- Block smoothing: reduces noisy per-prefix mode flips
- Activation-aware calibration scoring for Phase 2 quality evaluation
- ACE-Step architecture support
- Soft LoKr/LoHa imports for graceful degradation
- RS-LoRA compensation re-enabled with safe heuristic
- 519-line test suite (19 tests, all passing)

Conflict resolution kept our:
- Setting renames (merge_refinement, patch_compression, strategy_set)
- Qwen-Image detection fix
- LoRACompatibilityAnalyzer node
- Conflict-mode masking in _apply_conflict_modes (PR's approach)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 14:19:34 +01:00
EthanfelandClaude Opus 4.6 63f54f73a4 docs: add merge strategy guide and update README setting references
Add educational SVG/PNG diagram explaining orthogonal vs conflicting vs
aligned LoRA relationships and when to change merge settings. Update all
README references to use new setting names (merge_refinement,
patch_compression, strategy_set, additive).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 13:19:13 +01:00
srv1n be7cb96f1e Sync correctness refactor onto upstream dfd3920 2026-03-08 16:02:45 +05:30
EthanfelandClaude Opus 4.6 3beed0c49a docs: update README for v1.3.0 — auto-strength floor, SLERP, inputs
- Document orthogonal floor in Auto-Strength section (per-architecture floors)
- Update per-prefix strategy table: weighted_average → slerp for non-opposing LoRAs
- Add auto_strength_floor to Optimizer and AutoTuner inputs lists
- Add Orthogonal Floor column to architecture presets table
- Add <a> wrapper to bridge-workflow SVG for PNG click-through
- Re-export stale PNGs from updated SVGs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 13:32:54 +01:00
EthanfelandClaude Opus 4.6 9ecd859f87 docs: add bridge workflow SVG diagram to README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 04:29:56 +01:00
EthanfelandClaude Opus 4.6 e31bf57848 docs: update README with bridge workflow, scoring speed, fix defaults
- Add AutoTuner → Optimizer Bridge section with workflow diagram
  and mode switching table
- Add Scoring Speed and Output Mode collapsibles to AutoTuner section
- Fix normalize_keys default: disabled → enabled
- Fix diff_cache_mode default: disabled → auto
- Add tuner_data and settings_source to Optimizer inputs list
- Add analysis_report to AutoTuner outputs list

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 04:25:14 +01:00
EthanfelandClaude Opus 4.6 bc16f3ee8a docs: add AutoTuner, Merge Selector, Save/Load Tuner Data, diff cache, VRAM budget
Update README with new node sections (AutoTuner, Merge Selector,
Save/Load Tuner Data), diff cache and VRAM budget details, ACE-Step
architecture support. Add AutoTuner tag to banner SVG. Add 4 new
entries to development timeline (AutoTuner, Merge Selector + Save/Load,
Diff Cache, VRAM Budget).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 10:21:21 +01:00
EthanfelandClaude Opus 4.6 6f2c1af162 docs: add architecture-aware behavior profiles to README
Document the new architecture_preset setting (auto/sd_unet/dit/llm),
its effect on density estimation and strength caps, and the dit default
for WanVideo. Update inputs list and example report.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 20:44:26 +01:00
EthanfelandClaude Opus 4.6 f838710c4a docs: update README for per-LoRA key_filter and LoRA Optimizer variants
- LoRA Stack: list conflict_mode and key_filter inputs
- LoRA Stack (Dynamic): update simple/advanced table to reflect
  conflict_mode + key_filter visibility in advanced mode
- Key Filter section: rewrite for per-LoRA behavior with updated examples
- LoRA Optimizer: add Simple vs Advanced variant table
- Inputs: label as Advanced, add DARE dampening

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 14:33:22 +01:00
EthanfelandClaude Opus 4.6 ad773b8cf3 docs: add key_filter documentation to README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 12:30:24 +01:00
EthanfelandClaude Opus 4.6 3fe2966906 docs: update banner/TIES SVGs, add PNG versions, make images clickable
- banner.svg: add Merge Quality tag
- ties-diagram.svg: add column-wise/TALL-masks/KnOTS note
- Convert all SVGs to PNGs via rsvg-convert
- Wrap all SVG images in README with links to PNG for full-size viewing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 02:22:48 +01:00
EthanfelandClaude Opus 4.6 2bc4f69676 docs: center per-prefix strategy table
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 02:12:00 +01:00
EthanfelandClaude Opus 4.6 e42766e1dd docs: add merge quality section to README and update SVGs
Add merge-quality-diagram.svg showing standard/enhanced/maximum pipeline
tiers. Update optimizer-pipeline.svg with quality tags, timeline.svg with
entry #16, README with new section, badge, credits, and updated inputs.
Fix tooltip wording ("element-wise" instead of "current behavior").

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 02:10:16 +01:00
EthanfelandClaude Opus 4.6 afbb3d8eb8 docs: revert collapsible headers to bold text, keep timeline
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 21:59:25 +01:00
EthanfelandClaude Opus 4.6 81e82963a4 docs: style collapsible sections with badge headers, add timeline
- All collapsed summaries now use shields.io badges (blue on light gray)
  for bigger text and colored background indicating clickability
- Added Development Timeline as collapsed section before License

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 21:57:07 +01:00
EthanfelandClaude Opus 4.6 5f1fbbd8d8 docs: collapse less important README sections for cleaner reading
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 21:51:24 +01:00
EthanfelandClaude Opus 4.6 71d253fdc6 feat: add WanVideoLoRAOptimizer node for WanVideo model LoRA merging
Thin subclass of LoRAOptimizer that accepts WANVIDEOMODEL input/output,
enabling LoRA merging for kijai's WanVideoWrapper pipeline. All merging
algorithms (TIES, DARE/DELLA, SVD, auto-strength) are inherited. Wan key
normalization (LyCORIS, diffusers, Fun LoRA, finetrainer, RS-LoRA) was
already supported by the parent class.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 18:21:12 +01:00
EthanfelandClaude Opus 4.6 3cf484fd34 fix: restore <p> wrappers on images for full-width GitHub rendering
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:43:20 +01:00
EthanfelandClaude Opus 4.6 33d039df9a feat: add MergedLoRAToHook converter node + README update
Add a new node that wraps merged LoRA patches as conditioning hooks (HOOKS)
for per-conditioning application instead of global model patching. Also
reorganize README with collapsible detail sections, reduce SVG margins,
and document the new node.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:40:27 +01:00
EthanfelandClaude Opus 4.6 0447a57bfc docs: replace problem text with visual diagram
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 01:27:12 +01:00
EthanfelandClaude Opus 4.6 399ada6d93 docs: add title and separator for merge use-cases diagram
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:49:53 +01:00
EthanfelandClaude Opus 4.6 6190e68aff docs: add separator before Nodes section
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:48:57 +01:00
EthanfelandClaude Opus 4.6 9bbf061cdf docs: move merge use-cases diagram above Nodes section
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:48:20 +01:00
EthanfelandClaude Opus 4.6 43c8ece9d8 docs: add edit/structural LoRA warnings and merge use-cases diagram
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:45:09 +01:00
EthanfelandClaude Opus 4.6 e9304617f4 feat: interference-aware auto-strength, save to loras folder, dynamic stacker JS
- Auto-strength now uses pairwise cosine similarity for exact vector-sum
  energy normalization instead of assuming orthogonal LoRAs
- Save Merged LoRA defaults to ComfyUI loras folder; supports absolute paths
- Add JS extension for LoRA Stack (Dynamic) widget show/hide
- Fix LTX architecture detection for middle_block/mid_block keys
- Update banner SVG with new feature tags

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:07:41 +01:00
EthanfelandClaude Opus 4.6 7d77079acb docs: update README for dynamic stacker, save node, and interference-aware auto-strength
Add LoRA Stack (Dynamic) and Save Merged LoRA node sections, update
auto-strength from L2-aware to interference-aware energy normalization
with cosine similarity, add LORA_DATA output, and reorder sub-features
for logical pipeline flow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:51:09 +01:00
EthanfelandClaude Opus 4.6 043c510367 docs: update README and SVG for conflict-aware sparsification
Rewrite sparsification section to explain standard vs conflict-aware
modes. Redesign SVG diagram with side-by-side comparison showing how
standard drops weights blindly while conflict-aware only targets
positions where LoRAs push in opposite directions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:56:15 +01:00
EthanfelandClaude Opus 4.6 17c9db7937 Add merge strategies comparison SVG diagram
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 12:30:16 +01:00
EthanfelandClaude Opus 4.6 d8f19aa6bf Add GPU/CPU option for SVD compression device
GPU SVD is ~10-50x faster than CPU for the randomized SVD algorithm.
Defaults to GPU; CPU option available when GPU memory is tight.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 03:22:17 +01:00
EthanfelandClaude Opus 4.6 a28cca810e Update README and SVGs for SVD compression and new options
- Add SVD Patch Compression section with non_ties/all/disabled table
- Add Optimization Modes table (per_prefix/global/weighted_sum_only)
- Add Memory Options table (cache_patches, compress_patches, free_vram)
- Add tip for video model users
- Update Inputs/Outputs to list all current options
- Update optimizer-pipeline SVG with SVD compress step and mode tags
- Update banner SVG tag from "Low Memory" to "SVD Compression"
- Add SVD badge to shields

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:35:36 +01:00
EthanfelandClaude Opus 4.6 c935f87861 docs: add DPO LoRAs to structural LoRA warning
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:30:02 +01:00
EthanfelandClaude Opus 4.6 99a4cd5b1a docs: warn against putting distillation LoRAs in optimizer stack
LCM, Lightning, Turbo, Hyper LoRAs rewire the denoising process
and should be applied separately via Load LoRA, not merged with
style LoRAs through the optimizer.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 22:15:42 +01:00
EthanfelandClaude Opus 4.6 c0b8a130f0 docs: credit Scruffy and Ramonguthrie for per-block analysis suggestion
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:45:27 +01:00
EthanfelandClaude Opus 4.6 4363a62a39 docs: rewrite README for per-prefix adaptive merge
- Restructured around per-prefix adaptive merge as the key feature
- Added Block Strategy Map section with ASCII example
- Added Per-Prefix Adaptive badge
- Credited comfyUI-Realtime-Lora for per-block analysis inspiration
- Updated example report with block map and per-prefix sections

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:32:45 +01:00
EthanfelandClaude Opus 4.6 63857807c5 docs: update README and node description for per-prefix mode
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:47:28 +01:00
EthanfelandClaude Opus 4.6 9c731cae68 Link original ZImage LoRA Merger repo in credits
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:32:51 +01:00
EthanfelandClaude Opus 4.6 8a308cd922 Add ZImage LoRA Merger attribution to credits
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:22:26 +01:00
EthanfelandClaude Opus 4.6 ac98a1859a Add before/after comparison image to README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 17:57:42 +01:00
EthanfelandClaude Opus 4.6 b6a71cfa2c Redesign banner, update pipeline diagram, fix README content
- New banner SVG with analysis-bar icon for optimizer identity
- Update optimizer-pipeline.svg for two-pass streaming architecture
- Move tuple-format stack note from LoRA Stack to LoRA Optimizer

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 16:50:43 +01:00
EthanfelandClaude Opus 4.6 55983d08bb Rename to ComfyUI-LoRA-Optimizer and remove unused nodes
Remove ZImageLoRAMerger, ZImageLoRAStackApply, ZImageLoRAMergeToSingle,
and ZImageLoRATrueMerge (as a registered node). Only LoRAStack and
LoRAOptimizer remain. ZImageLoRATrueMerge becomes _LoRAMergeBase
(internal base class). Rename file, update all references, rewrite README.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 16:46:09 +01:00
EthanfelandClaude Opus 4.6 95c2c717bd Update README for two-pass streaming optimizer
- Document two-pass architecture and low memory usage
- Add free_vram_between_passes to inputs list
- Replace outdated memory warning with upstream LoRA limitation note
- Update comparison table: Optimizer memory Low (streaming), speed Medium

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 16:23:13 +01:00
EthanfelandClaude Opus 4.6 462fa1039d Add auto-strength reduction to ZImageLoRAOptimizer
L2-aware energy normalization toggle that auto-reduces per-LoRA
strengths to prevent overexposure when stacking 2+ LoRAs on
distilled/turbo models. Disabled by default.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 12:43:23 +01:00
EthanfelandClaude Opus 4.6 b2a7e49b9f Add ZImageLoRAOptimizer node and rewrite README
New auto-optimizer node that analyzes a LoRA stack (sign conflicts,
magnitude distributions, overlap), auto-selects the best merge mode
and parameters (TIES vs weighted_average, density, sign method), and
outputs merged model/clip plus a detailed analysis report.

Also fixes Flux sliced-key handling in ZImageLoRATrueMerge and adds
LoCon float precision fix. README rewritten with SVG diagrams
documenting all 6 nodes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 12:27:47 +01:00
Danrisi 098b728da6 Update README.md 2026-01-06 14:38:13 +02:00
Danrisi 76fa667f38 Initial commit: Z-Image LoRA Merger custom nodes for ComfyUI 2026-01-06 14:29:48 +02:00