Commit Graph
223 Commits
Author SHA1 Message Date
DKChan 8bfd249402 工程(user目录隔离): 每个代码面 worktree 独立 Godot user 目录+系统测试 V3d 缺帧修正
- 机制: tools/setup_worktree_userdir.sh 在建区后生成 game/override.cfg(use_custom_user_dir + 唯一名 DungeonSweeper_<区名>_<绝对路径 sha1 前 8>), 主工作区 no-op 保持真实档原位; .gitignore 收 game/override.cfg
- 闸壳: run_all_gates.sh 参数解析后先自检/自愈本区隔离, 建不起来 exit 1(fail-closed)——并行批共用一套夹具/日志/截图目录会互相踩盘, 是假红的根源
- 读取面: 新增 tools/godot_user_dir.py 统一解析(有 override→custom dir, 无→默认 appdata/Godot/app_userdata/<config/name>); parity_anchor.py 与 analyze_playtest.py 的硬编码 APPDATA 路径改为调用它
- 流程: process-conventions §1 第 1 条(建区即跑 setup)与 §3 环境基线第 4 条(闸壳自检); iter 技能冷检出三件套→四件套(.zcode/.qoder 两份本机副本已同步, 不入 git)
- 系统测试 V3d: 隔离后空 user 目录(无 settings.cfg)使 reduced_motion 取默认 false, 实查暴露 V3d 真实缺陷——测试同步驱动整场战斗后同帧 flush, RowPacer._was_pumping 从未置真, 演播后排窗的 pump_ended 边沿不触发, _end_overlay 永不打开; 旧绿只因本机 settings.cfg reduced=true 让排播走 consume_now 快路绕过队列。补一帧 await process_frame 让泵先观测到非空队列再 flush, 恢复真实边沿路径
- 取证: 隔离空目录下 00 冒烟 17/17、02 单元与集成 62 套全绿、03 探针 --click 全绿; 01 系统测试修正前 70/1 红(仅 V3d)、修正后 reduced=true 与 false 两档均 70/70 绿
2026-10-27 05:23:13 +08:00
DKChan c4c6970101 chore(基线): 09 静态扫描记存量红(用户特批带红合并——迭代 38 收口 gdstyle 恶化 2 条:battle_orchestrator 行数 1314>1302=卡④头注必载内容、level_map_screen 类变量 22>21=卡①缓存成员;卡片义务的记账漂移非缺陷,用户裁不管恶化直接合并并特许免测试重跑;后续批次触两文件可顺带还债或经批准重生成归绿) 2026-10-26 18:08:22 +08:00
DKChan 549b006ed5 chore(迭代38·暂停收口): 用户裁暂停——分支状态完整留存——①验证集清单补提交正确重生成版(1596 条,合并解冲突时 add 先于重生成致提交版滞留 master 侧旧 1591 条——审计阻断②清偿,extract_checks --diff PASS);②W2 段注释尾缀笔误修正〔levelmap批 V1/V2〕(审计轻微项);③四份产出物落位(实现报告〔含闸红实况披露与审计结论回填〕/代拍板追认单/反哺点清单/验收审计报告)。分支尖闸面未闭合项=S13 gdstyle 恶化 2 条待用户后续裁(还债不可行已呈报,重生成基线待批);重启收口路径=裁后重跑全量域闸 → 绿回执 → 合并 master → 主区合并后零复跑 → worktree 清理 2026-10-26 16:57:50 +08:00
DKChan 0cd86469d5 fix(迭代38·闸红必修): S11 注释禁用词四处换代——并入 master 63763565(通关口径统一)后本批四处新注释踩退役词:level_runner「通关三选一」→「关卡完成三选一」+ui_click_probe 两处「通关三选一态/通关停点」→「关卡完成」族+treasure_effects_test「雷格」→「危险格」;语义零变化,对齐 master 统一口径(单关=关卡完成) 2026-10-26 16:00:28 +08:00
DKChan 416ca84aeb Merge branch 'master' into iter38
# Conflicts:
#	game/README.md
#	game/tests/验证集清单.md
2026-10-26 15:29:55 +08:00
DKChan 5b5214f40f feat(迭代38卡⑦ 调试入口批): 调试入口写死行删除(main.gd:199 发布前清理义务履行)——_debug_entry 恒缺省 false=发布态(角标恒隐、浮窗无 UI 开启口;:73/:200 两处引用契约 1 核验恰二);c2 :73 注释现状语义换代(沿革归 git log);c3/c4/c5 三处「恒开令」断言随发布态反转(system_test V2f/click 设置面/tune 对局段——c5 对局中开浮窗回归改经 _show_debug_overlay 直调承载〔:61 先例〕,置灰子断言随恒隐语义退役申报 §8.2);c6 验证集清单改判同步+本批新增断言随清单重生成(1588 条对账零差异);c7 README 运行说明发布态换代;c8 menu_boot 基线显式重制(改后 0.15% 幽灵角标消失→复闸 0.00%,README 判定记录登记);撤销证明实测=恢复 :199 单行→三处反向断言齐红→还原复绿;删除后无第三赋值、无生产开窗口(C2 单点论断复核在案) 2026-10-26 08:59:11 +08:00
DKChan d5a03db1a8 feat(迭代38卡④ 明细收敛批): 扩展行型收敛——四个专长实名行型(fx_reveal/mine_neutralized/insurance_used/fx_preview_area)收敛为单一 extended 行型+effect_id 载荷(六发射点:orchestrator 三处+grant_segment 三处,display_name/value/highlight 逐字不动);a2 _emit_row 扩展行必载 effect_id 校验(emit 之前,违约 assert 炸零发射);a3 fx_preview_area 来源类别空串违约修复(→fx_warning_beacon,对齐 fx_seal_smith 先例);a4 头注换代两层词表(基础 9 类+扩展行 1 类+四效果身份发射点指引);a5 呈现零改动核验(_format_row fallback 承载、AGG_TYPES 不含扩展行);a6 裁点甲重锚(parity_anchor freeze 改后行为立新锚+复闸三变体双面全同;改前对拍绿基线在案——stash 干净跑批实测);验收=wr2 断言五条(insurance_used〔V6 扩展〕+fx_reveal 兑付/落空〔真实揭示管线〕+mine_neutralized/fx_preview_area〔treasure 套件首次 feats 注入〕)+wr2-np 负面小套件(extended_row_violation_test,expect=1 negative,manifest 登记行)+wr3 并⑤断言;撤销证明三条实测红绿复现;JSONL 读数对拍 PASS(type 迁移计数与 T0 基线对账 264/304/0/0,字段口径外零差异——type/effect_id/source_class/source 四字段,source=logger:133 同值改名副本);改动面封闭(基础 9 类零触碰、豁免集合零变化、数值随机零变化) 2026-10-26 08:52:14 +08:00
DKChan 92ae63c299 feat(通关口径换代·提前实施卡批 T3/T4): C 面注释清扫 61 条(core 六件 29/adventure_runner 14+save_manager 9+level_runner 3+其余 3/表头注 5/enemy 768 验收判据+871 设计基准/treasure_items 11/adventure 51/meta 55/schema 4/sim 11/README 7/呈现层四件 8)+S11 豁免单 7→20 处(.tres 段 12+level_autoplay:560,头注避词「口径换代」防自撞)+tests/README S11 豁免计数 4→20 订正(quotaface 漏同步随批修)+体验验证清单 3 行(:107 关卡完成率/:193 冒险成功局数+各关完成次数+才计冒险成功/:198 引语);件核三判据过(S11 等价验证器零命中+豁免撤销证明 hero.tres:21 去豁免即红/冒险终结零命中/清单对账零差异);grep 残留=豁免单 13 行+被检字形态,非豁免残留清零——208 处基线全数消化(12 产品+111 随动+84 注释+体验清单 3+README tests 1=211 改动行,其中豁免保留 13) 2026-10-26 07:32:40 +08:00
DKChan 51c6cf56f0 feat(通关口径换代·提前实施卡批 T2): 12 测试文件 58 处标签/注释随动(save_manager_domain 8/save_slot_summary 1/adventure_feats 15/level_shop_economy 12/meta_progression_forge 9/reward_overlay 1/cross_system_flow 3/breakpoint_resume 1/save_boot_no_activate 1/curio_refresh_paid 2/table_structure_guard 2/theme_projection 3)+三探针(ui_struct wr2 摘要逐字断言+:446 禁项注释改写/ui_tune wr3+V7/ui_click 7 注释)+V4-V6 theme_projection 新增(生涯页标签换代+零残留负断言/解锁标签常量/营地最近冒险行 open_camp 直调)——断言尾缀口径换代 Vn(避退役词自撞 S11);验证集清单重生成 1591 条对账零差异;撤销证明 a6-a12 逐条闭合(V4/V5/V6/sl2/wr3/V7 各自红→复绿,ui_tune 双红验证 wr3+V7 独立钉住);修复 worktree 环境红=补拷 .import 边车与 assets 三目录(art 113 png+fonts+theme,坑册三件套完整形态) 2026-10-26 07:06:56 +08:00
DKChan 54395b8b43 feat(通关口径换代·提前实施卡批 T1): battle_narrator 六处(a1 关卡完成!/a2-a3 关卡完成回血/a4 渠道句/a5 完成关数行+:159 注释)+career_overlay 标签两处(a6 冒险成功局数/a7 各关完成次数,注释:11/:12/:36 顺改)+save_select a8(冒险成功 X 局,注释:2/:18 顺改)+ui_kit a9(解锁标签冒险成功,:211 注释顺改)+camp a10(完成 X 关)+hud a11/a12(关卡完成率/关卡完成剩余 HP 均)——A 表 12 条逐字落地;wr1 断言随动(battle_narrator_test:39/:41)+V1-V3 新增四断言(_test_level_clear_wording,直调 curio_pick_header/node_curio_header/adventure_summary_text,17 checks 孤立直跑绿);撤销证明 a1-a5 逐条闭合(回退 hunk→对应断言红→复原复绿) 2026-10-26 06:57:11 +08:00
DKChan a15370c524 feat(迭代38卡③ 效果文案批): effect_engine 校验文案计数修正——b1 fact 出域报错文案动态取 FACTS.size()(用户裁 Q 甲:两次漂移实证,禁留死数)+b2 EFFECT_KINDS 头注计数表述治理(去写死「定稿 19 行;类型实数 24」→实数以常量为准,历史笔误叙事句按禁写变更记录红线保留);wr1 断言一条(message 含词表实数 19、无「9 项」写死,effect_words_t1 ③-b 段);撤销证明=回退 b1 hunk→断言红→还原复绿(实测红绿复现);合法数据加载零变化(契约 2,errs 结构零触碰);T0 复核 FACTS 19/EFFECT_KINDS 32 双词表实数在案 2026-10-26 05:52:49 +08:00
DKChan b85b3b45e3 feat(迭代38卡① levelmap批): level_map_screen 三段审计指认落地——l1 视图直读拼文案迁装配层(main_adventure_flow 新增 level_map_status_payload 九键成品,视图 _refresh_status 改 apply_status 纯赋值,喂入点=组合根两处 open_choices 后,刷新时点不变)+l2 _layout BFS 布局缓存(键=nodes 内容等价+canvas.size,_content_size 经 _fit_canvas 派生链间接覆盖,四调用点零改动)+l3 绘制字体函数首单取三处共享;l4 改前 golden 基线新建(level_map.png+README 登记,跨跑次一致性实测 0.00%);验收=wr1 改后对拍 changed=0.00%+wr2 缓存命中/换代失效双绿(is_same 同实例判别,零生产计数器);撤销证明=回退缓存 hunk→V1/V2 红→还原复绿;呈现逐像素不变(契约 1);视图侧拼装 grep 清零(:278 tint 层号读非拼装) 2026-10-26 05:40:31 +08:00
DKChan 89605e42e6 feat(令牌配额口径清扫·提前实施卡批): 照需求卡片 v1.2(reports/需求卡片-令牌配额口径清扫批-2026-10-26.md,用户 2026-10-26 裁准提前实施并从简)落地十一处清扫+两处配套——q1 schema 头注四处(:32-36 段并单口径现行句 70/25/7/0=102、:49 位序句、:58「总量 98 锚」→102、:202 deck_total 旧 104 句按实算改写=tier_total 四档求和 102,凭证走 feat_ticket_* 不进牌库);q3 tres 头注五处(批次1 已并,本笔订正一处失实:删「配额键未载表补表归待办」句——写卡会话实查 B1 论断:ap_rare 显式载表与默认同值、rap/时沙走缺省合法,validate 含默认求和恰=常量 7 且绿,无补表义务);q4 golden README「魔法道具 HUD」→「秘宝 HUD」(采直换新名形态,不落「时名」括注以免撞 S11——卡片措辞方向内)+宿主断言标签(批次1)+验证集清单重生成 1583 条对账零差异;B4b 三处「罕见」按裁定原文保留,S11 显式留档豁免单登记 4→7 处(adventure_table:26 档名映射注+:93 与 curio_deck:130 契约④原名引述,附出处注)——补齐卡片关联同步面未列的闸口缺口。契约1 数值与断言条件零触碰(TIER_QUOTAS/三处默认/tres 数值行/条件表达式逐字不动)。卡片与待办条目随批删除(用户裁:活干完登记即毁),验收证据随本信息与下笔撤销证明留档 2026-10-26 04:59:17 +08:00
DKChan 7d2fbe158f docs(池配额账面订正·代码面): adventure.tres 头注三代混写归一运行态口径——四档锚 70/25/3/0=98 句与三档旧名「罕见」句并存的失实头注,改为四级 70/25/7/0=102(稀有档=AP 件 3/储备金袋 2/时沙 2——后两件配额键未载表、运行取 schema 缺省值,补表归待办清单在册条目)+档位构成按现行键重列+追认 b「70/25/5」锚句换 schema TIER_QUOTAS;adventure_feats_test.gd:399 断言消息「稀有/罕见档」并写换现行档名,判定零变化。运行态真值证据:schema validate 对账 TIER_QUOTAS 绿+feat_vouchers_test:85 断言 rare_sum==7 在闸在役+curio_deck.gd:43 按 kind×tier 读实例值。零行为变化(纯注释与消息字符串),代码域闸验收 2026-10-26 03:40:56 +08:00
DKChan 57b0c3a59e docs(闸分域): 判据由路径前缀改文件性质——game/ 内 .md 归文档域
- 合回闸与 run_all_gates.sh 同口径:代码域=game/ 下非 .md 的行为载体;
  game/ 内 .md 与 game/ 外一切路径=文档域;两类都有仍跑全量档
