feat(0129-ArmHandLandmarkSpecsCaptureCompare): arm/hand capture compare soft bi/tri - #131
Conversation
…onsume Add form-read arm/hand ids, arm_hand_compare sidecar/CLI/MCP (catalog 53), and measured bi/tri Y/Z overlay after muscle softs. Report stays 1.2.0; no remake/D7. Authoring QA only (ARM_HAND_COMPARE_HONESTY).
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 170b569. Configure here.
| if center is None or ry is None or mid_y is None or ua_r is None: | ||
| return None | ||
| shaft_rear = mid_y + ua_r | ||
| return (center[1] + ry) - shaft_rear |
There was a problem hiding this comment.
Past metrics ignore full UA chain
Medium Severity
bicep_front_past_m and triceps_rear_past_m take shaft Y from the midpoint of RECIPE_limb_upper_arm_* alone via _capsule_mid_y_r. Muscle placement in _apply_arm_muscle_softs uses the full-chain mid from _ua_shaft_metrics (limb.p0 → arm_taper_dist_ua.p1 at BICEP_ALONG_T / TRICEP_ALONG_T). On hanging arms those Ys differ, so the sidecar past values and bi_front_past / tri_rear_past form-read flags drift from the 0063 past they are meant to check. ua_dist is already loaded in build_arm_hand_metrics but unused for this mid.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 170b569. Configure here.


Summary
Track 0129 — arm/hand form-read landmark capture, compare, and soft placement.
arm_hand_metricssidecar +blockout-arm-hand-compareCLImesh_proportion_blockout_arm_hand_compare— catalog 52 → 53bi_belly_*/tri_belly_*Y/Z after_apply_arm_muscle_softs(before breast)_delta_mmrole-mapped p0/p1/midpoint (B39); Y/Z-only soft_adjust (B36/B40)Honesty
ARM_HAND_COMPARE_HONESTY— authoring QA only; not mesh or print success (Difficulty §12 / N6).Verification
ledgerful verifyPASS (ruff / format / basedpyright / pytest)Out of scope
Pose/Hand-as-law; DEPTH_PAIRS arm; HAVE-id consume; humeral_head→delt; FA/finger/palm scale; session shoulder_ball emit; leftover #129 → 0135.
Note
Medium Risk
Touches recipe emit and 3D fuse for new landmarks, but is authoring-QA only with fail-closed dumps and no mesh/print path changes.
Overview
Adds track 0129 arm/hand form-read: new landmark ids, photo-vs-RECIPE compare, and measured bicep/triceps Y/Z overlay. Authoring QA only (
ARM_HAND_COMPARE_HONESTY); report stays 1.2.0 and recipe 1.4.0.New
blockout-arm-hand-compareCLI/MCP tool (catalog 52 → 53) writesarm_hand_compare.jsonplus anarm_hand_metricssidecar. Compare uses role-mapped capsule endpoints (p0/p1/midpoint) and onlysoft_adjusts bi/tri belly on Y/Z deltas.Fuse/templates now carry the frozen v1 ids (humeral head, bi/tri belly, olecranon, FA belly, palm, thumb, MCP). Recipe emit overlays measured
bi_belly_*/tri_belly_*Y/Z after_apply_arm_muscle_softs; other arm knobs stay hold-priors.Reviewed by Cursor Bugbot for commit 170b569. Bugbot is set up for automated code reviews on this repo. Configure here.