Commit Graph
100 Commits
Author SHA1 Message Date
joywayerandClaude Opus 4.8 aa69c0e2d4 chore(build): 搭建并验证 C# / C++(GDExtension) 原生构建环境(4.7.1 Mono)
为「GDScript→C#→C++」性能逃生梯备好可随时启用的工具链,运行时仍 100% GDScript。

C#:新增根 Rogue.csproj(Godot.NET.Sdk/4.7.1,net8.0,程序集名 Rogue);
    csharp/ 下既有 3 个骨架 .cs 现可编译,dotnet build 与编辑器 --build-solutions 均 0 错通过。

C++:gdextension/ 下加 godot-cpp 子模块(master,因无 4.6/4.7 分支,配合本工程 dump 的
    4.7.1 extension_api.json + gdextension_interface.h 经 custom_api_file 精确匹配 ABI);
    SConstruct + 示例扩展 SpellforgeNative(含 PackedFloat32Array 零拷贝热路径写法);
    SCons 自动探测 MSVC 构建出 debug .dll,headless 冒烟验证类注册/调用通过
    (CLASS_EXISTS=true / multiply=42 / scale_inplace 正确)。

配套:.gitignore 忽略编译中间产物、保留 debug .dll 开箱即用;gdextension/README.md 记录构建/激活/升级流程;
    CLAUDE.md 修正引擎版本 4.6→4.7.1 并更新「环境已就绪但休眠」现状。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 15:53:39 +08:00
