From 2d46b8a0cad185c225abb8b538bb82546e0fd929 Mon Sep 17 00:00:00 2001 From: tamakyi Date: Mon, 12 Oct 2026 16:47:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BF=86=E7=B4=A2=E5=BC=95=EF=BC=9A?= =?UTF-8?q?=E6=94=B6=E7=B4=A7=E4=B8=93=E9=A2=98=E6=98=BE=E7=A4=BA=E5=8C=BA?= =?UTF-8?q?=E9=82=A3=E6=9D=A1=EF=BC=88=E8=87=AA=E5=B7=B1=E6=88=90=E4=BA=86?= =?UTF-8?q?=E6=9C=80=E9=95=BF=E8=A1=8C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .workbuddy/memory/MEMORY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.workbuddy/memory/MEMORY.md b/.workbuddy/memory/MEMORY.md index 6267421..ea1ad5f 100644 --- a/.workbuddy/memory/MEMORY.md +++ b/.workbuddy/memory/MEMORY.md @@ -30,7 +30,7 @@ - 瓦片须与底图同 `crs`;带地图页须 `p.HasMap=true`。 - `tileDigits` 补前导 0;`tileName` 尾缀 `len(s)-2` 单数字编号时为 -1 ⇒ panic;解码守卫 `len(name)<8`。 - `fogIndexV` 必须 `atomic.Pointer`(普通指针=真 data race)。`fog_race_test.go`(-race) -- **专题显示区=一组圆(并集)**:存 `topics.areas` jsonb(不单开表,省掉归属口径/白名单/迁移顺序三件事),SQL 是 N 个圆的 **OR**(每圆 3 个占位符,编号须恰好覆盖 `[prefix+1, len(args)]`)。前台裁剪=**单独 pane**(不能裁 `tilePane`,底图在里面)+ `clip-path: path()`,每圆一段**同绕向**子路径(绕向反了重叠处会被挖成洞);圆心须 `project()`;⚠️ 注册必须排在 `applyFit()` **之后** —— 视图未定时 `latLngToContainerPoint()` 会抛「Set map center and zoom first.」,把后续图层添加一起打断(实测=迷雾整片消失、不报错)。`TestTopicFogIsClippedToAreas`(四十五、四十六) +- **专题显示区=一组圆(并集)**:存 `topics.areas` jsonb(不单开表);SQL 是 N 个圆的 **OR**(每圆 3 个占位符,编号须恰好覆盖 `[prefix+1,len(args)]`)。裁剪=**单独 pane**(不能裁 `tilePane`)+ `clip-path: path()`,每圆一段**同绕向**子路径(反了重叠处会挖成洞);圆心须 `project()`;⚠️ 注册必须排在 `applyFit()` **之后**(视图未定会抛「Set map center and zoom first.」并打断后续图层=迷雾整片消失且不报错)。`TestTopicFogIsClippedToAreas`(四十五、四十六) ## 前端 / 模板 / CSS(details 六~八、十七、廿三、廿八D、卅七) - ⚠️ **对访客公开的块,措辞必须按身份分支**(`{{if .IsAdmin}}我的…{{else}}站长…{{end}}`):