fix: 用户实机反馈两缺陷——①标题屏玩法文字墙整个删除(用户令:界面禁玩法说明文字墙,教学内容归Beta帮助手册〔教学引导定稿批P4丙〕;历史文案在git;ui_assembler帮助牌块+注记换代)②钮高纪律BUTTON_MIN_H=40单点立(主/危/常规钮统一最小高——主钮26px对常规38px不齐治根;min_w=0紧凑位豁免同宽度纪律)+ui_struct_probe equal_height同容器钮高断言族;轻闸冒烟782/0+三探针绿(equal_height全屏零红首跑即过)

This commit is contained in:
DKChan committed 2026-10-06 04:26:23 +08:00
1 parent 210327d088
commit 8e490b4130
3 files changed
+26 -16

No files matched your search

+16 -2
View File
@@ -3,7 +3,8 @@
# 全 UI 屏结构断言一次跑完:逐屏实例化(菜单簇真驱动 + 冒险簇真流推进 + 兑付屏真实 open 面合成喂入),
# 断言族:
# ①overlap 同屏内可见未禁用按钮两两 global_rect 不相交(互压=红;层间模态盖底层系设计内——各屏采样以屏根为界天然排除)
# ②equal_width 同一直接父容器内 ≥2 可见按钮宽度差 >1px=红(容器纪律:组内等宽)
# ②equal_width 同一直接父容器内 ≥2 可见按钮宽度差 >1px=红(容器纪律:组内等宽;钮高族
# equal_height 2026-10-06 增——同容器高度差 >1px=红,纪律=ui_kit BUTTON_MIN_H)
# ③offscreen 可见件 global_rect 完全落在视口外=红
# ④zero_size 可见件宽或高 ≤0=红
# ⑤start 专项 标题屏左列(start_box)与右列(start_right)矩形不相交(M2 双列契约——叠放缺陷回归闸)
@@ -237,7 +238,8 @@ func _audit(screen: String, roots: Array) -> void:
if a.get_global_rect().intersects(b.get_global_rect()):
problems.append("[%s][overlap] %s 与 %s 矩形相交(%s ∩ %s)" % [
screen, a.name, b.name, a.get_global_rect(), b.get_global_rect()])
# ②equal_width:同一直接父容器内 ≥2 可见按钮宽度差 >1px
# ②equal_width + equal_height:同一直接父容器内 ≥2 可见按钮宽度/高度差 >1px
#(钮高族 2026-10-06 用户令「对齐好、不要细」——主钮 26px 对常规 38px 不齐回归闸;纪律=ui_kit BUTTON_MIN_H)
var groups := {}
for b in all_buttons:
var k: Node = b.get_parent()
@@ -249,13 +251,18 @@ func _audit(screen: String, roots: Array) -> void:
if g.size() < 2:
continue
var w0: float = (g[0] as Control).size.x
var h0: float = (g[0] as Control).size.y
var diff := false
var diff_h := false
for b in g:
if _wl(screen, "equal_width", b):
diff = false
diff_h = false
break
if absf((b as Control).size.x - w0) > 1.0:
diff = true
if absf((b as Control).size.y - h0) > 1.0:
diff_h = true
if diff:
var names: Array = []
var widths: Array = []
@@ -263,6 +270,13 @@ func _audit(screen: String, roots: Array) -> void:
names.append(String((x as Control).name))
widths.append((x as Control).size.x)
problems.append("[%s][equal_width] 同容器按钮宽度不一(%s——%s)" % [screen, str(names), str(widths)])
if diff_h:
var names_h: Array = []
var heights: Array = []
for x in g:
names_h.append(String((x as Control).name))
heights.append((x as Control).size.y)
problems.append("[%s][equal_height] 同容器按钮高度不一(%s——%s)" % [screen, str(names_h), str(heights)])
# ③offscreen + ④zero_size(ScrollContainer 内容坐标系超出=可滚动设计内——豁免)
for c in all_ctls:
if _in_scroll(c):