Skip to content

Generalize example-calibrated joint gates; remove servo and clamp wrappers - #1114

Merged
w1ne merged 3 commits into
developfrom
chore/trim-clevis-gates
Oct 24, 2026
Merged

w1ne merged 3 commits into
developfrom
chore/trim-clevis-gates

Conversation

@w1ne

@w1ne w1ne commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Part of trimming overfit tooling: gates and helpers calibrated on one example (the lamp clevis) or wrapping one product.

BREAKING changes

  • assembly.joint.not-visible is opt-in per mate (exposure: 'exposed' on a revolute mate). The lamp-derived 3.5 mm pin fallback is gone; with no measurable pin radius it reports that instead of guessing.
  • assembly.mate.not-physically-realized only evaluates mates built with joint.clevis(...) (it reads pin/plate/knuckle sizes from the clevis structural record); no fallbacks, other joints are not evaluated.
  • joint.clevis requires style.knuckleR; the 12 mm default derived from the lamp example and the [3, 25] clamp are gone (body sizes aren't measurable at capture time). Other style dimensions still derive from knuckleR.
  • review_cad / design_loop: the four includePhysicalUseCase* flags become one physicalUseCaseLevel: 'reachability' | 'statics' | 'reactions' (+ physicalUseCaseSamplesPerMate); the clevis structural check runs automatically at reactions.
  • Transmission kind 'direct-horn' is renamed 'direct'.
  • joint.supportedServoRevolute is removed (use arm.part + a fastened mate + arm.mechanicalJoint).
  • lib.fixture.* typed clamp wrappers and clampSet are removed; the catalog parts stay reachable through lib.part(<id>).

Migrated examples evaluate with unchanged feature counts (two-finger gripper 12, desktop 3-axis arm 105, table clamp set 28, clevis robot hand 87). The lamp example (examples/kinematic/luxo-lamp.kcad.ts) failed before this change and still fails: the old gate hid pre-existing union.member-overlap errors that now surface. That needs a separate fix.

Merged with develop after #1113; the joint namespace now holds only joint.clevis (#1108 removed articulatedDigit).

Local verification (Node 22): typecheck, qc:lint (0 errors), skills/cheat-sheet drift clean, 2068 targeted tests (joints, mates, diagnostics, MCP tools + integration, distGenerate, cookbook, example smoke). Full suite runs in CI.

w1ne added 3 commits October 24, 2026 00:29
Make the joint visual-exposure gate opt-in and drop its fallbacks, restrict
the mate physical-realization gate to joint.clevis mates, require
joint.clevis style.knuckleR, collapse the physical-use-case review flags into
physicalUseCaseLevel, rename transmission kind direct-horn to direct, and
remove joint.supportedServoRevolute and the lib.fixture wrappers.
@w1ne
w1ne merged commit c82ac2b into develop Oct 24, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant