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 过滤渗色。
This commit is contained in:
Shuery committed 2026-09-19 19:41:41 +08:00
1 parent 8ad177c822
commit a391021041
27 files changed
+3006 -2879

No files matched your search

File diff suppressed because it is too large. Load diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

@@ -10,7 +10,7 @@ export default {
name: "「成为昨日的明天」",
game: "崩坏:星穹铁道",
backgroundImage: asset("./images/kv37_xilian.png"),
backgroundImage: asset("./images/kv37_xilian.webp"),
spineConfig: {
jsonUrl: asset("./effects/kv37.json"),
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large. Load diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

+3 -3
View File
@@ -25,13 +25,13 @@ export default {
},
audioOptions: {
source: asset("./audios/「再度和你」.flac"),
source: asset("./audios/再度和你.ogg"),
volume: 0.5,
},
// 本壁纸可选的音源(第 6 步会接进 project.json 的 bgm 属性)
audioChoices: [
{ id: "zaiduheni", name: "再度和你", source: asset("./audios/「再度和你」.flac") },
{ id: "xilian", name: "昔涟", source: asset("./audios/昔涟.flac") },
{ id: "zaiduheni", name: "「再度和你」", source: asset("./audios/再度和你.ogg") },
{ id: "xilian", name: "昔涟", source: asset("./audios/昔涟.ogg") },
],
};