- 回执对齐(covers_tip)与 dirty_game 同步改只看代码面
- 修 git diff 默认 quotepath 把中文路径写成转义串、后缀判 .md 必失效的缺陷
- 同步 AGENTS/process-conventions/architecture/roadmap/tests README 与四份技能
- 规则评估样例:c25daa30(旧判 full、新判 docs);本批自身(docs)
2026-10-26 01:38:25 +08:00
DKChan c25daa30cd docs(迭代37结项): 批后收尾——反哺落文六处+账面换代+迭代37产出物九件退役(四卡批2026-10-25合回8faf1763)
反哺落文(reports/iter37-反哺点 逐条出账,清单随批退役):
- architecture.md v1.12→v1.13:模块归属表登记迭代37拆件新模块(CurioDeck/ShopSession/board_resolvers/main_ui_build/main_adventure_flow/main_overlay_flow/main_debug_flow/TilePalette/HeroSprite/BoardWorld 在册补行+HudPresenter 数据投影+文案拼装静态族加注;表内原无 HudPresenter 行,按新增落表)。
- 存档序列化.md:断点域豁免段注记 27 顶层键登记单源=core/adventure_runner.gd const BREAKPOINT_FIELDS(写侧 _bp_parts()、读侧 _bp_read/_bp_read_int)。
- 冒险结构.md 共享池账本节:载体注记 AdventureRunner._bonus_deck→CurioDeck(池与判定)+ShopSession(货架/定价/购买/刷新),规则文字零改动。
- code-conventions.md §1.1:新立拆分判据硬纪律——重构卡禁为迎合机检计数保留无效成员/别名,机检键与卡片契约互斥时实现段停卡呈报(反哺条7+条9口径同落;行访问器直读=db即ConfigDB,口径由该条与既有数值单点纪律覆盖)。.zcode/.qoder 两份 req-card 技能同步第13项。
- game/tests/验证集清单.md:extract_checks.py --extract --force 重生成(64源1583调用点);〔wr2〕三条走 check_quiet 通道不在提取器现行口径(旧清单同口径零条),属工具覆盖面既成事实,未扩口径。
- 反哺条4/10 批内已执行、条8 无义务、条5/6 分别由本批重生成/转待办新条出账。

代拍板:B-1~B-8 由用户 2026-10-25 结项发令整单追认(E-1/E-2 补救已入账于 P0 待办条)。

账面换代:roadmap 迭代37行=已完成(2026-10-25)+卡列/报告列退役保留字+当前位三行换代;待办清单删「game代码结构审查批」条(未决六小件迁「结构审查未立项小件候审」、gdstyle基线陈旧键迁新条)、P0「AdventureRunner职责真拆分」吸收拆分卡缺口件(撤装置计数读数/五件收编范围/验收面预案);体验验证清单录迭代37实机目检七条。

退役九件(判据逐份核对,引用面改写后 git rm):iter37 产出物五份(代拍板/反哺点/实现报告/拆分卡缺口/验收审计)+四张需求卡片(迭代已完成,roadmap 已填退役保留字)。
2026-10-25 23:46:01 +08:00
DKChan 8faf176378 merge(迭代37): 四卡合回——行为缺陷定点修+main/boardview/runner 三处判离拆件+断点字段登记单源
四卡:①d1–d19 缺陷定点修(单据归属 is_same/蓄力档分档/庆祝句柄 kill/互斥四口/模态 fail-fast/按 id 解析/数值入表/公式单点/信号契约成文)②main 组合根判离(投影/解析回调/文案三族出根+装配与流程承接四件,1506→946 行)③boardview 拆件(TilePalette/HeroSprite 出根,1219→937 行,棋盘 golden 逐像素 0.00%)④runner 拆件与断点 schema 单点(CurioDeck/ShopSession 两件出根+BREAKPOINT_FIELDS 27 键登记单源驱动写侧与两处读侧,续玩体 108 行拆六小函数)

