tamakyi
|
dc90d96bde
|
删除生成参考图 shiroko-cutout.png,文档改为「参考图不入库」
- docs/theme-shiroko.md 三处引用不再指向具体文件(它只是 image-to-image 的 image1,从不进 embed)
- 顺手修过时说明:--tb-deco 是 10 个槽位,不是 6 个
|
2026-10-21 18:24:16 +08:00 |
|
tamakyi
|
ddee221de2
|
feat(theme): 主题支持按页面分别配装饰,生成器改用真实页面画布
原来的生成器只能配「背景 + 人物 + 道具」三件套,预览还是自己画的仿制页面 ——
跟真实页面不像,也没法给不同页面配不同内容。
机制层:
- internal/context.pageScope() 按路径归类,输出 <html data-page-scope>:
box / question / admin / profile / vote(首页与 /explore 不加载主题,不列)
- /user/questions 单独归为 admin:题目列表信息密,和设置表单的装饰诉求不同
- base.css 装饰槽位 6 -> 10,背景 8 层 -> 12 层;主题按作用域覆盖时同样写满 10 个
- 新增 TestDecoSlotCount:逐文件逐声明检查 10 个值。少写一个不报错,
只会让图层与 size/position 错位(整页重复同一张图 / 人物跑到左上角),注释守不住
生成器:
- 画板改成 iframe 加载 outputs/preview-*.html(真实模板渲染),配 serve.py 起本地服务
解决 file:// 下父页面读不到 iframe DOM 的问题
- 八个页面作用域(去掉不生效的首页/探索),每个可独立配背景与最多 10 层装饰
- 图层类型:图片 / 径向光斑 / 线性光;9 宫格锚点 + 像素偏移,可在画板上直接拖
- 位置统一写 calc(0%|50%|100% ± Npx):百分比是相对 (容器-图片),
不用 left/bottom 关键字混搭,避免三值语法非法导致整条声明作废
- 配色只填 6 个基础色,其余 4 个必需令牌按方向派生(surface-2 往 text 靠,
浅色变深、深色变亮,方向自动正确)
配套:
- zz_preview_test.go 增加单题页 / 题目列表 / 投票页预览,作为生成器画板
- docs/theme-page-scope.md 记录作用域取值、选择器特异性与 10 槽位约束
- StaticVersion 20261020e(base.css 变了)
验证:生成器导出的 CSS 通过 TestThemeCSSComplete + TestDecoSlotCount;
真实箱主页计算样式为 12 层对齐;临时主题验证「question 覆盖为 none」生效、
未覆盖时回退全局。
|
2026-10-20 10:53:44 +08:00 |
|
tamakyi
|
84c2cab278
|
docs(theme): 补素材规格书(尺寸/比例/雾度/换图清单)
|
2026-10-20 09:54:33 +08:00 |
|
tamakyi
|
15aebd6d19
|
theme(shiroko): 换前景空地的场景,补自行车/步枪,修耳朵与白孔
部署反馈三个问题:
1. 狼耳顶端被削平——上一版用矩形抹光环,矩形右下角切到了左耳尖。
改成只抹光环的非白连通域(与头发不连通,bbox 291,93-584,232),耳朵完整。
2. 手内侧 / 大腿内侧白没抠干净——那是环状闭合的白色区域,四角 floodfill 进不去。
新增封闭白孔检测(>=246 且不与边缘连通,面积 >=40)整块掏空,袜子(237)不受影响。
3. 人物像站在课桌上——原场景前景全是课桌,脚下没有地面。
重出场景:前景是空地,课桌退到右后方;人物脚下是地板 + 接触阴影。
同时补上她的自行车与步枪:独立素材 props/bike.webp,镜像成车头朝右与人同向,
放在人物身后偏左(第一层是人,车在第三层,天然被她遮住),视口变化时两者同步移动。
静态版本 20261020d
|
2026-10-20 09:29:09 +08:00 |
|
tamakyi
|
2e9bd6bb73
|
theme(shiroko): 重画光环——AI 给的环形状歪、环内还糊着白孔
- 旧环是非白像素的独立连通域(bbox 291,93-584,232,与头发不连通),整块抹白后重画
- 新环:-7° 倾斜椭圆,100x34,线宽 10px,4 倍超采样 + LANCZOS 求平滑,外加 45% 模糊柔光
- 关键:环是在 alpha 建好之后再画的,环心天然透明,不再需要给封闭白孔补洞
- 压白 16% 与场景保持一致;静态版本 20261020b,图片另带 ?v=20261020b
|
2026-10-20 08:28:39 +08:00 |
|
tamakyi
|
fb94b8c204
|
theme(shiroko): 补四层空气层——窗光/暖散景/地面光斑/底部压深
场景压白 38% 后整页亮度只剩 235~246,直接摆物体会突兀,改用纯渐变造光:
- 左窗光柱 linear-gradient(112deg)
- 右侧一朵 120px 暖散景,给右侧空白一点体积
- 人物脚下 560x170 地面光斑,把人物钉在地上
- 底部 24% 轻压深,页面下沿不飘
实测亮度差 3~9 级(肉眼可辨但不刺眼),横向扫描相邻像素差 max 4,无色阶断层。
纯白散景压在压白场景上不可见(diff 0.14),提亮必须先有暗部。
静态版本 20261020a
|
2026-10-20 01:13:59 +08:00 |
|
tamakyi
|
e95671f2fe
|
theme(shiroko): 人像换成侧后方窗边背影,压白 16% 融入场景
- 盘腿坐的正面人像在空教室里像贴纸:直视访客、没有环境、配色比场景饱和
- 新素材 chibi/window.webp:侧后方视角、双手背在身后望向箱内,抠白底后压白 16%
与压白 38% 的场景同一雾度;配椭圆接触阴影,脚踩地面不悬空
- 尺寸 380->400px,接触阴影同步复位;静态版本 20261019r
|
2026-10-20 00:05:01 +08:00 |
|
tamakyi
|
33e31cf4dc
|
theme(shiroko): 按二次元官网构图重做——整页场景 + 悬浮磨砂 UI
参考蔚蓝档案 JP 首页(bluearchive.jp)的做法:整个视口是一张场景插画,UI 浮在场景之上,
而不是"白底 + 留白里贴几个人物"。之前几版反复调摆位都显得怪,根源就是缺了这层场景——
人物没有环境,怎么摆都是贴纸。
- 新增教室场景两张(1920×1080 / 720×1003,共 28KB):生成后裁掉右下角水印、
混白 38%、模糊 1.4px,保证白卡片仍有对比度;
- 卡片与顶栏改半透明白 + backdrop-filter 磨砂(深色关闭,背后没场景时半透明只会变浑);
- 人物站在场景左侧地面(340px,离底边 36px)+ 椭圆接触阴影;
- 浅色不再叠平铺纹样(压在实景上会变噪点),pattern.svg 删除,深色保留 pattern-dark;
- 顺带修 ruleBody 不剥 CSS 注释的缺陷:令牌前写注释会让 tokenValue 取到粘连键,
色块预览静默失效(新增 TestRuleBodyIgnoresComments 守住);
- StaticVersion → 20261019q
|
2026-10-19 23:01:55 +08:00 |
|
tamakyi
|
2f2e00ad65
|
theme(shiroko): 装饰改为「半隐在卡片后」的单人 + 接触阴影
按选定方向收敛:
- 只留 sit 一个角色,左移 515px 让右侧约 40px 钻进卡片底下(卡片定宽 750 居中,
左沿 = 50% - 375px),被卡片挡掉一部分才有空间关系,不再浮在留白中间;
- 离底边 26px(脚踩最后一像素像被裁掉),配一层椭圆径向渐变当接触阴影,避免悬空;
- 纹样透明度 0.13 → 0.085(深色 0.09 → 0.055),图案 url 补 ?v=;
- 收掉另外三个人物与第一层半透明立绘;
- StaticVersion → 20261019p
|
2026-10-19 21:43:44 +08:00 |
|
tamakyi
|
3717b77ef8
|
theme(shiroko): 装饰改为一组两人,去掉散射与半透明立绘
四角各摆一个人读起来像贴纸墙纸:人物之间没有位置关系,也没有和内容的关系,
右下角还会和右对齐的页脚文案(社区规则 / 备案号)挤在一起。
- 只留左下角一组:盘腿坐(330)+ 挥手(190),贴住左边缘和下沿;
990px 以下缩小并整体左移,900px 以下(卡片占满宽度)不出人物,顺带省掉图片请求。
- 删掉 16% 透明度的 hero-fade 叠层:虚实两套人物叠在一起像重影。
- 纹样减到雪花 + 光环 + 两点,透明度 0.2 → 0.16,tile 320 → 340。
- 卡片压在近白底色上分不清边界,补一圈 1px 冷调描边(box-shadow,不占布局)。
- StaticVersion → 20261019n
|
2026-10-19 21:19:36 +08:00 |
|
tamakyi
|
a6059bec1b
|
theme: 启动日志暴露未登记的主题
新增主题后忘了写进 [theme] available,表现只是"设置页里找不到",
日志里没有任何痕迹。现在启动时会打:
- info 主题注册表已加载 enabled=...
- warn [theme] available 未登记以下主题 themes=shiroko available=...
discover() 用 fs.Glob 扫内嵌 css/themes/*.css,按 slug 规则过滤掉 _scaffold.css。
示例配置补上 shiroko,文档补「部署后看不到主题」的两步排查。
|
2026-10-19 21:05:46 +08:00 |
|
tamakyi
|
0c39afff3a
|
theme v4: 装饰层 + 砂狼白子 Q 版插画
- base.css 新增装饰层令牌 --tb-deco / -size / -position:固定 6 个槽位、固定像素四角定位,
不受 cover 裁切影响(竖屏桌面会把贴边的插画切掉)。多层背景的列表长度必须恒定,
值一多一少会整层错位(表现为整页重复同一张图)。
- shiroko:4 个 Q 版人物(wave/cheer/think/sit/doze),以用户立绘为参考图 image-to-image
生成后抠白底;左右各两个、立绘在右下当水印。顶部用固定 96px 避开顶栏,
真实视口 ≥920px 才补中间两个,矮屏不放(否则与立绘重叠)。
深色关掉装饰层,图案改为几何纹样。
- sakura:顶栏取页面底色、顶栏链接提到次要文字色、uk-alert-primary 改粉底。
- 主题注入补上 /user 后台与 /vote 投票页(跟随箱主/发布者的语言与配色)。
- StaticVersion → 20261019m
|
2026-10-19 20:37:28 +08:00 |
|