28 Commits
Author SHA1 Message Date
Maxed-Out-99 2b5db05b71 Bump version; fix Combo++ folder ordering
Bump package version to 1.0.7. Update web/js/bettercombos.js to rename the extension and setting IDs from "pysssss" to "smlmxd". Rework folder rendering so subfolders are inserted before items (folders appear above files) and root files are appended after folders. Minor comment adjustments to reflect the new insertion order.
2026-02-27 03:58:04 -08:00
Maxed-Out-99 a759fd896d Rename UNET loader label and bump version
Change the UNET loader UI/title from "Smart UNET Loader MXD" to "Smart Model Loader MXD" in nodes.py to better reflect unified model support; update the NODE_CLASS_MAPPINGS block with a comment about keeping the original key for backward compatibility. Also bump package version in pyproject.toml from 1.0.5 to 1.0.6.
2026-02-23 16:22:04 -08:00
Maxed-Out-99 7fd86b156a Add Gemma3 GGUF support and mmap/memory fixes
Multiple improvements and fixes across GGUF loading and model patching:

- dequant.py: Fix index dtype for IQ4 dequant gathers by casting indices to int64 to avoid dtype issues.

- loader.py:
  - Extend TXT_ARCH_LIST with gemma3.
  - Fix get_field to extract scalar values via .item().
  - Add get_gguf_metadata to collect simple GGUF metadata (string/int/float/bool).
  - Change gguf_sd_loader to return (state_dict, extra) where extra includes arch_str and metadata.
  - Dequantize 1D BF16 tensors to float32 to avoid incorrect quantization for bias/1D params.
  - Add GEMMA3_SD_MAP and gemma3_norm_corrections to reverse a Gemma3-specific norm offset (apply -1.0 correction and dequantize if needed).
  - Add gguf_gemma3_tokenizer_loader to reconstruct a SentencePiece tokenizer from GGUF metadata.
  - Update gguf_clip_loader to handle gemma3: map keys, apply norm corrections, and produce tokenizer data.
  - Ensure gguf_mmproj_loader and other callers unpack the new gguf_sd_loader return value.

- nodes.py:
  - Improve GGUFModelPatcher mmap handling: track named modules to unmap, add pin_weight_to_device to safely move modules when releasing mmap, clear tracking after release.
  - Pass GGUF metadata into comfy.sd.load_diffusion_model_state_dict when supported, and add error checks when loading fails.

