- Set show_face parameter default from True to False in render_nodes.py
- Provides cleaner pose visualization by default without face keypoints
- Users can still enable face rendering manually when needed
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Enhanced error handling with specific exception types in detector and interpolation nodes
- Reduced verbose console output in KeyPoint Denoiser components for cleaner operation
- Improved coordinate validation and array bounds checking in detector nodes
- Translated comments to English in params node for consistency
- Maintained core functionality while improving user experience
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed double offset issue where left/right ankles and toes were being
processed twice in proportion transformation, causing extreme stretching
to screen bottom.
Changes:
- Left ankle (keypoint 10): Only moves in ll1 processing, skip ll2
- Right ankle (keypoint 13): Only moves in rl1 processing, skip rl2
- Left toe (keypoint 19): Only moves in ll1 processing, skip ll2
- Right toe (keypoint 18): Only moves in rl1 processing, skip rl2
- Applied fixes across all processing functions: apply_batch_proportion_changes, batch loop, apply_proportion_changes
- Added debug logging to track ankle movements during processing
Root cause: Ankles/toes should move as child nodes with knees, not receive
independent l2/r2 adjustments which caused abnormal ratio values (e.g. rl2_ratio: 4.72)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Reorder parameters in anatomical sequence: body→face→hand→global
- Group body keypoints from head to legs (head→neck→shoulder→arm→torso→pelvis→leg)
- Group face keypoints from top to bottom (face_shape→eyebrow→eye→nose→mouth)
- Move face_shape_scale to top of face section as requested
- Clarify that eye_distance_scale belongs to face keypoints, not body
- Add clear section comments for better organization
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add sophisticated 7-stage denoising pipeline using Kalman filters
- Support temporal smoothing for dance video pose keypoints
- Include two ComfyUI node variants: basic and advanced parameter control
- Comprehensive error handling and fallback to original data on errors
- Performance: 4-8ms/frame with 90%+ observation acceptance rates
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Remove duplicate canvas size scaling logic that caused incorrect keypoint
positions when reference and target images had different canvas sizes.
The coordinate conversion functions already handle canvas scaling properly,
so additional scaling resulted in double scaling and malformed output.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements to ProportionChanger Reference node:
**WanVideo Algorithm Complete Port:**
- Implement all 15-section proportion calculations (neck, shoulders, arms, head, legs)
- Fix neck fixed movement issue with unified ratio calculation from first frame
- Add batch processing with consistent ratios across all frames
- Port noise reduction and correction processing from WanVideo
**Advanced Face Processing Integration:**
- Implement independent X/Y face scaling based on ear distance and face dimensions
- Add nose-to-chin height calculation for natural face proportions
- Perfect nose-to-nose alignment between body and face keypoints
- Fix face positioning issue (was aligned to chest/neck, now to nose)
**Technical Improvements:**
- Unified batch processing: calculate ratios from first frame, apply to all frames
- Complete final position offset implementation for frame consistency
- Enhanced canvas size scaling compatibility
- Robust fallback mechanisms for various keypoint configurations
Resolves neck movement issues, face scaling problems, and noise artifacts.
Face now perfectly aligns with body nose position across all frames.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Modified ProportionChangerReference to support batch processing for multiple frames
- Fixed KeyError in result_keypoint access by handling dict return type correctly
- Each frame in the batch is now processed individually through the proportion changing algorithm
- Maintains compatibility with existing single-frame workflows
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Eye groups (Left_Eye, Right_Eye) now scale around their own face keypoint centroid
- Other face parts (eyebrow, mouth, nose) continue using nose tip as center
- Removed debug print statements for cleaner output
- Move Issue015 to closed folder
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix DWPose keypoint mapping based on actual data structure:
- LHip: 8→11, RHip: 11→8
- LKnee: 12→9, RKnee: 9→12
- LAnkle: 13→10, RAnkle: 10→13
- RBigToe: 18, LBigToe: 19
- Add ankle-based toe/heel scaling with natural leg proportion
- Implement hand keypoint following for wrist movement during arm scaling
- Clean up code comments to English and remove debug logs
- Update CLAUDE.md with correct keypoint indices and code comment policy
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix extra_pnginfo type errors with automatic dict→list conversion
- Add environment variable PROPORTION_CHANGER_DEBUG for log control
- Replace print-based debug logs with conditional logging system
- Disable verbose debug output in legacy unianimate modules
- Resolve circular import issues with local debug_log implementations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
The score_threshold parameter was defined in INPUT_TYPES but never used in the
actual proportion changing algorithm. This removal simplifies the UI and
prevents user confusion about a parameter that has no effect.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix double scaling bug when target and reference images have different canvas sizes
- Remove redundant canvas scaling from proportion processing
- Coordinate conversion functions already handle canvas size differences automatically
- Resolves issue where 512x512 reference → 1024x1024 target produced coordinates outside canvas bounds
- Add test directory to .gitignore for development testing
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Rename nodes/ directory to proportion_changer/ following ComfyUI conventions
- Update __init__.py to use simple relative imports instead of importlib.util
- Fix nodes.py imports to reference .proportion_changer instead of .nodes
- Resolve ImportError caused by Python module vs package name collision
- Follow established ComfyUI custom node patterns (similar to adv_control/)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>