DKChan b206120b8e docs(research): 效果引擎无状态化提案 v1——计数器四桶外置·搬运链删除
背景: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 由本轮自行补齐)。
2026-10-19 19:14:20 +08:00
S
Description
dungeon-sweeper
73 MiB
0 Stars 2 Watchers 0 Forks
Languages
GDScript 56.2%
HTML 29.4%
Python 12.1%
Shell 2.2%
GDShader 0.1%