A modern cross-platform OpenSCAD editor with live preview and AI copilot
⚠️ Early Alpha Software This project is in early alpha and has only been tested on macOS. Windows and Linux support is planned but not yet implemented or tested.
As a software engineer and maker hobbyist, I love OpenSCAD. It allows for precision and maps to my mental model of building things. However, some operations (like rounding with minkowski) are not very intuitive. At work, I often use Cursor and Claude Code for writing code, and found myself plugging my OpenSCAD code into ChatGPT in order to either (1) scaffold out a starting point or (2) fix a confusing issue in my code. I also became frustrated by certain limitations of the OpenSCAD editor, like not being able to easily indent code with the editor commands I'm used to. So I built OpenSCAD Studio, which aims to be something like a Cursor for the language.
- 🤖 AI copilot - Chat with Claude/GPT to generate and fix code (bring your own API key)
- 🎨 Modern editor - OpenSCAD syntax highlighting, multi-tab editing, format on save, vim mode support
- 📐 2D mode - Dedicated SVG viewer for laser cutting and engraving
- 🖼️ Live 3D preview - Interactive mesh viewer with orbit controls and content-hash caching
- 🔍 Real-time diagnostics - Inline error markers with line/column precision
- ⚙️ Customizer panel - Interactive controls for OpenSCAD parameters with auto-rendering
- 🌈 22+ themes - Popular themes like Catppuccin, Dracula, One Dark Pro, GitHub, Nord, Tokyo Night, and more
Limitations: Special operators (!, #, %, *) preview not yet implemented
- The opescad cli binary must be installed and available in your PATH. You can install via package manager:
- macOS:
brew install openscad - Ubuntu:
sudo apt install openscad - Windows: Download installer from website
- For development, you'll need:
- Node.js 18+ and pnpm
npm install -g pnpm
- Rust toolchain (for building Tauri backend)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Node.js 18+ and pnpm
# Install dependencies
pnpm install
# Run in development mode (with hot reload)
pnpm tauri:dev
# Build for production
pnpm tauri:buildThe built application will be in apps/ui/src-tauri/target/release/bundle/.
openscad-studio/
├── apps/
│ ├── ui/ # React + Vite frontend
│ │ ├── src/
│ │ │ ├── api/ # Tauri IPC wrappers
│ │ │ ├── components/ # React components
│ │ │ ├── hooks/ # Custom React hooks (useOpenScad, useAiAgent)
│ │ │ ├── stores/ # State management
│ │ │ └── themes/ # Theme definitions
│ │ └── src-tauri/ # Rust backend
│ │ ├── src/
│ │ │ ├── cmd/ # Tauri commands (render, AI tools)
│ │ │ ├── ai_agent.rs # Native Rust AI agent
│ │ │ └── utils/ # OpenSCAD parser, caching
│ │ └── Cargo.toml
└── packages/
└── shared/ # Shared TypeScript types (Zod schemas)
The AI copilot uses a native Rust implementation with direct API integration and secure encrypted storage.
- Open Settings (⌘,)
- Navigate to "AI" tab
- Enter your Anthropic / OpenAI API key
- Key is securely stored using Tauri's encrypted store plugin
Supported Providers:
- Anthropic (Claude Sonnet 4.5, Claude Sonnet 3.5)
- OpenAI (GPT-4)
The AI can:
- View your current code and preview
- Make targeted code changes with exact string replacement
- Check for compilation errors
- All edits are validated and test-compiled before acceptance
- CLAUDE.md - Comprehensive guide for AI assistants and contributors
- AGENTS.md - AI agent architecture and tool definitions
- ROADMAP.md - Detailed development roadmap with phases
- ✅ Phase 1-2 (Completed): Monaco editor, live preview, 3D viewer, export, caching
- ✅ Phase 3 (Completed): AI copilot with native Rust implementation
- 🔜 Phase 4 (Planned): Multi-file projects, testing, distribution
See ROADMAP.md for detailed breakdown.
Contributions are welcome! Please:
- Check existing issues or create a new one to discuss your idea
- Fork the repository and create a feature branch
- Follow the code style (rustfmt for Rust, prettier for TypeScript)
- Update documentation as needed
- Submit a pull request
For detailed development guidelines, see CLAUDE.md.
MIT License - see LICENSE for details.
Built with:
- Tauri - Rust-powered desktop framework
- React - UI framework
- Monaco Editor - Code editor
- Three.js - 3D rendering
- OpenSCAD - The amazing CSG tool this editor is built for
Made with ❤️ for the OpenSCAD community
