Commit Graph

3 Commits

Author SHA1 Message Date
8ea14c5e3d feat: add headless geometry validation and preview scripts
CLI tools for fast iteration without browser:
- validate-geometry.ts: JSON schema validation
- geometry-stats.ts: Metrics and warnings (breeze block detection)
- complexity-score.ts: Visual interest scoring with breakdown
- ascii-preview.ts: Terminal-based top-down/front view
- validate-assembly.sh: Batch validate all parts

Updated 3D_GEOMETRY_AUTHORING_GUIDE.md with headless workflow section.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 22:07:42 +00:00
6a4d1f4698 docs: add 3D geometry authoring guide with patterns and workflow
Documents the iterative process for creating realistic 3D part geometry:
- Visual feedback loop (view → analyze → improve)
- Schema reference for all primitive types
- Design patterns by part type (housings, gears, shafts, bearings, plates)
- Color guidelines for distinguishing features
- Key insight: external features matter, internal subtractions are invisible

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 22:04:02 +00:00
2e11f6e16e feat: Add WebGL 3D part viewer with JSCAD geometry support
- Add tabbed interface to switch between Exploded View and 3D Part View
- Create JSCAD-to-Three.js converter for CSG operations (union, subtract, intersect)
- Support cylinder, box, sphere, torus, cone geometry types with transforms
- Add ThreeCanvas component with OrbitControls for camera manipulation
- Add PartSelector sidebar for selecting parts to view in 3D
- Extend Part type with optional geometry3d array for 3D definitions
- Add geometry3d to clutch parts: flywheel, clutch-disc, pressure-plate, release-bearing
- Parts without geometry3d fall back to placeholder box

Dependencies: three, @react-three/fiber, @react-three/drei, @jscad/modeling

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 21:11:31 +00:00