pascalorg/editor
Open-source 3D architectural editor with a local CLI, MCP tools, and practical workflows for humans and AI agents.
Pascal Editor – ローカルファーストの3Dビルディングエディタ、AIエージェントフック付き
概要 – Pascalは、React Three FiberとWebGPU対応のThree.jsレンダラー上に構築された、オープンソースのブラウザ/デスクトップ向け3Dビルディングエディタです。ローカルで動作し(クラウド不要)、簡単なCLIコマンドで起動できます。エディタはModel Context Protocol(MCP)サーバーを公開しており、外部のAIエージェント(例:Claude、Codex)がシーンと対話し、ツールを実行し、ジオメトリを照会できます。
主要コンポーネント
| パッケージ | 役割 |
|---|---|
@pascal-app/core |
スキーマ、シーン状態(Zustand)、レジストリ契約、空間クエリ |
@pascal-app/viewer |
3Dレンダリング、カメラ/コントロール、ポストプロセッシング |
@pascal-app/editor |
UIパネル、選択マネージャー、編集ツール(壁、スラブ、アイテム、ゾーン) |
@pascal-app/cli |
インストーラー、プロセスマネージャー、永続的なローカルデータ(~/.pascal/data/pascal.db) |
@pascal-app/mcp |
型付きプロトコルを介してAIエージェントにシーン操作を公開するHTTPサーバー |
@pascal-app/nodes |
組み込みノード定義(壁、床、アイテムなど) |
@pascal-app/capture-* |
シーンのインポート/エクスポート用のオプションのキャプチャセッションフォーマット |
apps/editor |
上記のパッケージを実行可能なアプリにバンドルするNext.jsホスト |
仕組み
- CLI起動 –
npx @pascal-app/cli editorがNext.jsエディタとバックグラウンドMCPサービスをフリーループバックポートで起動します。 - シーンモデル – ノードはフラットなオブジェクト(
id、type、parentIdなど)で、Zustandストア(useScene)に保存されます。変更はIndexedDBに永続化され、Zundoを介して元に戻す/やり直すことができます。 - レンダリング – React-Three-Fiberコンポーネント(
NodeRenderer、WallRendererなど)がThree.jsオブジェクトを作成し、高速ルックアップレジストリ(sceneRegistry)に登録します。 - システム – Reactコンポーネントが毎フレーム(
useFrame)実行され、ストアでダーティとマークされたノードのジオメトリのみを再計算するため、更新コストが低く抑えられます。 - AI統合 – MCPサーバーは、AIエージェントが呼び出せるJSONベースのプロトコルを実装しています(
pascal mcp connect、pascal mcp setup claude)。pascal-3dやfurniture-fitなどのスキルはskills.shマーケットプレイスを介して配布され、エージェントがAPIキーなしでシーン編集アクションを呼び出せるようにします。
主な機能
- ローカルファースト: 外部サービス不要。すべてのデータはユーザーのマシンに保存されます。
- WebGPUアクセラレーション3D: React Three Fiber + Dreiによるリアルタイムレンダリング。
- プラグインシステム – 開発者は新しいノードタイプ、ツール、サイドパネルをnpmパッケージとして提供でき、エディタが実行時に読み込みます。
- AI対応MCP – シーン状態を記述し、ツールコマンドを受け入れ、検証結果を返す標準HTTPエンドポイント。これにより「AI支援設計」ワークフローが可能になります。
- バージョン管理されたモノレポ – Turborepoがcore、viewer、editor、CLI、MCPパッケージを管理。各パッケージは個別にnpmへ公開できます。
- 元に戻す/やり直しと永続化 – Zundoが50ステップの履歴を提供。IndexedDBがセッション間でシーンを保存します。
はじめに
# クイックインストール(Node ≥22.13)
npx @pascal-app/cli editor # エディタ+MCPを起動
開発にはリポジトリルートでBun(またはpnpm)が必要です:
bun install # すべてのワークスペースをインストール
bun dev # ウォッチ+Next.js開発サーバーを起動(http://localhost:3002)
ビルドと公開:
turbo build # すべてのパッケージをビルド
npm publish --workspace=@pascal-app/core # 他のパッケージでも繰り返し
典型的なユースケース
- クラウド依存なしでクイックな3Dレイアウトを作成する建築家やインテリアデザイナー。
- 3Dシーンを操作するAIエージェントをプロトタイプする研究者(例:「壁に沿って椅子を置く」)。
- ドメイン固有のノード(樹木、HVAC、照明)でエディタを拡張するプラグイン作者。
- 協調設計のための決定的でバージョン管理された環境を求めるチーム(別々の
PASCAL_HOMEディレクトリで複数のMCPインスタンスを実行)。
AIエージェントワークフロー例
- スキルパッケージをインストール:
npx skills add pascalorg/editor --skill pascal-3d。 - ローカルMCPサーバーを起動(
pascal mcp setup claude)。 - Claude Codeで
/mcp connectを実行 – プラグインが自動的にエージェントをローカルMCPエンドポイントに誘導します。 - エージェントは
createNode({type:"wall", …})やrunTool("ItemTool", {item:"chair", position:[1,0,2]})などのコマンドを発行でき、即座に視覚的なフィードバックを受け取れます。
詳細情報
- ドキュメント – https://editor.pascal.app/docs/developers/local-editor
- プラグインガイド – https://editor.pascal.app/docs/developers/plugins
- プラグイン例 – https://github.com/pascalorg/plugin-trees
- Discordコミュニティ – https://discord.gg/XRKsDcpqgS
上記の情報はすべてリポジトリのREADMEから直接取得したものであり、追加の機能は推測されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト