Commit Graph
33 Commits
Author SHA1 Message Date
Maxed-Out-99andClaude Fable 5 064c29c465 Add refactor-safety harness: node schema snapshot + web static checker
scripts/dump_node_schema.py imports the pack against the installed core
and dumps all 68 node schemas; --compare diffs two dumps (dynamic
file/folder combos normalized to presence-only for determinism).
scripts/check_web.py statically verifies JS imports, node-name
references, and CSS paths. Baseline captured pre-restructure.

Also removes a stale 'VideoComparerMXD' entry from image_comparer.js
(real key is 'Video Comparer MXD'; the entry never matched).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 00:45:30 -07:00
Maxed-Out-99andClaude Fable 5 9cd58baf89 Checkpoint: full working state before repo overhaul
Snapshot of ~1 year of accumulated work prior to restructuring:
smart loaders merge, checkpoint loader/saver, live preview, model
storage auto-registration, LTX2 power lora loader, and misc web UI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 23:05:13 -07:00
Maxed-Out-99 ac82ed7bea Add LTX nodes, VACE 2.2 support & UI tweaks
Add a new ltxnodes module implementing LTX video latent nodes, samplers, and a taeltx-based video previewer (auto-download/load). Update package init to expose ltxnodes and adjust loraloader model list sorting for loras. Extend maxedoutnodes with a BBOX detector batch node and an Image+Mask preview node plus color parsing/helpers. Add VACE 2.2 latent save/load support and related helpers in wan22nodes (trim_latent sidecar, loaders), and enhance WAN 2.2 scaler logic to support 1024×1024 square buckets, aspect_mode options, and auto-square behavior. Add/modify several web UI assets and minor project housekeeping (.gitignore local_notes).
2026-06-24 14:04:07 -07:00
Maxed-Out-99 b0842cfdd7 Add MXD utilities: LoRA, latents, LTX scaler
Multiple MXD improvements and additions:

- loraloader_mxd/power_lora_loader_mxd.py: import comfy modules; add robust bool/float coercion helpers; safer parsing of LORA_* inputs; apply LoRA without CLIP when needed; better error reporting.

- maxedoutnodes.py: Add embed_workflow optional flag to SaveImage_MXD and filter extra PNG info when workflow embedding is disabled; add new Extract Workflow From Image MXD node to extract/save workflow JSON from image metadata; register/display name updates.

- pyproject.toml: bump package version 1.9.0 -> 1.9.1.

- wan22nodes.py: many improvements around latent file handling and prompt metadata:
  - sort latent files newest-first and list latent subfolders by latest mtime.
  - accept a hidden unique_id and attach source KSampler metadata to saved latents.
  - introduce robust graph parsing utilities to find KSampler nodes, collect upstream links and extract params reliably (with meta fallbacks).
  - use the new utilities across latent loading/saving nodes.
  - add LTX Image Scaler MXD node for LTX Video workflow (32-aligned resizing/cropping and tier selection).
  - remove wan_svi_first_last_mxd.py (deleted file).

- web/js/betterCombos.js: add MXD alias constants and node configs for new/updated latent nodes.

- web/js/image_comparer.js: change extension hooking to patch nodeType.prototype directly (avoids boundClass naming issue), add comparer_mode combo and ensure stored nodes keep correct title.

Overall: improves robustness of LoRA application, latent file discovery/metadata, prompt graph parsing for reproducible sampler params, adds an LTX scaler node and workflow extraction helper, and updates frontend wiring for these MXD features.
2026-05-04 13:20:06 -07:00
Maxed-Out-99 e35ec29f4f Add CharacterPrompts nodes and web UI
Introduce a new CharacterPrompts extension: adds node implementations (Character Create, Character Edit/Delete, Character Prompt Encode) with storage, resolver, and README. Adds persistent character library storage (default/ComfyUI-CharacterPrompts-MXD/characters.json), server route (/mxd/characters/list), and a web UI integration (mxd_character_prompts.js + import) to refresh/pick characters in the graph. Update root __init__ to register the new module. Also remove the Grow Blur Mask MXD node from maxedoutnodes, and bump package version to 1.9.0 in pyproject.toml.
2026-02-27 08:42:22 -08:00
Maxed-Out-99 2162606f65 Support structured LoRa info; add WAN22 tools & UI
Multiple updates across the project:

- .gitignore: ignore AGENTS.md
- README: refreshed project README with badges, install instructions and node highlights
- loraloader_mxd/server/utils_info.py: add structured local LoRA storage (more_info/<model>/lora-info.json) with README creation, legacy .rgthree-info.json fallback, and updated get/delete/save helpers to support LoRA-specific layout while preserving backward compatibility
- maxedoutnodes.py: add SmartCropByMaskMXD node (square crop centered on mask), register it in NODE_CLASS_MAPPINGS and display name mappings
- wan22nodes.py: add validation and resize helpers (_validate_image_batch_4d, _resize_to_explicit_resolution), FPS resampling (_resample_video_frames_to_fps), WAN22 match-resolution node (WAN22_I2V_Match_Resolution_MXD), expose fps_mode/target_fps in video prep nodes, keep legacy "Safe Auto" behavior while simplifying UI tier options
- web/js/betterCombos.js: small UI/identifier changes (rename extension id/name to mxd, add alias for LoadLatent, disable legacy pysssss enhancements behind flag, tweak folder arrow glyphs)
- web/mxd_utils_menu.js: replace LoRA chooser with a stylistic tree-style chooser (folder grouping, toggle behavior, styles injection, callback normalization)

These changes introduce structured local LoRA metadata handling, new image/video utilities and nodes for WAN 2.2 workflows, and front-end improvements for LoRA choosing and loader UI.
2026-02-26 15:08:28 -08:00
Maxed-Out-99 07d4c7fa90 Isolate comparer node classes to avoid overwrite
Bump package version to 1.8.5 and ensure each image comparer node gets its own override class. Added NODE_OVERRIDE_CLASSES map and changed MxdImageComparer.setUp to create/cache a per-node class (by nodeData.name), assign nodeData to it, and register that bound class—preventing static nodeData from being overwritten when multiple comparer nodes are registered.
2026-02-23 16:10:18 -08:00
Maxed-Out-99 3ca3859588 Remove BOMs and bump version to 1.8.3
Strip stray BOM/hidden characters from multiple Python and web source files to normalize file encoding and avoid lint/parse issues. Also bump package version from 1.8.2 to 1.8.3 in pyproject.toml. No functional code changes were made.
2026-02-22 09:11:58 -08:00
Maxed-Out-99 7fb6cec7ea Add video support and WAN22 video prep + SVI node
Add video handling and prep utilities across nodes and UI.

- mediacomparers.py: add MxdVideoComparer (saves previews, shows A/B videos) and import folder_paths/os/time; register the new node and display name.
- wan22nodes.py: refactor WAN 2.2 scaling with _wan22_pick_bucket and _wan22_scale_image_core, add _select_frames_start_end, expose faster passthrough for scale(), add video prep nodes (WAN22_I2V_Video_Prep_MXD and advanced variant) that scale videos and return start/end/selected frames, improve CombineVideos_MXD audio handling to support multiple audio payload shapes and batching, and mark PreviewVideoMXD as an output node; register new nodes and display names.
- Add new node file wan_svi_first_last_mxd.py: WAN 2.2 First/Last I2V SVI node that prepares SVI conditioning (anchors, padding, masks) and returns latent samples.
- __init__.py: include wan_svi_first_last_mxd in dynamic imports so new node is discovered.
- web/js/image_comparer.js: extend UI to support video/media (playback, sizing, URL builder, mixed image/video lists) and update widget rendering logic for media types.
- pyproject.toml: bump package version to 1.8.1.

