diff --git a/reports/iter33-代拍板追认单-2026-10-21.md b/reports/iter33-代拍板追认单-2026-10-21.md index 0b4d90cf..d0531c5c 100644 --- a/reports/iter33-代拍板追认单-2026-10-21.md +++ b/reports/iter33-代拍板追认单-2026-10-21.md @@ -24,3 +24,13 @@ | 5 | 提交切分与 worktree 命名(§9-5) | worktree `iter33card3-saveselect`/分支 `iter33-card3-saveselect`;三笔:T1+T2+T3 实现+变异伴生强化+T4 产出物 | — | — | | 6 | ConfirmDialog 消费方编排机制(§9-6,卡片预授权取法照录) | **open 前设消费方状态量(`_confirm_consumer`)、confirmed/cancelled 后按量分派(`_on_confirm_accepted`/`_on_confirm_declined` match 路由)**;双钮签名未动(`confirm_dialog.gd:36-38`);分派面=match 分支可扩展(卡④ 第三消费方直接加分支) | 禁双常驻静态接线 ✓(变异m4 拦截在役);本批消费方=删档确认+现役新冒险确认(随卡②撤出) | 机制重选=分派层重写 | | 7 | 窥视读器 has_file 位(实现期接口补全——超出 §9 清单单项,按 T0 对齐授权补记待追认) | `peek_slot_summary` 返回结构加 `has_file: bool`(空/有档操作集二分判定来处;卡③ 6.0「槽态唯一来处=卡① 窥视 API 返回值」的接口闭环——交付面缺该位则二分不可实现) | 非摘要第四项(契约 5 三项不变)✓;向后兼容(既有断言零改)✓;卡① 侧 sv7/sv8 断言复跑绿 ✓ | 若裁「二分判定改走他口」(如独立 has_slot API)——save_manager 增一访问器+组合根改一行 | + +## 卡② 主菜单三入口化批 + +| # | 代拍项(卡片 §9 条目) | 取法 | 约束核对 | veto 影响 | +|---|---|---|---|---| +| 1 | 组帽与左列布局(§9-1) | **双组帽全撤**(冒险帽=组内零钮退化态不留;营地与系统帽=指称失义——「营地」已非菜单入口),三钮纵列原左列骨(布局零重构——契约 7) | v1.1「保留原样=留指称不可达地点文案,禁」✓ | 恢复任一组帽=视图一处 | +| 2 | _refresh_resume_button 去留(§9-2) | **净删除**+消费点全清(main 五处/camp ctx 载体/presenter 三处/probe_ui_util 参数/pacing_queue/V2d 族——T0 清点口径 grep 零残留) | 卡④ 不复用已证 ✓ | — | +| 3 | 进入存档钮命名(§9-3) | 「进入存档」primary_button 主操作钮(原主黄钮位),tooltip=「选择一个存档位进入(新档 / 进档 / 删档)」 | 裁决 1 原话 ✓ 动词化 ✓ | 改文案=装配器一处 | +| 4 | 探针中间态写法(§9-4) | 营地=open_camp_via_savesel 助手(选档层新档钮真实信号路径,槽模板清场防真实槽污染、swap=true 整链落槽文件保持久化核验同源);生涯/冒险=函数直调(mn10 登记实现报告「已知中间态」) | 契约 5 中间态合法交付 ✓ 禁假路径 ✓ | 卡④ 落地后代换 | +| 5 | 提交切分与 worktree 命名(§9-5) | worktree `iter33card2-menu`/分支 `iter33-card2-menu`;四笔(T1+T2/golden/变异强化+报告/T4) | — | — | diff --git a/reports/iter33-反哺点-2026-10-21.md b/reports/iter33-反哺点-2026-10-21.md index 694414de..d6bb8416 100644 --- a/reports/iter33-反哺点-2026-10-21.md +++ b/reports/iter33-反哺点-2026-10-21.md @@ -21,3 +21,14 @@ | 8 | `design/gdd/08-Alpha版本标准.md` 「三 · 界面」表 | 无选档界面行 | **增行请求(须用户裁——08 头注纪律)**:新增「选档界面」行(在役,迭代 33 卡③) | 卡③ §5 统一口径 | | 9 | `待办清单.md`/`roadmap.md` | 迭代 33 进行中 | 卡③ 完工状态推进(归文档批) | doc-conventions §12.1 | | 10 | `design/gdd/systems/表现与支撑/存档序列化.md` 消费面纪律节 | 窥视读器未记载(卡① 反哺点 4 补迁移口径时顺带) | 补 `peek_slot_summary` 返回结构(readable/has_file/三值)与「has_file=占档判定、非摘要项」口径 | 卡③ T0 对齐补充(二分判定来处的文档化) | + +## 卡② 主菜单三入口化批 + +| # | 文档与落点 | 现行陈述 | 应改成 | 依据 | +|---|---|---|---|---| +| 11 | `design/gdd/systems/跨局循环/生涯.md` `:9`/`:11-23` | 主菜单六钮组(冒险组+营地与系统组)记述+生涯入口=开始层生涯钮 | 信息架构改三钮组(进入存档/设置/退出游戏);生涯入口改挂营地笔记本(卡④ 承载) | 卡② 实装(mn1/mn2) | +| 12 | `design/gdd/ux/camp.md` `:10` | 「主菜单营地独立入口进入」 | 营地入口改挂存档内(选档→进档→营地场景图) | 同上 | +| 13 | `design/gdd/08-Alpha版本标准.md` `:102-105` 三·界面表 | 主菜单/开始覆盖层等四行 | 状态列换代+入口拓扑注记(增删行须用户裁) | 卡② §5 统一口径 | +| 14 | `体验验证清单.md` `:170`/`:192` | 左操作列(冒险/营地与系统两组)/营地与系统组生涯钮 | 主菜单形态引述换代(三钮)+目检项并入迭代 33 实机目检总清单(实现报告) | 卡② F13 | +| 15 | `design/art/art-bible.md` `:433` | 小字号豁免合并条款含「主菜单分组 overline×2」枚举片段 | excision 两片段(组帽双撤——**禁整行删**) | 卡② mn11 实装 | +| 16 | `待办清单.md`/`roadmap.md` | 迭代 33 进行中 | 卡② 完工状态推进+当前位换代(归文档批) | doc-conventions §12.1 | diff --git a/reports/iter33-实现报告-2026-10-21.md b/reports/iter33-实现报告-2026-10-21.md index 5b7f408b..504f63ff 100644 --- a/reports/iter33-实现报告-2026-10-21.md +++ b/reports/iter33-实现报告-2026-10-21.md @@ -144,3 +144,48 @@ | 单元 | 38 套件全绿 | **38 套件全绿** | | probe --click | 全绿 | 全绿(struct/click/flow 三件新段全绿+ui_contrast 等既有件零回归) | | 重闸 --code | — | 首轮 all_green=false(R1×2 新增)→ 回炉后**全绿**(回执随合并提交留痕——收口流程订正:回执须核 verdict 非仅 commit) | + +--- + +## 卡② 主菜单三入口化批(6 钮 → 3 钮)——已合并(见合并记录) + +**状态**:T0–T4 完成;批末全量闸全绿(回执随合并提交留痕);独立验收审计通过(`reports/iter33-验收审计-2026-10-21.md` 卡② 节)。 + +### 一、实际改动—验收对照表(§7.1 需求侧表的执行对账,六列+结果) + +| 需求点 | 改动实值(文件:行) | 验收测试实值(落点+尾缀) | 层级 | 真实入口 | 撤销或变异证明 | 结果 | +|---|---|---|---|---|---|---| +| mn1 三钮在位 | `ui_assembler.gd:126-137` build_start_overlay 三钮(进入存档 primary/设置/退出)+组帽双撤 | 冒烟 V2(`smoke_all.gd:162` 三钮在位)+V2d 渲染面计数==3(`smoke_all.gd:292`)〔mn1〕 | 冒烟 | 真实 MenuScreen 经装配器构建后读句柄+渲染面枚举 | 变异A=生涯钮接回三钮集 → 渲染面计数红(已执行;句柄缝盲区由变异暴露后强化) | 通过 | +| mn2 四旧钮彻底撤出 | `menu_screen.gd:9-12` 句柄面撤 4 留 3;assembler 返回字典换代 | 冒烟 V2d 四旧钮句柄零命中×4+渲染面计数锚〔mn2〕 | 冒烟 | 菜单场景句柄枚举+渲染面 | 变异A 同锚 | 通过 | +| mn3 进入存档可达选档 | `main.gd:323` entersavebtn.pressed→_open_save_select | `screen_flow_probe` 选档步〔mn3〕:合成点击进入存档钮→选档层可见且开始层隐藏 | 探针 | 真实按钮信号路径(卡③ 直调中间态就此闭环) | 变异B=接错层(连营地)→ sl10 屏级互斥 5 处红(已执行) | 通过 | +| mn4 设置钮零行为变化 | settingsbtn 接线保持 | 冒烟 V3g settings 模态段复跑〔mn4〕 | 冒烟 | settingsbtn 句柄 pressed | 撤销=断线 → V3g 红 | 通过 | +| mn5 退出接线正确 | quitbtn→_quit_game 保持 | ui_click 退出游戏按钮存在断言(D1 二轮段)复跑〔mn5〕 | 探针 | MenuScreen.quitbtn | 变异=改连空函数 → 连接断言红 | 通过 | +| mn6 断点确认零残留 | `main.gd:489-497` 确认分支摘除+分派器 new_adventure 臂退役(机制保留) | ui_struct confirm 采样复跑+mn10 直调段绿(确认链不可达=直调直启)〔mn6〕 | 探针 | 主菜单路径确认链已无触发入口(钮撤+分支摘) | 撤销=接线复现 → 申报内 ui_click 断点段(已按 §7.2 删除移交卡④)原断言红 | 通过 | +| mn7 _refresh_resume_button 删除+消费点清零 | 函数删除+main.gd 五处+camp_flow_context 载体+camp_shop_presenter 三处+probe_ui_util 参数+pacing_queue+V2d 族 | T0 清点口径全仓 grep 零命中件核(本表随附清点)+冒烟/探针全绿 | 集成 | 真实消费链已全部拆除 | 变异=漏删一处 ctx 字段 → 解析错/调用错红(camp_flow_context 参数摘除即证) | 通过 | +| mn8 废止断言族有改写承接 | smoke V2 三钮/V2d 族重写(`smoke_all.gd:160-166`/`:281-293`)/V3g camp 新路径(`:411-449`)/V3i 钮断言摘(`:474-481`)/resume_vis 键退役(`_stage_faces`) | 改写后断言〔mn8〕逐族承接(渲染面计数+V3g 新路径+V2d 四旧钮零命中) | 冒烟 | boot 与回菜单生命周期段真实入口 | 撤销=只删不写承接 → 「每个废止族须有承接」计数断言红 | 通过 | +| mn9 营地/生涯入口探针段改走新路径 | ui_probe/ui_struct/screen_flow/shot/ui_click 营地=进档开层新路径(open_camp_via_savesel 助手——槽模板清场防真实槽污染);生涯=函数直调中间态(卡④ 笔记本改挂前) | 各探针自身绿+新路径断言〔mn9〕 | 探针 | 选档层新档钮真实信号路径(持久化核验同源落槽文件) | 撤销=入口段留旧句柄 → 取不到钮即红(助手返回 false 即问题行) | 通过 | +| mn10 冒险段探针直调中间态 | `_start_adventure_from_menu`/`_resume_from_menu` 保留仅摘接线/确认分支;直调位点=screen_flow 选档后冒险步、shot 关卡段、fx_shot、t17、ui_input、layout、ui_tune、smoke ×4、pacing_queue、ui_struct resume 专项 | 各该段复跑绿〔mn10〕+本节「已知中间态」逐位点登记 | 探针 | 函数直调(如实标中间态,卡④ 到位换代) | 撤销=删函数 → 直调段运行即红 | 通过 | +| mn11 组帽撤除+左列几何不破 | `ui_assembler.gd` 两枚 overline 删除+三钮纵列(左列布局原骨) | ui_struct `_start_columns_contract`+`_audit("start")` 复跑〔mn11〕 | 探针 | 真实菜单构建后几何审计 | 变异=左列改单列致相交 → 不相交合同红 | 通过 | +| mn12 menu golden 重制 | `game/tests/golden/menu_boot.png` 重采(三钮形态;golden_baseline_refresh --menu,触发原因=钮集换代) | render_gate 菜单 golden 逐像素段〔mn12〕 | golden | render_gate 驱动 shot_probe 真机渲染比对 | 撤销=拿旧基线跑 → 钮集区差红 | 通过(重闸渲染闸绿) | +| mn13 pacing_queue 套件连带改造 | `pacing_queue_test.gd` 钮依赖行摘除(宿主链驱动保持) | 该套件自身绿(40 套件全绿内)〔mn13〕 | 单元 | run_all 真实套件入口 | 变异=裸调下层 → 宿主链断言红 | 通过 | +| mn14 反哺点清单(非行为改动) | §5 所列(生涯.md/camp.md/08/体验验证清单/art-bible :433 excision/待办清单/roadmap)列点不落文 | 件核对表〔mn14〕落反哺点清单卡② 节 | 件核 | 收口前逐条指认 | 产出物件核不产码 | 通过 | + +### 二、变异验证记录表 + +| # | 注入点 | 实测红 | 最窄闸 | 还原后 | 伴生强化 | +|---|---|---|---|---|---| +| A | 生涯钮接回三钮集(渲染面,无句柄) | 首轮 ui_struct/冒烟均零红——**句柄缝盲区暴露**(V2 只查三钮在位、V2d 只查句柄);补渲染面计数锚后冒烟红(1 项失败) | run_smoke | 1213/0 | V2d 渲染面计数锚 | +| B | 进入存档钮接错层(连 _camp_pres.open_camp) | screen_flow 5 处红(sl10 屏级互斥失守+营地/冒险同屏) | screen_flow_probe | PASS | — | + +### 三、已知中间态(mn10 逐位点登记——卡④ 到位换代) + +生涯页与冒险入口无 UI 路径(生涯=营地笔记本、冒险=大门两分支,均卡④ 承载):`_open_career`/`_start_adventure_from_menu`(确认链已摘,直启形态)/`_resume_from_menu` 三函数保留为探针直调中间态,直调位点=ui_struct resume 专项、screen_flow 冒险步、shot 关卡段、fx_shot、t17_defer、ui_input、layout、ui_tune、smoke 四处、pacing_queue。ui_click 断点段②③(续玩全链+互斥确认两分支)按 §7.2 申报删除,卡④ 大门 T5 接收两头登记。 + +### 四、读数对照 + +| 闸 | 基线(卡③ 合并态) | 末态(卡② 收口) | +|---|---|---| +| 冒烟 | 1201 / 0 | **1213 / 0**(+12:V2 三钮+V2d 承接族+渲染面锚) | +| 单元 | 38 套件全绿 | **40 套件全绿**(+2=平行迭代34 批次合入所带来的套件,非本批新增) | +| 探针 | 全绿 | 全绿(struct/click/flow/ui_probe/tune/layout/input/t17 直跑;fx/shot 归窗口化闸件) | +| golden | 六钮基线 | 三钮基线重制(渲染闸复跑绿) |