tamakyi
|
d0a1bb8435
|
docs(memory): 分享卡模块像素实验矩阵与 2x 成本基准
|
2026-10-22 23:37:04 +08:00 |
|
tamakyi
|
9fb003cc39
|
docs(memory): 分享卡复验结论(着墨偏差实测、二维码静默区回归、4px/模块上限)
|
2026-10-22 23:24:32 +08:00 |
|
tamakyi
|
a215c2ba2b
|
docs(memory): dev 分享卡 500 的根因(字体从未入库)与二维码模块对齐
|
2026-10-22 22:33:53 +08:00 |
|
tamakyi
|
d51629ef2f
|
fix(share): 字体缺失不再永久失败;二维码按模块整数倍绘制
测试环境部署后分享卡整站 500「字体文件未配置或无法加载」。根因不是代码
回退,而是字体从来就不在仓库里:static/fonts/ 既没有入库(git 历史为空),
也没有 embed,凡是按仓库新建的环境都缺这个文件,只有手工补过字体的老环境
才正常。
- getFont 不再用 sync.Once 永久缓存失败:补上字体文件即生效,无需重启;
失败时错误信息带上「已尝试的路径」,排障不用再猜是配置还是文件
- 候选路径:font_path → static/fonts/*.{otf,ttf,ttc} → 常见系统 CJK 字体,
换过字体文件名也能用
- app.sample.ini 注明字体必须自备、缺失的后果
顺带做 P1 的第一项:generateQR 改为按模块整数倍出图(41 模块 @165px →
每模块 4px、符号 164px 居中)。原先是 256px 生成后最近邻缩到 165px,
每模块 4.02px,模块宽窄相差 1px,小尺寸二次压缩后更容易扫不动。
内嵌头像改为按目标尺寸等比(size*48/256)+ 2px 白边,静默区不受影响。
守门测试新增两条:TestGenerateQRIsModuleAligned(扫描线游程必须是模块
宽度的整数倍,变异成等比缩放后立刻 FAIL)、TestGenerateQRWithLogo
(中心是头像、四角静默区纯白)。
|
2026-10-22 22:33:22 +08:00 |
|
tamakyi
|
80e042d154
|
chore: 分享卡排查记录;.gitignore 忽略 .workbuddy/local
|
2026-10-22 21:42:56 +08:00 |
|
tamakyi
|
ebc4586ef4
|
theme(shiroko): 新增平涂极简风肖像素材(透明底)
按用户给的参考图风格生成三张白子肖像:平涂、零描边、纯黑圆角矩形眼、无嘴、腮红、头部裁边。
- static/images/themes/shiroko/portraits/portrait-{front,tilt,close}.webp(907–1024×921,共 197KB)
- 未接进 --tb-deco,留给用户自行摆位;docs 里写了接入示例与提示词骨架。
- 抠图走"指定纯色底 + 按色值算 alpha":ImageGen 的 transparent 至今返回无 alpha 的 RGB,
按白底抠会吃掉白衬衫、也填不到闭合光环内部。
|
2026-10-22 19:58:45 +08:00 |
|
tamakyi
|
1addeb56b8
|
fix templates v4
|
2026-10-22 18:50:15 +08:00 |
|
tamakyi
|
0181fc5c66
|
fix templates v3
|
2026-10-22 18:26:30 +08:00 |
|
tamakyi
|
b939d26ff0
|
fix templates v2
|
2026-10-22 17:49:25 +08:00 |
|
tamakyi
|
bd02eb7ed2
|
fix templates v1
|
2026-10-22 17:04:10 +08:00 |
|
tamakyi
|
e4810040a7
|
生成器新增「顶栏」面板:实色 / 半透明磨砂 / 全透明(仅预览)
以前顶栏只能在配色里填一个颜色字符串:写 rgba 拿不到模糊,档位和颜色又分在两处,
改了一处就忘了另一处。现在三档一个面板说话。
- S.navbar = {mode, alpha, blur},基色仍取「配色 → 顶栏」,navbarValue() 统一计算:
solid 先 flatten 压平(旧工程里可能自带 alpha)、glass 加 alpha、clear 出 transparent。
半透明档额外写 .uk-navbar-container{backdrop-filter:blur(N)} —— 令牌只能给颜色,
模糊必须落成规则;选择器不带 data-theme,深浅两套共用一条。
- 全透明**只给预览**:validate() 拦导出,与 internal/theme 的 TestNavbarNotFullyTransparent
同一条规矩,面板上直接写明原因。
- 面板带「导航文字 x.x:1」读数,按压平后的顶栏算(半透明时是顶栏压在底色上的结果),
低于 4.5 变橙。
- 旧工程迁移:配色里塞过 rgba(...,0.52) 的,按 alpha 反推档位(1→实色 / 0→全透明 / 其余→半透明),
打开旧工程不会突然变实色。
- 自检 ?dump=navbar(10 项:三档产出、blur 有无、全透明被拦、alpha 0.2/0.95 边界)。
- 滑杆步长 0.02 → 0.01:0.55 会被吸附成 0.54/0.56,手感像坏了。
|
2026-10-22 16:15:49 +08:00 |
|
tamakyi
|
8941744621
|
new-sakura:顶栏改半透明磨砂,并立规矩禁止全透明
线上(box.shiroko.one/_/tamakyi)两个现象来自同一处:`--tb-navbar` 是实色,
顶栏那条带(y=20..80)把从右上角长出来的花枝齐刷刷切掉一段。
第一版顺手改成 transparent —— 花枝完整了,但顶栏"消失":导航失去依托,
文字直接压在花纹上。用户当场否掉,要求半透明。
- 顶栏:`rgba(253,246,248,0.72)` / 深色 `rgba(34,26,30,0.72)`,配
`.uk-navbar-container{backdrop-filter:blur(12px)}`(令牌只能是颜色,模糊写在规则里)。
0.72 有依据:导航文字 #6d555d 纯底 6.34:1,最坏情况(深花瓣在顶栏后面)压平后 5.08:1。
- 花枝 top -16px → 26px:顶栏半透明后,700~760px 宽度下枝头正好压在「登录」上(截图确认)。
- 手机底栏 #tb-mobile-utils 在 base.css 写死 rgba(255,255,255,.92),粉底上是一条白杠,
主题里改成同色系 0.92。
- 新增 TestNavbarNotFullyTransparent:拦 `transparent` / `rgba(...,0)` / `#rrggbb00`,
并说明"这不是审美偏好,是踩过之后立的规矩"。变异验证过(改回 transparent 立即 FAIL)。
约定同时写进 static/css/themes/_scaffold.css 的令牌说明。
- StaticVersion 20261022b → 20261022c:css 改了不提版本号,浏览器拿着旧样式,
现象就是"改了但线上没变"。
|
2026-10-22 16:05:37 +08:00 |
|
tamakyi
|
2981731d4f
|
announcement v3
|
2026-10-22 15:28:04 +08:00 |
|
tamakyi
|
e1e840f895
|
announcement v1
|
2026-10-22 15:08:24 +08:00 |
|
tamakyi
|
c9f22cb81b
|
修窄屏装饰层压不住作用域块(手机上一直显示桌面版樱花)
@media 不提升特异性:作用域块 html[data-theme-style][data-page-scope="box"] 是 (0,2,1),
媒体查询里写的 html[data-theme-style] 只有 (0,1,1),于是「窄屏装饰层全置 none」这行
从来没生效 —— 手机上照样铺开桌面的花枝与花朵。深色作用域块是 (0,3,1),更压不住。
- 媒体查询里补三条同特异性的通配规则(作用域 0,2,1 / 深色基础 0,2,1 / 深色+作用域 0,3,1),
媒体块在文件更后,同特异性即胜出。
- 新增 TestNarrowMediaOverridesScopedDeco:外层每处非 none 的 --tb-deco,都要求窄屏里有
同属性名、属性数不少于它的声明。变异验证过(删掉深层那条立即 FAIL)。
它同时报出 shiroko 的 900px 块只覆盖浅色 —— 但深色块本就是 none,不算缺陷,故跳过。
- 窄屏改由加强版底纹承担樱花(透明度 ×1.9、格子 180px):桌面那套 0.18~0.34 的透明度
在 390px 上实测接近纯粉。顶栏与卡片之间那条 35px 带子试过放小花,question/admin 页卡片
从 y=110 起会切掉一半,最终不放装饰层。
|
2026-10-22 11:18:29 +08:00 |
|
tamakyi
|
5c0de805c6
|
new-sakura:花枝朝向与分叉修正,素材包一键导出上传到对象存储
- gen_new_sakura.py:花朵加各自旋转角(原来一律朝上,像贴纸);分叉从垂直下垂改成向右上斜;
新增 --asset-base / --out —— 填前缀就引用对象存储位图,留空仍是内联 SVG。
- export_assets.py(新增):从 gen_new_sakura 的同一份 SVG 出图(直接 import,不另画一套),
用无头 Chrome 透明底渲染后转 WebP;--upload 一次传 CSS + 5 张 webp + 生成的 INSTALL.txt,
公开地址按 data/r2.txt 的 image_bucket_cdn_host(与 app.ini 同名)拼。
- serve.upload_files 支持逐文件 cacheControl。原来硬编码 immutable,而 INSTALL.txt 与镜像
CSS 的键不带版本 —— 重新生成后浏览器/CDN 一年内都还是旧内容。现在位图 1 天、CSS 5 分钟、
README 60 秒;selftest 补一条覆盖断言。
- 文档更正两处事实:①自定义域 r2.337845818.best 实测可匿名读(S3 endpoint 仍 403);
②服务端有 gzip,内联版 51KB 实际传输 3.9KB,比位图版(2.7KB + 5 图 48.9KB)小得多,
所以「换位图省 CSS 体积」不成立,位图只在素材要复用到非 CSS 场景时才有意义。
另记:曾以 immutable 传过的键必须去控制台清缓存,重传不会让边缘失效。
|
2026-10-22 11:06:13 +08:00 |
|