DKChan
5af6c8a8b4
feat(布局闸): layout_probe 补回分辨率几何断言(两档·一份断言函数据)
背景:孤儿探针 ui_layout_probe 退役后1920 档布局几何无机器承载。重建但改形态——
「档位表(数据)+ 一份不变量断言(代码)+ 循环代入」,测试代码量与档数无关,
增删档位只改 VIEWPORTS 数组一行。这与业界 Playwright parametrize/projects 同构:
同一个 test body 跑多档,变的只是输入表与基线图张数(数据非代码)。
档位按 battle.md §验收现登记的两档:基座 1280×800、16:9 全屏 1920×1080。不新增档。
关键修正——旧探针那条「1920 档几何恒定」断言是假的:
设get_window().size = 1920×1080 → 逻辑视口仍是 1280×800(headless 下不生效)
设 content_scale_size = 1422×800 → 逻辑视口 = 1422×800(真生效)
Godot 文档指定的运行时改基座接口是 content_scale_size;旧探针用错了 API,
其断言永远为真、当年报 PASS 是假绿。本探针改用正确接口。
断言面(每档跑一遍):三区非零/不越视口/两两不重叠/board_view ⊆ board_zone/
格子边长 ≥36px(battle.md §棋盘格尺寸公式 1280 档 12×12 → 36px)。
变异验证(CLAUDE.md 第9条)两发:
① battle_stage_view B区 252→700 → 5 条红(两档都中)✓ 还原后 PASS
② 注入全幅 ColorRect → 未见红 ✗ —— 判据只点名三区不覆盖第四个兄弟,
该缺陷类不在拦截面内。已在代码注释标明边界,未过度设计补递归遍历
(递归全子树查重叠极易误报容器父子关系)。
挂 probe_gate 默认必跑段(轻闸即跑)。S10 文件头闸本批零新增。
2026-10-15 23:46:39 +08:00
..
2026-10-12 14:28:50 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 04:08:38 +08:00
2026-10-02 08:46:43 +08:00
2026-10-15 04:08:38 +08:00
2026-10-02 02:45:10 +08:00
2026-10-01 05:57:12 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00
2026-10-05 08:19:41 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00
2026-10-02 08:46:43 +08:00
2026-09-24 04:02:21 +08:00
2026-09-24 04:02:21 +08:00
2026-09-24 04:02:21 +08:00
2026-09-29 23:56:26 +08:00
2026-09-28 05:07:08 +08:00
2026-09-28 04:34:51 +08:00
2026-10-15 04:08:38 +08:00
2026-10-02 02:45:10 +08:00
2026-10-01 16:10:11 +08:00
2026-10-15 23:46:39 +08:00
2026-10-15 23:46:39 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 04:08:38 +08:00
2026-10-02 08:46:43 +08:00
2026-10-05 08:07:28 +08:00
2026-09-24 04:02:21 +08:00
2026-09-24 04:02:21 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 07:28:38 +08:00
2026-10-01 07:09:10 +08:00
2026-09-30 06:11:01 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 07:18:54 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 21:16:38 +08:00
2026-10-03 15:41:30 +08:00
2026-10-02 18:04:10 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 04:08:38 +08:00
2026-10-06 04:30:07 +08:00
2026-10-06 03:04:59 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 07:04:02 +08:00
2026-10-05 18:00:32 +08:00
2026-10-05 18:00:32 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00
2026-09-24 04:02:21 +08:00
2026-10-15 04:08:38 +08:00
2026-09-24 04:02:21 +08:00