- Task 0: Added debug_geometry boolean parameter (default False)
- Prints point count and normalized bbox for ear_left, ear_right, nose
- Marks nose tip points with red circles when enabled
- Task A: Updated ear coordinates from UPDATED SVG (path184, path185)
- ear_left: 6 points, bbox minx=0.109375, maxx=0.203125 (left side ✓)
- ear_right: 6 points, bbox minx=0.796875, maxx=0.890625 (right side ✓)
- ViewBox normalization (270.93331x270.93331)
- Transform pipeline intact
- Task B: Nose already correct from previous update (path46)
- 11 points, bbox minx=0.428341, maxx=0.571659 (central ✓)
- Task C: Fixed nose_tip_pos_y with algorithmic selection
- Sorts by ry descending, then abs(rx-0.5) ascending
- Selects top 3 points (lowest and most central)
- Applies nose_tip_pos_y offset only to these 3 points
- Optional red markers when debug_geometry=True
Co-authored-by: EricRorich <86147326+EricRorich@users.noreply.github.com>
- Baked iris position offsets into FEMALE_FACE_IRISES base centers
- Left iris: added -0.020 offset (from -0.040*0.5 multiplier)
- Right iris: added +0.020 offset (from +0.040*0.5 multiplier)
- iris_left_pos_x and iris_right_pos_x defaults remain at 0.0
- Irises now render at correct SVG positions with default values
- Added fov_mm parameter for radial lens distortion
- Default: 80.0 (no distortion), min: 16.0 (wide), max: 200.0 (telephoto)
- Barrel distortion for fov_mm < 80 (negative k1)
- Pincushion distortion for fov_mm > 80 (positive k1)
- Applied uniformly after pixel conversion via apply_distortion()
- Updated settings list to include fov_mm (now 59 parameters)
- Updated web extension reset defaults to include fov_mm: 80.0
- Updated test_implementation.py for new parameter
- All tests pass successfully
Co-authored-by: EricRorich <86147326+EricRorich@users.noreply.github.com>