Commit Graph
17 Commits
Author SHA1 Message Date
joywayerandClaude Opus 5 a119ec9ab1 docs(arch): 补删 ProjectileDef.reset() 里遗留的 homing_force 赋值
上一提交删了声明与注释、漏了 31 行后 reset() 内的赋值,
导致同一代码块自相矛盾(注释声明该字段不存在,正文仍在赋值)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 17:47:56 +08:00
joywayerandClaude Opus 5 3e45ef0059 docs: 计划回填实际执行的验收脚本 + 订正权威文档自相矛盾处 + 性能数字改区间
【计划 Task 4】原稿四个脚本有缺陷,照它复跑会得到假失败与空通过,现已替换为
实际执行并通过的版本,每处旁注「原脚本为何有缺陷」,并勾上完成的复选框:
- Step 2 敌人摆位 (400,200) 距原点 447px 已出 homing_range=400,实测 FAILS=1;
  这是测试摆位错误而非实现缺陷(精确距离过滤行为正确)。改到 (300,150)。
- Step 6 内联复刻了折叠逻辑与商店谓词——在测自己;改调真实 _apply_modifier
  与 ShopManager._available_pool(),另补 compile_wand→execute_compiled 端到端。
- Step 7 无墙钟起搏,40 帧全停在退避窗内、守卫沦为空断言;且几何让子弹直穿
  敌人簇,多计约 1.5ms 碰撞开销。改为 60fps 起搏 + spec §5.2 环形摆位,
  frame1 与稳态峰值分开报。
- Step 8 只对源码 grep 字符串,不是往返;改为真实实例化 spell_tab 对真实
  spells.json 做 8 条 type-1 的回读→写回比对。
回溯表补「观测方式」列,标出⑥是唯一一条状态推断而非直接观测。

【architecture_design.md】同一文档内自相矛盾:
- CastStats 块 homing_force(「归航强度,向最近敌人偏转」)与 §4.2 新写的
  「最大转向角速度 + 锁定式目标」冲突 → 订正为 homing_add(弧度/秒);
  顺带订正确证过的 pierce_add / bounce_add(原写 *_count)。该块其余字段
  仍有既有漂移,加 ⚠️ 注明未核对、以 cast_stats.gd 为准,不扩大改动范围。
- ProjectileDef 的 homing_force 删除——projectile_def.gd 无任何 homing 字段,
  归航冷数据由 _push_projectile 直接写入 BulletManager。
- §4.2 bounce 协同散文补上实际存在的 if cold.has("homing_strength") 前置守卫。
- get_nearest_pos 代码片段:_enemy_count → _active_count(前者不存在)、
  未命中返回值 Vector2.ZERO → origin、删除不存在的 _visible_flags 过滤。

【spec】
- §4 第⑥条措辞「不触发 query_circle」字面为假(_check_collision 每帧无条件
  发一次),改为「不因归航触发」,并写明这是唯一一条间接验证及其封闭性论证。
- §5.5 峰值改为区间表述(① 4~5ms / ② 5~7ms @1500),注明编辑器/调试构建、
  运行间离散(同场景三次得 5.61/5.09/7.29ms),判定回归看是否出现周期性复发
  尖峰与是否越过 16.67ms,勿拿单值比对;并记录几何对测量的影响。
- §5.4 勘误:「1493 个互异到期值」不可能成立(jitter 只能产出约 200 个整数值,
  同帧失败又共用同一 now),复测为跨度 223ms / 222 个互异值,结论不变。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 17:33:16 +08:00
joywayerandClaude Opus 5 14136b1223 docs: 退役 P6-N2/P6-N25 并订正 §4.2 归航设计——删除快照的连带订正
E1-③ 归航实现删除了 _enemy_pos_snapshot 与 EnemyManager.fill_pos_snapshot
(锁定式目标需 entity_id,快照按槽位存位置不含 id),权威文档随之失准,一并订正:

- docs/README.md:P6-N25(快照须为类成员)与 P6-N2(Homing 弹共用快照)双双失去
  约束对象,改为删除线 + ⚠️ 已退役(2026-07-30) 并指向 spec §2.4/§2.7。不删条目,
  避免编号规范留下悬空引用。
- architecture_design.md §4.2:homing 伪代码整段改写为实际算法——冷数据
  homing_strength(弧度/秒)/homing_range/homing_target_id、发射不解析目标首帧惰性
  锁定、仅目标失效时经 _find_nearest_unvisited 重选、wrapf 最短转向 + clampf 限
  角速度 + rotated() 保速率、空场守卫、失败退避+抖动、bounce 协同改写目标并撤销
  退避键。性能数字一律指向 spec §5,不另起一套。
- 冷数据字段表 homing_force → homing_strength/homing_range/homing_target_id。
- EnemyManager API:fill_pos_snapshot 换成实际存在的 get_pos_by_id(含哨兵约定);
  get_nearest_pos 与自动瞄准改为「直接扫描 SoA」,原文称与 homing 快照共用属误述。
- S0 性能表 EnemyManagerCs 行标注该实测含已删除的 fill_pos_snapshot(保留历史数字)。
- MinionManager.fill_pos_snapshot 标注为未实现提案,并纠正其「供 homing 用」的注释。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 17:01:56 +08:00
joywayer e06cdf8948 feat(boss): HUD Boss 阶段提示 + boss_design.md 现状更新为已实现 2026-07-23 10:32:27 +08:00
joywayerandClaude Opus 4.8 f4b8afed8a docs(boss): 标注 §2.1 旧草案 Boss 事件编号(15/16/17)已被 29/30 取代/未实现
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 09:47:28 +08:00
joywayer 29d387aebc feat(boss): 事件常量 BOSS_PHASE_CHANGED=29 / BOSS_KILLED=30 + 目录同步 2026-07-23 09:43:44 +08:00
joywayer ef65cba162 docs(handbook): 07 游戏设计器同步字段化表单/双语/行编辑器现状 2026-07-22 15:52:52 +08:00
joywayer f8e810a2c0 docs(spell-editor): 元素标签改复选框说明 2026-07-22 11:14:42 +08:00
joywayer ac8a4e4392 docs(spell-editor): 清理对已删除 spell_editor 目录的悬挂引用 2026-07-21 16:15:06 +08:00
joywayer ed89387f2e docs(spell-editor): 手册改为字段化表单 + game_designer 入口 2026-07-21 16:09:33 +08:00
joywayer a3ab2aa6cd docs(mana): §4.1/§5.A 现状更新为 Mana 完整化已实现 2026-07-21 15:27:08 +08:00
joywayerandClaude Opus 4.8 eec9d52ece docs(meta): game_design §7 现状更新为碎片+解锁树已实现(MVP)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 11:54:01 +08:00
joywayerandClaude Opus 4.8 7bc13a7be6 feat(mana): 游戏设计器支持 mana 字段(补 Mana MVP 配套)
- Core 编辑器加「蓝上限/回蓝」两栏(_on_select 读 / _on_apply 写 / _on_new 默认),
  修复此前编辑 Core 保存会静默丢失 mana_max/mana_regen 的数据丢失洞
- 法术编辑器 4 个 meta 模板加 mana_cost,新法术默认有合理蓝耗
- handbook 07 补 Core 蓝池字段 + 法术 mana_cost 说明

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 10:31:01 +08:00
joywayer 06e993bea7 docs(mana): Mana 现状 callout 更新为已实现(MVP) 2026-07-20 16:34:58 +08:00
joywayerandClaude Opus 4.8 5e3d80ad85 docs: 记录 3 个潜在 bug 的修复状态(对齐 dc05eea)
- 审计报告 D 节 + G.2 表标注 D1/D2/D5 已修复(待运行时验收),修正 D1
  修复方案为「单选枚举 + ==」(复核发现设计器 core_tab 以下标写入 feature_tags,
  不宜改 2 的幂位标志)
- architecture_design ADR-R5-N2 与 core_wand §1 的现状 callout 同步更新为已修复

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 14:53:27 +08:00
joywayerandClaude Opus 4.8 ad2f4c0bc6 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>
2026-07-20 14:35:55 +08:00
joywayer 7bcc0026e0 初次提交 2026-07-20 10:56:52 +08:00