joywayerandClaude Opus 4.8 0561377492 docs(claude): 编程语言规范新增 C++(GDExtension)极限内核一级
将性能优化定义为逐级逃生梯 GDScript→C#→C++,仅当上一级 profile 证明不够才下探;
C++ 用于连 C# 都不够的 SIMD/手工内存密集内核,代价最高须实测背书;接口壳+原生内核回退模式与验证要求统一覆盖 C#/C++。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 15:25:50 +08:00
joywayerandClaude Opus 4.8 2da6d6e94e docs(claude): 新增编程语言规范(GDScript/C#)—— GDScript 为主力、C# 仅热路径逃生舱
明确双语定位与「用对语言而非用多语言」原则:记录运行时现状(100% GDScript、csharp/ 为死骨架)、
GDScript 性能纪律、C# 引入门槛(profile + .csproj + ADR-L1 三铁律)、跨界成本 R-08、两层回退模式。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 15:23:42 +08:00
joywayerandClaude Opus 4.8 09b2e1dd1d docs(roadmap): 缺失功能路线图 —— 7 史诗分组+优先级+切分+验收(战斗深度/经济/循环/Boss深化 为 P0/P1)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 15:11:10 +08:00
joywayer 95e5587049 fix(boss): HUD 阶段提示改 tr(STATUS_BOSS_PHASE)+4语言 .po;register_boss 未知 boss_type push_error 2026-07-23 11:07:52 +08:00
joywayer f8efdc639d fix(boss): 防玩家死亡致命一击重入 —— EnemyBulletManager._swap_and_pop 负数守卫 + BossManager 循环内失效键跳过 2026-07-23 10:54:29 +08:00
joywayer ef83e8191a chore(boss): Boss 阶段+攻击模式系统验收通过(7 招式+敌弹+阶段/召唤/事件运行时实测) 2026-07-23 10:44:44 +08:00
joywayer e06cdf8948 feat(boss): HUD Boss 阶段提示 + boss_design.md 现状更新为已实现 2026-07-23 10:32:27 +08:00
joywayer 3480255a5a feat(boss): 游戏设计器 Boss 分页(类型/阶段/招式三级字段化表单,双语,禁手写JSON) 2026-07-23 10:27:57 +08:00
joywayer aa516bcb50 feat(boss): wave_manager 接入 BossManager(移除旧内联阶段逻辑)+ combat_manager 重置敌弹/Boss 2026-07-23 10:22:25 +08:00
joywayer af535f1ed0 feat(boss): 位移/蓄力/近战招式 dash/charge_up/melee(三段式+前摇预警+接管移动) 2026-07-23 10:17:18 +08:00
joywayer c566eb16a0 feat(boss): 瞬时远程弹幕招式 ring/spread/aimed/spiral(经 EnemyBulletManager 发射) 2026-07-23 10:12:21 +08:00
joywayer f8b05551e2 feat(boss): BossManager 阶段状态机+漂移移动+进阶召唤+BOSS_PHASE_CHANGED/KILLED(招式骨架) 2026-07-23 10:06:28 +08:00
joywayer 2ed7b625bb feat(boss): data/bosses.json — Mini(4)/Final(5) 三阶段招式配置(7 种 kind 全覆盖) 2026-07-23 10:03:24 +08:00
joywayer 531706ba62 feat(boss): EnemyManager 外部驱动移动接口(register/unregister_external_mover + set_entity_pos + 跳过) 2026-07-23 10:00:14 +08:00
joywayer d4291722e8 feat(boss): combat_s2 敌方子弹 MultiMesh 渲染层(红粉区分玩家弹) 2026-07-23 09:55:22 +08:00
joywayer f5d94a52f0 feat(boss): 新增 EnemyBulletManager 敌方子弹子系统(SoA 池 + vs 玩家碰撞) 2026-07-23 09:49:32 +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
joywayerandClaude Opus 4.8 fb90e13dd7 docs(plan): Boss 阶段+攻击模式系统实现计划(12 任务,MCP 运行时验证)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 09:39:25 +08:00
joywayerandClaude Opus 4.8 049e5930d6 docs(spec): Boss 招式增加近战 melee(原地近身范围打击)
区别于 dash 横穿冲撞,melee 为原地劈砍/砸地:前摇预警→melee_radius
内判定扣血→后摇。同步更新范围/设计器 kind 列表/验证项。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 09:29:50 +08:00
joywayerandClaude Opus 4.8 7989d8d0fd docs(spec): Boss 阶段+弹幕/位移攻击模式系统设计
阶段状态机 + 攻击模式注册表(环/扇/瞄准/旋转 + 冲刺/蓄力)+ 新建
EnemyBulletManager 敌方子弹 + 保留召唤援军 + 事件 29/30 + bosses.json
与设计器 Boss 分页。范围外:场地机制/通关演出/无敌帧/.tres。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 09:17:40 +08:00
joywayer ef65cba162 docs(handbook): 07 游戏设计器同步字段化表单/双语/行编辑器现状 2026-07-22 15:52:52 +08:00
joywayer 17f6ce2ff0 docs: CLAUDE.md 新增编辑器插件/游戏设计器开发规范(字段化、撑满、双语、验证) 2026-07-22 15:40:27 +08:00
joywayer 831bb8d2a5 merge(designer): edges/aether_thresholds 改整数元组行编辑器(去 JSON) 2026-07-22 13:41:10 +08:00
joywayer 3b36c6e20a chore(designer): 追踪 tuple_list_editor.gd.uid(与其它组件一致) 2026-07-22 12:27:24 +08:00
joywayer 04b6781678 feat(designer): 平衡碎片阈值改行编辑器(去 JSON) 2026-07-22 12:17:33 +08:00
joywayer 3b4a5f674c feat(designer): Core 电路边改行编辑器(去 JSON) 2026-07-22 12:15:19 +08:00
joywayer 0d6d511c86 feat(designer): 新增整数元组列表行编辑器组件 2026-07-22 12:09:47 +08:00
joywayer 064b225e0b docs(designer): 修正计划 — 行编辑器成员变量不标注类型 2026-07-22 12:08:15 +08:00
joywayer 4fee708287 docs(designer): 整数元组列表编辑器实现计划 2026-07-22 12:05:56 +08:00
joywayer 0967b3f10b docs(designer): 整数元组列表编辑器设计(edges/aether 去 JSON) 2026-07-22 12:02:46 +08:00
joywayer 2e9b4be702 merge(designer): UI 优化(输入框撑满 + 元素复选框 + 双语标签 + 共鸣元素下拉) 2026-07-22 11:59:40 +08:00
joywayer f8e810a2c0 docs(spell-editor): 元素标签改复选框说明 2026-07-22 11:14:42 +08:00
joywayer c08d526a18 feat(designer): 波次/Core/状态 枚举标签归一为中英双语 2026-07-22 11:13:54 +08:00
joywayer d17a4579d5 feat(designer): 共鸣配方元素 A/B 改下拉 + 匹配方式双语 2026-07-22 11:12:51 +08:00
joywayer 95af2e1db6 feat(spell-editor): 元素标签改复选框 + 选项双语显示 2026-07-22 11:11:27 +08:00
joywayer 1f00720f44 feat(designer): 输入框撑满面板 + 共享元素词表常量 2026-07-22 11:01:22 +08:00
joywayer 7b0843d8a9 docs(designer): UI 优化实现计划 2026-07-22 10:57:43 +08:00
joywayer 48d417d049 docs(designer): 既有双语标签归一为「中文 English」序 2026-07-22 10:54:14 +08:00
joywayer d95ed67e63 docs(designer): UI 优化设计(布局撑满 + 元素复选框 + 双语标签) 2026-07-22 10:39:52 +08:00
joywayer fffacf35c5 4.7版本打开 2026-07-22 10:15:27 +08:00
joywayer b05e5c1f35 项目设置 2026-07-22 10:07:11 +08:00
joywayer ce54998cdb merge(spell-editor): 法术编辑器并入 game_designer + 字段化表单 2026-07-21 16:17:06 +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 29efa986c5 chore(spell-editor): 追踪 spell_tab.gd.uid(与其它 tab 一致) 2026-07-21 16:08:13 +08:00
joywayerandClaude Opus 4.8 3e189206d5 refactor(spell-editor): 并入 game_designer tab,移除独立 spell_editor 插件
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 16:07:26 +08:00
joywayer d7e051ffde feat(spell-editor): 新增 game_designer 法术 tab(字段化表单) 2026-07-21 16:04:53 +08:00
joywayer 1a86757a77 docs(spell-editor): 字段化表单实现计划 2026-07-21 16:00:14 +08:00
joywayer c7b6c9c0fa docs(spell-editor): 法术编辑器并入 game_designer + 字段化表单设计 2026-07-21 15:54:09 +08:00
joywayerandClaude Opus 4.8 93dffd71e1 merge(mana): Mana 系统完整化(递增蓝耗+infinite卖血+多来源魔力虹吸+HUD+平衡)
11 任务全绿:balance/PlayerStats/PlayerManager/SpellEvaluator 统一扣蓝门控、
魔力虹吸多来源重算、wand_eternal/heavy_cost/mana_leech 数据、Core 编辑器可调、
HUD 蓝条数字+低蓝+过热、平衡调数值、docs 现状更新、复审 heat 覆盖 LOOP/CIRCUIT+死亡防重入。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 15:37:03 +08:00
joywayerandClaude Opus 4.8 4725c57c72 fix(mana): heat 依真实扣蓝(ctx标记)覆盖 LOOP/CIRCUIT 子路径+卖血不升热;死亡防重入
复审 nit:
- heat 之前仅在主循环 cast_fired 记录,LOOP 体/CIRCUIT 分支扣蓝漏记 → 递增蓝耗对这两类拓扑失效。
  改为 _charge_mana 真实 spend_mana 成功时置 ctx.mana_spent_this_cast,施法末据此升 heat。
- 顺带修正 infinite 卖血(未真实扣蓝)也升 heat 的问题:卖血不升热。
- combat_manager._on_player_died 加 GAME_OVER 防重入(子弹命中+卖血同帧双死不重复结算)。

MCP 实测:LOOP heat 0.010(修复前0)、卖血 heat 0、线性回归 0.010。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 15:35:11 +08:00
joywayerandClaude Opus 4.8 0fd01caebb chore(mana): 完整化验收通过(Godot 4.6 运行时实测各机制+回归全绿)
递增蓝耗 heat/95.5、infinite 扣血 hp99、heavy_cost hp90、
持久内存回归 [0,0,1,0]、击杀回蓝 +10、多来源 leech 重算 999→0、HUD 蓝条数字均实测通过。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 15:29:16 +08:00
joywayer a3ab2aa6cd docs(mana): §4.1/§5.A 现状更新为 Mana 完整化已实现 2026-07-21 15:27:08 +08:00
joywayer 81f53e9435 balance(mana): 提高基础回蓝(+3)+降 spark 蓝耗(→3),基础杖能持续突突 2026-07-21 15:23:04 +08:00
joywayer 9fb7131323 feat(mana): HUD 蓝条数字+低蓝暗红+过热泛红 + UI_MANA 键 2026-07-21 15:21:19 +08:00
joywayer 301f731e6c feat(mana): Core 编辑器加击杀回蓝(mana_leech)栏 2026-07-21 15:19:42 +08:00
joywayer 37f4d45e9f feat(mana): wand_eternal(infinite)+modifier_heavy_cost/mana_leech 数据 2026-07-21 15:18:07 +08:00
joywayer b55e6eaadf feat(mana): 魔力虹吸多来源(Core base + 卡组 meta.mana_leech 求和,换杖重算) 2026-07-21 15:16:37 +08:00
joywayer 6b60f6e073 feat(mana): _charge_mana 统一门控(热值乘算+infinite扣血)+heavy_cost+HP结算 2026-07-21 15:15:07 +08:00
joywayer c9f560c757 feat(mana): PlayerManager 每帧衰减 mana_heat + 换杖清零 2026-07-21 15:12:00 +08:00
joywayer a57348a9f7 feat(mana): PlayerStats mana_heat/leech+gain_mana/spend_hp_cost+击杀回蓝;SpellContext hp_cost_accum 2026-07-21 15:10:54 +08:00
joywayer 7025f283f8 feat(mana): balance.json mana_heat/infinite_spells 配置 + SettingsManager getters 2026-07-21 15:09:28 +08:00
joywayerandClaude Opus 4.8 ea01ff1939 docs: Mana 完整化实现计划(11 任务,MCP 运行时验证)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 15:03:35 +08:00
joywayerandClaude Opus 4.8 150ec7aa1c docs: Mana 完整化设计规范(递增蓝耗+infinite_spells+魔力虹吸+UI+平衡,待评审)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 14:21:35 +08:00
joywayer 3ebbcc2f34 修改配置 2026-07-21 12:06:10 +08:00
joywayerandClaude Opus 4.8 958d53636c refactor(meta): aether_for_wave 取 maxi 容忍无序阈值表(复审建议,编辑器手填更稳)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 11:58:11 +08:00
joywayerandClaude Opus 4.8 ca5ba75822 chore(meta): 元进展 MVP 验收通过(Godot 4.6 运行时实测闭环全绿)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 11:54:38 +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
joywayer 1028f34803 feat(meta): 平衡页签可编辑 aether_thresholds(保存不丢字段) 2026-07-21 11:53:13 +08:00
joywayerandClaude Opus 4.8 63431e170e fix(meta): 解锁面板 sid/scost 显式类型(get_all_ids 返回无类型 Array)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 11:52:22 +08:00
joywayer 8d9aa617df feat(meta): 主菜单解锁面板(花碎片解锁法术) 2026-07-21 11:50:59 +08:00
joywayer a144d71557 feat(meta): META_*/MENU_UNLOCK 四语 i18n 键 2026-07-21 11:49:25 +08:00
joywayer 0682c23fc4 feat(meta): 死亡按到达波次结算以太碎片 2026-07-21 11:47:16 +08:00
joywayer 7682480a5f feat(meta): 商店池按 unlock_cost/已解锁门控(_available_pool) 2026-07-21 11:45:32 +08:00
joywayer 427147d09d feat(meta): spells.json 6 张进阶法术加 unlock_cost(解锁树) 2026-07-21 11:44:35 +08:00
joywayer d6f4f2b5a6 feat(meta): 碎片奖励阈值表(balance.json)+aether_for_wave+清除数据钩子 2026-07-21 11:43:28 +08:00
joywayer e8d0c06440 feat(meta): MetaProgress autoload(碎片+已解锁+持久化 user://meta.json) 2026-07-21 11:42:18 +08:00
joywayerandClaude Opus 4.8 14c0709d74 docs: 元进展 MVP 实现计划(10 任务,MCP 运行时验证)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 11:35:44 +08:00
joywayerandClaude Opus 4.8 72543be204 docs(meta): 碎片奖励曲线改数据驱动(balance.json 阈值表)+编辑器可调(评审反馈)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 11:29:48 +08:00
joywayerandClaude Opus 4.8 fec2f34ce3 docs: 元进展 MVP(碎片+解锁树·法术only)设计规范(待评审)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 11:17:10 +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
joywayerandClaude Opus 4.8 022017e551 docs(mana): spec §2.4 记录 LOOP/CIRCUIT 也扣蓝(复审修复 8b9565e)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 16:44:11 +08:00
joywayer 8b9565e1ff fix(mana): LOOP 体 / CIRCUIT 分支节点也扣蓝(堵住免蓝重复施法漏洞) 2026-07-20 16:42:20 +08:00
joywayerandClaude Opus 4.8 8a86d35145 chore(mana): MVP 验收通过(Godot 4.6 运行时实测 T2/T3/T4/回归全绿 + HUD 蓝条)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 16:36:11 +08:00
joywayer 06e993bea7 docs(mana): Mana 现状 callout 更新为已实现(MVP) 2026-07-20 16:34:58 +08:00
joywayer 036f03194a feat(mana): HUD 蓝条(ProgressBar,每帧刷新) 2026-07-20 16:32:30 +08:00
joywayer 1ea379f007 feat(mana): SpellEvaluator 主循环逐节点扣蓝 + 蓝空停施 2026-07-20 16:30:44 +08:00
joywayer 2c42ed4277 feat(mana): spells.json 每法术加 mana_cost(numerical §2) 2026-07-20 16:29:06 +08:00
joywayer 9b06ec3276 feat(mana): PlayerManager 换杖置蓝池 + 每帧回蓝 2026-07-20 16:27:11 +08:00
joywayer 17aaad3589 feat(mana): PlayerStats 蓝池状态 + spend/regen/set_pool + reset 置满 2026-07-20 16:26:12 +08:00
joywayer 94a78d1a4c feat(mana): CoreDefinition 加 base_mana_max/regen + cores.json 数据 2026-07-20 16:24:36 +08:00
joywayerandClaude Opus 4.8 2d764532cf docs: Mana 精实 MVP 实现计划(8 任务,MCP 运行时验证)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 16:21:16 +08:00
joywayerandClaude Opus 4.8 39e05f1f9a docs: Mana 系统精实 MVP 设计规范(待评审)
单一法杖蓝池 + 逐效果扣蓝 + 蓝空停施 + HUD 蓝条;数值取 numerical_design §2。
暂不做:递增蓝耗、infinite_spells 扣血、全局+法杖取Min、cast_delay 重构。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 16:05:06 +08:00
joywayerandClaude Opus 4.8 707e1269b7 fix: 商店防呆警告 Label 移出按钮行 + 记录 D5 端到端验收
MCP 端到端验收 D5 时发现警告 Label 原位置 (120,448) 遮挡背包/语言/设置按钮行;
移至 (250,502) 商店按钮下方空白区,实测红字警告清晰可读、不遮挡。
端到端结果:纯 Modifier 卡组点『出发下一波』被拦截且波次不推进;含 ACTION 正常进入下一波。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 15:46:19 +08:00
joywayerandClaude Opus 4.8 e65066a8fb chore: 重命名 Tools/godot-mcp-pro-v1.15.1 → Tools/godot-mcp-pro,更新 .mcp.json
- 去掉版本号后缀,路径更稳定(后续更新工具不必再改 .mcp.json)
- .mcp.json 指向新路径 server/build/index.js
- server 依赖已 npm install 就绪;node_modules 由 .gitignore 忽略,未入库

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 15:37:18 +08:00
joywayerandClaude Opus 4.8 ab6e3ce359 docs: 记录 3 个 bug 修复的 Godot 运行时验收结果
经 godot-mcp-pro(Godot 4.6.2,0 编译错误)实测:
- D1 CoreFeatureTag:tags=1 持久 [0,0,1,0],tags=3 碰撞 [0,0,0,0](旧 & bug 会误得 [0,0,1,0])
- D2 pierce:[pierce+2, spark_bolt] 子弹 pierce_remaining=2,对照组无误加
- D5 Deck 防呆:has_castable_action 四例正确,SHOP_NEED_ACTION 键解析正常

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 15:27:31 +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 dc05eeada7 fix: 修复审计发现的 3 个潜在 bug(CoreFeatureTag / pierce / Deck 防呆)
1. CoreFeatureTag 位运算串扰:feature_tags 实为单选枚举(游戏设计器 core_tab
   以 OptionButton 下标写入),但 spell_evaluator 用位与 `&` 判定,非 2 的幂
   常量会串扰(如 3 & 1 = 1 误判持久内存)。改为 `==` 相等判定,常量值保持
   与设计器下标一致;补充注释说明单选语义与未来多选(位标志)的迁移路径。
2. modifier_pierce_plus 空操作:MODIFIER 携带的 pierce 从未生效(可购买无效)。
   新增 CastStats.pierce_add,_apply_modifier 累加,_push_projectile 叠加到
   ACTION 自带 pierce。穿透修正现在生效。
3. 战前 Deck 防呆缺失:可带无 ACTION 卡组进战斗。新增
   CombatManager.has_castable_action();商店"下一波"按钮校验,无 ACTION 时
   显示警告并阻止进入(新增 SHOP_NEED_ACTION i18n 键,zh_CN/zh_TW/en/ja)。

静态审查通过;因本机无 Godot CLI 未经运行时验证,需在编辑器 play_scene 验收。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 14:46:41 +08:00