These changes add end-to-end video support (preview, compare, prep for WAN 2.2 workflows), improve robustness of audio concatenation, and introduce an SVI-first/last conditioning node for WAN pipelines.
2026-02-22 08:22:25 -08:00
Maxed-Out-99 a9fd90d608 Integrate Lora Loader MXD into MaxedOut
Add integrated Lora Loader MXD support and frontend. Introduces a new loraloader_mxd package (constants, logging, power node, prompt utils, server API routes, model info utils, server helpers, general utils, and userdata migration/IO). Adds many web frontend files for the MXD UI and registers the node in the top-level __init__.py. Updates README with merge/migration notes and adds userdata/ to .gitignore. Also includes minor comment/tuning change in maxedoutnodes.py and small updates to existing web/index.js and project metadata.
2026-02-21 18:21:54 -08:00
Maxed-Out-99 109dfdb556 Add DummyNodeMXD and zip_loader web addon
Introduced DummyNodeMXD for workflow missing-node testing in maxedoutnodes.py. Added a new web addon 'zip_loader' with JSZip and loader scripts to support zip file handling in the web interface. Bumped project version to 1.6.6 in pyproject.toml.
2026-01-28 18:09:18 -08:00
Maxed-Out-99 ad91727749 Prevent persisting preview image paths in workflow JSON
Updated image_comparer.js to avoid saving preview image paths when serializing the workflow, ensuring that no unnecessary image data is stored. Bumped project version to 1.6.4 in pyproject.toml.
2026-01-26 21:04:46 -08:00
Maxed-Out-99 8672eed53b Fix import paths in image_comparer.js
Updated relative import paths for app, api, and ComfyWidgets modules to correct directory structure.
2026-01-15 14:10:33 -08:00
Maxed-Out-99 3641c2ab57 Add media comparer node and concise descriptions
Introduces mediacomparers.py with an Image Comparer + Save MXD node, updates __init__.py to register new node mappings, and adds a frontend widget (image_comparer.js) for image comparison. Refactors and shortens DESCRIPTION strings for clarity across maxedoutnodes.py and wan22nodes.py, adds a ControlNet Preprocessor Selector node, and updates web/index.js to include the new comparer widget.
2026-01-15 13:01:04 -08:00
Maxed-Out-99 b71120fb97 Remove help popup and related libraries
Deleted the help_popup.js module and its dependencies (marked.min.js and purify.min.js), and removed its import from index.js. This cleans up unused code and dependencies related to the help popup feature.
2025-12-15 15:28:27 -08:00
Maxed-Out-99 84bcf05f49 Move maxedout_icon.png to assets directory
Relocated maxedout_icon.png from web/assets to the root assets directory to improve asset organization.
2025-10-22 18:34:51 -07:00
Maxed-Out-99 6b4b8df95f Update maxedout_icon.png 2025-10-22 11:38:54 -07:00
Maxed-Out-99 bf4c374317 Refactor image scaler bucket selection and add icon
Simplifies and clarifies the bucket selection logic in WAN22_I2V_Image_Scaler_MXD, ensuring square images always map to fixed square buckets and improving handling for 720p, 480p, and Auto tiers. Also adds a new maxedout_icon.png asset.
2025-10-22 11:30:49 -07:00
Maxed-Out-99 4e08d65923 Extend latent folder dropdown to I2V loader (#12) 2025-10-06 14:24:16 -07:00
Maxed-Out-99 279e247197 Update betterCombos.js 2025-10-06 14:13:32 -07:00
Maxed-Out-99 d2300b9f31 Update betterCombos.js 2025-09-26 12:51:53 -07:00
Maxed-Out-99 ba998482ce Add LoadLatent_I2V_MXD node config
Introduces configuration for the LoadLatent_I2V_MXD node in NODE_CONFIGS, enabling support for this node type with appropriate settings.
2025-09-26 12:49:58 -07:00
Maxed-Out-99 612eea6e15 Adjust latent combo tree root (#9) 2025-09-25 11:25:17 -07:00
Maxed-Out-99 578fc3165e Update index.js 2025-09-24 16:58:03 -07:00
Maxed-Out-99 1f01cee08c Extend betterCombos tree menu to LoadLatent node (#8) 2025-09-24 16:50:47 -07:00
Maxed-Out-99 224804ea37 Added BetterCombo File 2025-09-24 16:33:26 -07:00
Maxed-Out-99 2d0aa710c0 Removed all other const categories
Besides MXD
2025-07-18 14:45:01 -07:00
Maxed-Out-99 8e1a751f92 Removing bloat
Removed green.png and red.png. Also removed jsnodes.js and its import in index.js. Removing bloat.
2025-07-18 14:40:34 -07:00
Maxed-Out-99 02cad9a4a5 Add index.js to load web extension (#5) 2025-07-18 13:40:52 -07:00
Maxed-Out-99 3ed62d083b Fix script path for extension web (#4) 2025-07-18 13:40:42 -07:00
Maxed-Out-99 6daf0b78dd Move markdown libs (#3) 2025-07-18 13:01:56 -07:00
Maxed-Out-99 e7d96b947f Update namespace to MXD (#2)
update help popup to register under MXD and change settings key
rename jsnodes extension to MXD.jsnodes
switch python node categories to MXD namespace
2025-07-18 10:01:27 -07:00
Maxed-Out-99 ef5e300594 Initial clean commit 2025-06-20 10:29:53 -07:00