fix(slice): 战斗阶段七项修复 + 顺手修七项 + 文档口径收编(含全仓语义命名清理)
代码修复(垂直切片,冒烟 193/193 · 三探针全绿): - 遭遇流盐值修正(旧值超 int64 被截断,与 registry 黄金向量不符)+ 黄金向量断言入冒烟 - 完美排雷第二份按身份类型真实兑付;零兑付不发高光行;失败记"奖励未生效"行 - 轮内刷新图 provenance 守卫:刷新图清图不发清图奖励 - 可推理率求解器禁读雷位真值(no-peek)——L1/L2 实测 0.953/0.951、一次生成即达标 - 清图分类改传真实旗集(空旗集捷径会误判批次优先级) - 达标判定回归单一判据(可推理率 ≥ 及格线) - 等待期(Waiting)刷新通道整体拆除——非清图轮恒同图 顺手修:清图轮剩余 AP 当场清零 + 耗尽轮断言;degraded_product 降级标记;产物雷数 ≤N 断言; 明细流水"无来源即炸"及两层豁免成文;主角零值伤害行;窗口段三锚行(13→15 类行协议); 图标键 fail-fast + 补齐暴走/失衡两键。 文档:可选类注入递减基准改"按实际获取件数"、首件保证改"必注入"口径(+未挖到不补发待办); 教学位掷骰口径自洽;标错反噬三池收编(状态表四行→六行);行协议 13→15 与豁免清单回写 《战斗结算》与 registry,下游引用同步收敛。 另含:全仓旧代号→语义命名清理(注释/标识符,81 文件);CLAUDE.md 登记 Godot 路径与验证命令。
This commit is contained in:
1 parent
9cca04c9af
commit
cb548776e0
89 files changed
+2139
-2230
No files matched your search
@@ -1,24 +1,25 @@
|
||||
# Architecture Registry — Dungeon Sweeper
|
||||
# 生成:2026-09-12(/architecture-decision solo 批:ADR-0001~0004;用户授权代决)
|
||||
# 规则:只增不改;立场变更 = 旧条目标 status: superseded_by + 新增条目(永改既有条目)
|
||||
# 命名注记(2026-09-15):A1–D6 系统代号已清偿为中文规范名(对照表见 design/gdd/02-系统清单.md);interfaces 两条目键名同批改领域命名(a2_event_surface→minesweeper_event_surface、b1_settlement_trigger→settlement_trigger)。
|
||||
# 设计层立场(状态归属/接口契约/锚验收)登记在 design/registry/entities.yaml——本文件只登记实现级架构立场
|
||||
|
||||
interfaces:
|
||||
- name: a2_event_surface
|
||||
- name: minesweeper_event_surface
|
||||
adr: ADR-0001
|
||||
signals: [cell_revealed, flag_judged, round_end_board]
|
||||
note: GDD 概念名 round_end 的 A2 实现实名 = round_end_board;A3 直发 = round_end_stopped(payload 同构)
|
||||
- name: b1_settlement_trigger
|
||||
note: GDD 概念名 round_end 的 排雷玩法 实现实名 = round_end_board;行动经济 直发 = round_end_stopped(payload 同构)
|
||||
- name: settlement_trigger
|
||||
adr: ADR-0001
|
||||
contract: B1 订阅 A3 相位→Waiting 触发结算;只读 last_round_end + 相位观测量;不依赖事件到达序
|
||||
contract: 战斗结算 订阅 行动经济 相位→Waiting 触发结算;只读 last_round_end + 相位观测量;不依赖事件到达序
|
||||
- name: presentation_subscription_rule
|
||||
adr: ADR-0001
|
||||
contract: 呈现层永不直接订阅 A2/A3——只订 B1 步骤流 / level_runner(切片缺陷②教训固化)
|
||||
contract: 呈现层永不直接订阅 排雷玩法/行动经济——只订 战斗结算 步骤流 / level_runner(切片缺陷②教训固化)
|
||||
|
||||
api_decisions:
|
||||
- name: renderer
|
||||
adr: ADR-0002
|
||||
decision: gl_compatibility(Forward+ 否决——D3D12 新驱动线降险;B5 出现 HDR 2D 需求时复议)
|
||||
decision: gl_compatibility(Forward+ 否决——D3D12 新驱动线降险;战斗表现 出现 HDR 2D 需求时复议)
|
||||
- name: window_base
|
||||
adr: ADR-0002
|
||||
decision: 1280×800 基座 + stretch canvas_items + aspect expand(全部键显式落盘,防引擎默认漂移)
|
||||
@@ -27,16 +28,16 @@ api_decisions:
|
||||
decision: 仅 {ConfigDB, RngService}(定名锁定);战斗编排器等核心类由组合根按局实例化,非 autoload
|
||||
- name: board_rendering
|
||||
adr: ADR-0003
|
||||
decision: MVP 沿用切片 GridContainer + 逐格控件形态(探针耦合事实);_draw() 迁移 = D1 正式化候选工作项(含三探针改造 + push_input 端到端探针 + 命中测试自建)
|
||||
decision: MVP 沿用切片 GridContainer + 逐格控件形态(探针耦合事实);_draw() 迁移 = HUD框架 正式化候选工作项(含三探针改造 + push_input 端到端探针 + 命中测试自建)
|
||||
- name: cjk_font
|
||||
adr: ADR-0003
|
||||
decision: CJK 字体随包发行并设 theme 默认字体(运行时默认字体无 CJK 字形)——D1 正式化硬性前置 + 导出 checklist 项
|
||||
decision: CJK 字体随包发行并设 theme 默认字体(运行时默认字体无 CJK 字形)——HUD框架 正式化硬性前置 + 导出 checklist 项
|
||||
- name: test_carrier
|
||||
adr: ADR-0004
|
||||
decision: 双载体(--headless --script 逻辑冒烟 + headless 场景探针)+ 静态扫描域 S1–S8 + CI 外部 wall-clock 超时;gdUnit4 deferred(D2 OQ1 关闭形态)
|
||||
decision: 双载体(--headless --script 逻辑冒烟 + headless 场景探针)+ 静态扫描域 S1–S8 + CI 外部 wall-clock 超时;gdUnit4 deferred(数据配置 OQ1 关闭形态)
|
||||
- name: save_contract
|
||||
adr: ADR-0005
|
||||
decision: SCHEMA_VERSION 比较逻辑归 D3(存档版本 > 当前 = 拒读);RNG 快照 = master_seed + 各流 scope 计数器 + 意图/窗口选择序列,切出须在 scope 事件边界外(无在飞 open_stream 实例——B1 编排保证)
|
||||
decision: SCHEMA_VERSION 比较逻辑归 存档序列化(存档版本 > 当前 = 拒读);RNG 快照 = master_seed + 各流 scope 计数器 + 意图/窗口选择序列,切出须在 scope 事件边界外(无在飞 open_stream 实例——战斗结算 编排保证)
|
||||
|
||||
forbidden_patterns:
|
||||
- pattern: autoload_global_event_bus
|
||||
@@ -50,15 +51,15 @@ forbidden_patterns:
|
||||
detail: core/ 禁裸引用 ConfigDB/RngService 全局标识符(--script 模式不注册——parse error;构造注入 only)
|
||||
- pattern: global_rand_functions_in_gameplay
|
||||
adr: ADR-0004
|
||||
detail: randi()/randf()/randf_range() 与 randomize() 同禁(全局 RNG 绕开 RngService——D2 Rule 5 补全)
|
||||
detail: randi()/randf()/randf_range() 与 randomize() 同禁(全局 RNG 绕开 RngService——数据配置 Rule 5 补全)
|
||||
- pattern: core_extends_control_or_tscn_preload
|
||||
adr: ADR-0004
|
||||
detail: core/ 禁 extends Control/Node2D、禁 .tscn preload(D2 Rule 7)
|
||||
detail: core/ 禁 extends Control/Node2D、禁 .tscn preload(数据配置 Rule 7)
|
||||
- pattern: second_caller_of_battle_domain_apis
|
||||
adr: ADR-0004
|
||||
detail: B2/B3/B4 战斗域 API 唯一调用方 = B1;A2/B3/B4 零相互直调(静态扫描 S7——B1 AC-43)
|
||||
detail: 敌人系统/增益状态/奖励道具经济 战斗域 API 唯一调用方 = 战斗结算;排雷玩法/增益状态/奖励道具经济 零相互直调(静态扫描 S7——战斗结算 AC-43)
|
||||
|
||||
- name: hero_override_parameter_passing
|
||||
adr: ADR-0009(候选——切片机制正式化批)
|
||||
decision: 主角加成值经 encounter 显式参数传入(begin_battle 增 hero_atk/hero_max_hp 字段;B2.spawn 增 atk_override/max_hp_override 参数,-1 = 表值兜底)——db.hero 表值运行期只读(切片原表写通道 _apply_hero_override/runner 写表废除)
|
||||
note: 2026-09-13 E4 收口;接口漂移 = B2.spawn 签名 +2 参数、B1 encounter +2 字段(正式侧 B1/B2 GDD 修订随 ADR-0009 批);ui_tune_probe ⑦⑧ 为表不可变 + 单次加成的回归断言载体
|
||||
decision: 主角加成值经 encounter 显式参数传入(begin_battle 增 hero_atk/hero_max_hp 字段;敌人系统.spawn 增 atk_override/max_hp_override 参数,-1 = 表值兜底)——db.hero 表值运行期只读(切片原表写通道 _apply_hero_override/runner 写表废除)
|
||||
note: 2026-09-13 E4 收口;接口漂移 = 敌人系统.spawn 签名 +2 参数、战斗结算 encounter +2 字段(正式侧 战斗结算/敌人系统 GDD 修订随 ADR-0009 批);ui_tune_probe ⑦⑧ 为表不可变 + 单次加成的回归断言载体
|
||||
Reference in new issue
Block a user