3D Sketch AI is a browser-based 3D sketching prototype focused on SketchUp-style direct manipulation with a canonical, executable model script as the source of truth for the model.
- SketchUp-like camera navigation and direct object/face manipulation
- Face selection, preselection highlighting, push/pull, move, rotate, scale, grouping, and components
- Persisted model script, camera state, tool state, selection mode, and app settings
- Model-only undo/redo through model script snapshots
- Ground themes and terrain variation for scene context
- Direct Replicad-compatible modeling calls, with 3DSAI helper functions kept outside the user's model script
The user's model script must remain executable TypeScript made of real callable modeling code. The app must not encode behavior in comments, parse comments into modeling actions, or introduce a custom hidden modeling language.
If a modeling pattern is not directly exposed by Replicad, the callable helper belongs in the 3DSAI modeling library, and the user script should call that helper directly.
| Action | Input |
|---|---|
| Pan | Left-click drag |
| Orbit | Right-click drag |
| Zoom | Scroll wheel |
| Switch orbit ↔ pan | Shift + right-click drag |
| Action | Gesture |
|---|---|
| Zoom in / out | Two-finger pinch (spread or close) |
| Orbit around the scene | Two-finger drag (move both fingers together) |
Both zoom and orbit can be applied simultaneously during a two-finger gesture. Single-touch events continue to work normally for selection and single-finger navigation.
Install dependencies:
npm installStart the dev server:
npm run devRun tests:
npm testBuild for production:
npm run buildPreview the production build:
npm run previewsrc/app/- application orchestration and runtime controlsrc/interaction/- tool and selection interaction state (includingtouch-gesture-handler.jsfor mobile multi-touch)src/modeling/- canonical model execution and 3DSAI modeling helperssrc/operation/- operation mapping, validation, and serializationsrc/representation/- Three.js scene representation of model statesrc/view/- viewport, camera, rendering, and overlay UIsrc/environment/- ground themes and terrain generationsrc/persistence/- local app/session/model history persistencetest/- Node test suite
Apache-2.0. See LICENSE and NOTICE.