b206120b8e115370e16c8e87b6b68c3613f8c3f6
背景:EffectEngine 持运行时账本 _counters(effect_engine.gd:87)被判违反
ECS「系统无状态」原则。目标形态=引擎退化为纯计算引擎,计数器按
round/battle/level/adventure 四桶外置、由各生命周期宿主持有并随宿主生灭,
事件触发时经 ctx 传入;counters_export/seed 搬运链整段删除。
本文件为提案草案(非需求卡片),经 2026-10-19 三轮 code-level 复核:
§2 现状实查(行号全部实核:effect_engine.gd 五行 +3 偏移系迭代 31 卡②
forgive_seal_miss 扩签插入三行;硬编码清除名单在 adventure_runner.gd:840-842;
断点写键 :1035;现役 distinct counter_id 共 16 枚非 13;写口 6 处非 5,
漏 grant_segment.gd:327 即卡②保险记账唯一通路;读口 5 处非 2)
§3 目标形态:四桶宿主(LevelRunner/BattleOrchestrator×2/RunLedger)+
id 前缀归属(round_/lvl_/adv_/无前缀=meta_非法)零运行时机制
§7 N1–N6 全部由既有约束推得定值(非裁决单),采集问题按 sim-data 配套
纪律⑦「零数值改动=零 MC」定不发起
§7.8 run_ledger.gd:42 判空早退缺陷全解:自锁(全新开局连玩则 adventure 域
四枚整局不落账,唯一解锁=断点回填 :206-208);git log -S 实证该守卫由
6fd7d782 迭代 27 T3 逐字搬入,旧形态下合理(判共享引用有效性),收口后
判据与被防风险脱钩
§4.1 验收测试清单 13 条(机制正向验收为主力)
§4.2 载体可达性核验:仅 C2/E1E2 闭合,余半闭合或未闭合
§4.3 未闭合项 U1–U6
§4.4 实现设计缺口 A1–A8(A1 ctx 结构/A2 桶接口/A3 树合成行漏前缀校验为阻塞级)
§4.5 需求澄清未对齐 B1–B6
状态:设计未闭合,尚不可写需求卡片。
已知行为变更(修后):twin_digs 真跨战累积;tree_sense 锋/守由「每战限 2
次」修回「每关限 2 次」=显著削弱(一关 4–5 战,理论上限比 4–5:1),系回到
设计意图(effect_engine.gd:140 注释),不构成数值改动。
反哺点(本批为文档产物,不落 design/):①architecture.md 缺「系统无状态」
原则条目(ECS 依据目前仅在 2026-10-19 会话裁定中);②06-待办清单:627
「计数器寿命域未统一」解法方向被本提案推翻;③entities.yaml counter_id 前缀
规则;④tree_sense 削弱登记 07 目检;⑤roadmap 当前位 stale(仍写迭代 31
待开工,卡②已合入)。
范围:代码+文档,不含美术。零待裁点(A1/A2/A3/A6/A7 由本轮自行补齐)。
Languages
GDScript
56.2%
HTML
29.4%
Python
12.1%
Shell
2.2%
GDShader
0.1%