验收凭据:全量档 15 闸全绿(回执 commit eb8d6073,domain=full,dirty_game=false,含 11 回放确定性对拍对新锚逐位全同);独立验收审计判定「可以合并」(reports/iter37-验收审计-四卡-2026-10-25.md,八项 F 处置见实现报告附录 D);卡④ 撤销证明三条 P-A/P-B/P-C 齐(含审计实跑复现 P-B);卡②③④ 等价性另有双树原始面实测(runsum 逐字节同、JSONL 行数全同、17222 行差异全为卡① d12 新增键 target_id、零值差)

域判定依据(合回闸核):本批 diff 混触 game/ 与 design/·根流程清单·reports/,故按 AGENTS 红线取全量档两域全跑回执
留痕:两处越批性质禁写面经用户当场明示授权(待办清单.md P0 条目登记与更正;生涯.md 一处行号同步);11 号对拍锚按用户裁「批准本批重锚」重制(bd71917a);新增 P0 待办「AdventureRunner 职责真拆分」登记三宿主共 25 条 S13 计数迎合装置与五件待裁缺口
遗留(归文档批/用户发令,非本批缺陷):roadmap 迭代 37 行换代与「当前位」推进、反哺点十条落文、reports/ 七件退役、实机目检七条(清单在实现报告 §5)、P0 拆分卡写卡
2026-10-25 21:50:43 +08:00
DKChan 983ce127df docs(S6~S8三闸落地收口): 静态扫描承接清单三行改在位(判据口径与豁免通道随录,S6反向引用句归人工评审面)+static_scan头注换代全量在位 2026-10-25 21:34:17 +08:00
DKChan 2cfda06114 Merge branch 's7-b1-20261025' 2026-10-25 21:22:29 +08:00
DKChan eb8d60733f merge(master): S6/S8 静态闸落地+架构对齐闭合落文+规则修订 并入 iter37(合回前最后一次并源;该批零 game 生产码,仅闸件 static_scan.sh 与文档面) 2026-10-25 21:17:35 +08:00
DKChan bd71917a53 test(重锚): 11 号对拍锚按现行行为重制(用户裁「批准本批重锚」)——旧锚 0170071d 早于迭代35 卡② 9ee393a1 的 MC 出数字段改名(level_templates→level_maps)且不含卡① d12 新增的 target_id,实测 9 项漂移的归因见实现报告附录 E(双树原始面 runsum 逐字节同、JSONL 行数全同、17222 行差异全为新键、零值差=实现不正确已排除);新锚行数面与 iter37 原始面逐项吻合;待办清单:118 补记凭据并出账对拍锚义务一项(T6 四带复算与数值标定窗口设计段义务不变) 2026-10-25 21:04:46 +08:00
DKChan d8de328ad0 工程(S7编排唯一性闸): B2/B3/B4 API符号命中⊆B1域文件集落 static_scan(S8后独立段,族内自调用豁免+豁免通道 s7-b1-exempt),盘面零存量,撤销证明红绿闭环 2026-10-25 20:58:45 +08:00
DKChan a78d3c1ed4 Merge branch 's6-signal-20261025' 2026-10-25 20:55:17 +08:00
DKChan e63de5548e 工程(S6信号纪律闸): core 信号连接禁内联 lambda 落 static_scan(S10 后独立段,豁免通道 s6-signal-exempt),盘面零存量,撤销证明红绿闭环 2026-10-25 20:45:38 +08:00
DKChan 79733fa57f 工程(S8结算禁await闸): B1域文件集await零命中落 static_scan(S13后独立段,文件集缺位自检),盘面零存量,撤销证明红绿闭环,--code 域闸全绿 2026-10-25 20:38:52 +08:00
DKChan d2c197915d merge(master): S13 基线键治本+死断言收口 并入 iter37(拆件批基线待按新键重判) 2026-10-25 17:51:34 +08:00
DKChan 48248b218b docs(件核): 退役符号注记同步——adventure_feats_test 去重身份注引用改指 CurioDeck.token_identity(拆件后宿主同名函数已出列,零行为改动) 2026-10-25 17:50:55 +08:00
DKChan 3762531781 工程(S13基线键治本): 键改文件|规则|函数名+恶化判据超登记值即红+refresh 对账与骤降守卫,基线重生成 234 条,--code 域闸全绿(回执 domain=code) 2026-10-25 17:22:39 +08:00
DKChan cef10e5291 refactor(死断言收口执行): ①V2-s4 旧单档迁移不变式删除(用户裁:世界态断言读真实磁盘、红前提本机永久不可达且不可修复判断时机——迁移本体由 save_manager_domain v0 迁移链断言覆盖;验证集清单 :69 处置列同步记删)+②V3g 营地入口护栏撤销证明完成(临时变异:选档层新档钮建钮不入册 _new_btns,slot1 取不到——system_test 实跑 [FAIL] V3g 营地入口缺失=护栏显式红,变异未入库已还原工作区清洁)+死断言候选待办条目整条删除(①已执行②已证③已修,C-2~C-6 备查随条目终结,账本 git 历史可考) 2026-10-25 16:54:03 +08:00
DKChan 714f9fc5e6 fix(S11随动): damage_math_test:36 断言标签「正主角池」加间隔号断开「正主」退役词子串(判据零改动;标签变更随维护锚同步清单——重生成承接 1543/1544 行,仅该行释义落待填)——重生成后清单进入 S11 md 整行扫描面,宿主标签须保持用语干净 2026-10-25 07:47:52 +08:00
DKChan e5ee4d04f0 refactor(runner拆件): 令牌池与商店族拆出两件+断点字段登记单源(零行为变更)
- curio_deck.gd(新增):令牌多重集/抽签/cap/凭证三计数与判定唯一宿主,随机经注入 rg 面;宿主公开面委托保持原签名
- shop_session.gd(新增):双模式货架/定价/购买/刷新入件,钱包原语留宿主经回调落账
- adventure_runner:BREAKPOINT_FIELDS 27 键登记单源驱动写侧拼装与两处读侧回退;续玩段拆为六小函数
- level_runner:商店族 21 函数转委托层,9 个成员改转发属性(类变量计数保持 38)
- breakpoint_resume_test:新增 P8 键集==写侧实拼键集与策略标签词表断言〔wr2〕
2026-10-25 07:32:20 +08:00
DKChan 1753e581a4 fix(测试面收尾): 节点图换代三件收尾——①宿主改名 node_map_templates_test→node_map_determinism(git mv 两件+run_all.gd:90 manifest+文件内 4 处自引用,断言判据零改动,直跑 exit 0);②tools/extract_checks.py 两小改(头注模板数据驱动化·批次专名与写死计数清偿·§8.3 错号订正+--carry-from 同指纹承接回填两列·旧宿主名映射)后重生成验证集清单(1067→1544 条,缺省三宿主全量口径,承接回填 986 行=理论精确值,--diff PASS 三对齐,node_map_templates/first_script/template_pick 零命中);③level.tres:16 迭代叙事清偿(删「随迭代 35 卡②」保去向事实)。工程改动直改批(2026-10-25 改动四类),待办三条目做完即删 2026-10-25 07:21:24 +08:00
DKChan 5c9c5f8083 refactor(iter37③): boardview 拆件——瓦片调色板/英雄精灵两族出根(行为等价,golden 逐像素零变)
r2-1 瓦片族(排版+素材装载+墨族判据+查表)→ views/tile_palette.gd;
r2-2 英雄族(贴图/位移/影/朝向/缩放几何)→ views/hero_sprite.gd(Node2D);
r2-3 board_view 改引+直引面换指(terrain_tile_sets_test/ui_contrast_probe),
探针与 main 的组合根直读面经转发属性/常量别名保持零改动。

