闸修(shot_checker·camp屏唯一色数阈值64→32·停机呈报三读法裁决A案): 营地场景图批渲染闸红(std=55.6/colors=60)与art-bible§4.1场景环境子板每屏≤32色硬上限互斥——A段camp屏阈值分屏化取子板上限值32(环境层在场语义:未渲染只剩UI≈28色即触红),其余屏64不动,防空白语义std≥8不变;art-pipeline-tools口径行同步;tools/闸件工程改动直改通道(用户委托裁决)

This commit is contained in:
DKChan committed 2026-11-01 20:26:45 +08:00
1 parent 5ad72f44a0
commit 4f52e288b1
2 files changed
+9 -4

No files matched your search

+8 -3
View File
@@ -6,7 +6,9 @@ r"""shot_checker.py — 整屏样张闸机检(B 档断言骨架扩全)。
= shot_probe 输出的控件实测几何,为文字框/明度带取样坐标源——分辨率档位自适应,禁硬编码像素)。
断言(整屏样张闸 §1.4 四项的机检可判面):
A 屏级骨架: PNG 存在/尺寸=工程档/灰度 std≥8/唯一色数≥64(渲染真实发生);
A 屏级骨架: PNG 存在/尺寸=工程档/灰度 std≥8/唯一色数≥64(渲染真实发生;camp 屏 ≥32——
营地场景联合色板恰 32 色=圣经 §4.1 场景环境子板每屏 ≤32 色上限值,环境层未渲染只剩
UI 面(≈28 色)即触红,防空白语义由 std≥8 承担);
B 文字对比度: 已知文字框〔主墨/暖白 文字簇 vs 背景簇 p2/p98 极性无关〕WCAG ≥4.5:1
(战斗 C 区面板/结算明细提示等已知文字框——圣经 v3.5 §7.2 全局文字硬指标机检面);
C 明度三档带: 战斗屏 信息面(C 区面板均值) > 世界中(棋盘区均值) > 世界底(舞台无光柱区均值)
@@ -135,8 +137,11 @@ def main() -> int:
colors = len(set(img.getdata()))
if std < 8.0:
failures.append("%s: 灰度 std %.1f < 8(疑似空白/纯色)" % (name, std))
if colors < 64:
failures.append("%s: 唯一色数 %d < 64(疑似占位屏)" % (name, colors))
# camp 屏=场景图:阈值取场景环境子板每屏 ≤32 色上限值(营地联合色板=32)——
# 环境层未渲染只剩 UI 面(≈28 色)即触红;其余屏沿用防占位屏 64 色。
min_colors = 32 if name == "shot_camp.png" else 64
if colors < min_colors:
failures.append("%s: 唯一色数 %d < %d(疑似占位屏)" % (name, colors, min_colors))
print("[shot_checker] %s — %s std=%.1f colors=%d" % (name, "x".join(map(str, img.size)), std, colors))
# B+C+D 断言(battle/menu 两屏为机检承载屏;camp/level 走骨架+目检清单)