GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - pascalorg/editor: Open-source 3D architecture software for AECO, scan-to-BIM. Agent-friendly, browser-first, MCP, CLI.

BranchesTags
Open more actions menu

Latest commit

 

History

2,255 Commits
2,255 Commits

Folders and files

NameName
Last commit message
Last commit date
.agents
.agents
 
 
.claude-plugin
.claude-plugin
 
 
.claude
.claude
 
 
.codex-plugin
.codex-plugin
 
 
.codex
.codex
 
 
.cursor-plugin
.cursor-plugin
 
 
.cursor
.cursor
 
 
.devcontainer
.devcontainer
 
 
.githooks
.githooks
 
 
.github
.github
 
 
.vscode
.vscode
 
 
apps
apps
 
 
assets
assets
 
 
docs
docs
 
 
fixtures/viewer-live
fixtures/viewer-live
 
 
i18n
i18n
 
 
packages
packages
 
 
patches
patches
 
 
plugin-evals
plugin-evals
 
 
public/icons
public/icons
 
 
scripts
scripts
 
 
skills
skills
 
 
tooling
tooling
 
 
wiki
wiki
 
 
.dockerignore
.dockerignore
 
 
.env.defaults
.env.defaults
 
 
.env.example
.env.example
 
 
.gitignore
.gitignore
 
 
.npmrc
.npmrc
 
 
AGENTS.md
AGENTS.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
DECISIONS.md
DECISIONS.md
 
 
Dockerfile
Dockerfile
 
 
GEMINI.md
GEMINI.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
SETUP.md
SETUP.md
 
 
biome.jsonc
biome.jsonc
 
 
bun.lock
bun.lock
 
 
bunfig.toml
bunfig.toml
 
 
design-qa.md
design-qa.md
 
 
docker-compose.yml
docker-compose.yml
 
 
gemini-extension.json
gemini-extension.json
 
 
lingui.config.ts
lingui.config.ts
 
 
mcp.json
mcp.json
 
 
package.json
package.json
 
 
plugin.json
plugin.json
 
 
server.json
server.json
 
 
turbo.json
turbo.json
 
 

Repository files navigation

Pascal Editor — open-source 3D architecture software for AECO

Create and edit 3D building models in your browser, run Pascal locally with its CLI, or connect AI agents through the Model Context Protocol (MCP).

Pascal Editor is a local-first, MIT-licensed building editor for architecture, engineering, construction, and operations (AECO) work. Model sites, buildings, levels, walls, slabs, roofs, openings, rooms, and furniture; bring 3D scans in as reference layers for scan-to-BIM workflows and model editable building elements over them; and let an agent read, edit, validate, and save the same scenes. Built with React Three Fiber and WebGPU.

MIT License npm @pascal-app/core npm @pascal-app/viewer npm @pascal-app/cli Discord X (Twitter)

pascal-scene-graph-github.mp4

Start here

  • Run the editor locally — npx @pascal-app/cli editor. See Run the editor locally.
  • Self-host it — one container with SQLite storage. See Self-host it.
  • Embed the packages — use the viewer or full editor in your React app. See Use the published packages.
  • Connect an AI agent — Claude Code, Cursor, Codex, or any MCP client. See Connect an AI agent (MCP).

Connect an AI agent (MCP)

MCP is an open protocol that lets AI assistants call tools in other applications; Pascal's MCP server gives an agent tools to inspect, edit, validate, and save building scenes.

Choose where the projects live:

  • Local (no account) — the Pascal CLI runs an MCP service on your machine. Agents connect with pascal mcp connect, projects stay in ~/.pascal/data/pascal.db, and nothing is uploaded. No Pascal account or API key is needed.
  • Hosted workspace — https://editor.pascal.app/api/mcp works in your Pascal account or organization and needs that account's authorization. How a client authenticates depends on the client: the Cursor plugin uses browser sign-in, while Claude Code, Codex, and other clients send an API key created in Pascal Settings. Some hosted operations, such as Architect runs, consume Pascal credits.

The local commands below need the pascal command on your PATH (Node.js 22.23.4+ on 22.x, 24.22.1+ on 24.x, or 26.12.1+):

npm install --global @pascal-app/cli

Important

Use one active agent client per local CLI service. The standalone local HTTP runtime shares active scene state between clients; use separate PASCAL_HOME directories and service processes when independent concurrent work is required. The hosted endpoint uses a separate session-isolated bridge.

Claude Code

