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ホスト

仕組み

  1. CLI起動npx @pascal-app/cli editor がNext.jsエディタとバックグラウンドMCPサービスをフリーループバックポートで起動します。
  2. シーンモデル – ノードはフラットなオブジェクト(idtypeparentIdなど)で、Zustandストア(useScene)に保存されます。変更はIndexedDBに永続化され、Zundoを介して元に戻す/やり直すことができます。
  3. レンダリング – React-Three-Fiberコンポーネント(NodeRendererWallRendererなど)がThree.jsオブジェクトを作成し、高速ルックアップレジストリ(sceneRegistry)に登録します。
  4. システム – Reactコンポーネントが毎フレーム(useFrame)実行され、ストアでダーティとマークされたノードのジオメトリのみを再計算するため、更新コストが低く抑えられます。
  5. AI統合 – MCPサーバーは、AIエージェントが呼び出せるJSONベースのプロトコルを実装しています(pascal mcp connectpascal mcp setup claude)。pascal-3dfurniture-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エージェントワークフロー例

  1. スキルパッケージをインストール:npx skills add pascalorg/editor --skill pascal-3d
  2. ローカルMCPサーバーを起動(pascal mcp setup claude)。
  3. Claude Codeで/mcp connectを実行 – プラグインが自動的にエージェントをローカルMCPエンドポイントに誘導します。
  4. エージェントはcreateNode({type:"wall", …})runTool("ItemTool", {item:"chair", position:[1,0,2]})などのコマンドを発行でき、即座に視覚的なフィードバックを受け取れます。

詳細情報


上記の情報はすべてリポジトリのREADMEから直接取得したものであり、追加の機能は推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト