iter9-numfix-e: L2/L3 数字可读性二次修复——甲案证伪改色牌垫底(渲染帧取证驱动)
- 用户实机复测「还是看不清」+ 追责「未经验证不许报完成」:补 board_shot_probe 渲染帧取证探针 (窗口化真实 LevelRunner+novice 18 步+BoardView 真渲染+视口 PNG,L1/L2/L3 三关)—— 深墨直画在 underdark 系地板放大后可辨但观感隐形(双峰纹理:近黑斑+近白筋并存, 任何墨族直画必融一峰)——甲案(按板自适应墨族)证伪 - 修复改三态呈现:dungeon 亮族直画(p90≥4.5/均值≥2.5)/中暗板深墨直画(均值门收紧 3.0)/ 双峰板色牌垫底(素牌+深墨 12:1 纹理免疫——v2 色牌形制复役) - 目视验证(本会话亲验渲染帧):L2/L3 数字素牌深墨清晰可读,取证图 artwork/qa-board-shots-20261001/(board_L1/L2/L3 + _zoom_L2 证伪对照) - 机检同步:terrain_tile_sets_test 三态断言 19/19;art-bible v3.4(三态+目视验证面入流程); 冒烟断言随新语义更新(雷当量 6/8/8 钉值/大奖励与 L3 上限允许模拟档购血叠加——v3.4 购物 改变 max_hp 序列语义,非功能回归) - 轻闸:冒烟 596/0+四探针 PASS;剂量-响应点(slip 半档 N=100)L1 36%/战役 1%——悬崖三点齐
This commit is contained in:
1 parent
f6c1bfc53e
commit
36f652c63a
6 files changed
+139
-38
No files matched your search
@@ -131,13 +131,13 @@ func _load_stats(board_dir: String, fname: String, top_half: bool) -> Dictionary
|
||||
return {"h": h_sum / n_h, "v": v_sum / n_v}
|
||||
|
||||
|
||||
# 数字墨族按板自适应对比断言(L2/L3 亮瓦融字缺陷修复 2026-10-01——甲案机检面):
|
||||
# 每个图型走 BoardView 同一归一+测光+选族管线(禁测试侧另写算法),断言:
|
||||
# ①所选墨族对 p90 亮斑 ≥4.5 且对均值 ≥2.5(双门槛,同 _digit_ink_mode 判据常量)
|
||||
# ②期望族面:dungeon=亮族(样张 v3.5 冻结④原样);underdark/deep_underdark=深族(亮白筋纹 p95
|
||||
# 0.66–0.77 上亮墨 CR 1.0–1.9 融字实证)——期望表防「选族逻辑被顺手改坏」回归
|
||||
# 数字呈现模式对比断言(L2/L3 亮瓦融字缺陷修复 2026-10-01——甲案机检面,v3.4 扩三态):
|
||||
# 每个图型走 BoardView 同一归一+测光+选模式管线(禁测试侧另写算法),断言:
|
||||
# ①dungeon=亮墨族直画(对 p90 ≥4.5 且对均值 ≥2.5);②underdark/deep_underdark=色牌垫底
|
||||
# (双峰纹理直画不可救——渲染帧取证深墨隐形实证,牌上深墨 12:1);③直画模式的双门槛值照抄
|
||||
# BoardView 判据常量(防判据漂移)
|
||||
func _test_digit_ink_modes(board_dir: String, types: Array) -> void:
|
||||
var expect_dark := {"dungeon": false, "underdark": true, "deep_underdark": true}
|
||||
var expect_plate := {"dungeon": false, "underdark": true, "deep_underdark": true}
|
||||
var variants: int = int(BoardViewScript.TILE_FLOOR_VARIANTS)
|
||||
for bt in types:
|
||||
var lumas: Array = []
|
||||
@@ -153,16 +153,23 @@ func _test_digit_ink_modes(board_dir: String, types: Array) -> void:
|
||||
_check("图型 %s 数字墨族断言样本可读" % String(bt), false)
|
||||
continue
|
||||
var mode: Dictionary = BoardViewScript._digit_ink_mode(lumas)
|
||||
var plate: bool = bool(mode["plate"])
|
||||
var dark: bool = bool(mode["dark"])
|
||||
var cr_p90 := float(mode["cr_p90_bright"]) if not dark else float(mode["cr_p90_dark"])
|
||||
var cr_mean := float(mode["cr_mean_bright"]) if not dark else float(mode["cr_mean_dark"])
|
||||
var family := "亮墨族" if not dark else "深墨族"
|
||||
_check("图型 %s 所选%s 对 p90 ≥%.1f(实测 %.2f)" % [String(bt), family,
|
||||
float(BoardViewScript.DIGIT_INK_CR_P90), cr_p90],
|
||||
cr_p90 >= float(BoardViewScript.DIGIT_INK_CR_P90))
|
||||
_check("图型 %s 所选%s 对均值 ≥%.1f(实测 %.2f)" % [String(bt), family,
|
||||
float(BoardViewScript.DIGIT_INK_CR_MEAN), cr_mean],
|
||||
cr_mean >= float(BoardViewScript.DIGIT_INK_CR_MEAN))
|
||||
if expect_dark.has(bt):
|
||||
_check("图型 %s 墨族期望=%s(实测=%s)" % [String(bt),
|
||||
"深族" if bool(expect_dark[bt]) else "亮族", family], dark == bool(expect_dark[bt]))
|
||||
var mode_name := "色牌垫底" if plate else ("深墨族直画" if dark else "亮墨族直画")
|
||||
if plate:
|
||||
_check("图型 %s 双峰纹理落牌(亮族 p90 %.2f/均值 %.2f,深族 p90 %.2f/均值 %.2f 均未过门)" % [
|
||||
String(bt), float(mode["cr_p90_bright"]), float(mode["cr_mean_bright"]),
|
||||
float(mode["cr_p90_dark"]), float(mode["cr_mean_dark"])],
|
||||
float(mode["cr_mean_dark"]) < float(BoardViewScript.DIGIT_INK_CR_MEAN_DARK))
|
||||
else:
|
||||
var cr_p90 := float(mode["cr_p90_bright"]) if not dark else float(mode["cr_p90_dark"])
|
||||
var cr_mean := float(mode["cr_mean_bright"]) if not dark else float(mode["cr_mean_dark"])
|
||||
_check("图型 %s 所选%s 对 p90 ≥%.1f(实测 %.2f)" % [String(bt), mode_name,
|
||||
float(BoardViewScript.DIGIT_INK_CR_P90), cr_p90],
|
||||
cr_p90 >= float(BoardViewScript.DIGIT_INK_CR_P90))
|
||||
var mean_gate := float(BoardViewScript.DIGIT_INK_CR_MEAN_BRIGHT) if not dark else float(BoardViewScript.DIGIT_INK_CR_MEAN_DARK)
|
||||
_check("图型 %s 所选%s 对均值 ≥%.1f(实测 %.2f)" % [String(bt), mode_name, mean_gate, cr_mean],
|
||||
cr_mean >= mean_gate)
|
||||
if expect_plate.has(bt):
|
||||
_check("图型 %s 呈现模式期望=%s(实测=%s)" % [String(bt),
|
||||
"色牌" if bool(expect_plate[bt]) else "直画", mode_name], plate == bool(expect_plate[bt]))
|
||||
Reference in new issue
Block a user