1. 📋 概要
KASUGAI Canvas は、AI とマルチエンジンで拓く 2D/3D GIS です。CesiumJS + Three.js(メイン・3D)を核に、MapLibre / OpenLayers / Leaflet / GSI Maps の互換プレイヤーと試験的エンジン Navara が同じ .kasc プロジェクトを再生するマルチエンジン構成を採り、AI チャット(Gemini / OpenAI互換 の内蔵AI、GitHub Copilot・Devin・Antigravity のブリッジ連携)で地図を操作できます。Re:Earth GeoSuite と上位互換の GIS 基本機能に加え、KASUGAI 独自の FLY 機能を備えています。
v3.4.2 以降、地図タイル・検索・レイヤー取得は CesiumJS が直接行い、Rust サーバーはバージョン管理・シャットダウン・ヘルスチェック API のみ提供します。
2. 🌐💻 マルチエンジン — ブラウザ WebGIS とローカルアプリ
マルチエンジン構成(Cesium+4互換プレイヤー+試験的 Navara)の利用形態は2系統です。メインはインストール不要のブラウザ WebGIS(CDN エンジン × 外部ホストの .kasc)、フル機能が必要な場合はローカルアプリを使います。
【WebGIS】ブラウザ WebGIS(メイン・インストール不要)
CDN(kasugai-canvas-web)が配信するエンジンに、外部ホストの .kasc を ?kasc= で指定して開くサーバレスな WebGIS です。QGIS の geo_webview でエクスポートした .kasc+DATA/ を任意の静的ホストに置くだけで使えます。公開デモもこの形態の実例です。
詳細は ブラウザ WebGIS ガイド(必須ファイル・?kasc= 仕様・公開デモ)を参照してください。
【アプリ】ローカルアプリ kasugai_canvas.exe(フル機能)
インストールして使うフル機能版です(QGIS連携・ファイル保存・rclone クラウド連携・AIブリッジなど、localhost:8510 で動作)。配布物は download/ フォルダから直接ダウンロードできます。インストーラー版を推奨します — .kasc ファイルのダブルクリック起動(拡張子の関連付け=外部プロジェクト登録)はインストーラー版でのみ利用できます。
詳しい手順は ローカルアプリのガイド を参照してください。
3. 🤖 AI — API 直通とブリッジ経由
AI チャットはどちらの利用形態でも使えます。接続系統は2系統で、プロバイダ名の接頭辞【API】/【ブリッジ】がそのまま系統を示します。メインは公式 API へブラウザから直接繋ぐ内蔵AI、既存の AI 契約や自作エージェントを繋ぐ場合はブリッジ経由を使います。
| 【API】内蔵AI(メイン) | 【ブリッジ】外部エージェント | |
|---|---|---|
| プロバイダ | Gemini・OpenAI互換(GitHub Models・OpenAI・Azure OpenAI・Ollama 等) | GitHub Copilot・Devin・Antigravity・外部エージェント(汎用 /agent エンドポイント) |
| 接続経路 | ブラウザ → 公式 API へ直接(BYO キー)。Cloudflare/Cloud Run では /api/gemini キー隠蔽プロキシでキーレス利用も可 |
チャット → POST /agent → ブリッジハブ → 各 CLI(copilot / devin / agy)。要各 CLI・本人認証 |
| 【WebGIS】ブラウザ WebGIS | ○(BYO キー / サーバーキー) | ○(同一 PC の bridge-hub :8511 を検出。CDN の download/bridge-hub.exe を実行すれば自己インストール。exe+README の一式は download/bridge-hub.zip) |
| 【アプリ】ローカルアプリ | ○ | ○(インストール済みの bridge-hub :8511 を自動起動。ハブは CDN 配布版と同一の1本) |
| ツール実行方式 | function calling ループ — ツール結果を見て複数往復で判断(多段操作に強い) | 単発キュー — 応答の actions を一括実行 |
どちらの系統でもチャット UI・地図操作・runCode サンドボックス・MCP データソース(Box 等)・AI プラグイン生成は共通です。ハブはアプリ版・ブラウザ WebGIS 共通の bridge-hub.exe 1本(127.0.0.1:8511)に集約しており、フロントは /health で検出して接続するため、CDN 経由のブラウザ WebGIS からもブリッジ系プロバイダが選べます。逆方向の「外部 → ブラウザを操る」はローカルアプリ本体 :8510 の /api/command 経路です。
設定手順は 【API】内蔵AI・【ブリッジ】外部エージェント連携(接続方式ごとの規約判断もこちら)、52ツールの引数・提供条件は AI ツール仕様 を参照してください。
4. 🔗 連携構成図 — どこで動くか
KASUGAI Canvas は エンジン(プレイヤー本体)とデータ(.kasc + DATA/)が分離した設計です。開発の起点は kasugai_canvas リポジトリの web/(エンジン正本)で、そこから GitHub Pages CDN(kasugai-canvas-web) と 配布 ZIP(ローカルアプリ) の2経路で発行されます。メインの使い方は、CDN が配信するエンジンに静的ホスト上の .kasc を ?kasc= で指定して開く サーバレスな WebGIS です(インストール不要)。
flowchart TB REPO["kasugai_canvas リポジトリ(開発の起点)
web/ = エンジン正本 + server/ = Rust アプリ"] REPO ==>|"tools/publish_cdn.py"| CDN["GitHub Pages CDN(メイン)
kasugai-canvas-web
stable/・unstable/
cesium / maplibre / openlayers / leaflet / gsimaps / navara(試験)"] REPO ==>|"run.py -B → ZIP(自動更新)"| APP["ローカルアプリ
kasugai_canvas.exe :8510
フル機能(QGIS連携・保存・rclone・AIブリッジ)"] UP["vendor 上流オリジナル
jsdelivr / raw.githubusercontent
(各 engine の vendor.json でピン)"] UP -.->|"vendor/*(gsimaps・navara)
SW が同一オリジン中継"| APP UP -.->|"vendor/*(gsimaps・navara)
SW が同一オリジン中継"| WEB QGIS["QGIS + geo_webview"] -->|"エクスポート"| DATA[".kasc + DATA/ のみ配置
任意の静的ホスト or :8089
(エンジンは CDN 経由)"] CDN ==>|"エンジンを配信"| WEB["ブラウザ WebGIS(メインの利用形態)
…/<engine>/?kasc=<.kascのURL>
CDN 経由ならインストール不要"] DATA -.->|"?kasc= で指定"| WEB QGIS -.->|"▶ Canvas で登録"| APP AGENTS["外部エージェント
GitHub Copilot / Devin / Antigravity
要各CLI・本人認証"] ==>|"AI が地図を制御
(reply/actions を返す)"| BRIDGE["AIブリッジハブ bridge-hub.exe
アプリ・WebGIS 共通 =8511
チャット ─POST /agent {provider,...}→
選択中プロバイダのみ内部起動"] APP ---|"起動時に未起動なら自動起動(内蔵なし)"| BRIDGE CDN -.->|"download/bridge-hub.exe(.zip) を配信"| BRIDGE BRIDGE -.->|"同一PCなら /health 検出(:8511)で接続"| WEB AIAPI["AI API(内蔵AI)
Gemini / OpenAI互換
BYOキー or /api/gemini キー隠蔽プロキシ
(workers・Cloud Run・ローカル)"] ==>|"AI が地図を制御
(function calling)"| WEB WEB --- DEMO["公開デモ(WebGIS の実例)
CDNホスト版=CDN経由
Cloudflare Pages / Workers / Cloud Run
=web/自前配信+認証・/api/*"] classDef webgis fill:#eef0ff,stroke:#667eea,color:#1a2230 classDef localapp fill:#e9f7ee,stroke:#2e9e56,color:#1a2230 classDef ai fill:#f4eaff,stroke:#8a4fff,color:#1a2230 classDef neutral fill:#f6f8fa,stroke:#9aa5b1,color:#5a6577 class WEB,CDN webgis class APP localapp class BRIDGE,AGENTS,AIAPI ai class QGIS,DATA,DEMO neutral
実行時の供給元 — 何をどこから読むか
web/ 一式は publish_cdn.py が CDN へ丸ごとミラーするため、shared/ 等の同じファイルが CDN と配布物(ZIP・インストーラー)の両方に存在します。どちらを読むかは開いているページのオリジンで決まります(エンジンコードは全て相対パス参照)。外部を参照するのは /vendor/*(gsimaps・navara)のみで、実体はどこにも置かず Service Worker(vendor-proxy-sw.js=vendor 同一オリジン中継・SW 制御)が vendor.json のピン先(jsdelivr・raw.githubusercontent)からどのオリジンでも同一オリジン供給します(Service Worker 前提)。
| 取得物 | ローカルアプリ(:8510) | ブラウザ WebGIS(CDN エンジン) |
|---|---|---|
| プレイヤーコード ( web/<engine>/・shared/) |
web/ を複写してアプリに同梱( :8510 がローカル配信) |
CDN から配信 |
| vendored ライブラリ ( vendor/gsimaps/・vendor/navara/) |
同梱せず → vendor-proxy-sw.js(vendor 同一オリジン中継・SW 制御)が vendor.json のピン先 CDN から同一オリジン中継(Service Worker 前提) |
同左 |
| 描画ライブラリ (CesiumJS・Leaflet・MapLibre・OpenLayers・DuckDB-WASM 等) |
jsdelivr / unpkg | jsdelivr / unpkg |
| 地図タイル・データ | 地理院・OSM 等の外部サーバー | 同左 |
再生 URL …/<stage>/<engine>/?kasc=<.kascのURL> の意味:
| 要素 | 値 | 意味 |
|---|---|---|
<stage> |
stable(既定)/ unstable |
CDN の配信チャンネル。stable=安定版・unstable=開発版 |
<engine> |
cesium / maplibre / openlayers / leaflet / gsimaps / navara |
再生に使う描画エンジン。cesium がメイン(3D・フル機能)、他は同じ .kasc を読む互換プレイヤー。navara は試験的エンジン(写実3D) |
?kasc= |
.kasc ファイルの URL(要 URL エンコード) | DATA/ 等の相対参照は .kasc のある URL 基準で解決されるため、.kasc と DATA/ は同じフォルダに置く |
静的ホストへ .kasc+DATA/ だけを置く通常の WebGIS 配信では、エンジンは常に CDN(kasugai-canvas-web)から読み込まれます。機能面ではローカルアプリだけがフル機能(QGIS連携・ファイル保存・rclone・ブリッジハブの自動起動)を持ちます。AI の接続系統とブリッジハブの構成(:8511 に一本化・bridge-hub.zip)は「3. AI — API 直通とブリッジ経由」にまとめています。CDN 経由はブラウザ閲覧中心です。なおローカルアプリも vendored 地理院地図(gsimaps vendor・約75MB)は同梱せず、/vendor/* のミスを Service Worker が上流オリジナル(vendor.json のピン先 CDN)へ中継して同一オリジン供給します。さらに描画ライブラリ(CesiumJS・Leaflet・MapLibre・OpenLayers・DuckDB-WASM 等)は jsdelivr/unpkg から読み込むため、配布形態に関わらずブラウザ実行は常にオンライン前提です(試験的エンジン Navara は Worker の同一オリジン要件から vendor/navara/ 同梱 dist を使用)。公開デモはいずれもこの WebGIS の実例で、Cloudflare Pages/Workers・Cloud Run 版は web/ を自前配信し認証・/api/* を付加した構成です(基本の配布経路は CDN + 配布 ZIP の2系統)。データの配信元は静的ホストのほか、QGIS 側の geo_webview 内蔵サーバー(127.0.0.1:8089 /export-data/)からも読めます(自分の PC 上のみ有効)。詳細は kasugai-canvas-web ガイド を参照してください。
5. 📚 ドキュメント
マルチエンジン — WebGIS / ローカルアプリ
🌐 【WebGIS】ブラウザ WebGIS(外部ホスト配信)
CDN エンジン × 外部ホストの .kasc で動くサーバレス WebGIS。必須ファイル・?kasc= 仕様・公開デモ
💻 【アプリ】ローカルアプリ(kasugai_canvas.exe)
インストール・起動方法・プロジェクト構成・設定の保存・FLY 機能の操作・配布と公開の形態
🔀 マルチエンジン
Cesium(メイン)+ MapLibre / OpenLayers / Leaflet / GSI Maps + Navara(試験的)— 同じ .kasc を6エンジンで再生。エンジン切替・状態引継ぎ・CDN ホスト版
📝 .kasc 設定仕様
エンジン非依存のプロジェクト形式。行タイプ・オプション・グループ化ルール
💾 ランタイム永続キャッシュ
Service Worker が CDN 資産(DuckDB-WASM 約60MB・vendor)を CacheStorage に保持。再ダウンロード削減の仕組みと対象範囲
AI — API / ブリッジ
🤖 【API】内蔵AI(Google 連携・AI)
内蔵AI チャット(Gemini・OpenAI互換)の設定と機能、Maps Platform・AIプラグイン生成
🔌 【ブリッジ】外部エージェント連携
ブリッジハブ経由で GitHub Copilot・Devin・Antigravity・外部エージェントを内蔵AIとして利用。接続方式ごとの規約判断
🛠️ AI ツール仕様
内蔵AIが制御できる全52ツールの定義。引数・提供条件・実行モデル
🔧 ブリッジハブ(bridge-hub.exe)
常駐ハブの詳細仕様。導入・CLI 自動導入・HTTP API・プロバイダ前提条件・環境変数
仕様・技術選定
🗺️ 機能と実装
GIS 基本機能・Fly プレゼン機能の一覧と、現行実装の仕組み・ドレープ・制限事項
🗂️ データ形式
対応データ形式と 2D/3D データの最適フォーマット、配信・管理の考え方
🧰 ライブラリ
CesiumJS・Three.js を中心とした描画基盤と補完ライブラリの選定
🏗️ システム構成
ローカルPC・サーバーレス・国内対応・組み込みの構成方針
🛡️ セキュリティ対策
認証トークン・データ配信・fetch 許可リストなど実装済みの保護機構と既知の制限
拡張・連携
記録(挑戦中)
| 期間 | イベント | 内容 |
|---|---|---|
| 2026/09〜12 | 🏅 イチBizアワード 2026 | 住まい候補地域の比較支援 提案書(不動産情報活用部門・応募締切 12/10) |
| 2026/11〜12 | 🌸 Zennfes Autumn 2026 さくらのAIチャレンジ祭り | さくらインターネットの投稿テーマ。徹底検証賞を目指す AI Engine 検証記事(締切 12/16) |
挑戦中のイベントのみ掲載しています。終了したイベントは終了したイベントの記録にまとめています。