7.5 KiB
工程改动报告——工程清理批(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.png92 色(ui_kit.gd 全量 Color8 常量唯一值快照)+art_snapshot.png1274 色(现役素材 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.pyrun_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.gdload()与 main.tscn,删常量不触。 - 删除 10 条 const preload,保留 Narrator/MainUiBuild/MainAdventureFlow/MainOverlayFlow/MainDebugFlow 五条在役。
件 5 过时注释换代
game/presentation/views/ui_kit.gdTEX_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 头注,闸机注释同步点名。