ディレクトリ構造
リポジトリ全体
haru-game/
├── game/ # ゲームプロジェクト
│ ├── src/ # ゲーム本体
│ │ ├── ai/
│ │ ├── data/
│ │ ├── entities/
│ │ ├── scenes/
│ │ ├── ui/
│ │ └── main.ts
│ ├── assets/ # ゲーム用アセットのコピー
│ ├── public/
│ ├── index.html
│ ├── package.json
│ ├── vite.config.ts
│ └── dist/ # ゲームのビルド出力
├── assets/ # 正本となる制作元データ
│ └── blender/
├── docs/ # 仕様・設計・制作資料
│ ├── game-content/
│ ├── architecture/
│ ├── project-management/
│ └── assets/ # ドキュメント用アセットのコピー
├── docusaurus/ # ドキュメントサイト
│ ├── docusaurus.config.ts
│ ├── sidebars.ts
│ ├── src/css/custom.css
│ └── build/ # Docusaurusのビルド出力
├── tools/ # 開発補助スクリプト
└── README.md
ソースコードの依存方向
game/src/main.ts
└── game/src/scenes/
├── game/src/entities/
├── game/src/ai/
├── game/src/data/
└── game/src/ui/
ゲームルールはシーンに直接書き散らさず、可能な範囲でgame/src/entities/、game/src/ai/、game/src/data/に分離します。画面表示や入力の調停はgame/src/scenes/が担当します。
アセットの原則
- 制作元データはrootの
assets/に置く - ゲーム用コピーは
game/assets/に置く - ドキュメント用コピーは
docs/assets/に置く - コピーは
tools/assets/sync.ps1で更新する - コピー先を直接編集しない