From 045e769fa79f773dd1642c6a9ef8b43b607ba795 Mon Sep 17 00:00:00 2001 From: gear_machine Date: Fri, 22 Aug 2025 07:49:07 +0900 Subject: [PATCH] Fix node naming and input requirements for better UX MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename KeyPoint Denoiser nodes to shorter "Denoiser" names - Move Advanced Denoiser to main ProportionChanger category - Fix DWPose Render node: move pose_keypoint to required inputs - Ensure proper parameter ordering for ComfyUI compatibility 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- nodes.py | 4 ++-- proportion_changer/keypoint_denoiser_node.py | 2 +- proportion_changer/render_nodes.py | 8 +++++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/nodes.py b/nodes.py index 3986a40..a505a2a 100644 --- a/nodes.py +++ b/nodes.py @@ -213,8 +213,8 @@ NODE_DISPLAY_NAME_MAPPINGS = { "ProportionChangerInterpolator": "ProportionChanger Interpolator", # KeyPoint Denoiser nodes - "ProportionChangerKeypointDenoiser": "ProportionChanger KeyPoint Denoiser", - "ProportionChangerKeypointDenoiserAdvanced": "ProportionChanger KeyPoint Denoiser (Advanced)", + "ProportionChangerKeypointDenoiser": "ProportionChanger Denoiser", + "ProportionChangerKeypointDenoiserAdvanced": "ProportionChanger Denoiser (Advanced)", # Utility nodes "PoseJSONToPoseKeypoint": "pose_keypoint input", diff --git a/proportion_changer/keypoint_denoiser_node.py b/proportion_changer/keypoint_denoiser_node.py index d37c9ac..a6985cc 100644 --- a/proportion_changer/keypoint_denoiser_node.py +++ b/proportion_changer/keypoint_denoiser_node.py @@ -253,7 +253,7 @@ class ProportionChangerKeypointDenoiserAdvanced: RETURN_TYPES = ("POSE_KEYPOINT",) RETURN_NAMES = ("denoised_pose_keypoint",) FUNCTION = "denoise_keypoints_advanced" - CATEGORY = "ProportionChanger/Advanced" + CATEGORY = "ProportionChanger" def denoise_keypoints_advanced(self, pose_keypoint: List[Dict], diff --git a/proportion_changer/render_nodes.py b/proportion_changer/render_nodes.py index fc91a58..e8fd33c 100644 --- a/proportion_changer/render_nodes.py +++ b/proportion_changer/render_nodes.py @@ -31,6 +31,9 @@ class ProportionChangerDWPoseRender: @classmethod def INPUT_TYPES(s): return { + "required": { + "pose_keypoint": ("POSE_KEYPOINT", {"tooltip": "POSE_KEYPOINT data to render"}), + }, "optional": { "show_body": ("BOOLEAN", {"default": True, "tooltip": "Draw body keypoints"}), "show_face": ("BOOLEAN", {"default": True, "tooltip": "Draw face keypoints"}), @@ -40,7 +43,6 @@ class ProportionChangerDWPoseRender: "pose_marker_size": ("INT", {"default": 4, "min": 0, "max": 100, "tooltip": "Body keypoint marker size"}), "face_marker_size": ("INT", {"default": 3, "min": 0, "max": 100, "tooltip": "Face keypoint marker size"}), "hand_marker_size": ("INT", {"default": 2, "min": 0, "max": 100, "tooltip": "Hand keypoint marker size"}), - "pose_keypoint": ("POSE_KEYPOINT", {"default": None, "tooltip": "POSE_KEYPOINT data to render"}), }, } @@ -48,8 +50,8 @@ class ProportionChangerDWPoseRender: FUNCTION = "render_img" CATEGORY = "ProportionChanger" - def render_img(self, show_body, show_face, show_hands, show_feet, resolution_x, - pose_marker_size, face_marker_size, hand_marker_size, pose_keypoint=None): + def render_img(self, pose_keypoint, show_body=True, show_face=True, show_hands=True, show_feet=True, + resolution_x=-1, pose_marker_size=4, face_marker_size=3, hand_marker_size=2): if pose_keypoint is None: raise ValueError("pose_keypoint input is required")