Files
spellforge/docs_dev
joywayerandClaude Opus 5 04ca402f3c docs(plan): 回填属性系统计划为实际执行版,勾除除合并决策外全部步骤
按 Task 5 Step 8:每个因评审而变的代码块与断言脚本都替换为真正跑通的版本,
逐处附「原写法为何不可用」——这才是回填的持久价值,否则下次复跑喂出的是
过时代码和可能已失效的断言(归航那期踩过)。

主要回填:AttributeFormula 的 pct 越界守卫与静态类型;PlayerStats 的 add_modifier
校验 / hp 钳制 / reset_for_run 清空 / 空定义分支用 assert;守卫从施法处移到 equip_wand;
cast_delay_mod 改开火时生效(原计划的装备时折叠会让局中加成到下次换杖才生效,
正好废掉货架 C);补 combat_test 注入这个原计划遗漏的消费方;属性页 SpinBox 下限、
_loaded 拒写回、autowrap、两条 push_warning。

订正计划自己的一句假话:原写「四个属性的值全部落在 0.01 格点上,故往返无量化损失」。
实测 min=-99999 时 0.1→0.100000000005821、0.01→0.00999999999476131,二者恰恰都在
0.01 格点上——成因是 Range 吸附式在 min 与 step 相差七个数量级时的抵消误差,与格点
无关;而 0.0001 容差比该漂移大七个数量级,原断言在有 bug 的版本上也是绿的。改为对
落盘文本逐字节比较。

Task 5 另记两条工具坑:运行中游戏的 push_error/push_warning 不进 MCP 的两个日志通道
(只有 print 进),故「跑一局看日志无报错」本身是空断言,必须读编辑器 Debugger 错误页
并先用故意错误做正对照;execute_game_script 不支持 await、三引号会被外层包装破坏。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 13:05:40 +08:00
..

docs_dev —— 开发过程 / 归档文档

本目录存放开发过程中产生的计划、追踪与历史归档类文档,与 docs/(面向产品的设计规范与架构参考)区分开。

产品文档索引见 ../docs/README.md

文档 类型 内容简述
doc_code_audit_2026-07-20.md 审计 文档 vs 代码交叉审计:三大结构性分歧、更优/偏离/未实现分类清单、潜在 bug、文档内部矛盾(2026-07-20
2026-07-23-native-migration-notes.md 笔记 / 迁移备忘 ① GDScript 陷阱:PackedArray 返回值是活引用别名,复用缓冲会被重入覆写(query_circle 优化翻车教训);② C#/C++ 激活期接缝一致性项:SpatialGridCs 常量对齐(已修)、EnemyManager 原型字典需 C# 侧自建原生数组(待办·迁移期)
development_plan.md 计划 / 追踪 S0–S6 骨架垂直切片开发计划、技术风险登记表、各切片验收与出口检查、P-S* 任务勾选
certification_checklist.md 计划 / 追踪 Steam / Nintendo Switch 平台发行认证清单,映射到对应切片,含状态列
archived_cocos_architecture_draft.md 归档(已废弃) 早期基于 Cocos Creator 3.x / TypeScript 的架构草案。项目已迁移至 Godot 4.6,权威架构见 ../docs/technical/architecture_design.md

说明:这些文档中以文件名(如 architecture_design.md §4.5)方式引用的权威架构/实现文档,均位于 ../docs/technical/ 下。