Files
MailUI4Agents/client/electron
JianFeeeee 6ef079365a 跨端: 修「两个动作球不能重叠」那条判据自身(它的结束边界把几十行外的东西也吃进来了)
上一步扩 Unicode 图标扫描面时,这条判据立刻报:
    MailDetailPage.ets:664(Stack 里有 2 个圆角元素且没有 Row 包住)
而 L664 那个 `Stack` 是**新加的返回键**,里面**只有一个子元素**(chevron 图标)。

查清根因(判据自身两个缺陷):

① **结束边界靠猜缩进**:原来写 `\n\s{8}\}` —— "8 空格 + 右括号"。
   而那个 Stack 的 `}` 缩进是 10 空格、它下面还有一整段同缩进的兄弟节点
   ⇒ 非贪婪匹配一路吃到**下一个** 8 空格的 `}`,
   把几十行外两行的**小徽标**(权限/未读,`.borderRadius(4)`)也算了进来。
   ⇒ 改成**按大括号配平**取块。缩进是可变的,配平是语法事实。

② **"圆角"被当成"圆球"**:原判据数的是所有 `.borderRadius(\d+)`。
   而 `borderRadius(4)` 是**圆角方**(徽标),根本不是球。
   本判据要防的是"两个**球**叠在同一个角",不是"任何带圆角的东西"。
   ⇒ 只认 `borderRadius(N)` 且 **N ≥ 16** 的(动作球是 24/28 那一档)。

★ 改完做了**变异验证**(判据自己的要求:必须"在变异下咬得住"):
  把包着两个球的 `Row({ space: 12 })` 拆掉、让它们直接待在 `Stack` 里 ——
  判据**立刻转红**(30→29 pass/1 fail);还原后 30 pass。
  这说明它测的还是原来那件事,只是不再误伤。
2026-09-20 13:42:51 +08:00
..