The parser took the last numeric component of a key as the block index. That is wrong whenever a name carries more than one number: transformer_blocks.12.attn1.to_q would be read as block 1 of a family ending in attn, and a nested layout such as down_blocks.0.attentions.1.transformer_blocks.0.ff.net.0.proj collapsed into a family called ff.net. The block axis is now chosen per path template as the numeric slot that varies most across the whole LoRA, which is information a single key does not have. Numbers outside that slot stay in the module name, so attn1 and attn2 stay distinct rather than folding together. The grouped tree is a summary, and a summary can hide things, so the panel now also has an "every layer" view: the full module list with a filter box, each row showing its norm and rank, and a + that writes a rule matching exactly that path. The structure endpoint returns that list alongside the grouped one. Checked against the body-swap recipe: same 136 of 192 modules kept, 56 dropped, 96 scaled as before the change, and attn.to_out.0 is still treated as attention rather than as block 0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
49 lines
2.1 KiB
TOML
49 lines
2.1 KiB
TOML
[project]
|
|
name = "bfsnodes"
|
|
description = "Custom ComfyUI nodes for reference-guided video: the BFS Sampler (guide-driven IC-LoRAs with auto-configured crop, mask inpainting and temporal chunking in one node), LTX Multiple Controls and Identity Transfer (IPT2V reference + source-phase RoPE), LTXV Edit Anything, Head-Swap/Anime2Real Bernini conditioning, the AMV Guide Builder, MiniMax-H3 single-frame VAE loaders with tile control, and LoRA Surgery (read any LoRA's layers and blocks, then scale or drop them live to find which modules carry a defect, and save the result as a new LoRA)."
|
|
version = "1.44.0"
|
|
license = {file = "LICENSE"}
|
|
dependencies = [
|
|
"torch",
|
|
"numpy",
|
|
"Pillow",
|
|
"safetensors",
|
|
"librosa",
|
|
"opencv-python",
|
|
"insightface==0.7.3",
|
|
"onnxruntime",
|
|
"transformers>=4.55.0",
|
|
"scipy",
|
|
]
|
|
# classifiers = [
|
|
# # For OS-independent nodes (works on all operating systems)
|
|
# "Operating System :: OS Independent",
|
|
#
|
|
# # OR for OS-specific nodes, specify the supported systems:
|
|
# "Operating System :: Microsoft :: Windows", # Windows specific
|
|
# "Operating System :: POSIX :: Linux", # Linux specific
|
|
# "Operating System :: MacOS", # macOS specific
|
|
#
|
|
# # GPU Accelerator support. Pick the ones that are supported by your extension.
|
|
# "Environment :: GPU :: NVIDIA CUDA", # NVIDIA CUDA support
|
|
# "Environment :: GPU :: AMD ROCm", # AMD ROCm support
|
|
# "Environment :: GPU :: Intel Arc", # Intel Arc support
|
|
# "Environment :: NPU :: Huawei Ascend", # Huawei Ascend support
|
|
# "Environment :: GPU :: Apple Metal", # Apple Metal support
|
|
# ]
|
|
|
|
|
|
[project.urls]
|
|
Repository = "https://github.com/alisson-anjos/ComfyUI-BFSNodes"
|
|
# Used by Comfy Registry https://registry.comfy.org
|
|
Documentation = "https://github.com/alisson-anjos/ComfyUI-BFSNodes/wiki"
|
|
"Bug Tracker" = "https://github.com/alisson-anjos/ComfyUI-BFSNodes/issues"
|
|
|
|
[tool.comfy]
|
|
web = "web"
|
|
PublisherId = "alisson-anjos"
|
|
DisplayName = "ComfyUI-BFSNodes"
|
|
Icon = ""
|
|
includes = []
|
|
# "requires-comfyui" = ">=1.0.0" # ComfyUI version compatibility
|