Skip to content

chore: Update nodes categories (CORE-263)#14460

Open
alexisrolland wants to merge 24 commits into
masterfrom
alexis/update_categories
Open

chore: Update nodes categories (CORE-263)#14460
alexisrolland wants to merge 24 commits into
masterfrom
alexis/update_categories

Conversation

@alexisrolland

Copy link
Copy Markdown
Member

Massive update of nodes categories to make navigation more intuitive in the context menu:

  • model/conditioning
  • model/latent
  • model/loader
  • model/merging
  • model/patch
  • advanced/[..] nodes dispatched into categories above

Also updated a couple of nodes titles and description for consistency.

@coderabbitai

coderabbitai Bot commented Jun 14, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR reorganizes node schema metadata (category, display_name, search_aliases, description) across nodes.py and approximately 40 files in comfy_extras/. The primary change is moving nodes from broad advanced/ prefixed category paths to specific model/ prefixed hierarchies (e.g., advanced/conditioningmodel/conditioning/flux, advanced/model_mergingmodel/merging). Model-family-specific nodes receive dedicated subcategories (e.g., model/conditioning/wan/*, model/latent/ltxv). Several nodes also receive new or corrected display_name values. In nodes.py, ConditioningAverage is added explicitly to NODE_CLASS_MAPPINGS, a trailing-space bug is fixed in its NODE_DISPLAY_NAME_MAPPINGS key, DiffusersLoader gains DEPRECATED = True, and LatentFromBatch is renamed to "Get Latent From Batch". No execution logic or public method signatures are modified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The description clearly explains the purpose of the changes: reorganizing nodes into model-related categories and moving nodes from advanced categories, plus updates to titles and descriptions.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the main change: updating node categories throughout the codebase with a reference to the ticket number CORE-263.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
comfy_extras/nodes_hunyuan.py (1)

226-244: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Misspelled category path will break node organization.

Line 232 uses "model/latent/hunyhuan video" (note "hunyhuan" instead of "hunyuan"). This differs from other Hunyuan nodes in the same file which use "model/latent/hunyuan video" and "model/conditioning/hunyuan video". The typo will fragment the node category hierarchy in the UI.

Correct the spelling to "model/latent/hunyuan video":

         return io.Schema(
             node_id="HunyuanVideo15LatentUpscaleWithModel",
             display_name="Hunyuan Video 15 Latent Upscale With Model",
-            category="model/latent/hunyhuan video",
+            category="model/latent/hunyuan video",
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@comfy_extras/nodes_hunyuan.py` around lines 226 - 244, The category parameter
in the HunyuanVideo15LatentUpscaleWithModel class's define_schema method
contains a typo: "hunyhuan" should be "hunyuan". Correct the category string
from "model/latent/hunyhuan video" to "model/latent/hunyuan video" to match the
naming convention used by other Hunyuan nodes in the file and ensure proper node
organization in the UI hierarchy.

Source: Coding guidelines

comfy_extras/nodes_wan.py (1)

1253-1292: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Move this helper into the latent hierarchy.

Wan22ImageToVideoLatent only emits latent/noise-mask data, so keeping it under model/conditioning/wan puts it in the wrong UI bucket. Please move it to model/latent/wan (or model/latent) so it sits with the other latent prep nodes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@comfy_extras/nodes_wan.py` around lines 1253 - 1292, The category field in
the define_schema method of the Wan22ImageToVideoLatent class is incorrectly set
to "model/conditioning/wan", but this node only outputs latent data and should
be organized with other latent preparation nodes. Change the category string
from "model/conditioning/wan" to "model/latent/wan" (or "model/latent" if
preferred) to place it in the correct UI hierarchy alongside other
latent-related nodes.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@comfy_extras/nodes_model_patch.py`:
- Around line 679-685: The NODE_DISPLAY_NAMES dictionary at the top level of the
file uses an incorrect naming convention that does not match the expected symbol
name used by the loader and import handlers elsewhere in the codebase. Rename
NODE_DISPLAY_NAMES to NODE_DISPLAY_NAME_MAPPINGS to align with the convention
used consistently across all other extras modules, which is what the server.py
loader and nodes.py import handler expect when processing this module.

In `@nodes.py`:
- Line 260: The ConditioningZeroOut class has its CATEGORY attribute set to
"model/conditioning", but this PR reorganizes conditioning transform nodes to be
under "model/conditioning/transform". Update the CATEGORY value in the
ConditioningZeroOut class from "model/conditioning" to
"model/conditioning/transform" to align with the new navigation grouping
structure implemented in this PR.

---

Outside diff comments:
In `@comfy_extras/nodes_hunyuan.py`:
- Around line 226-244: The category parameter in the
HunyuanVideo15LatentUpscaleWithModel class's define_schema method contains a
typo: "hunyhuan" should be "hunyuan". Correct the category string from
"model/latent/hunyhuan video" to "model/latent/hunyuan video" to match the
naming convention used by other Hunyuan nodes in the file and ensure proper node
organization in the UI hierarchy.

In `@comfy_extras/nodes_wan.py`:
- Around line 1253-1292: The category field in the define_schema method of the
Wan22ImageToVideoLatent class is incorrectly set to "model/conditioning/wan",
but this node only outputs latent data and should be organized with other latent
preparation nodes. Change the category string from "model/conditioning/wan" to
"model/latent/wan" (or "model/latent" if preferred) to place it in the correct
UI hierarchy alongside other latent-related nodes.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ec72e218-2899-4382-ab87-c08fd529b0d5

📥 Commits

Reviewing files that changed from the base of the PR and between a1d95f3 and 99e7e82.

📒 Files selected for processing (49)
  • comfy_extras/nodes_ace.py
  • comfy_extras/nodes_apg.py
  • comfy_extras/nodes_ar_video.py
  • comfy_extras/nodes_audio.py
  • comfy_extras/nodes_bernini.py
  • comfy_extras/nodes_camera_trajectory.py
  • comfy_extras/nodes_chroma_radiance.py
  • comfy_extras/nodes_clip_sdxl.py
  • comfy_extras/nodes_context_windows.py
  • comfy_extras/nodes_controlnet.py
  • comfy_extras/nodes_cosmos.py
  • comfy_extras/nodes_custom_sampler.py
  • comfy_extras/nodes_easycache.py
  • comfy_extras/nodes_edit_model.py
  • comfy_extras/nodes_flux.py
  • comfy_extras/nodes_hidream.py
  • comfy_extras/nodes_hidream_o1.py
  • comfy_extras/nodes_hunyuan.py
  • comfy_extras/nodes_hunyuan3d.py
  • comfy_extras/nodes_ideogram4.py
  • comfy_extras/nodes_kandinsky5.py
  • comfy_extras/nodes_latent.py
  • comfy_extras/nodes_lt.py
  • comfy_extras/nodes_lt_audio.py
  • comfy_extras/nodes_lt_upsampler.py
  • comfy_extras/nodes_lumina2.py
  • comfy_extras/nodes_mask.py
  • comfy_extras/nodes_mochi.py
  • comfy_extras/nodes_model_advanced.py
  • comfy_extras/nodes_model_merging.py
  • comfy_extras/nodes_model_merging_model_specific.py
  • comfy_extras/nodes_model_patch.py
  • comfy_extras/nodes_pid.py
  • comfy_extras/nodes_pixart.py
  • comfy_extras/nodes_post_processing.py
  • comfy_extras/nodes_qwen.py
  • comfy_extras/nodes_scail.py
  • comfy_extras/nodes_sd3.py
  • comfy_extras/nodes_sdupscale.py
  • comfy_extras/nodes_stable3d.py
  • comfy_extras/nodes_stable_cascade.py
  • comfy_extras/nodes_train.py
  • comfy_extras/nodes_video_model.py
  • comfy_extras/nodes_void.py
  • comfy_extras/nodes_wan.py
  • comfy_extras/nodes_wandancer.py
  • comfy_extras/nodes_wanmove.py
  • comfy_extras/nodes_zimage.py
  • nodes.py

Comment thread comfy_extras/nodes_model_patch.py Outdated
Comment thread nodes.py Outdated
@alexisrolland alexisrolland changed the title chore: Update nodes categories chore: Update nodes categories (CORE-263) Jun 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant