54 lines
4.4 KiB
Markdown
54 lines
4.4 KiB
Markdown
# 2026-10-20
|
||
|
||
## 01:10 shiroko 主题补「空气层」
|
||
|
||
- 用户问「还有没有其他元素,贴合主题又不突兀」。结论:场景压白 38% 后整页亮度只有 235~246,
|
||
再摆物件(书包/粉笔/纸飞机)一定会像贴纸,所以走**纯渐变造光**路线。
|
||
- 做了 4 个候选截图(A 纯窗光 / B 白散景 / C 光环符号 / D 组合),用户选 D。
|
||
⚠️ **B 是反面教材**:白色散景叠在已经压白的场景上,实测差异 0.14 级,肉眼完全不可见。
|
||
要"提亮"必须先有暗部,真正起作用的是「底部压深 + 暖色光斑」的组合。
|
||
- 最终 `--tb-deco` 后 4 槽:左窗光柱(112deg)、右侧 120px 暖散景(88% 30%)、
|
||
脚下 560×170 地面光斑(28% 94%)、底部 24% 压深。亮度差 3~9 级。
|
||
- 验证手段(本轮**模型读不了图**,全靠数值):留白区差分(与候选 D 差 0.0)、
|
||
分区亮度表、横向扫描相邻像素差 max 4(判色阶断层)、PNG 体积比对。
|
||
- ⚠️ 造预览页两个坑:① 覆盖块必须包在 `<style>` 里,裸写会被当正文渲染,整页布局炸掉;
|
||
② `--tb-deco` 各层之间**漏逗号**会让整条声明失效 → 人物和所有背景层全没,且各变体看起来"完全一样"。
|
||
以后先 diff 两个变体的 CSS 文本再截图。
|
||
- `StaticVersion` → `20261020a`;提交 `fb94b8c` 已推送。文档 `docs/theme-shiroko.md` 加「空气层」一节。
|
||
|
||
## 08:30 重画光环
|
||
|
||
- 用户反馈「光环变形太奇怪,而且中间没有扣干净」。根因两条:
|
||
① AI 画的环本身歪(bbox 291,93–584,232,比头还宽、偏移到左边);
|
||
② 环内是**封闭白孔**(面积 5190px 的包围区域),四角 floodfill 进不去 → 抠完环里糊着一团白。
|
||
- 做法:非白像素从环上一点漫水拿到独立连通域(与头发不连通,头部顶端在 y≈265,环只到 232),
|
||
整块抹白;**先把 alpha 建好,再在 RGBA 上画新环**——环心天然就是透明的,不用给封闭孔补洞。
|
||
- 新环参数:中心 (515,160)、100×34、线宽 10、-7° 倾斜、4 倍超采样后 LANCZOS 缩小、
|
||
外加 45% 模糊柔光;颜色 (127,211,220),压白 16% 后实测环心 (164,220,224)。
|
||
- 坑:擦除矩形右边界要绕开**灰色狼耳**(x>630,y 190-260,颜色 (139,140,146) 不是青色),
|
||
差点一起抹掉。判据是连通域 bbox 而不是"上方全是空白"。
|
||
- 验证:alpha 字符图确认环闭合、环心 alpha=0;渲染后页面里青色像素 bbox (201,467)-(271,649),
|
||
环在 y 468-486,头顶约 505,间距正常。
|
||
- `StaticVersion` → `20261020b`,图片 `?v=20261020b`;提交 `2e9bd6b` 已推送。
|
||
|
||
|
||
## 09:40 部署反馈三修 + 自行车/步枪
|
||
|
||
- **狼耳顶端被削平**:上一版用矩形 `(281,83)-(594,242)` 抹旧光环,右下角正好切到左耳尖
|
||
(耳尖在 y≈185、x 420-480)。改成只抹光环的**非白连通域**(bbox 291,93-584,232,与头发不连通)。
|
||
- **手内侧 / 大腿内侧白没抠干净**:那是**闭合**的白色区域,四角 floodfill 进不去。
|
||
加封闭白孔检测(>=246 且不与边缘连通、面积>=40)整块掏成透明。
|
||
⚠️ 阈值必须 >=251 才能当"背景":背景恒为 (253,253,253),而**白袜子是 237**,
|
||
用 246 当背景阈值会把袜子一起吃掉(第一版就吃穿了一只袜子)。
|
||
- **人物像站在课桌上**:原场景前景全是课桌,根本没有地面。重出场景:
|
||
前景留空地、课桌退到右后方,人物脚下才是地板。
|
||
- **自行车 + 步枪**:独立素材 `props/bike.webp`(镜像成车头朝右、与人同向、压白 26%、
|
||
自带接触阴影),放在**人物身后偏左**。deco 层顺序 = 画在上面的在前,所以第一层是人、
|
||
第三层是车,车天然被她挡住。
|
||
- ⚠️ **`background-position` 的百分比是相对 `(定位区宽 - 图片宽)`**,不是相对视口宽。
|
||
人(117px)和车(397px)用同一个 `calc(50% - 901px)` 会差出 280px,车直接跑出屏幕只剩一片轮圈。
|
||
按各自宽度反解后:人 `calc(50% - 524px)`、车 `calc(50% - 612px)`。
|
||
- ⚠️ 道具**不能烘焙进背景**:背景走 `cover`,视口一变裁切量就变,和固定 px 的人物必然分家。
|
||
- 场景重出后色调用「逐通道均值/方差对齐旧场景」保持同一雾度;移动端从同图竖裁,避免两个房间。
|
||
- `StaticVersion` → `20261020d`;提交 `15aebd6` 已推送。
|