Shuery
|
b8eee05d78
|
chore: dist/ 改为构建产物,从版本库摘除
用户裁定:dist 是产物,不是源码。构建管线与产物拓扑见并发的重构所写的 ADR 0005。
- `git rm -r --cached dist`——只摘索引,**磁盘文件原样保留**。摘除前 dist/ 有 33 个跟踪文件。
- 一并纳入 .gitignore 中已有的 `dist/` 规则(该规则由并发的重构写入),使摘除真正生效;
否则这些文件会以未跟踪身份继续堆在 git status 里。同时纳入的还有 `node_modules/`
与 `.scratch/dist-baseline/` 两条同类忽略规则。
- 之前的两次提交(`eb56efb`、`0ca78ed`)按旧约定把 dist/ 收进了版本库,本次把定位纠回来。
**历史里的 dist blob 不删**:需要旧版产物或那份无损音频时仍可从历史取回。
源码侧的真相现在是 `src/` + `wallpapers/` + `tools/`。
只做索引层面的摘除,不触碰其它任何改动——同一工作区里还有一个重构在实时写盘。
|
2026-09-20 00:17:33 +08:00 |
|
Shuery
|
eb56efbd9e
|
feat: 比例适配、bgm 音源选择与 fps 限流,打包 v3
取景(issue 04)
- 新增 viewport-fitter.js:让立绘层缩放跟随背景图的 cover 缩放——背景放大多少倍、
特效就放大多少倍。原先背景走 cover、立绘层走 contain,比例一变两者就分叉。
16:9 下与作者设定逐像素一致(kv37 为 0 差异)。实测证伪了"contain 会裁掉作者视口"
这个最初的判断:contain 在任何比例下都完整含住作者视口。
- 应用方式为原地改写 config.viewport 字段后调 setViewport(),不重建播放器;
维护挂在 config.frame 上按画布比例增量进行(config.success 早于 setViewport,拿不到视口)。
WE 属性(issue 05)
- project.json 新增 bgm combo(所有壁纸音源的并集 + 「随预设」);所选项不属于当前壁纸时
音频回落该壁纸默认,选择本身保留。
- fps 限流包裹实例 drawFrame 并接管排程。修掉两个实测缺陷:朴素丢帧会把 rAF 抖动放大成
整拍丢失(目标 30fps 实测只有 22.5fps);fps:0 被真值判断吞掉导致无法取消限流。
打包(issue 06)
- project.json version 升至 3 并更新描述;preset 的 combo 取值保持 xilian/kv37 不变。
- preview.gif 821 KB → 347 KB(每 2 帧取 1 帧 + 128 色不抖动,逐帧与源帧像素完全相同)。
- index.html 加内联 favicon,消除 CEF 自动请求 /favicon.ico 造成的 404 报错。
其它
- dist/scripts/wallpaper-engine.js 移到 tools/:它没有任何入口引用,且环境判据依赖真实 WE
并不存在的 wallpaperRegisterListener,一旦按它自己的说明挂进 index.html 会在生产环境自我激活。
- 修正死文件检查:原检查会拿文件名匹配到文件自身的内容,使这类文件漏网。
- 新增离线算式验证与 resize / 属性 / 全量验收三套浏览器测试脚本。
|
2026-09-19 20:29:25 +08:00 |
|
Shuery
|
a391021041
|
perf: 体积从 105.1 MB 降到 28.9 MB(音频转 Opus、图片无损 WebP)
- 两首 flac 母带移入 masters/(gitignore,不入库),转 Opus 128k VBR:3.35 + 3.16 MB
- xilian 三张真 PNG RGBA → 无损 WebP(3.39→1.80、5.01→2.83、3.38→1.76 MB)
- kv37_xilian.png → 无损 WebP 5.13→2.75 MB
- kv37 五张图本来就是 WebP(扩展名误写成 .png),本次只改名并把 atlas 页名改为 .webp
- 删除死文件 dist/jsconfig.json
- 新增 tools/rawdiff.mjs(区分可见差异与仅透明下差异)、tools/atlas-pages.mjs
验证:check-paths 11/11;0 个非 favicon 的 404;无损 WebP 可见像素 0 差异;
libwebp 会改写完全透明像素下的 RGB(xilian 三图 32-49% 像素),渲染级对拍
与 PNG 版相差 0.052/255、热力图全空,确认未因 Linear 过滤渗色。
|
2026-09-19 19:41:41 +08:00 |
|
Shuery
|
399f99edd7
|
test: 零依赖对拍测试台(可在不改 dist/ 的前提下复现 WE 行为)
tools/serve.mjs 本地静态服务 + 测试驱动注入(模拟 WE 下发用户属性、冻结动画相位、藏 canvas 取参考帧)
tools/cdp.mjs 最小 CDP 客户端(真实时间等待;--screenshot 的虚拟时间会在骨骼加载完成前就耗尽)
tools/shot.mjs 截图/取状态,就绪判据可传入
tools/diff.mjs ffmpeg 差分:PSNR / SSIM / 平均亮度差
tools/capture.mjs 对拍矩阵:壁纸 × 分辨率 × (正常, 藏 canvas)
实测:xilian 1920x1080 spine 层贡献 mean|diff|=26.1/255,kv37 为 10.2/255,
同配置两次截图噪声底 0.68/255。
|
2026-09-19 19:13:57 +08:00 |
|