diff --git a/.workbuddy/memory/2026-10-20.md b/.workbuddy/memory/2026-10-20.md index 4569541..cbd3569 100644 --- a/.workbuddy/memory/2026-10-20.md +++ b/.workbuddy/memory/2026-10-20.md @@ -197,3 +197,23 @@ iframe 内部仍是 1512,媒体查询按 1512 判定 → 结论是错的。 - 新增 `?loadurl=` 把项目里的图直接当素材载入(不必先下载再上传),`?fxjson=` 给初始参数。 - 截图看出两个 UI 问题:拖拽标签 `top:-17px` 贴到画板边缘被压线、半透明填充把人物罩成米色 → 改框内左上角标签 + 纯虚线(上一轮已修,本轮沿用)。 + +## 16:10 生成器:图层换不了图 / 背景关不掉 / 草稿清不掉 + +用户反馈三条,都是**交互设计**问题,核心逻辑其实没坏(实测换图是生效的)。已推送 `937a890`。 + +- **「每层都只有这张图、换不了」**:`add-layer` 里 `l.asset = S.assets[0].id`,连加三层全是同一张; + 而且换图的下拉只在「选中那一层的编辑器」里,用户看不出每层能各自换。 + → 新层不再自动绑图(素材池只剩一张时才绑);**每行带缩略图 + 「图片」下拉**直接换。 +- **「背景关不掉」**:`inherit` 时背景下拉 `disabled` —— 用户在箱主页看到背景还在又点不动。 + → 一律可点,一改自动 `ensureOwn(true)`:切成独立配置 + **把全局当前值复制过来当起点** + (否则改背景会顺带把图案弄丢);复制图层要**重发 id**,不然两个作用域共用一批 id,拖拽/高亮会串。 +- **「上次的数据一直在」**:`localStorage` 草稿只有隐藏参数 `?fresh=1` 能绕过,UI 无出口。 + → 顶栏加「新建」(清空 + 删草稿 + 二次确认)。 + +⚠️ **跟随全局时不能给拖拽框**:那时 `cfgOf(S.scope)` 返回的是 global 对象,一拖就改到全局去了。 +`syncOverlay` 里已加提前 return。同理 `ensureOwn()` 是「任何写操作前」的必调项。 + +回归(`?dump=layers`):加层后 `[null,null]`、行内下拉 2 个、换第 2 层后 `[null,blue]` 且 CSS 只出现 blue; +box 页 inherit 时 `addDisabled/bgDisabled` 都 false;在 box 加层后本页 3 层而**全局仍 2 层**; +新建后 assets 0、层 0、草稿已删、scope 回 global。