Skip to content

Add beltidler model contract with folder-local registration - #49

Closed
seveibar wants to merge 1 commit into
mainfrom
codex/motion-beltidler
Closed

seveibar wants to merge 1 commit into
mainfrom
codex/motion-beltidler

Conversation

@seveibar

@seveibar seveibar commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Adds a generic smooth belt idler contract with a through bore, axial clearance and flanges sized above the complete belt thickness.

Example: beltidler_shape(smooth)_od20mm_bore5mm_beltw10mm_beltt2.2mm_clearance1mm_flangeh3mm_flanget1mm.

The schema, strict parser, public exports and typed registration live in src/models/beltidler/. Adding this family changes no shared registry, export list or generated source. Documentation covers dimensions, the placement datum, unit conversion and invalid or conflicting inputs.

Schema, strict parser, public schema/type exports and typed registration remain in each src/models/<name>/ folder; generated discovery owns shared unions and barrels.

belt idler

Paired renderer: tscircuit/jscad-electronics#430. Direct full-string fixture; verified browser preview.

beltidler_shape(smooth)_od20mm_bore5mm_beltw10mm_beltt2.2mm_clearance1mm_flangeh3mm_flanget1mm

The contact face occupies Z=0..12 mm by default, with flanges at -1..0 and 12..13 mm. The intended 10 mm belt sits at Z=1..11 mm; the flanges extend above its full thickness.

Contract tests, typecheck, formatting, build and diff checks passed locally. Source-group result: 83 pass / 0 fail / 2057 assertions.

Four-view snapshots (isometric, top, front and side):

beltidler: four views

Contract test workflow passed in CI at this exact head. Other passing checks: preview.

The combined contract union passed tests (105 tests, 0 failures, 2,994 assertions), typecheck, formatting and build.

Manual review only; auto-merge is not enabled. Geometry remains in the paired renderer PRs.

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