S13 计数守恒:基线含类变量数/公有方法数两条计数型键,故 board_view 用 13 个转发属性
+2 个组件引用压回原计数(45 变量/27 公有方法);baselined 的 wall_tile_for/
wall_center_tile/digit_ink_mode 以查表/辅助函数重构压回阈值内(非改名保违例),
旧文件级键随函数迁出自然失效——基线文件零改动(用户令:只改代码不改基线)。

验收:terrain_tile_sets_test 19 检查绿(判据读数与迁移前同值);gdstyle 基线外新违规 0;
S9/S10 绿;probe_gate --click 全绿(含 ui_input_probe 十八断言/click 走查 0 问题);
render_gate 棋盘三图+菜单 golden changed=0.00%;撤销证明:测试改引回退旧址符号
→ SCRIPT ERROR(Parse Error: Static function "_normalize_floor_luma()" not found)+
error_scan exit 1,还原后 19 检查复绿、error_scan exit 0。
2026-10-25 06:43:03 +08:00
DKChan 2ed8166852 refactor(iter37-S13): 九条基线外漂移全部以代码压回——禁改基线口径的兑现批
- config_db 三 getter 退役(shop_relic_base_price/shop_spend_discount/hero_display_name):消费方改读公开行访问器(db.shop.* / db.hero.*),公开方法面 47→44
- shop_table.validate 单函数分步化(六个 _validate_* 子步骤):函数长度/分支数/局部变量三阈值同时回落,校验语义与报错顺序不变
- battle_end_overlay 庆祝句柄由类成员改为节点元数据承载(21→20 类变量):三处读写改 get_meta/set_meta/remove_meta,句柄单一活跃语义不变
- standee_body 死变量 _portrait_flip 删除(30→29);set_order 并入私有面(21→20 公开方法),唯一调用点同步
- 断言随动:level_shop_economy_test 读表直取;standee_fx_sweep_test d4 三断言改读节点元数据;theme_projection_test V4 蓄力档判据换代(卡① d2 已入库代码的断言补齐)
- tools/gdstyle_baseline.txt 零改动:扫描面 105 文件、基线内 229、基线外新违规 0
2026-10-25 05:47:01 +08:00
DKChan 7389618fd1 fix(iter37①): T3 验收面收口——golden 判失效换代+新码类型标注对齐现行规约
golden 换代触发原因(强制记载):棋盘三图换代面实测 changed=0.13%/0.11%/0.10%,
差异像素全落 900×760 裁剪区内(裁剪区外 0),按 README 加严口径判失效;成因定位为
2f3a87e9(魔法道具 HUD)注入 REWARD_BADGE 预读格字形,晚于 2026-10-08 建基,与本批零因果。
呈报后用户裁「重制三张基线」,经 tools/golden_baseline_refresh.sh 换代;复闸 changed 全 0.00%、
菜单 0.00% 未动。README 判定记录同步加注一条。

