Commit graph

2 commits

Author SHA1 Message Date
maverick
b2a52525d6 feat: unify on build123d kernel (preview == export)
Single source of truth: build123d drives BOTH the STL preview and the STEP
export from the same script + params, so what you see is what you download.
Verified live: generate → build123d → /api/build STL + /api/step STEP.

- prompts: SYSTEM_PROMPT teaches build123d (Python) with # @param sliders
- claude.ts: parse python fences
- step.ts → generic geometry-service client (/tessellate + /step), GeometryError
  carries the Python traceback for the repair loop
- worker: /api/generate returns code; /api/build tessellates; /api/step runs the
  same code+params (no separate Claude re-gen)
- client engine: runJscad → buildModel (server STL); parseParams handles # @param
- App: debounced param rebuilds + rebuilding indicator; STEP sends script+params
- Viewer: Z-up→Y-up rotation; retire client-side JSCAD worker
- VM service.py/runner.py: /tessellate + /step with params

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-25 16:02:18 +10:00
maverick
00faa800e0 D: wire STEP engine — shared-secret auth to build123d service
- step.ts sends X-Chisel-Secret; index.ts passes STEP_SHARED_SECRET
- step-service/ (FastAPI + runner.py) runs build123d on the VM, exports STEP
- Live: chisel-step.theradicalparty.com via dedicated cloudflared tunnel
- Production /api/step verified end-to-end → valid ISO-10303-21 STEP

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-25 00:57:08 +10:00