From 5a5328f427a6b99329243c42d2f19c84af25d824 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Thu, 29 Oct 2026 08:00:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=AD=E4=BB=A342=E6=94=B6=E5=B0=BE=E6=9B=B4?= =?UTF-8?q?=E6=AD=A3:=20=E5=AE=9E=E7=8E=B0=E6=8A=A5=E5=91=8A=E4=B8=89?= =?UTF-8?q?=E5=A4=84=E2=80=94=E2=80=94V4=E8=A1=8C=E8=A1=A5run=5Ftime=5Ffat?= =?UTF-8?q?al=5Ftest=E5=A4=8D=E7=94=A8=E4=B8=8Ewr5=E6=94=B9=E5=9D=80?= =?UTF-8?q?=E6=B3=A8=E8=AE=B0/=E5=86=B3=E5=AE=9A=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E8=A1=A5=E7=AC=AC7=E6=9D=A1(L1=E5=B0=B1=E5=9C=B0=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D+=E5=8B=98=E8=AF=AF:=E5=85=88=E5=89=8Dstash=E5=AF=B9?= =?UTF-8?q?=E7=85=A7=E6=A0=91=E5=9C=A8=E5=8D=A1=E2=91=A0=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E6=80=81=E9=9D=9Emaster=E5=8E=9F=E6=80=81,=E5=AD=98=E9=87=8F?= =?UTF-8?q?=E8=AF=AF=E5=88=A4=E5=B7=B2=E6=9B=B4=E6=AD=A3)/=E5=AD=98?= =?UTF-8?q?=E9=87=8F=E7=BA=A2=E6=B8=85=E5=8D=95=E6=9B=B4=E6=AD=A3=E4=B8=BA?= =?UTF-8?q?9=E5=A5=97=E4=BB=B6=E4=B8=8E=E5=9F=BA=E7=BA=BF=E7=99=BB?= =?UTF-8?q?=E8=AE=B0=E9=80=90=E9=A1=B9=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reports/iter42-实现报告-2026-10-29.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reports/iter42-实现报告-2026-10-29.md b/reports/iter42-实现报告-2026-10-29.md index 7cfc3eb7..5d38aede 100644 --- a/reports/iter42-实现报告-2026-10-29.md +++ b/reports/iter42-实现报告-2026-10-29.md @@ -20,7 +20,7 @@ |---|---|---|---|---|---|---|---| | V1 | 键 1/2/3/4——_paint_cell 拆五段+rebuild 构建器 | board_view.gd `_paint_cell` 拆 `_paint_cell_ink/_paint_cell_base/_paint_cell_facade/_paint_cell_overlays/_paint_cell_fog` 五段+`_build_cell_unit` 出函 | 复用 type_glow_test(48 checks 绿)/theme_projection_test._smoke_type_glow(163 checks 绿)/player_copy_sweep_test(22 checks 绿);render_gate 棋盘 golden 三张 | 单元+探针+golden | BoardView.rebuild()→refresh()→type_glow_probe();board_shot_probe 真实场景帧 | 既有断言面+golden 逐像素 | 绿——三套件全绿(theme_projection 的 163 checks 全过;该套件 FAIL=存量红,见 §6-①,与本改动无涉);golden 有 diff 与 stash 对照逐位同值(L2/L3 0.00%、L1 2.74% 双侧同值——见 §6-③) | | V3 | 键 9——_enter_node 载荷合并 | level_runner.gd shop 分支双 return 并单 return(payload 变量,两字典逐字保持) | 新增 level_shop_economy_test.gd:_test_shop_node_entered_payload〔尾波 V1〕四断言 | 单元 | LevelRunner.start_level(_external)→pick_next_node 进 shop 节点 | node_entered 信号载荷(pool 含 shelf:true 且 gp=进店钱包现值 27;legacy 无 shelf 键且 gp=现值 30) | 绿——套件 192 checks 全绿(exit 0) | -| V4 | 键 10——装板域拆件 | board_installer.gd 新建;battle_orchestrator 六函数迁出、复位块留薄壳 `_install_and_reset`、三调用点改址、`_board_generator` 成员退役 | 复用 variant_placement_test(49 checks)/round_flow_skill_pool_test(129 checks)/seal_polarity_test(70 checks)+run_smoke(15 项) | 单元+集成 | BattleOrchestrator.begin_battle()/player_request_refresh() | 同种子变异布置逐位断言面+全战斗步骤流逐行回放断言(board_gen/variant_place 取号序零漂移由同种子断言钉住) | 绿——三套件+冒烟全绿;键 10 归绿(文件长 916≤1000 键消失)、类变量实测 37 | +| V4 | 键 10——装板域拆件 | board_installer.gd 新建;battle_orchestrator 六函数迁出、复位块留薄壳 `_install_and_reset`、三调用点改址、`_board_generator` 成员退役 | 复用 variant_placement_test(49 checks)/round_flow_skill_pool_test(129 checks)/seal_polarity_test(70 checks)/run_time_fatal_test(负套件 exit=1,wr5 棋盘生成半边随拆件改指 BoardInstaller 新组装点——见 §5-7)+run_smoke(15 项) | 单元+集成 | BattleOrchestrator.begin_battle()/player_request_refresh() | 同种子变异布置逐位断言面+全战斗步骤流逐行回放断言(board_gen/variant_place 取号序零漂移由同种子断言钉住)+违约封印传导链(wr5 双半边) | 绿——三套件+负套件+冒烟全绿;键 10 归绿(文件长 916≤1000 键消失)、类变量实测 37 | | R1 | 调用面直连改址(非行为改动) | 产品码 6 件+sim 1 件+测试 7 件全部调用点 `<表达式>.shop.<方法>` | 既有套件回归两轮全绿:T0 中间态轮(壳在位)+T1 壳删后轮(level_shop_economy 192/hero_ledger/adventure_feats/pool_case_d/treasure_effects/curio_refresh_paid/meta_progression_forge 全套+冒烟) | 单元+接口 | 各套件既有真实入口 | 既有断言逐位不变+壳删后编译通过 | 绿——两轮全绿(全量 65 套件两轮失败清单逐一同值=10 存量红,见 §6-②;七件相关套件两轮全绿) | | R2 | 壳块拆除(非行为改动) | level_runner.gd :723–725 区块涉委托两句+:751–828 十九委托全量删除(含死壳 2 枚) | 残留扫描零命中(19 方法名全仓 grep,输出留 §7)+T1 套件绿 | 静态+单元 | grep 全仓+套件真实入口 | 扫描面>0(19 名单命中 34 行逐一判类归属)+壳删后零引用可编译 | 绿——34 行全数为他类定义与调用/字典键名/宿主内部 shop. 直连点,零真残留 | | R3 | 宿主成员公开化(非行为改动) | level_runner.gd:44 `_shop`→`shop`+内部引用 28 处随更名 | 随 R1 两轮套件绿 | 单元 | 套件真实入口 | 内部使用点行为不变 | 绿——词级 `_shop` 全仓 .gd 零残留(件核) | @@ -66,11 +66,12 @@ 4. **两卡里程碑全量闸并入迭代总收口**:卡① T6 与卡② T1 的「里程碑出口 run_all_gates --code」按 iter 技能闸序列「全量域闸每迭代一次」铁律合并为收口单次跑闸(重塑后)——卡面两处闸义务由同一次跑闸兑付。 5. **worktree 冷检出 `--editor --quit` 首跑 `--path` 误指仓库根**(未建 .godot 类缓存致首跑解析红)——改指 game 切片目录重刷后正常(106 类)。坑速查条目候选,登记建议随工程批。 6. **信号契约注释陈旧发现**(不属本批改动面):level_runner.gd:14 node_entered 信号注释 `shop={gp}` 与 pool 态实际载荷 `{gp, shelf:true}` 不符——改动前即如此(本批未触载荷),随本报告呈报,归文档批/后续批处置。 +7. **run_time_fatal_test wr5 改指新组装点(L1 就地修复)**:T3 删宿主 `_board_generator` 成员后,该负面套件 :71 的白盒取数 `oc._board_generator._fatal(...)` 断链(脚本错误中断断言函数→零断言退出 2)=**本批新增红**。卡面 §3 现状考证只查了 battle_orchestrator.gd 全文件(四处使用属实)漏查跨文件测试取数点;§16 L1「探针断言调用面改址漏改——就地修复重跑最窄确认」通道处置:wr5 棋盘生成半边改经新组装点(BoardInstaller 引用束 fatal_cb 接线)构建后触发,断言目标(违约→封印传导)不变、断言零增删(§17 四不违);卡 §9 文件结构图就地补行;复跑 exit=1(负套件期望码)绿。**勘误**:本报告先前稿曾将该套件误列存量红——彼次 stash 对照时工作树处于卡①完成态(HEAD 已含 T3)而非 master 原态,对照被污染;更正后 02 存量红=9 套件与基线登记清单逐项一致。 ## 6. 存量红清单(master 原状同值复现,非本批新增——stash 对照法逐组取证) 1. **theme_projection_test**:`_recent_list` 断链(test:805 访问 `camp._recent_list`——成员已随迭代 41 卡② 拆入内嵌类 `_SideState`;iter41 特许移交合回未跑遗留)。该套件 163 checks 本体全绿,FAIL=脚本错误扫描命中。 -2. **全量轮 10 套件红**(T0/T1 两轮与 master 原状逐一同值):config_db_test(cattr 解析)/config_db_fatal_oob_test、run_time_fatal_test(退出码 2≠1)/table_structure_guard_test(meta_state)/treasure_items_test(crossrun)/standee_fx_sweep_test(set_trans)/forge_workbench_test(120s 挂死)/tree_requires_level_test(row_by_id Nil)/save_manager_domain_test(_migrate_legacy_save)/theme_projection_test(同①)——形态与迭代 41 卡①(核心数据面结构收敛)卡②(呈现层结构收敛)改动特征吻合。 +2. **全量轮 9 套件红**(T0/T1 两轮与 master 原状逐一同值,与基线登记清单及待办清单「迭代 41 测试债修复」条目逐项一致):config_db_test(cattr 解析)/config_db_fatal_oob_test(退出码 2≠1)/table_structure_guard_test(meta_state)/treasure_items_test(crossrun)/standee_fx_sweep_test(set_trans)/forge_workbench_test(120s 挂死)/tree_requires_level_test(row_by_id Nil)/save_manager_domain_test(_migrate_legacy_save)/theme_projection_test(同①)——形态与迭代 41 卡①(核心数据面结构收敛)卡②(呈现层结构收敛)改动特征吻合;已随基线 80b49c0f 记账(用户 2026-10-29 裁带红合并承接)。初稿曾多列 run_time_fatal_test 一项,经 §5-7 勘误更正为本批新增红(已修)。 3. **probe_gate --click 三红**:ui_input_probe 超时挂死(exit 124)/ui_struct_probe resume 断言/ui_click_probe 16 行 set_trans 空值(battle_end_overlay 等未触文件)——master 原状同值复现(连错误行数都一致)。 4. **render_gate golden L1_dungeon 2.74% 超容差**:master 原状同值(L2/L3 双侧 0.00%)——golden 锚落后于 master 现状,重锚须用户批准(本批禁自行换锚)。