docs: 整理文档目录并对齐代码现状

- 将开发过程/归档文档迁至 docs_dev/(development_plan、certification_checklist、
  已废弃的 Cocos 架构草案 archived_cocos_architecture_draft),并修正全部跨引用
- 新增根 README.md(项目介绍,暂定名 Spellforge)与 docs_dev/README.md 索引
- 新增 docs_dev/doc_code_audit_2026-07-20.md:文档 vs 代码交叉审计报告(经 6
  路对抗性复核,零证伪),含「代码更优 / 文档更优 / 中性」判定汇总
- 在 docs/ 各设计·技术·机制文档就地加「实现现状 (2026-07-20)」callout:
  追认代码更优实现(纯 JSON 数据驱动、SpatialGrid-only 碰撞、MultiMesh 单档、
  存档选最新槽等),订正陈旧/矛盾内容(.tres→JSON、Boss HP/阈值/波次、EventID、
  StatusManager.apply 签名等),标记未实现功能(C# 热路径、Mana、元进展、
  Boss 阶段/抗性、Tutorial、轨迹/连锁/催化等)与 latent bug(CoreFeatureTag 位运算、
  pierce 空操作、MAX_OPS 不读 cpu_limit)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-20 14:35:55 +08:00
co-authored by Claude Opus 4.8
parent 7bcc0026e0
commit ad2f4c0bc6
20 changed files with 446 additions and 67 deletions
+9 -3
View File
@@ -5,6 +5,10 @@
---
> **⚠️ 实现现状 (2026-07-20 审计)**:本文档描述的整套 Boss 架构(`BossManager` Autoload、`BossDef`/`BossPhaseDef`/`.tres` 资源、`BossAttackRegistry` 攻击模式注册表、场地机制如冰墙/场地收缩、多阶段弹幕、状态机 `BossInstance`**均为设计蓝图,代码 0% 实现**。现状 Boss 只是 `EnemyManager` SoA 中 `type=4`Mini BossWave 8/`type=5`Final BossWave 20)的普通厚血实体;唯一的"阶段行为"是当血量跨越 66% / 33% 阈值时召唤一批 `FAST` 杂兵援军(`wave_manager.gd:94-117`)。以下 `BossManager`/`.tres`/攻击模式注册表/场地机制全部尚未落地,保留作为未来实现的目标设计。详见 [审计报告](../../docs_dev/doc_code_audit_2026-07-20.md)。
---
## 1. 设计原则
- **阶段驱动(Phase-Driven**Boss 行为由明确的阶段(Phase)枚举驱动,阶段切换在 `_physics_process` 中以血量阈值触发,不使用独立 Timer Node。
@@ -141,6 +145,8 @@ func _tick_attack(delta: float) -> void:
## 5. 具体 Boss 设计模板
> **⚠️ 实现现状 (2026-07-20 审计)**:下表 HP 与阶段阈值均为**设计目标**,与代码现值不符。① **血量**:代码实取 `balance.json` 的 `boss_hp`Mini=**450** / Final=**1800**`balance.json:8-11`,疑为占位/待平衡值),并非本节的 2000 / 10000,也非 `numerical_design §3.2` 的 50000;三处数值互相矛盾。② **阶段阈值**:代码统一用 **66% / 33%** 两段(`wave_manager.gd:99-102`),并非本节 Mini 的 60%/30% 或 Final 的 70%/40%/15%。③ **攻击模式 / 场地机制 / move_speed / enrage_vfx** 字段全部未实现;每次"进阶"只是召唤 `4 + phase*2` 个 FAST 杂兵。详见 [审计报告](../../docs_dev/doc_code_audit_2026-07-20.md)。
### 5.1 Mini Boss — Wave 8(待策划填充)
| 字段 | 值 |
@@ -151,7 +157,7 @@ func _tick_attack(delta: float) -> void:
| **Phase 0**100%→60% HP| 攻击模式:`"charge_slam"` + `"spread_shot_3"` |
| **Phase 1**60%→30% HP| 追加:`"summon_minion_x2"`move_speed_mult=1.2 |
| **Phase 2**30%→0% HP| 追加:`"zone_aoe_fire"`move_speed_mult=1.5enrage_vfx="boss_enrage" |
| 死亡事件 | `BOSS_KILLED`EventID 待分配,建议 ID=15|
| 死亡事件 | `BOSS_KILLED`**未实现**:该常量不存在;现状仅在生成时发 `BOSS_SPAWNED=19`,死亡走通用 `ENEMY_KILLED=7`|
| 战场机制 | 无(Mini Boss 不设场地机制,Final Boss 才有)|
### 5.2 Final Boss — Wave 20(待策划填充)
@@ -165,8 +171,8 @@ func _tick_attack(delta: float) -> void:
| **Phase 1**70%→40% HP| 追加:`"zone_ice_wall"`;场地:随机生成 4 个冰墙障碍(`ZoneManager` 驱动)|
| **Phase 2**40%→15% HP| 追加:`"enrage_laser_sweep"`;场地收缩:边界每 10 秒向中心缩小 50px |
| **Phase 3**15%→0% HP| 全弹幕覆盖;`"phase3_barrage"`;恢复部分 HP 后进入死亡序列(演出用)|
| 死亡事件 | `BOSS_KILLED``EventID` **16**+ `GAME_CLEARED`**17**);阶段切换为 **15**(均以 `implementation_plan.md` §2.1 为准|
| 战场机制 | 场地收缩(Phase 2+)、冰墙障碍(Phase 1+|
| 死亡事件 | **未实现**`BOSS_KILLED` / `GAME_CLEARED` / `BOSS_PHASE_CHANGED` 三个常量均不存在(ID 15/16/17 实为 `SPELL_EQUIPPED`/`LEVEL_UP`/`SHOP_OPENED`)。现状:生成发 `BOSS_SPAWNED=19`,死亡走 `ENEMY_KILLED=7`,阶段切换发通用 `GAME_STATE_CHANGED=20`payload `to="BOSS_PHASE_N"`|
| 战场机制 | 场地收缩(Phase 2+)、冰墙障碍(Phase 1+——**均未实现** |
---