diff --git a/game/data/schemas/level_table.gd b/game/data/schemas/level_table.gd index 4d66fbc1..1d7fabea 100644 --- a/game/data/schemas/level_table.gd +++ b/game/data/schemas/level_table.gd @@ -53,7 +53,8 @@ static func validate_graph(nodes: Array) -> Array: var well := _check_nodes_wellformed(nodes) if not (well["errs"] as Array).is_empty(): return well["errs"] - var by_id: Dictionary = well["by_id"] + var by_id: Dictionary[int, Dictionary] = {} + by_id.assign(well["by_id"]) var edges := _check_edges(by_id, well["indeg"]) if not (edges["errs"] as Array).is_empty(): return edges["errs"] diff --git a/game/tests/golden/README.md b/game/tests/golden/README.md index 9988a44c..a0f3b8d4 100644 --- a/game/tests/golden/README.md +++ b/game/tests/golden/README.md @@ -12,6 +12,9 @@ - **判有效**(changed 远低于 2% 阈值):基线**留在位并在此加注一次判定记录**,不得顺手重制; - **判失效**(changed 超阈值或换代面落在裁剪区外):按迭代 26 T6 先例**显式重制 + 呈报 + 复闸**, 禁止先动后判、禁止用「重制一下就绿了」掩盖真实视觉回归。 +- **加严口径(棋盘三图)**:棋盘图 changed>0 且差异像素落在棋盘裁剪区内(900×760)一律按**判失效** + 处理——占比远低于 2% 阈值也不判有效,显式呈报后由用户定是否重制。该口径只收紧棋盘三图的判读, + 不改写 2% 容差本身的语义(`golden_compare.py` 判据不动);启动态菜单不适用本口径。 ## 判定记录