tscad GitHub

Example param sweep

Every example is evaluated across its parameter space, not just at its defaults: the defaults, a seeded latin hypercube over the numeric params (for every combination of the choice and boolean params), and the min/max corners, about 33 combos each, from paramCombos. Each combo is compiled and evaluated with the kernel (native when built), and every failure is classified:

bun scripts/sweep-examples.ts                      # every example (~11 min on 16 cores)
bun scripts/sweep-examples.ts bracket cookbook/name-tag --json out.json --md out.md
TSCAD_SWEEP=1 bun test tests/sweep.examples.test.ts  # the same, as a test

The test fails on any model failure, and on kernel failures in examples that aren't listed with their KERNEL_ISSUES entry; it also fails when a listed example starts passing, so the list stays honest.

Results (2026-11-14)

1221 of 1359 combos passed before the fixes; 1397 of 1458 after (three new examples joined the sweep). Only examples with a failure, a fix or a slow combo are listed; the other 19 pass every combo.

examplebeforeafterslowestremaining
agent/d-shaft-knob31/3333/3311.2 s
agent/drawer-organiser34/3434/3423.8 s
agent/pi5-case24/3333/334.4 s
bolt-and-nut36/3635/3660.5 sslow: M3 × 120 thread > 60 s
bracket29/3333/339.4 s
cable-clip32/3333/333.4 s
coaster31/3330/3360.8 sslow: ~500 cells at Ø160 / cell 5 take > 60 s
converted/box-with-lid32/3333/330.2 s
converted/enclosure24/3333/332.0 s
converted/grid-bin30/3225/3260.8 skernel #21 at 1 × 1; slow (> 60 s) at 5-6 units a side
cookbook/gear-pair19/3320/339.0 skernel #17
cookbook/name-tag30/3330/333.1 skernel #19 (glyph "t" at 1–3 mm)
cookbook/pegboard-bin33/3333/3328.5 s
enclosure26/3327/3310.6 skernel #14 (PointClassify) at large corner radii with thin walls
laser-box33/3333/3330.4 s
sheet-chassisnew33/3310.4 s
sheet-l-bracketnew33/335.9 s
sketch-coat-hook25/3333/333.2 s
sketch-flange20/3333/3314.1 s
sketch-link-arm25/3332/334.3 skernel #20
sketch-on-facenew33/336.6 s
sketch-pulley28/3333/330.6 s
sketch-vase15/3333/3311.3 s
spur-gear7/337/3360.8 skernel #17 (gear root gaps), #18 (chamfer limit); slow at many teeth with the tooth chamfer
vase27/3332/338.8 skernel #18 (shell, extreme radius swings)

What the fixes were

Failures after the fixes

bolt-and-nut

coaster

converted/grid-bin

cookbook/gear-pair

cookbook/name-tag

enclosure

spur-gear

vase