Ingress の IITC (Ingress Intel Total Conversion) 向けプラグイン開発リポジトリ。
現在の主成果物は Route Optimizer (Open TSP Solver) — 任意のスタート/ゴール地点と 複数の経由ポータルを指定すると、OSRM ルーティングエンジンを使って最適な巡回順序を計算し、 実道路に沿ったルートを地図上に描画する IITC プラグインです。IITC Mobile(Android/iOS)での 利用を最優先に設計しています。
route-optimizer.user.js プラグイン本体(単一ファイル・外部依存なし)
total-conversion-build.user.js IITC 本体(IITC-CE、参照専用・編集しない)
docs/
route-optimizer-architecture.md 方式設計書
route-optimizer-detailed-design.md 詳細設計書
route-optimizer-test-report.md 試験報告書
test/
run-tests.mjs 自動テスト(node --test、追加依存なし)
CLAUDE.md AIコーディングエージェント向けの作業コンテキスト
- 任意スタート・ゴールの指定: 地図タップで駅・道路・任意座標をスタート/ゴールに設定 (ポータルである必要はない)。「周回」チェックでゴール=スタートにもできる。
- 経由ポータルの登録: ポータル詳細の「Add to Route」ボタン、または Bookmarks プラグイン(Bookmarks for maps and portals)のフォルダから一括インポート。
- 移動モード切替: 徒歩 / 自転車 / 自動車。モードに応じて OSRM のプロファイル (routed-foot / routed-bike / routed-car)を切り替え、一方通行・専用道路などの 実際の交通ルールを考慮した経路を計算する。
- Open TSP 最適化: スタート・ゴールを固定した巡回セールスマン問題を解く。 経由地8個以下は総当たり(厳密解)、9個以上は近似解(Nearest Neighbor + 2-opt)。
- ルート描画: 確定した訪問順で OSRM Route API を呼び、実道路沿いのルートを 専用 Leaflet レイヤに描画(レイヤチューザから表示ON/OFF可能)。
詳しい仕様・設計判断の根拠は docs/route-optimizer-architecture.md
(方式設計書)と docs/route-optimizer-detailed-design.md
(詳細設計書)を参照してください。
route-optimizer.user.jsをユーザースクリプトマネージャ(Tampermonkey等、PC版) または IITC Mobile アプリの「プラグイン追加」機能で読み込む。- Ingress Intel Map(
intel.ingress.com)を開くと、ツールボックスに 「Route Opt」ボタンが追加される。
外部通信先はデフォルトで FOSSGIS 公開 OSRM サーバ
(https://routing.openstreetmap.de/routed-{foot,bike,car})。
プラグインのサーバ設定(ダイアログ内「サーバ設定」)から自前のOSRM互換サーバに変更可能。
node --test test/run-tests.mjsNode.js 標準の node:test / node:vm のみを使用しており、npm install は不要です。
IITC実行環境をモックした「読み込みテスト」と、TSPソルバ・OSRM連携・Bookmarks連携等の
「単体テスト」で構成されています(現状17件、全パス)。
node --check route-optimizer.user.js自動テストではカバーできない実機(IITC Mobile)での確認手順は
docs/route-optimizer-test-report.md §3 に記載しています。
このリポジトリで Claude Code 等の AI コーディングエージェントを使う場合は、
先に CLAUDE.md を読んでください。IITC本体の制約、プラグインのブート構造、
設計書との整合を保つルールなどをまとめてあります。
- 公共交通機関モード(GTFS対応サーバが必要なため現状は非対応)
- ミッション(順不同型)攻略ルートの自動計算
- ポータル滞在時間(ハックのみ/戦闘)を考慮した重み付け
- GPX/KML エクスポート、外部ナビアプリへの共有
詳細は方式設計書 §10 を参照してください。