Files
gplan-2/design/registry/architecture.yaml
T
DKChan 6e7b5d17e9 文档正主换代+出口报告落档(T7——内容数据驱动扩展批收口)
- 奇物.md v2.8:专长效果声明换代(挂点→订阅行五处)+feats.tres 行结构字段表换代+版本行。
- 秘宝.md v1.0:效果声明形态节(被动六件订阅行/掘进蓄能受理闸数据化/desc 文案表值化)+版本行。
- 敌人系统.md v0.14:半血解锁判定点=通用事件 enemy_hp_threshold 发射点登记(非 Boss 专属——
  Boss 语义留给订阅条件判定;本批零订阅者零行为变化,R6 框架先行登记面)+版本行。
- registry/entities.yaml:专长 data_sources 换代+effect_declaration 新条(四词表封闭/组合规则六族/
  遍历序写死/每战重建时机——效果行为唯一事实源登记)。
- registry/architecture.yaml:core_decisions 新条 effect_engine_interpreter(ADR-0011 候选——
  发布订阅解释器立场+禁拦截器链边界)。
- 06-待办清单:数据驱动批状态=已实施完成收口(五提交号+闸读数+遗留两项+出口报告指路)。
- roadmap:迭代 17 卡⓪行换代(状态=已实施完成待合并)。
- active.md:快照节追加台账 381(预配号——379/380 留并行在飞三线)。
- 出口报告:design/qa/iter17-datadrive-exit-report-2026-10-06.md(各卡提交号含前任两条/六闸读数/
  MC 锚名与对拍结论/代拍板八项/遗留人闸两项+实机目检/基线既有闸项声明)。

闸读数终态:冒烟 800 项 0 失败(三闸过)· 单元 17 套全绿 · 探针闸含 click 全绿 · MC 二档对拍
40 局同种子逐位一致(off L1 4/20、formed L1 16/20 与改前逐位同值——契约两套判据全过)·
doc 三闸与熵增闸零新增(gdd_lint 2 处与 design/diagrams 越界均 stash 对比实证为基线既有)。

任务书:design/research/任务书-内容数据驱动扩展批-2026-10-06.md §六 T7。
2026-10-07 00:13:51 +08:00

72 lines
5.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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: minesweeper_event_surface
adr: ADR-0001
signals: [cell_revealed, flag_judged, round_end_board]
note: GDD 概念名 round_end 的 排雷玩法 实现实名 = round_end_board;行动经济 直发 = round_end_stopped(payload 同构)
- name: settlement_trigger
adr: ADR-0001
contract: 战斗结算 订阅 行动经济 相位→Waiting 触发结算;只读 last_round_end + 相位观测量;不依赖事件到达序
- name: presentation_subscription_rule
adr: ADR-0001
contract: 呈现层永不直接订阅 排雷玩法/行动经济——只订 战斗结算 步骤流 / level_runner(切片缺陷②教训固化)
api_decisions:
- name: renderer
adr: ADR-0002
decision: gl_compatibility(Forward+ 否决——D3D12 新驱动线降险;战斗表现 出现 HDR 2D 需求时复议)
- name: window_base
adr: ADR-0002
decision: 1280×800 基座 + stretch canvas_items + aspect expand(全部键显式落盘,防引擎默认漂移)
- name: autoload_set
adr: ADR-0003
decision: 仅 {ConfigDB, RngService}(定名锁定);战斗编排器等核心类由组合根按局实例化,非 autoload
- name: board_rendering
adr: ADR-0003
decision: MVP 沿用切片 GridContainer + 逐格控件形态(探针耦合事实);_draw() 迁移 = HUD框架 正式化候选工作项(含三探针改造 + push_input 端到端探针 + 命中测试自建)
- name: cjk_font
adr: ADR-0003
decision: CJK 字体随包发行并设 theme 默认字体(运行时默认字体无 CJK 字形)——HUD框架 正式化硬性前置 + 导出 checklist 项
- name: test_carrier
adr: ADR-0004
decision: 双载体(--headless --script 逻辑冒烟 + headless 场景探针)+ 静态扫描域 S1–S8 + CI 外部 wall-clock 超时;gdUnit4 deferred(数据配置 OQ1 关闭形态)
- name: save_contract
adr: ADR-0005
decision: SCHEMA_VERSION 比较逻辑归 存档序列化(存档版本 > 当前 = 拒读);RNG 快照 = master_seed + 各流 scope 计数器 + 意图/窗口选择序列,切出须在 scope 事件边界外(无在飞 open_stream 实例——战斗结算 编排保证)
core_decisions:
- name: effect_engine_interpreter
adr: ADR-0011(候选——内容数据驱动扩展批 2026-10-06)
decision: 内容效果行为=发布订阅解释器(EffectEngine)——结算管线同步 emit 事件(无队列无异步),内容行以「订阅哪个事件 on / 什么条件 when / 什么效果 do」声明订阅,解释器遍历持有订阅集返回按声明序排列的命中,发射点按组合规则施加;旧 23 挂点枚举与按件 id 特判消亡
note: 事件/效果类型/条件事实/算子四词表封闭于 EffectEngine 常量(单一事实源,schema 校验引用);遍历序=数据表声明序写死保种子复放;订阅重建=每战 begin_battle(中途获得下一战生效);不做通用拦截器链,改写窗口=判定点就地按声明序施加(R2 裁决)
forbidden_patterns:
- pattern: autoload_global_event_bus
adr: ADR-0001
detail: 否决中心事件总线——组合根直连 signal 接线
- pattern: lambda_capture_self_cross_lifetime
adr: ADR-0001
detail: core↔core 信号连接只许方法 Callable;发射者禁持有订阅者反向引用(防循环引用/生命周期延长)
- pattern: bare_autoload_global_identifier_in_core
adr: ADR-0004
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——数据配置 Rule 5 补全)
- pattern: core_extends_control_or_tscn_preload
adr: ADR-0004
detail: core/ 禁 extends Control/Node2D、禁 .tscn preload(数据配置 Rule 7)
- pattern: second_caller_of_battle_domain_apis
adr: ADR-0004
detail: 敌人系统/增益状态/地图战斗资源 战斗域 API 唯一调用方 = 战斗结算;排雷玩法/增益状态/地图战斗资源 零相互直调(静态扫描 S7——战斗结算 AC-43)
- name: hero_override_parameter_passing
adr: ADR-0009(候选——切片机制正式化批)
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 ⑦⑧ 为表不可变 + 单次加成的回归断言载体