Skip to content

fix(examples): fuse the supported-arm upper link and palm into one solid each - #1380

Open
w1ne wants to merge 2 commits into
developfrom
fix/supported-arm-connected-links-20261113
Open

w1ne wants to merge 2 commits into
developfrom
fix/supported-arm-connected-links-20261113

Conversation

@w1ne

@w1ne w1ne commented Nov 13, 2026 •

Copy link
Copy Markdown
Owner

Summary

examples/robot-arm/skill-built-supported-arm.kcad.ts failed evaluate with union.disconnected. The fast smoke suite exempted it with the reason "dedicated authoring test covers this existing hinge visibility failure". That reason is stale: tests/integration/examples/skillBuiltSupportedArm.test.ts is an it.skip placeholder, so the example had no evaluate coverage.

Reproduction (origin/develop 80f7542be)

npx tsx src/agent/cli/index.ts evaluate examples/robot-arm/skill-built-supported-arm.kcad.ts
ERROR [union.disconnected] ...:45:4: union() result is 6 separate solids ...
  box_12 gap 1 mm; box_13/box_14 gap 3.5 mm; box_15/box_16 gap 7.5 mm
WARN  [union.disconnected] ...:67:4: union() result is 5 separate solids ... touching but not fused

Change

  • Upper link: one shoulder hub (14 x 29 x 14 mm) spans both pin cheeks and overlaps the beam start. It stays 2 mm inside the turret yoke (y ±16.5). The elbow cheeks now run back to a 6 mm cross bridge that ends at x = 103, the same limit as the existing beam, outside the 12 mm swing radius of the forearm root.
  • Gripper palm: the palm runs 1 mm into the hinge lugs (x 107 to 108). A finger at its 30° limit still clears the palm face by 1.75 mm.
  • Connectors, mates, limits and parameters are unchanged.
  • The example is removed from EVALUATION_EXEMPT, so the fast smoke suite evaluates it.

Results

  • evaluate: before exit 1 (1 error, 1 warning); after exit 0, OK.
  • npx vitest run tests/integration/fast/exampleParseSmoke.test.ts -t "supported-arm|classifies": 5 passed, including skill-built-supported-arm.kcad.ts evaluates cleanly (1.6 s).
  • validate --include-interference, before and after: exit 2 both times, with the same mechanism findings (shoulder mate gap 2.0 mm, finger mate gap 1.5 mm, coupling residual, drops-on-release; tracked by Example examples/robot-arm/skill-built-supported-arm.kcad.ts fails the physics-grounded loop #352). No interference finding before or after. Diff of the two reports: the palm-to-finger-pivot distance drops from 4.0 to 3.0 mm, and the free passive finger drift changes from 228 to 229 mm.
  • npx eslint on the changed test file: clean.

Not done

🤖 Generated with Claude Code

Demo handoff

Local kernelcad render inspect remains unavailable because Playwright Chromium is absent. The hosted preview and MP4 provide visual geometry evidence only; the preview reports #352 joint diagnostics, and no mechanism pass is claimed. The video caption states that five targeted smoke checks passed and that verification was skipped. The bundle retains the raw turntable, caption source, rendering script, source hash, and inspected frame.

github-actions Bot and others added 2 commits November 13, 2026 16:14
…lid each

skill-built-supported-arm failed evaluation with union.disconnected. Its
smoke exemption said a dedicated test covered a hinge visibility failure,
but that test is an it.skip placeholder, so the example had no evaluate
coverage.

- Upper link (6 solids): the shoulder root stopped 1 mm short of the beam,
  the shoulder cheeks were 3.5 mm off it, and the elbow cheeks were 7.5 mm
  past the beam end. One shoulder hub now spans both cheeks and overlaps the
  beam; the elbow cheeks run back to a cross bridge that ends at x = 103,
  the same limit as the beam, outside the forearm root swing.
- Gripper palm (5 solids): the hinge lugs only touched the palm face. The
  palm now runs 1 mm into the lugs; a finger at 30 degrees still clears it
  by 1.75 mm.
- Connectors, mates and limits are unchanged. validate --include-interference
  reports the same mechanism findings before and after (issue #352), and no
  interference finding.
- Evaluate the example in the fast smoke suite.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: w1ne <41898282+w1ne@users.noreply.github.com>
Signed-off-by: w1ne <41898282+w1ne@users.noreply.github.com>

This branch has not been deployed

No deployments
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