From cc37c9d1c90e0efa5b6b9e3ab93583de68de664f Mon Sep 17 00:00:00 2001 From: tamakyi Date: Sat, 10 Oct 2026 10:51:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BF=86=EF=BC=9A=E8=BF=B7=E9=9B=BE?= =?UTF-8?q?=E6=94=B6=E5=8F=A3=E7=9A=84=E5=83=8F=E7=B4=A0=E7=BA=A7=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E6=96=B9=E6=B3=95=20+=20--clip=20=E6=88=AA=E5=9B=BE?= =?UTF-8?q?=20pad=20=E5=81=8F=E7=A7=BB=E5=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .workbuddy/memory/MEMORY-details.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/.workbuddy/memory/MEMORY-details.md b/.workbuddy/memory/MEMORY-details.md index a5a7186..486d910 100644 --- a/.workbuddy/memory/MEMORY-details.md +++ b/.workbuddy/memory/MEMORY-details.md @@ -1105,8 +1105,31 @@ HTML,一行里必然带 ``,一拒就把正常用法挡死了(我 - 门禁 `TestTopicFogIsClippedToArea`:钉住两端 —— `topic.html` 得发 `fogArea:`、`rond-map.js` 得认 `opts.fogArea`/`createPane('rondFog')`/`clipPath`,且注册点下标 > `var applyFit = function` 的下标 (防的就是上面那个「放早了整片迷雾消失」)。 -- 实测:临时专题 id=16(中心 24.698/108.075、半径 3km)→ `clip = circle(173px at 529px 260px)`, +- 实测:临时专题(中心 24.698/108.075、半径 3km)→ `clip = circle(173px at 529px 260px)`, 反解半径正好 **3000 m**,`setZoom(9)` 后仍正确;`/map`、`/stats` 不受影响(它们没有 `fogArea`)。 - ⚠️ 用户自己的专题 `id=15`「2026年国庆」`radius_km=0` ⇒ 收口不生效,要在后台把中心与半径填上。 +### 怎么证「裁剪真的生效」(2026-10-10 实测方法) + +`clip-path` 读得到 ≠ 画出来生效,而且**目测会骗人**:截图上那片「灰色」可能是底图不是迷雾。 +可靠判据是一组**像素对比**,四张图同一个视图、同一个(临时)专题: + +| 图 | 迷雾瓦片 | 裁剪 | +|---|---|---| +| A | 显示 | 有 | +| B | 显示 | 无(`pane.style.clipPath='none'`)| +| D | 隐藏(`img.style.display='none'`)| 有 | + +- **迷雾掩码** = `|A−D| > 阈值`(裁剪态实际画出来的迷雾)、`|B−D|`(无裁剪态)。 +- 结论(半径 1km 那张,阈值 60):裁剪态 **83,185** 个迷雾像素、**圆外 0 个**(最远半径 462.4 / 圆 462.1); + 无裁剪态 222,510 个、**62.3% 溢出圆外**(最远 1,117.8)。⇒ 裁剪精准,边界正好落位。 +- 想知道**裁剪圆到底画在哪**,别用红色探针(底图有红路/红 POI 会污染掩码)—— + 在 pane 里塞一个 `background:#ff00ff` 的巨型子元素(子元素一并被裁剪),品红掩码即裁剪区域, + `填满率=π r² 反解`能同时校出圆心与半径。实测圆心/半径与 CSS 标称差 < 1px。 +- 🔴 **图像坐标不能用元素坐标直接换算**:`site_cdp.py --clip` 会把裁切框每边外扩 `pad=10` CSS px + (×`--scale`),图像原点在元素左上角**左上方 20px**。差这一步会得到「圆整体偏 (18.5,19)px」的 + 假 bug,还会把边界抗锯齿当成「圆外有 1830 个迷雾像素」。正确做法:**在同一张图里量一个已知参照定标** + (品红探针就是为此)。已写进技能 `rond-web-verify` 的「四个必踩的坑」第 4 条。 + +