Register the local server (this runs claude mcp add --scope user pascal -- pascal mcp connect):

pascal mcp setup claude

Or install the plugin, which bundles the skills, the local pascal server, and a hosted pascal-hosted server that prompts for an optional Pascal API key and stores it in the OS keychain (leave it empty to stay local-only):

/plugin marketplace add pascalorg/editor
/plugin install pascal-agent-skills@pascal

Use one or the other. Claude Code 2.1.258 loads both the user-scoped pascal server created by pascal mcp setup claude and the plugin-provided server. Remove the manual entry before reloading or restarting Claude Code so only the plugin owns the connection lifecycle:

claude mcp remove --scope user pascal

Use /mcp to remove or disable any project- or local-scoped Pascal connection too. Leaving both connections active violates the one-active-agent-client-per-local-service requirement.

Cursor

Install Pascal from the Cursor marketplace. It adds the skills, a local pascal server launched through npx (no global install needed), and a hosted pascal-hosted server. For hosted work, open Customize → MCPs and choose Authenticate beside pascal-hosted; Pascal opens in your browser to sign in and choose a workspace. No API key is needed. Leave pascal-hosted disconnected for local-only work.

Without the plugin, add the servers you want to .cursor/mcp.json:

{
  "mcpServers": {
    "pascal": {
      "type": "stdio",
      "command": "npx",
      "args": ["--yes", "--package=@pascal-app/cli", "pascal", "mcp", "connect"]
    },
    "pascal-hosted": {
      "type": "http",
      "url": "https://editor.pascal.app/api/mcp",
      "auth": {
        "CLIENT_ID": "pascal-cursor",
        "scopes": ["openid", "profile", "offline_access", "scene:read", "scene:write", "architect:run"]
      }
    }
  }
}

The plugin's own configuration is .cursor-plugin/mcp.json.

Codex

Register the local server (this runs codex mcp add pascal -- pascal mcp connect):

pascal mcp setup codex

Or install the plugin, which adds the skills and the same local server:

codex plugin marketplace add pascalorg/editor
codex plugin add pascal-agent-skills@pascal

For a hosted workspace, register the endpoint with an API key held in an environment variable (Codex stores the variable name, not the key):

codex mcp add pascal-hosted \
  --url https://editor.pascal.app/api/mcp \
  --bearer-token-env-var PASCAL_API_KEY

Other MCP clients

Print the generic configuration with pascal mcp config:

{
  "mcpServers": {
    "pascal": {
      "command": "pascal",
      "args": ["mcp", "connect"]
    }
  }
}

The connector discovers the local service's port and private token itself. Check it with pascal mcp status or pascal doctor. For hosted access, point a Streamable HTTP client at https://editor.pascal.app/api/mcp with an Authorization: Bearer <api key> header.

Agent skills

Install with skills

The plugins above include Pascal's public agent workflows. To install only the skills with skills.sh:

npx skills add pascalorg/editor \
  --skill pascal-3d \
  --skill furniture-fit

pascal-3d covers safe local or hosted MCP setup and verified scene work. furniture-fit produces a bounded, evidence-based footprint assessment. OpenClaw installation becomes available after the skills are published under Pascal's ClawHub publisher.

More on agents

  • MCP documentation and local editor documentation
  • llms.txt — documentation index for language models
  • skills/README.md — every plugin channel, per-host setup, and validation
  • server.json — the app.pascal/editor manifest, published on the official MCP Registry

Run the editor locally

Create a persistent local Pascal installation without cloning this repository:

npx @pascal-app/cli editor

The CLI starts the editor and an authenticated MCP service in the background, selects collision-free loopback ports, and keeps projects in ~/.pascal/data/pascal.db. The web editor runtime is downloaded once per version on the first command that starts the editor and verified against a digest published inside the package; pascal mcp connect needs no download. See Run Pascal locally for pnpm/Bun commands, project management, updates, offline installs, storage paths, and troubleshooting.

Self-host it

The editor ships as one container, ghcr.io/pascalorg/pascal-editor, tagged with the same version as the npm packages (latest follows stable releases). Projects live in SQLite under /data; one admin password protects the instance; PASCAL_PUBLIC_URL is read at runtime, so the same image serves any domain.

docker run -d -p 3000:3000 -v pascal-data:/data \
  -e PASCAL_ADMIN_PASSWORD=change-me \
  -e PASCAL_PUBLIC_URL=https://pascal.example.com \
  ghcr.io/pascalorg/pascal-editor:latest

