Commit Graph
540 Commits
Author SHA1 Message Date
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 2dd3ec5640 merge(master): S9 类型闸修复批与两条工程条目出账 并入 iter37(收口前最后一次并源)
三处冲突全部按「取我方结构+确认对方注解已落新址」处置,零丢弃对方改动:
- main.gd:四解析函数体已由卡② r1-2 搬入 board_resolvers.gd,master 给 _identity_lookup 补的 -> Variant 在新件 identity_lookup:28 同形在位;build_adventure_params 的 SaveManagerCore/MetaProgressionCore 注解经自动合并落住(main.gd:367)
- views/battle_stage_view.gd:卡① d12 已改 (target_id: String, display_name: String) -> Variant,master 对旧一参形态的注解属同址更新,取我方
- views/board_view.gd:查表族/明度归一族已由卡③ r2-1 搬入 tile_palette.gd,master 的 lumas_out: Variant 注解在 tile_palette.gd:134 同形在位
待办清单.md:我方 P0 条目与 master 删两条已完成工程条目自动合并(64 条,S9/S13 条目出账)

合并后复核:13 个触及脚本 --check-only 零 Parse Error;master 修好的 S9 类型闸 PASS(其 26 处补注解零丢失、本批九新件零命中);gdstyle 216/216 基线内、新违规 0、恶化 0
2026-10-25 18:59:27 +08:00
DKChan b95879debb Merge branch 'master' into s9-typegate-20261025 2026-10-25 18:13:37 +08:00
DKChan 6b23bc46f1 fix(闸况): 全量档首跑四条新红处置三条+产出物三件落 reports/
- S11 禁用词:minesweeper_rules.gd:9/:10 契约注释两处「雷格」改规范名「危险格」(术语表退役词对照 :143 已裁替换,本批 d10 补契约时用词违表)
- V8 字符串 Callable:level_runner._bind_shop() 三处 Callable(self, "x") 改裸方法引用(Godot 4 方法名即值;迭代 27 T6 方法引用换装闸判据),source_guard_test 8/8 绿+level_shop_economy 186/curio_refresh_paid 21 绿
- 10 熵增闸图像越界:删除仓库根在途临时目录 .iter37-logs/(黄金图诊断 PNG 11 张与回退备份件,均未入库;撤销证明读数已转录实现报告附录 B)
- 产出物:实现报告(四卡实际对照表+卡④ 等价三证+27 键单源对照+七条披露+目检总清单+附录 A/B/C)、代拍板追认单、反哺点清单
- 08d 引用可核红项一处待裁:design/gdd/systems/跨局循环/生涯.md:55 指 adventure_runner.gd:1007-1018,本批 1050→989 行使引用超界,修复位在禁写面 design/
2026-10-25 18:09:30 +08:00
DKChan ccd31de9ce 工程(S9类型闸正则修复): FUNC_DECL 认行尾冒号与 static 前缀两洞修复,存量 29 处补类型注解零行为变化,--code 域闸全绿(回执 domain=code) 2026-10-25 17:56:36 +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 c99c23fba3 chore(iter37②): 五件新 .gd 的 .uid 边车补录(--editor 刷新生成;三件同步纪律) 2026-10-25 06:42:25 +08:00
DKChan b0d92524fe refactor(iter37②): main 组合根判离——投影/解析回调/文案三族出根+装配与流程承接四件(行为等价)
- r1-1 数据投影五函数 → HudPresenter 静态族(status_data/status_curios/career_data/save_select_data/camp_data,依赖面显式参数化)
- r1-2 只读解析回调四函数 → 新件 board_resolvers(有态绑定:db+调试浮窗+结算活态取值三参注入,产出三解析 Callable+override 拼装;注入点改引)
- r1-3 文案拼装三件 → HudPresenter(gp_summary_text/bonus_summary_text/phase_text)
- r1-4 探针直引零改动:_camp_data/_status_data/_gp_summary_text 三件薄委托原签名转发(ui_click/ui_struct 直调面不动)
- 范围扩展(用户令「全部改代码」下压 S13 文件长度线):_build_ui 拆八步 → main_ui_build;冒险/覆盖层/调试流程族 → main_adventure_flow / main_overlay_flow / main_debug_flow(逐字搬运,成员访问改 root 前缀);诊断转储接线留在组合根(source 扫描断言零改动)
- main.gd 1506→946 行(S13 ≤999 达标);九条基线外漂移经代码压回后扫描 229/229、新违规 0,tools/gdstyle_baseline.txt 零改动
- 等价证据:hud_presenter_test / pacing_queue_test / theme_projection_test(162 项)/ modal_flow / standee_fx_sweep / player_copy_sweep / source_guard / meta_progression_forge / breakpoint_resume / level_shop_economy 全绿;probe_gate --click --full 全绿(click 问题=0);冒烟 17/17;S9 类型闸 PASS;撤销证明(删 gp_summary_text 承接体→Parse Error 红→还原复绿)在案
2026-10-25 05:47:46 +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 b3f9b448e6 style(类型闸): level_table 图校验 by_id 改参数化字典——清偿迭代35卡② 引入的 S9 存量红
validate_graph 拆段时新写的 `var by_id: Dictionary = well["by_id"]` 命中 S9 R1
(显式非参数化容器注解),使 09 静态扫描在代码域批恒红。改为 Dictionary[int, Dictionary]
+assign 显式收编(Variant 不能隐式赋给参数化字典,实测报错后改此形态),行为逐字不变。
单测 level_table_validate_test 17 项全绿。
2026-10-25 03:28:27 +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 39cdc4f671 style(迭代35卡②自查): 本批唯一真新增的 S13 质量违规自修——图校验单点 validate_graph(新写函数 72 行/20 分支/12 局部,超阈值且无基线可赖)按判据分段拆成 _check_nodes_wellformed/_check_edges/_check_terminals/_check_reachabilities 四段静态件,短路次序与错误类别词表逐字不变(良构错先于出边错、出边错先于入口终点检、再可达性检),〔v1〕17 条夹具断言复跑全绿零改判据;闸余 12 项经逐条对基线旧值核实为存量债计数漂移(cross_validate 159→107 行/31→21 分支系本批删跨表④所致的改小,level_runner 类变量 40→38、start_level_external 参数 8→7、其文件长度违规已消失,main.gd 1509→1507,resume_adventure 104→108 行为断点代差标记检查)——处置口径待用户裁(随批重生成基线/退 S13 批自修/本批重构),本笔不动 tools/gdstyle_baseline.txt 2026-10-25 00:22:55 +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 0c5cd428ba fix(迭代35卡②件核补口二): ui_click_probe 续玩夹具断点形态换代——该探针段由别的批次新写入,仍带已退役的 template_pick 键且缺生成图代差标记键,resume_adventure 按契约显式拒绝该旧形态,致「续玩重建后加算区 atk=5 回填」「续玩重发开场行」两条前提失守(03 探针 --click 现红);夹具键换 graph_gen_v2: 1 后件核复扫全仓 template_pick/first_script/active_template 零引用(仅剩反向断言的键名引用) 2026-10-24 23:21:40 +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 11708066dc fix(迭代35卡②件核补口): ui_struct_probe ⑦resume 夹具断点补生成图代差标记键 graph_gen_v2——断点契约换代后缺该键即 resume_adventure 显式拒绝,探针的「续玩恢复后胜利总结面」断言因夹具属换代前形态而中断(03 探针 --click/04 探针 --full 基线绿→现红两处同源);直跑 res://probe/ui_struct_probe.tscn 复验全屏结构断言零红 2026-10-24 19:59:06 +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 548cd2da74 fix(迭代35卡②T3 件核): 两枚画面探针起关尾参残留清理(board_shot/type_glow_shot 仍传已退役的 template_pick=0, arity 不符会被渲染闸拦下) 2026-10-24 19:13:39 +08:00
DKChan 78924fddbd style(迭代35卡②T3): 静态扫描 S9 类型闸归零——R1 无类型容器三处参数化(level_runner 参数档/生成图持有变量、level_table validate_graph 逐节点变量改 Dictionary[Variant, Variant]);产品码类型闸与 node_map_templates 宿主同跑复验绿 2026-10-24 19:11:22 +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
DKChan 53426fd073 docs(测试工具手册): game/tests/README.md 升级手册形态——头部三线分工声明(介绍=手册/规则与时机=test-conventions/闸清单=run_all_gates.sh 唯一落点)+工具速查表八件(判什么/结果谁判/什么时候用)+测量件发起规则指路;test-conventions.md 分工句原位扩一行指针(不推移行号);待办清单登记 gdstyle 引入条目(工程直入,2026-10-24 会话实测三件证据)。全量域闸绿(回执 full 档,07 doc_link 较基线改善)。gdstyle v0.4.0 兼容实测见待办清单条目现状节 2026-10-24 18:28:43 +08:00
DKChan 98c61d50c3 refactor(迭代35卡②T2·一口): 跨表校验④「关卡节点→敌/板覆盖与多终点 Boss 共带」随静态节点数据消亡整体退役——两条拦截语义改由运行时断言承接:顶 clamp 消解禁=〔v11〕「解析落带 ≥ 请求深度」、多终点 Boss 带键互异=〔v11〕逐终点带键两两比对(拦截面从表内静态代理升级到消费图本体,无削弱);其单测段 _test_level_node_band_rules 与随它而存的四个 preload 一并退役(fv15/fv16/fv17 三条判据的现役等价面在 level_shop_economy〔v11〕与 level_table_validate〔v1〕)
- 覆盖不降级的依据:生成图深度域实测 L1 0–6/L2 0–9/L3 0–13 为模板池深度域(0–4/0–9/0–9)的超集,且 〔v11〕扫描面三档×20 种子逐节点核敌带与板精确行
- save_manager 首次冒险位注释随确定性承载换代改口径(首局固定种子 42+参数档生成图,无兜底模板),键与行为零改动
- run_all 59 套件全绿
2026-10-24 16:08:57 +08:00
DKChan c0dd442060 feat(迭代35卡②T1): 加载校验换代——LevelTable.validate_graph(nodes) 静态单点承载四检+良构基底(①入口≥1 且终点≥1 ②全员从某入口可达且可达某终点 ③终点恒 Boss 且 Boss 无出边 ④出边目标深度严格大于源=无环;良构=句柄唯一·出边全命中·type 五类枚举·battle 带深度),表加载期图校验与旧六判据(Boss 恰一/战斗≥2/单链末 Boss/前三位纯战斗/出度≤2/Boss 编号最大)连同模板池校验分支、BFS 层宽≤5 一并退役,行级校验保留
- 新宿主 tests/unit/core/level_table_validate_test.gd〔v1〕15 条(正例三形:多入口多终点/含岔口单终点/单链退化显式出边;负例八类;范围反证三条:无商店图不报错·双入口合法·缺 next 字段仍拒)+run_all manifest 登记一行(59 套件全绿)
- 判据②与④在 DAG 上互斥的实证:无环图每个源点必为入口、每条极长路必止于终点,故「孤儿/断头」构造不出独立负例——② 保留为 ④ 失效时的纵深防御面,测试以两独立链正证不误伤(该关系拟入反哺点,文档判据②的表述宜注明其兜底定位)
- 旧断言随动四条(声明,非静默放宽):level_shop_economy ③ 段整段改走 validate_graph 并把「入口唯一违例」翻为合法正例、「孤儿」改为非 Boss 终点;level_map_type_vis 夹具注释订正;round_flow_skill_pool 敌表池清单 20→28 行补齐覆盖批八行池克隆键;board_gen_reward「(2,3) ceil 上取」改判精确命中并以临时摘同行的夹具面保留 ceil 能力判据(覆盖批补齐键域后旧判据对象消亡)
- 件核:全仓 grep 六判据消息文本零残留(唯一余留在 level.tres 表尾模板生成史注释,随 T3 模板清出一并消失)
2026-10-24 15:52:21 +08:00
DKChan 3e4e2c4ba9 fix(零碎修复): 迭代36收尾两件——click_probe 断点段补偶发失败故障指纹打印(仅失败路径输出,定位「战败清断点」偶发问题的写入者)+player_copy_sweep_test.gd 的 .uid 边车补齐(闸跑批时生成、漏随批提交) 2026-10-24 10:20:34 +08:00