Mate-to-joint conversion and assembly analysis #13

Closed
opened 2026-02-03 16:09:51 +00:00 by forbes · 0 comments
Owner

Phase 1.3

Depends on #12

Files: solver/mates/conversion.py (Create), tests/mates/test_conversion.py (Create)

Scope: convert_mates_to_joints() produces Joint objects from mate lists using pattern recognition. MateAnalysisResult dataclass with patterns, joints, mate_to_joint/joint_to_mates mappings, ConstraintAnalysis, AssemblyLabels. analyze_mate_assembly() orchestrates pattern recognition -> joint conversion -> label_assembly().

Acceptance Criteria:

  • convert_mates_to_joints() produces valid Joints
  • Known patterns convert to correct JointType
  • Joint axis/anchor from GeometryRef
  • mate_to_joint / joint_to_mates consistent
  • analyze_mate_assembly() runs full pipeline
  • Results match analyze_assembly() for equivalent input
  • Tests, ruff, mypy all pass
## Phase 1.3 Depends on #12 **Files:** solver/mates/conversion.py (Create), tests/mates/test_conversion.py (Create) **Scope:** convert_mates_to_joints() produces Joint objects from mate lists using pattern recognition. MateAnalysisResult dataclass with patterns, joints, mate_to_joint/joint_to_mates mappings, ConstraintAnalysis, AssemblyLabels. analyze_mate_assembly() orchestrates pattern recognition -> joint conversion -> label_assembly(). **Acceptance Criteria:** - [ ] convert_mates_to_joints() produces valid Joints - [ ] Known patterns convert to correct JointType - [ ] Joint axis/anchor from GeometryRef - [ ] mate_to_joint / joint_to_mates consistent - [ ] analyze_mate_assembly() runs full pipeline - [ ] Results match analyze_assembly() for equivalent input - [ ] Tests, ruff, mypy all pass
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/solver#13