同批:modal_stack 合并账本改 Array[Control](类型闸 R1);新增/触碰的测试件按 test-conventions §6
补齐类型标注(FakeStage/FakeFx calls: Array[Array]、damage_controller_test 两处 db: ConfigDb),
pacing_queue_test 三条 d12 断言补〔wd12〕尾缀。直跑:standee_fx_sweep/damage_controller/
pacing_queue 三套全绿+error_scan 0;audit_type_hints PASS。
2026-10-25 05:03:03 +08:00
DKChan 353c1c6bb2 merge(master): 并入 master 新进提交(变异测试全项目清除/测试规约重编号/撤销证明口径/golden 加严/S13 基线)——本批测试面按现行规约重读复核 2026-10-25 04:23:42 +08:00
DKChan a74fa87fe5 merge(master)+二轮清扫:并回 master 新进提交(iter36 收尾/golden 纪律/S13 治本卡),冲突三处——process-conventions 取 master 新条款(回执 dirty_game 对齐判据/每批跑一次闸/复跑理由)重编号 8–14+闸件义务句维持人工确认口径,S9 卡 D4 维持全项目禁令版(master 侧旧定界句作废),状态面板瘦身卡取 master 删除(iter36 收尾已退役,清洗随亡);随批清扫——待办清单「变异测试禁令写入规约」整条删除(本批即其执行)、roadmap 待编池同步移除 2026-10-25 03:59:11 +08:00
DKChan 0529e1691c fix(iter37①): T2 呈现/组合根缺陷修——蓄力档分档·庆祝句柄·互斥四口·模态 fail-fast·站桩按 id 解析
- d2 蓄力档 `_intent_charge` 布尔分档(颜色相等判据退役,深浅金同值不再误判);d4 庆祝浮动 tween 句柄 kill 纪律(close 必杀)
- d5/d6/d7/d8 互斥四口:调试钮判据并入 `_sync_sim_button` 单点、组合根两守卫补模拟态/冒险态、`is_running()` 运行态查询面
- d9 ModalStack open/close fail-fast+遮挡账合并非覆盖(重复 open 不再吞旧账);d12 target_id 产发(damage_controller 四处)+站桩两口 id 先名兜底;d17 await 后实例守卫;d18 参数类型注解
- 断言:standee_fx_sweep_test(新增,18 项)/modal_flow_test V6-5(5 项 wd9,V6-1~4 原样同绿)/damage_controller_test target_id/pacing_queue_test 排播 target_id/system_test wd6+wd7
- 代拍板:d18 卡片字面 `lumas_out: Array[Variant] = null` 在 Godot 4.7 解析报错(typed array 不可默认 null),改用 `Variant = null`——唯一合法注法,零行为变化,随代拍板追认单留痕
2026-10-25 03:49:05 +08:00
DKChan 1b9736f065 fix(iter37①): T1 core 域缺陷修——单据归属判定/数值入表/公式单点/信号契约载体统一
- d1 伤害控制器来源敌作废判定 `==`→`is_same`(同内容异实例不再误废;夹具双敌两断言〔wd1〕)
- d11 shop 表新增 relic_base_price/spend_discount 两 knob+域检+ConfigDB 访问器+level_runner 读表;
  level_shop_economy_test 三表值断言+relic 现价读表与迁移前字面量逐位等价〔wd11〕