These changes add Gemma3 model/tokenizer support, fix dtype and BF16 edge cases, and improve low-memory mmap/unmap handling for safer weight pinning and loading.
2026-02-22 08:21:31 -08:00
Maxed-Out-99 b7f561c389 Bump version to 1.0.4 and add torch import
Update pyproject.toml version from 1.0.3 to 1.0.4 and add a missing `import torch` in nodes.py. The change ensures the nodes module can reference torch where needed and records the new package version.
2026-02-22 00:04:15 -08:00
Maxed-Out-99 e4e8f827cd Bump version to 1.0.3 in pyproject.toml
Updated the project version from 1.0.2 to 1.0.3 to reflect new changes or improvements.
2026-01-28 17:56:33 -08:00
Maxed-Out-99 1a03e75c42 Improve CLIP model loading and bump version to 1.0.2
Enhanced the load_clip_models method to directly load non-.gguf CLIP models using comfy.sd.load_clip, and updated the torch file loading to handle metadata and quantization conversion. Incremented the package version to 1.0.2 in pyproject.toml.
2026-01-07 18:12:38 -08:00
Maxed-Out-99 8146e8ed33 Update pyproject.toml 2025-12-15 16:57:18 -08:00
Maxed-Out-99 7fc1fbb624 Update pyproject.toml 2025-12-15 16:56:05 -08:00
Maxed-Out-99 416b3e3a57 Update pyproject.toml 2025-12-15 16:54:31 -08:00
Robin Huangandasync () = process.env.GIT_USERNAME || (await ghUser()).email && (await ghUser()).name || DIE("Missing env.GIT_USERNAME") 402a05ebde chore(pyproject): Add pyproject.toml for Custom Node Registry (#2)
Co-authored-by: async () = process.env.GIT_USERNAME || (await ghUser()).email && (await ghUser()).name || DIE("Missing env.GIT_USERNAME") <async () = process.env.GIT_USEREMAIL || (await ghUser()).email && (await ghUser()).email || DIE("Missing env.GIT_USEREMAIL")>
2025-12-15 16:48:56 -08:00
Robin Huangandasync () = process.env.GIT_USERNAME || (await ghUser()).email && (await ghUser()).name || DIE("Missing env.GIT_USERNAME") a822844a77 chore(publish): Add Github Action for Publishing to Comfy Registry (#1)
Co-authored-by: async () = process.env.GIT_USERNAME || (await ghUser()).email && (await ghUser()).name || DIE("Missing env.GIT_USERNAME") <async () = process.env.GIT_USEREMAIL || (await ghUser()).email && (await ghUser()).email || DIE("Missing env.GIT_USEREMAIL")>
2025-12-15 16:47:51 -08:00
Maxed-Out-99 7a2b7ff41b Updated Out of Date Files
God bless city96. Now the clip nodes can load qwen3 gguf models and probably a bunch of other cool fixes. 👍
2025-12-15 11:43:03 -08:00
Maxed Out 34e68d5d54 Simplify bettercombos for unified loaders (#5) 2025-11-19 18:34:29 -08:00
Maxed-Out-99 33cb415b14 Update import paths in bettercombos.js
Changed relative import paths to reference the correct parent directory level for app.js, widgets.js, ui.js, and api.js. This ensures proper module resolution and prevents import errors.
2025-11-19 17:59:32 -08:00
Maxed-Out-99 1b3ccc50b7 Update index.js 2025-11-19 17:04:55 -08:00
Maxed-Out-99 27f5e93763 Refactor web directory structure and imports
Renamed 'web/bettercombos.js' to 'web/js/bettercombos.js' for better organization. Updated '__init__.py' to use 'web' as the directory path. Added 'web/index.js' to import the relocated 'betterCombos.js'.
2025-11-19 16:52:37 -08:00
Maxed Out 183e295817 Add better combo UI for smart loaders (#4) 2025-11-19 16:45:49 -08:00
Maxed-Out-99 47f2c84af7 Update nodes.py 2025-08-20 22:33:56 -07:00
Maxed-Out-99 0486ffc752 Refactor CLIPLoaderUnified input type definitions
Updated the 'type' field in DualCLIPLoaderUnified, TripleCLIPLoaderUnified, QuadrupleCLIPLoaderUnified, and CLIPLoaderUnified to reference nodes.CLIPLoader.INPUT_TYPES() for consistency and maintainability.
2025-08-17 22:59:58 -07:00
Maxed-Out-99 6c0eb1113b Update README.md 2025-07-20 17:21:07 -07:00
Maxed-Out-99 a03e762e8e Update README.md 2025-07-20 17:20:42 -07:00
Maxed-Out-99 fa2842b1ed Merge branch 'main' of https://github.com/Maxed-Out-99/ComfyUI-SmartModelLoaders-MXD 2025-07-20 10:49:54 -07:00
Maxed-Out-99 ef3258f0f8 Clean up
Removing unnecessary code and files
2025-07-20 10:49:29 -07:00
Maxed-Out-99 169e9df561 Update README.md 2025-07-20 10:41:50 -07:00
Maxed-Out-99 7cdf0eb43a Update README.md 2025-07-18 16:35:46 -07:00
Maxed-Out-99 e1538f473d Update README.md 2025-07-18 16:34:53 -07:00
Maxed-Out-99 6339b73c64 Smart Model Loader Nodes
First initial commit
2025-07-18 16:32:09 -07:00
Maxed-Out-99 ecc955323c Initial commit 2025-07-18 15:45:33 -07:00