See SETUP.md, "Self-hosting" for the compose file, the variables, agent access and public embeds.

Use the published packages

Install the full built-in viewer set, then load the built-in plugin once before mounting <Viewer>:

npm install @pascal-app/core @pascal-app/viewer @pascal-app/editor @pascal-app/nodes
import { loadPlugin } from '@pascal-app/core'
import { builtinPlugin } from '@pascal-app/nodes'

await loadPlugin(builtinPlugin)

See the @pascal-app/viewer quick start for a React example, and @pascal-app/editor to embed the full editor. Capture sessions ship as the optional @pascal-app/core/capture and @pascal-app/viewer/capture subpaths. @pascal-app/ifc-converter converts IFC files into Pascal scene graphs.

Develop from source

Run from the repository root so the package watchers hot-reload changes in packages/*:

bun install
bun dev   # builds the packages, watches them, and serves the editor at http://localhost:3002

Build everything with turbo build, or one package with turbo build --filter=@pascal-app/core. See SETUP.md for prerequisites and environment variables, docs/architecture.md for how the packages fit together, and docs/releasing.md for npm, container, and MCP Registry publishing.

Build a plugin

A plugin ships node kinds (schema, 3D/2D rendering, placement tools, inspector parametrics) and left-rail panels through the same Plugin manifest the built-ins use. Start with the plugin guide and the worked example pascalorg/plugin-trees.

A first look at Pascal Next

Explore the live demo — a real home reconstructed in detail, from its rooms and finishes to the structure and systems behind the walls. This hosted preview explores the direction of the next Pascal editor; the experience shown here is not yet part of the open-source editor release.

Exploded view — see how the home fits together Cut view — slice through the building
Roof lifted above the reconstructed home A section cut reveals the roof framing and interior
X-ray — reveal the modeled systems Walkthrough — step inside at eye level
Building systems isolated with the walls hidden Walking through the home toward the pool terrace
Interactions — open doors and explore Environment — change the light and atmosphere
Interacting with doors in the reconstructed home Changing the lighting around the reconstructed home

We are exploring what this could make possible for facility management, home services, architecture, home building, and infrastructure. Join the discussion on X and tell us where you would use it.

Making a video, tutorial, article, or social post about Pascal? You are welcome to use and edit this footage, including in monetized content, under CC BY 4.0. Credit Pascal, link the license, and note your edits; no separate permission is needed. Download the six original videos and see the creator guide.

FAQ

What is Pascal Editor? An open-source 3D building editor for architecture, engineering, construction, and operations. It runs in the browser, locally through its CLI, or self-hosted, and exposes the same scenes to AI agents over MCP.

Is it free and open source? Yes. The editor, packages, CLI, and MCP server in this repository are MIT-licensed. Hosted services at editor.pascal.app are separate from the open-source release and have their own account terms.

Does it work offline? The local CLI keeps projects on your machine, and its MCP service needs no network download. Starting the editor downloads its web runtime once per version; for a host without network access, pass --runtime <directory-or-archive>. See the local editor documentation.

How do AI agents connect? Through MCP. Local agents run pascal mcp connect with no account; hosted workspaces use https://editor.pascal.app/api/mcp with the client's sign-in or API key. See Connect an AI agent (MCP).

Does it support IFC? IFC import is provided by @pascal-app/ifc-converter, which converts IFC files into Pascal scene graphs. Sites, buildings, levels, walls, doors, windows, slabs, columns, and spaces become native Pascal nodes when their parameters can be recovered; other elements are kept as selectable imported meshes.

Contributing

Bug fixes, features, docs and ideas are all welcome. Start with CONTRIBUTING.md for setup, code style and the PR flow.

  • New node kinds and sidebar panels ship as plugins rather than edits to the built-ins
  • Questions and ideas go to Discussions; reproducible bugs go to Issues
  • Participation is covered by our Code of Conduct
  • Security problems go to SECURITY.md, not a public issue

Contributors

Aymeric Rabot Wassim Samad Sudhir


pascalorg/editor | Trendshift

About

Open-source 3D architecture software for AECO, scan-to-BIM. Agent-friendly, browser-first, MCP, CLI.

editor.pascal.app

Topics

3d3d-scanningaecagent-skillsai-agentsbimbuilding-designcadclifloor-planifcinterior-designlocal-firstmcpmcp-serveropenbimpoint-cloudscan-to-bimthreejswebgpu

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

25.5k stars

Watchers

132 watching

Forks

3.2k forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.