Overview
Pascal Editor is an open-source, local-first 3D building editor built with React Three Fiber and a WebGPU Three.js renderer. It runs in the browser or from a CLI, and it exposes the scene to AI coding agents through a Model Context Protocol server, so an agent can inspect and edit a building model using the same operations a human would perform in the UI.
The scene is described by typed nodes rather than a mesh soup. Every node extends a `BaseNode` carrying an id, a type discriminator, a `parentId`, visibility and optional camera and metadata, and the architectural hierarchy runs Site → Building → Level → Wall, Slab, Ceiling, Roof, Zone, Scan and Guide, with doors, windows and lights attached as items. Nodes live in a flat dictionary keyed by id, with parent-child links expressed through `parentId` and `children` arrays, and scene state is held in a Zustand store with Zod schema validation, Zundo undo/redo and three-bvh-csg for boolean geometry.
Running the CLI starts both the editor and an authenticated MCP service on collision-free loopback ports, keeping projects in `~/.pascal/data/pascal.db`. The local connector needs no Pascal account or API key and does not upload projects on its own. The repository also publishes agent skills — `pascal-3d` for MCP setup and verified scene work, and `furniture-fit` for bounded footprint assessments — installable through skills.sh or as a Claude Code or Codex plugin. Pascal asks that you use one active agent client per local CLI service, since the standalone local HTTP runtime shares scene state between clients.
What it does
- Local-first 3D building editor on React Three Fiber with a WebGPU Three.js renderer, usable in the browser or from the CLI
- Authenticated MCP service started alongside the editor so agents can read and edit scenes; `pascal mcp connect` runs without the editor process
- Typed architectural node hierarchy — Site, Building, Level, Wall, Slab, Ceiling, Roof, Zone, Scan and Guide — stored in a flat id-keyed dictionary
- Zustand scene store with Zod validation, Zundo undo/redo and three-bvh-csg boolean geometry operations
- Publishable agent skills (`pascal-3d`, `furniture-fit`) installable via skills.sh or as a Claude Code or Codex plugin
- Embeddable packages — `@pascal-app/core`, `@pascal-app/viewer`, `@pascal-app/editor` and `@pascal-app/nodes` — for mounting the viewer in your own React app
Getting started
Node.js 22.13 or newer can create a persistent local install without cloning the repository. The npm package holds the CLI and the MCP service; the web editor runtime is downloaded once per version and verified against a digest published inside the package.
Start the editor from npx
This starts the editor and an authenticated MCP service in the background, picks collision-free loopback ports, and stores projects in ~/.pascal/data/pascal.db.
npx @pascal-app/cli editorInstall the CLI globally
Puts a `pascal` command on your PATH, which agent configurations expect.
npm install --global @pascal-app/cliInstall the agent skills
`pascal-3d` covers safe local or hosted MCP setup and verified scene work; `furniture-fit` produces a bounded, evidence-based footprint assessment. Claude Code users can install the same canonical source as a plugin instead.
npx skills add pascalorg/editor \
--skill pascal-3d \
--skill furniture-fitConnect a Claude Code plugin
The plugin bundles the local `pascal` connector and a hosted `pascal-hosted` server. Install and start the Pascal CLI first, and keep `pascal` on the PATH used to launch Claude Code. If you previously ran `pascal mcp setup claude`, remove the manual user-scoped entry so only the plugin owns the connection lifecycle.
/plugin marketplace add pascalorg/editor
/plugin install pascal-agent-skills@pascalEmbed the viewer in your own app
The viewer runtime and the built-in node definitions are separate packages; load the built-in plugin once before mounting the viewer.
npm install @pascal-app/core @pascal-app/viewer @pascal-app/editor @pascal-app/nodesOr run it from source
Run the dev server from the repository root so the package watchers start and hot reload works across packages. The editor comes up on http://localhost:3002.
bun install
bun devCommands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Let a coding agent lay out or revise a building model through MCP instead of hand-editing geometry files
- Sketch floor plans, walls, slabs and roofs locally without uploading a project to a hosted service
- Check whether furniture fits a space using the repository's bounded, evidence-based `furniture-fit` skill
- Embed an interactive 3D building viewer in a React application using the published Pascal packages
How Pascal Editor compares
Pascal Editor alongside other open-source 3d & cad generation tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| MCP for Blender | ★ 29.8k | MCP server and Blender addon that let an LLM drive Blender directly — creating, modifying and inspecting 3D objects, materials and scenes from a chat prompt. |
| Pascal Editor | ★ 24.5k | A local-first 3D building editor that AI agents can drive over MCP |
| img2threejs | ★ 17.3k | An agent skill that rebuilds the object in a single reference image as procedural, animation-ready Three.js code, gating each sculpting pass on a vision review against the reference. |
| text-to-cad | ★ 16.5k | A library of agent skills for CAD, CAE and CAM: plain-language to STEP models, DXF drawings, URDF/SRDF/SDF robot files, printability checks and sliced G-code. |
| CADAM | ★ 5.2k | An open-source text-to-CAD web app that has an LLM write OpenSCAD, then exposes the model's parameters as live sliders and exports STL, SCAD and DXF. |