<p align="center">
  <a href="README.md">English</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
</p>

<p align="center">
  <img src="./logo.png" alt="World Forge" width="400">
</p>

# @world-forge/editor

[World Forge](https://github.com/mcp-tool-shop-org/world-forge) 用の、React 19 を使用したウェブアプリケーション。AI RPG エンジンのための 2D ワールド作成スタジオです。

## 機能

- **キャンバス**: 2D グリッド上で、ゾーンの描画、接続の作成、エンティティ、ランドマーク、遭遇イベントの配置が可能。パン/ズーム機能付きのビューポートを提供します。
- **複数選択**: ゾーン、エンティティ、ランドマーク、スポーン、遭遇イベントを、クリック、シフトクリック、またはドラッグによる範囲選択で選択できます。選択したオブジェクトをまとめて移動でき、操作の取り消しも可能です。
- **遭遇イベント作成**: ゾーン上に遭遇イベントのアンカーを配置し、タイプに応じたキャンバス上のマーカー（ボス、待ち伏せ、パトロールなど）を使用します。敵のID、確率、クールダウン、タグなどのプロパティを編集できます。
- **地区編集**: 地区パネルを拡張し、メトリクススライダー、タグ、支配勢力、経済プロファイル、勢力プレゼンス管理、プレッシャーホットスポット編集などの機能を提供します。
- **一括編集**: 複数のゾーンを選択した状態で、地区の割り当て、タグの追加、削除を一括で行えます。
- **プリセットシステム**: 地区と遭遇イベントのプリセットを使用し、マージまたは上書きが可能です。4つの内蔵地区プリセット、3つの内蔵遭遇イベントプリセットが付属しています。localStorage を使用したカスタムプリセットの作成、読み込み、更新、削除が可能です。
- **キーボードショートカット**: 13 のショートカットキーを登録できます。キー: Escape, Ctrl+A, Ctrl+D, Ctrl+K, Delete, 矢印キー（微調整）、Enter（詳細表示）、P（プリセット適用）、Shift+P（プリセット保存）。
- **ダブルクリック**: キャンバス上の任意のオブジェクトをダブルクリックすると、そのオブジェクトが選択され、マップタブに切り替わり、ビューポートがそのオブジェクトを中心に表示されます。
- **スピードパネル**: キャンバス上で右クリックすると、コンテキストに応じたアクションが実行できる、浮動パネルが表示されます。お気に入りのアクションをピン留めして並べ替えたり、最近実行したアクション、カスタムグループ、ステップエディタ付きの軽量マクロ、検索フィルター、キーボードナビゲーションを使用できます。
- **ワークスペースタブ**: マップ、プレイヤー、ビルド、ツリー、ダイアログ、オブジェクト、プリセット、アセット、問題、ガイド。
- **アセットライブラリ**: ポートレート、スプライト、背景、アイコン、タイルセットなどを、種類ごとに整理して管理できます。
- **アンドゥ/リドゥ**: Zustand を使用した、最大 10 段階までの操作履歴をサポートします。
- **インポート/エクスポート**: データの整合性を保ちながら、セマンティックな差分を追跡します。
- **検証**: 54 種類の構造チェックを行い、クリックすると問題箇所にフォーカスを合わせることができます。
- **テンプレート**: ジャンル別のスターターキットと、クイックオンボーディングのためのサンプルワールドを提供します。

## クイックスタート

```bash
npm install
npm run dev --workspace=packages/editor
```

エディタを起動するには、`http://localhost:5173` をブラウザで開きます。

## ライセンス

MIT
