Mate-based synthetic assembly generator #14

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

Phase 1.4

Depends on #13

Files: solver/mates/generator.py (Create), tests/mates/test_generator.py (Create)

Scope: SyntheticMateGenerator wraps SyntheticAssemblyGenerator, reverse-maps joints to mate combinations (REVOLUTE->Concentric+Coincident(plane), BALL->Coincident(point), etc.). Generates GeometryRef with realistic geometry. Injects noise: redundant/missing/incompatible mates at configurable probabilities. generate_mate_training_batch() produces mate-level training examples.

Acceptance Criteria:

  • Reverse mapping for all 6 joint types
  • Round-trip through analyze_mate_assembly()
  • Redundant/missing mate injection
  • Deterministic with seed
  • Tests, ruff, mypy all pass
## Phase 1.4 Depends on #13 **Files:** solver/mates/generator.py (Create), tests/mates/test_generator.py (Create) **Scope:** SyntheticMateGenerator wraps SyntheticAssemblyGenerator, reverse-maps joints to mate combinations (REVOLUTE->Concentric+Coincident(plane), BALL->Coincident(point), etc.). Generates GeometryRef with realistic geometry. Injects noise: redundant/missing/incompatible mates at configurable probabilities. generate_mate_training_batch() produces mate-level training examples. **Acceptance Criteria:** - [ ] Reverse mapping for all 6 joint types - [ ] Round-trip through analyze_mate_assembly() - [ ] Redundant/missing mate injection - [ ] Deterministic with seed - [ ] 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#14