From f7dc739d16e574f64df08c162f6a330b6f958bc6 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Sun, 25 Oct 2026 02:12:23 +0800 Subject: [PATCH 1/2] =?UTF-8?q?docs(golden):=20=E5=88=A4=E5=AE=9A=E7=BA=AA?= =?UTF-8?q?=E5=BE=8B=E8=A1=A5=E5=8A=A0=E4=B8=A5=E5=8F=A3=E5=BE=84=E2=80=94?= =?UTF-8?q?=E2=80=94=E6=A3=8B=E7=9B=98=E4=B8=89=E5=9B=BE=E5=B7=AE=E5=BC=82?= =?UTF-8?q?=E8=90=BD=E8=A3=81=E5=89=AA=E5=8C=BA=E5=8D=B3=E5=88=A4=E5=A4=B1?= =?UTF-8?q?=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 迭代 36 卡A 批内实际执行了加严判据(棋盘三图 changed 0.13%/0.11%/0.10% 虽远低于 2% 容差, 差异像素落棋盘裁剪区、按判失效呈报),但该口径只存在于批内记录。经用户 2026-10-25 裁决写入 README 当纪律句:铺开同类判定,防 2% 容差继续吞掉小面积真实视觉差异。 只改判读纪律句,golden_compare.py 判据与 2% 容差语义不动;启动态菜单不适用本口径。 --- game/tests/golden/README.md | 3 +++ 1 file changed, 3 insertions(+) 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` 判据不动);启动态菜单不适用本口径。 ## 判定记录 From b3f9b448e6f39463be2ded8f6b3d5b8d14ef156a Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Sun, 25 Oct 2026 03:28:27 +0800 Subject: [PATCH 2/2] =?UTF-8?q?style(=E7=B1=BB=E5=9E=8B=E9=97=B8):=20level?= =?UTF-8?q?=5Ftable=20=E5=9B=BE=E6=A0=A1=E9=AA=8C=20by=5Fid=20=E6=94=B9?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=8C=96=E5=AD=97=E5=85=B8=E2=80=94=E2=80=94?= =?UTF-8?q?=E6=B8=85=E5=81=BF=E8=BF=AD=E4=BB=A335=E5=8D=A1=E2=91=A1=20?= =?UTF-8?q?=E5=BC=95=E5=85=A5=E7=9A=84=20S9=20=E5=AD=98=E9=87=8F=E7=BA=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit validate_graph 拆段时新写的 `var by_id: Dictionary = well["by_id"]` 命中 S9 R1 (显式非参数化容器注解),使 09 静态扫描在代码域批恒红。改为 Dictionary[int, Dictionary] +assign 显式收编(Variant 不能隐式赋给参数化字典,实测报错后改此形态),行为逐字不变。 单测 level_table_validate_test 17 项全绿。 --- game/data/schemas/level_table.gd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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"]