Files
gplan-2/reports/工程改动报告-工程清理批-2026-11-02.md

7.5 KiB
Raw Permalink Blame History

工程改动报告——工程清理批(2026-11-02)

接收方:待办清单 7 条目(本批完成整条删除——palette_check 基线建档/CAMP_HEADER_BAND 评估/ui_kit 立绘注释/迭代 43 四色墨断言/断言提取器 check_quiet/run_all_gates 02 传参〔已完成漏删〕/main.gd 死 preload)。

一、批定位

工程改动批(用户发令直改,不写卡)。worktree eng-cleanup,基点 7e9e57fd,基点即 master 尖端。七件:六件本批落地+一件核查确认已完成(run_all_gates 02 传参)。

二、逐件落地

件 1 palette_check 基线建档+双门机检化

  • 基线目录 game/tests/golden/palette_baseline/(图像白名单在册目录)两张条带 PNG:ui_tokens.png 92 色(ui_kit.gd 全量 Color8 常量唯一值快照)+ art_snapshot.png 1274 色(现役素材 128 张 PNG 唯一色并集快照);并集 1346 色=双门②「新增色 vs 既有色板」的既有色板机检承载物。
  • 新件 tools/gen_palette_baseline.py:基线建档与刷新器(token 提取剔除注释行;素材目录零 PNG 拒绝生成空快照)。
  • tools/palette_check.py 零代码改动——头注补基线构成与维护纪律、退出码描述校正(单张超 32 色是 WARN 非 FAIL)。
  • 闸机接线:tools/run_all_gates.sh 新增 05b 色板闸(code 域;--quick 与影响面选闸 SKIP;素材齐盘预检之后段执行)——扫 game/assets/art 全目录对基线判新增色近色红。
  • 口径边界(呈报):门①语义检查属设计面人工核对(§4.2 色相语义判域),不入本器执法面;48 token 计数上限不接闸——ui_kit 现役唯一色值 92 与「48 上限」的成员名单口径差归 art-bible §4.1 owner 裁定,本批不自裁。
  • 维护纪律:素材批收尾跑 python tools/gen_palette_baseline.py 重生成全套并随批提交——新色过门后须入基线,否则下批扫描把已过门的新色再报新增;两张 PNG 缺一即漏判。

件 2 extract_checks.py 补 check_quiet 静默通道

  • CALL_RE → check(?:_quiet)?\(、DEF_RE 同扩(func check / func check_quiet 定义行双拦)、collect_call 按实际匹配长度偏移;check_quiet 通道契约 cond 在前,条目 quiet 列记 channel:check_quiet。单趟正则无重叠匹配,结构上不双计。
  • 自证三重(当轮实跑):①双计等式——旧两正则匹配数之和 2155 == 新 CALL_RE 2155(全 tests 面);②新旧版条目对拍 1719 → 2133,差 414 条 check_quiet 入账(grep 调用行实数 416,差 2=定义行与注释行不入账,方向自洽);③--extract 生成临时清单后 --diff 往返对账 PASS 零差异(标签/cond/计数三对齐)。
  • 验证集清单已随验证体系整改阶段 2 退役,--diff 无存档参照——对账自证以临时清单往返承载,语义等同。
  • 随批换代 design/engineering/test-conventions.md §5.2 工具面局限备案句(2026-10-27 立的「断言消息不进扫描面——验收尾缀 grep 对该通道失效」已消除,留存会漂移);文档设计面仅此一句现状描述更新,申报。

件 3 意图徽标四色墨机检断言

  • tools/render_sample_sheet_v3.py run_screen_checks 增 S1b:意图徽标四色墨(攻击/增益/减益/蓄力)对 PANEL_DATA 垫牌(#E9D9B8,与绘制矩形 fill 同源)≥4.5:1 色值对表断言,四墨值即脚本意图色表四值,零新增色。
  • 当轮真实读数:攻击 5.62/增益 5.10/减益 4.97/蓄力 5.21——与独立审计复算区间 4.97–5.62 逐位一致。
  • 样张机检 31/31 全绿。V10 改前基线对拍图属 artwork(不入 git)环境件,worktree 用 --save-baseline 重建(本批零素材零绘制变更,基线等值)。

件 4 main.gd 拆件遗留死 preload 清理

  • 逐条 grep 复核(登记纪律):死码 10 条——登记 8 条,复核多出 2 条(三场景 preload 中 AdventureScreenScene 登记时另有消费面、UiAssembler 登记时在役;现全零)。UiAssembler 唯一非定义出现=组合根接线段注释提及类名(非常量使用)。
  • 7 具名(TuneSimController/DebugSessionScript/TreasureInteractController/CurioInteractController/CampShopPresenter/BoardResolversScript 等)消费面已迁 main_ui_build.gd:9-13(拆件自持 preload)——main.gd 旧常量=拆件残留重复声明;三场景消费面=system_test.gd load() 与 main.tscn,删常量不触。
  • 删除 10 条 const preload,保留 Narrator/MainUiBuild/MainAdventureFlow/MainOverlayFlow/MainDebugFlow 五条在役。

件 5 过时注释换代

  • game/presentation/views/ui_kit.gd TEX_HERO_PORTRAIT 行注释「48px 档」→「素材=原稿分辨率,显示档缩放读 standee_motion PORTRAIT_DISPLAY_H」(迭代 48 显示档批现行口径)。
  • tools/path_check.py 头注删「· 立绘定档批 2026-10-07」日期批注记(变更叙事黑名单类);47 行键集指名核实现行仍在役(standee_asset_check 现行 import STANDEE_DISPLAY_H),不改。

件 6 ui_kit CAMP_HEADER_BAND 令牌退役评估

现役消费面 4 处逐一核过:level_map_screen.gd:107/144(关卡屏头带与地图条)、shop_overlay_view.gd:49(商店头带)、ui_kit.gd KeystoneBadge 工厂(钥石徽描边——消费方=营地覆盖层+状态面板钥石余额行)。

结论:「退役删除」不成立——4 处在用且全是活面板绘制面;营地域柜台头带语义岗已随迭代 47 四柜台覆盖层退役,令牌现役值 #6E4526 只剩材质棕底色语义(木色头带/徽章描边)。处置=改名中性化(脱 CAMP_ 前缀,名随现役语义,如 WOOD_BAND 一族)归 ui_kit 令牌批顺带;改名零值变化零渲染变化,届时逐点核后动。维持原登记口径「退役归 ui_kit 令牌批顺带处置、非独立强删」。

件 7 run_all_gates 02 关联档传参(核查确认已完成)

d32ff342(工程小件批·件 1)已落两案中的「解析器补逗号切分」案:run_all.gd 选跑解析补 split(","),闸脚本逗号串传参与之配套,孤立验证四套件全绿。本批零改动,条目属完成漏删。

三、待办清单

删 7 条(整条删除,状态机出口):palette_check 基线建档/CAMP_HEADER_BAND 评估/ui_kit 立绘注释/迭代 43 移交小件(①能力清单补行已随 2026-10-31 写卡批落位、②四色墨断言本批落)/断言提取器改版/run_all_gates 02 传参(d32ff342 已完成)/main.gd 死 preload。流水线闸复验 PASS(33 条目/49 总表行)。

四、窄验读数(worktree 内当轮实跑)

验证 读数
palette_check 带基线扫 art 全目录 128 张 0 红 0 新增色
presentation 单元套件(main.gd/ui_kit.gd 编译面) 17 suites 全绿
冒烟 run_smoke 15 项 0 失败,三闸全过
样张 render_sample_sheet_v3 31/31 全绿(含新 S1b)
path_check 0 处问题
extract_checks 双计等式过/1719→2133/往返对账 PASS
pipeline_gate PASS(33 条目/49 总表行/交叉核 3 链)

全量回归归合回后本地 CI(post-merge 钩子自动跑,含新 05b 色板闸)。

五、边界与移交

  • 48 token 计数上限的机检承载与门①语义检查不属本批(口径归 art-bible owner),呈报待裁。
  • 05b 色板闸的基线维护义务(素材批收尾刷新)已写进 palette_check.py 头注与 gen_palette_baseline.py 头注,闸机注释同步点名。