- Brand ◢ chisel-wedge favicon (SVG + 32px PNG + 180px apple-touch-icon)
- 1200x630 OG share card (Say it. Shape it. + isometric wireframe), rendered
from HTML via headless Brave; source in step-service/.render/
- og:/twitter: meta with image, theme-color
- vite publicDir=static so assets ship in the build
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Chat → Claude writes a JSCAD script → sandboxed Web Worker executes it →
live three.js preview + STL export. Parametric // @param comments become
live sliders. Server-side repair loop fixes geometry errors before the user
sees them.
- src/worker: Hono API, Claude orchestration (prompt-cached system prompt),
/api/generate + /api/repair
- src/client: React + react-three-fiber viewport, JSCAD engine Web Worker
- Radical-branded (red #FF2D55 on #0B0B09, Syne + IBM Plex Mono)
Engine validated end-to-end: mug model → 3256-triangle valid binary STL.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>