- d16a HeroTable.display_name+域检+访问器+unit_container 读表;spawn 真实链断言〔wd16〕
- d14 board_generator 目标雷数公式单点 target_mine_count(两调用点改引)+legality 去 db 参数(两调用点同批改)〔wd14〕
- d15 蓄力层上限 CHARGE_LAYER_CAP 常量(两处字面量+注释随动)
- d16b unit_container/status_container 六处 Dictionary 取值显式 int() 包裹(读侧包)
- d10 minesweeper 两信号按 §2.1 三要素补契约(载荷键集按发射位并集实查)+全库 28 处信号注释载体 #→##

撤销证明:回退 d1 hunk → 同容异实例断言红(A 单据被 B 死亡误废),还原复绿;
回退 d10 契约 → 契约在位扫描 undocumented=2 红,还原归零。等价类申报(d11/d14/d15/d16)见实现报告。
代拍板:#1 target_mine_count 签名(照接口块)、#2 契约措辞与载荷键并集(实查发射位)、#4 int() 读侧包写法。
2026-10-25 03:35:55 +08:00
DKChan f7dc739d16 docs(golden): 判定纪律补加严口径——棋盘三图差异落裁剪区即判失效
迭代 36 卡A 批内实际执行了加严判据(棋盘三图 changed 0.13%/0.11%/0.10% 虽远低于 2% 容差,
差异像素落棋盘裁剪区、按判失效呈报),但该口径只存在于批内记录。经用户 2026-10-25 裁决写入
README 当纪律句:铺开同类判定,防 2% 容差继续吞掉小面积真实视觉差异。

