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。
视觉 golden 基线(渲染闸的比对基准)
四张基线:棋盘三图(board_L1_dungeon / board_L2_underdark / board_L3_deep_underdark,
裁剪区 900×760)+ 启动态菜单(menu_boot,全屏)。比对判据与工具见 tools/golden_compare.py
(逐像素灰度差 >16 的像素占比 ≤2%)。
时效判定纪律(迭代 29 T7 立)
基线冻结于 2026-09-30(v3.5 视觉落码后)。判定先于动作:每代换代面(视觉/素材/布局改动) 跑批时先跑一次渲染闸看差异落不落在裁剪区与容差内——
- 判有效(changed 远低于 2% 阈值):基线留在位并在此加注一次判定记录,不得顺手重制;
- 判失效(changed 超阈值或换代面落在裁剪区外):按迭代 26 T6 先例显式重制 + 呈报 + 复闸, 禁止先动后判、禁止用「重制一下就绿了」掩盖真实视觉回归。
- 加严口径(棋盘三图):棋盘图 changed>0 且差异像素落在棋盘裁剪区内(900×760)一律按判失效
处理——占比远低于 2% 阈值也不判有效,显式呈报后由用户定是否重制。该口径只收紧棋盘三图的判读,
不改写 2% 容差本身的语义(
golden_compare.py判据不动);启动态菜单不适用本口径。
判定记录
- 2026-10-16(迭代 29 T7):判有效。三代换代面(棋盘三图 + 启动态菜单)实测 changed = 0.00% / 0.00% / 0.00% / 0.15%,均远低于 2% 阈值 ⇒ 基线留在位,不重制。 (本批零视觉改动,判定属常规复核。)
- 2026-10-25(迭代 37 卡① T3):判失效 → 显式重制 + 复闸。实测棋盘三图
changed = 0.13% / 0.11% / 0.10%,差异像素全落 900×760 棋盘裁剪区内、裁剪区外 0,
按加严口径不判有效;成因定位为
2f3a87e9(魔法道具 HUD)注入REWARD_BADGE预读格 字形——晚于 2026-10-08 建基提交,与本批零因果。呈报后用户裁「重制三张基线」, 经tools/golden_baseline_refresh.sh换代;复闸 changed = 0.00% / 0.00% / 0.00%, 启动态菜单 0.00%(未重制)。