地图系统

This commit is contained in:
2026-06-05 18:41:33 +08:00
parent 613f2a4d13
commit fe4fd60083
234 changed files with 33090 additions and 4899 deletions

171
CLAUDE.md Normal file
View File

@@ -0,0 +1,171 @@
<!-- rtk-instructions v2 -->
# RTK (Rust Token Killer) - Token-Optimized Commands
## Golden Rule
**Always prefix commands with `rtk`**. If RTK has a dedicated filter, it uses it. If not, it passes through unchanged. This means RTK is always safe to use.
**Important**: Even in command chains with `&&`, use `rtk`:
```bash
# ❌ Wrong
git add . && git commit -m "msg" && git push
# ✅ Correct
rtk git add . && rtk git commit -m "msg" && rtk git push
```
## RTK Commands by Workflow
### Build & Compile (80-90% savings)
```bash
rtk cargo build # Cargo build output
rtk cargo check # Cargo check output
rtk cargo clippy # Clippy warnings grouped by file (80%)
rtk tsc # TypeScript errors grouped by file/code (83%)
rtk lint # ESLint/Biome violations grouped (84%)
rtk prettier --check # Files needing format only (70%)
rtk next build # Next.js build with route metrics (87%)
```
### Test (60-99% savings)
```bash
rtk cargo test # Cargo test failures only (90%)
rtk go test # Go test failures only (90%)
rtk jest # Jest failures only (99.5%)
rtk vitest # Vitest failures only (99.5%)
rtk playwright test # Playwright failures only (94%)
rtk pytest # Python test failures only (90%)
rtk rake test # Ruby test failures only (90%)
rtk rspec # RSpec test failures only (60%)
rtk test <cmd> # Generic test wrapper - failures only
```
### Git (59-80% savings)
```bash
rtk git status # Compact status
rtk git log # Compact log (works with all git flags)
rtk git diff # Compact diff (80%)
rtk git show # Compact show (80%)
rtk git add # Ultra-compact confirmations (59%)
rtk git commit # Ultra-compact confirmations (59%)
rtk git push # Ultra-compact confirmations
rtk git pull # Ultra-compact confirmations
rtk git branch # Compact branch list
rtk git fetch # Compact fetch
rtk git stash # Compact stash
rtk git worktree # Compact worktree
```
Note: Git passthrough works for ALL subcommands, even those not explicitly listed.
### GitHub (26-87% savings)
```bash
rtk gh pr view <num> # Compact PR view (87%)
rtk gh pr checks # Compact PR checks (79%)
rtk gh run list # Compact workflow runs (82%)
rtk gh issue list # Compact issue list (80%)
rtk gh api # Compact API responses (26%)
```
### JavaScript/TypeScript Tooling (70-90% savings)
```bash
rtk pnpm list # Compact dependency tree (70%)
rtk pnpm outdated # Compact outdated packages (80%)
rtk pnpm install # Compact install output (90%)
rtk npm run <script> # Compact npm script output
rtk npx <cmd> # Compact npx command output
rtk prisma # Prisma without ASCII art (88%)
```
### Files & Search (60-75% savings)
```bash
rtk ls <path> # Tree format, compact (65%)
rtk read <file> # Code reading with filtering (60%)
rtk grep <pattern> # Search grouped by file (75%). Format flags (-c, -l, -L, -o, -Z) run raw.
rtk find <pattern> # Find grouped by directory (70%)
```
### Analysis & Debug (70-90% savings)
```bash
rtk err <cmd> # Filter errors only from any command
rtk log <file> # Deduplicated logs with counts
rtk json <file> # JSON structure without values
rtk deps # Dependency overview
rtk env # Environment variables compact
rtk summary <cmd> # Smart summary of command output
rtk diff # Ultra-compact diffs
```
### Infrastructure (85% savings)
```bash
rtk docker ps # Compact container list
rtk docker images # Compact image list
rtk docker logs <c> # Deduplicated logs
rtk kubectl get # Compact resource list
rtk kubectl logs # Deduplicated pod logs
```
### Network (65-70% savings)
```bash
rtk curl <url> # Compact HTTP responses (70%)
rtk wget <url> # Compact download output (65%)
```
### Meta Commands
```bash
rtk gain # View token savings statistics
rtk gain --history # View command history with savings
rtk discover # Analyze Claude Code sessions for missed RTK usage
rtk proxy <cmd> # Run command without filtering (for debugging)
rtk init # Add RTK instructions to CLAUDE.md
rtk init --global # Add RTK to ~/.claude/CLAUDE.md
```
## Token Savings Overview
| Category | Commands | Typical Savings |
|----------|----------|-----------------|
| Tests | vitest, playwright, cargo test | 90-99% |
| Build | next, tsc, lint, prettier | 70-87% |
| Git | status, log, diff, add, commit | 59-80% |
| GitHub | gh pr, gh run, gh issue | 26-87% |
| Package Managers | pnpm, npm, npx | 70-90% |
| Files | ls, read, grep, find | 60-75% |
| Infrastructure | docker, kubectl | 85% |
| Network | curl, wget | 65-70% |
Overall average: **60-90% token reduction** on common development operations.
<!-- /rtk-instructions -->
# 项目开发规范(强制遵守)
> 以下规范在**所有**开发活动中强制生效,不限于单次会话。创建、命名、放置任何脚本 / ScriptableObject / 预制体 / 场景 / 场景物体 / 目录前,必须先对照规范。
## 1. 命名与目录规范
创建/命名任何资产、脚本、预制体、场景、目录时,**必须遵守** `Docs/Standards/` 下的规范:
- **`Docs/Standards/AssetFolderSpec.md`** — 目录结构与命名(`_Game/` 父目录、各类资产的前缀与路径,如 `EVT_`/`PLY_`/`ENM_`/`WPN_`/`SKL_`/`CHM_`/`MAP_`/`UI_`/`SET_`/`ICN_` 等;场景命名 `Persistent.unity`/`MainMenu.unity`/`Room_{Region}_{NN}.unity`/`Boss_{Name}.unity`
- **`Docs/Standards/AddressablesLabelSpec.md`** — Addressable 地址(`AddressKeys.cs` 常量,禁止硬编码字符串)与标签规范
- **`Docs/Standards/LayerSpec.md`** — 物理层 / 排序层Sorting Layer规范
## 2. 必须用 Editor 脚手架创建(不裸建)
创建场景物体 / UI / 预制体 / SO 资产时,**优先用 `Assets/_Game/Scripts/Editor` 下的脚手架**编辑器扩展由工具保证路径、命名、Addressables 注册、组件引用绑定符合规范。**不要**用裸 `new GameObject` / `AddComponent` / 手动 `CreateAsset` 直接搭建。
主要脚手架(菜单 / 静态方法均可经 MCP 调用):
- 场景结构:`SceneScaffoldTools.ScaffoldPersistentScene/ScaffoldMainMenuScene/ScaffoldGameRoom`
- UI`HUDScaffoldWizard.ScaffoldHUDCanvas``InventoryHubScaffoldWizard.ScaffoldInventoryHub`
- 场景物体:`SceneObjectPlacerTool.Place*`Player/SavePoint/Enemy/CameraArea 等,自动绑事件频道与碰撞层)
- 预制体:`WeaponHitBoxWizard``SkillHitBoxWizard`
- SO 资产:`CreateEventChannelAssets.CreateAll``ProjectAssetSetup.CreateAll``CharacterWizardWindow``DataHubWindow`
- Addressables`CoreSceneRegistrar.RegisterCoreScenes``AddressableManagerWindow``AddressKeyValidator`
若某类资产**没有**对应脚手架,应**先补脚手架**(参考现有脚手架的 `AssignReference`/`AssignAsset` 绑定模式),再用它创建——使后续创建都走规范路径。
## 3. 创建后自检
完成创建后,运行项目验证工具确认合规:
- `BaseGames/Tools/Validation/Validate All ScriptableObjects`SOValidationRunner
- `BaseGames/Addressables/Validate Address Keys`AddressKeyValidator
- `BaseGames/Tools/Maintenance/Physics2D Layer Matrix/Check`LayerSpec 校验)