Delete CHANGES.md

This commit is contained in:
Rorich
2026-01-09 21:05:16 +01:00
committed by GitHub
parent f18a23af24
commit f6873e44c5
-110
View File
@@ -1,110 +0,0 @@
# Changes Summary - ComfyUI Face Shaper Update
## Overview
This update synchronizes ComfyUIFaceShaper with the latest SVG, implementing refreshed ear geometry, integrating the nose tip control within the main nose path, and removing obsolete nose_tip geometry/settings.
## Changes Implemented
### A) Updated Ear Geometry
- **Replaced ear coordinates**: Updated `ear_left` and `ear_right` with new SVG-derived, viewBox-normalized coordinates from path184 (which contains both ears in 2 subpaths)
- `ear_left`: 5 points starting at (0.187500, 0.484375) - left ear, subpath 1
- `ear_right`: 5 points starting at (0.796875, 0.609375) - right ear, subpath 2
- **Maintained controls**: Existing ear controls (pos_x/pos_y, size_x/size_y) remain functional
- **Transform pipeline**: Ears are transformed via centroid → scale → position offsets → pixel conversion
- **Rendering**: Drawn with `draw.line` using existing stroke logic
### B) Removed Obsolete nose_tip Geometry
- **Removed from FEMALE_FACE**: Deleted separate `nose_tip` geometry (5 points)
- **Removed INPUT_TYPES settings**:
- `nose_tip_size_x` (FLOAT, was default 1.0, min 0.5, max 2.0)
- `nose_tip_size_y` (FLOAT, was default 1.0, min 0.5, max 2.0)
- **Updated method signature**: Removed `nose_tip_size_x` and `nose_tip_size_y` from `draw_face()` parameters
- **Removed rendering code**: Deleted separate nose_tip drawing section
- **Updated settings_list**: Adjusted import/export indices (now 57 parameters instead of 59)
### C) Integrated Nose Tip Control
- **Kept nose_tip_pos_y**: Single control parameter (FLOAT, default 0.0, min -0.2, max 0.2, step 0.005)
- **Updated nose geometry**: 13 points from SVG path46 (was 11 points)
- **Identified tip points**: Indices 5, 6, 7 are the 3 middle-most, lowest-Y points of the nose polyline
- Index 5: (0.487500, 0.656250) - left tip
- Index 6: (0.500000, 0.659375) - center point (lowest)
- Index 7: (0.512500, 0.656250) - right tip
- **Applied offset**: `nose_tip_pos_y` is applied ONLY to these 3 points after nose scaling and position transforms, before pixel conversion
- **Single draw call**: Nose is still drawn exactly once with `draw.line()`
### D) Settings List Updates
- **SETTINGS_LIST_LENGTH**: Still 60 (for future expansion)
- **Actual parameters**: 57 (55 feature controls + 2 canvas dimensions)
- Previously: 59 parameters
- Reduction: Removed 2 nose_tip size controls
- **Updated indices**: All parameters after nose_tip_pos_y shifted down by 2
- `nose_tip_pos_y`: index 49
- `camera_distance`: index 50 (was 52)
- `camera_pos_x`: index 51 (was 53)
- `camera_pos_y`: index 52 (was 54)
- `fov_mm`: index 53 (was 55)
- `line_thickness`: index 54 (was 56)
- `canvas_width`: index 55 (was 57)
- `canvas_height`: index 56 (was 58)
## Validation Results
All validation checks passed:
- ✓ FEMALE_FACE dictionary updated correctly
- ✓ INPUT_TYPES parameters correct
- ✓ draw_face signature correct
- ✓ Nose rendering logic correct (single draw call with integrated tip control)
- ✓ Settings list handling correct
## Backward Compatibility
**Breaking Changes**:
- Any code passing `nose_tip_size_x` or `nose_tip_size_y` will need to remove those parameters
- Settings lists exported with the old format (59 params) can still be imported but indices 50-51 will be ignored
**Maintained**:
- Node name/category unchanged: CATEGORY="face", display name "Face Shaper"
- All other controls remain the same
- Settings export/import/reset behaviors intact
- Default sliders reproduce the updated SVG exactly
## Files Modified
1. `face_shaper.py`:
- Updated docstring
- Updated FEMALE_FACE dictionary (ears, removed nose_tip)
- Updated INPUT_TYPES (removed nose_tip sizes)
- Updated draw_face signature
- Updated settings import section
- Updated nose rendering with integrated tip control
- Removed separate nose_tip rendering
- Updated settings export list
- Updated SETTINGS_LIST_LENGTH comment
2. `test_implementation.py`:
- Updated test expectations for new geometry
- Updated test expectations for removed parameters
- Updated parameter count (57 instead of 59)
3. `validate_changes.py` (new):
- Comprehensive validation script for all changes
- Can run without full dependencies
## Testing
Run validation:
```bash
python3 validate_changes.py
```
Run tests (requires numpy, torch, PIL):
```bash
python3 test_implementation.py
```
## Visual Changes
With default settings:
- Ears now appear in their updated positions from the latest SVG
- Nose renders identically to before (tip integrated, no visual change at default)
- Adjusting `nose_tip_pos_y` moves only the 3 tip points up/down subtly