只改判读纪律句,golden_compare.py 判据与 2% 容差语义不动;启动态菜单不适用本口径。
2026-10-25 02:12:23 +08:00
DKChan e89f486aa9 merge(master)+禁令残留清扫:并回 master 新进提交(gdstyle 闸件批/S9 卡/iter36 收尾),冲突 test-conventions §8.4 保重编号版+吸收 master 新条款「判据绑可观测提交面」(措辞去变异化);随批清扫——待办清单 gdstyle/S9 两条目「变异验证义务」改撤销证明口径;S9 活卡全量改写(契约 3/T2/D2/D4/来源行/对照表列头/审计面/两轮 grilling 记录——旧「闸件豁免」定界标注经用户全项目禁令推翻,验证义务统一撤销证明,禁令条款原文保留) 2026-10-25 01:31:21 +08:00
DKChan 29e9c337a2 merge(同步 master 二): 卡② 分支再次合入 master 现态(gdstyle v0.4.0 S13 质量规则闸引入笔)——本批改动产物须过新闸后再合回 2026-10-25 00:15:41 +08:00
DKChan 01774323db feat(静态扫描S13): gdstyle v0.4.0 质量规则闸引入——tools/gdstyle.toml 只开 quality/*(format/naming/order 与 S9/S10 重叠全关,lex-error 关 INT64_MIN 已知误报,no-debug-print 显式开)+tools/gdstyle_gate.py 闸件(版本钉 0.4.0 不符即红+文件|规则|消息 三元组基线差集,仅基线外新违规判红,--refresh 人工专用)+存量基线 239 条(扫描面=产品码 core/data/presentation 100 个 .gd)+static_scan.sh S13 段(防静默空转自检)+README 速查行补 S13+待办清单条目做完删除。变异验证:hud_presenter.gd 注入重复 load 红令→还原绿;基线三验(重复跑稳定/行漂移容忍/版本钉红)全过。全量域闸绿(回执 full 档,S13 实跑 ok) 2026-10-25 00:07:55 +08:00
DKChan 678ad791da merge(同步 master): 迭代 35 卡② 分支合入 master 现态(12 笔他批改动,含 game/ 呈现层与测试工具手册批)——按 process-conventions §1「master 若被别批推进,先在分支里 merge master 解冲突、重跑本域闸再合回」执行 2026-10-24 23:08:08 +08:00
DKChan 4ed53651ce test(迭代35卡②T3 V3 补口+报告对照表): 大岔口分区域兑付断言组落地(卡片 V3 是本卡 §8 唯一无机检断言的验收点,前口漏挂——本轮补)——level_shop_economy 新增 _smoke_multi_terminal_settlement 五条:L2 现行图 Boss 终点两颗以上、min/max 两轴各自收在本路终点 Boss(末句柄 6/11 互异且都属图 Boss 集,result=victory)、区域隔离(min 路不含 max 终点、反之亦然)、任一 Boss 胜即本关收束 level_finished 恰一次且载荷 result=victory·node_id=该终点句柄(真实 runner.start_level+pick_next_node+_autoplay_battle 全程驱动,兑付停点走 continue_after_node 与 _drive_level 同口径);宿主 176→181 条全绿。实现报告补 §二·十三 实际对照表(卡片 §8.2 八行逐行给文件:行/真实入口/撤销证明对应 M1-M7 与 T1/覆盖批变异)与终版宿主读数 2026-10-24 19:45:59 +08:00
DKChan 3461e83bec test(迭代35卡②T3 尾缀对齐): 本批新落地断言补可 grep 尾缀(〔v2〕入口候选数=参数档 entry_count 与第二入口进入/〔v5〕商店三性质与扫描面非空/〔v7〕同档同种子两次产图同图·起关图=生成器直取·种子 42 两开局同图·断点重生成同图·同种子重开局同图/〔v8〕快照代差标记·句柄往返·旧断点拒绝/〔v9〕快照无已抽模板键·表无 templates 键/〔v4〕三关图各含奖励节点)+商店宿主重复段头清理——独立审计第 1 件(对照表逐行核尾缀可 grep)的执行面;四宿主复跑 21/176/138 全绿零错误行 2026-10-24 19:35:01 +08:00
DKChan d48bf10fd7 test(迭代35卡②T3 件核): 商店宿主内联变异脚手架清退——宿主自改生成图节点的 MUTATION-A/B/C/D 段(店位改战斗/reward 位改第二家店/深度出表域/型别出枚举)与配套两条 MUT 断言整体删除,测试面不再自带变异开关;V5 两条拦截证据改由生产码注入取证(node_map_generator 产图尾段店位改 rest→性质①红、battle 改 shop→性质②60/60 图与性质③738/1413 路径同时红),宿主复跑 176 条全绿 2026-10-24 19:26:44 +08:00
DKChan 6b213a21ea test(迭代35卡②T3 S3/S4/S5 收口): 商店经济宿主断言面换代(147→176 条)——图源全面改参数档生成图(_generated_graph 单点取数+_level_active_nodes 随动,模板兜底段整体删除);① S4 形状写死断言退役:节点数/五型计数/岔口数/终点数/入口数改图读数性质并加非空扫描前置(含 L1 终点恰一、L2/L3 多终点大岔口投影、L1 终点深度=参数档层高);② S3 商店编排三条性质断言(每终点前一位恰一店·店数=终点数·入口→终点全路径 DFS 恰穿一店)× 三关参数档 × 种子 42+42–61 扫描,硬编码 node_depth 8/9·穿节点 8·L1 行集零改动退役,行进面保留「到店当前节点型别=shop 且出边恰一条指终点」与「min/max 两轴路径穿店恰一·逐跳为图出边」;③ S5 跨表覆盖改真实解析链(敌侧落带≥请求深度、板侧精确命中、终点 Boss 行集按图终点深度解析)并逐关登记扫描面颗数;④ 起关签名尾参 template_pick 退役、路径自洽断言新增(句柄轴行进·方向轴分岔终点互异);⑤ 段内注释与文件头随语义换代改口径 2026-10-24 19:16:23 +08:00
DKChan 3849211621 test(迭代35卡②T3 补口): V2 多入口与 V6 定位信息两条真实入口断言补位+死注释清扫——① node_map_templates 入口停点候选数改判「=参数档 entry_count」(L3 档实测 2)并加第二入口句柄显式进入断言(变异「候选写死单入口」的拦截面,原 >=1 写法拦不住);② adventure_feats 新增 _drive_to_pref 真实选路驱动(满配赢途中战→岔口按偏好点选),据此落三断言:奖励支路经停呈三选一候选在途、点选兑付受理、进战载荷 node_depth=节点深度且命中节点句柄≠深度(变异「enc 取句柄」拦截面〔v6〕);③ round_flow 模板时代孤儿注释删除 2026-10-24 19:09:04 +08:00
DKChan 9ee3bea194 refactor(迭代35卡②T2·二口+T3 S1/S2/S6/S8): 消费侧切源落定+断言面换代主体——① level_runner 图源换代(_generator 取代模板解析,_assign_generated_graph 读 level_gen_params 参数档产图并过 LevelTable.validate_graph,违规起关拒绝零兜底)+_entry_nodes 多入口首跳+_node_id 句柄单空间+enc node_depth 取节点 depth 值;② adventure_runner/main/save_manager 模板链路退役(first_script 参数与 template_pick 计算全删,断点 template_pick 键换生成图代差标记键 graph_gen_v2,缺键旧断点 resume 显式拒绝禁静默回放);③ level.tres 三行 templates 键清出(15 张模板数据出表,行级字段留,表尾注释改指参数档+生成器);④ sim/probe 随动(run_level/run_adventure 尾参退役、MC 出数字段 level_templates→level_maps 值=关卡#主种子、探针注释性质化、boss_depth 取节点 depth 键);⑤ 断言面换代:node_map_templates 宿主整段重写为生成图确定性套(纯函数复现/换种子变图/零计数器号位依赖/单一图源/种子 42 两开局同图/断点重生成同图/缺代差键拒绝/表无 templates/收束置位三条保留),breakpoint_resume 新增 P7 六断言(快照无已抽模板键、代差标记、停点句柄与已到序往返、续玩同图、旧断点拒绝、同种子重开局同图),S8 单测随动 first_script 键清退+断点夹具换代+meta 参数面 extra 键样换 treasure_unlocked(语义保持),S2 生成图取数面三宿主替换(level_active_nodes 走参数档+种子 42,消费点深度键换 depth,round_flow 死件 _boss_depth 随删),adventure_feats 覆盖义务段改真实解析链判据(敌侧落带≥请求深度+板侧命中+非空扫描面)、奖励节点段换「图侧含件+真实选路点选呈停兑付」双断言(旧单链必经形状前提随模板消亡,非放宽:经停即呈候选由真实 pick_next_node 入口证明)、商店余额段按每关恰一店投影改三关读数 2026-10-24 18:59:57 +08:00