Files
Shuery 3f11426964 feat: TS 构建管线、Spine 抓取器与 wallpapers/ 唯一真相来源
把项目从「手写 dist/」改成「wallpapers/ 是唯一真相来源,dist/ 由 pnpm build 生成」,
并补上配套的类型、门禁与抓取器。一次提交落地整条管线,因为拆开会留下不能构建的中间态。

- src/:运行时与模拟器源码(TS,strict),编译到 build/ 再拷进各分发
- tools/:build / dev / check-{syntax,paths,dist},以及抓取器与回归门禁 tools/checks/
  (.scratch/ 下那批一次性脚本移入 tools/checks/ 并入库为长期门禁)
- wallpapers/:七档壁纸的源数据 + README.md(id/音频/预设的完整规范)
- docs/adr/0005-0008:构建管线与分发拓扑、模拟器契约、自包含 sim、每骨架资源布局
- .gitignore:排除 .scratch/ 的参考资料副本(上游 spine 整仓克隆 ~1.2 GB、
  抓取侦查数据 ~680 MB)与调试转储;这些是本地调查材料,补偿会让仓库无法克隆
- 归一化 .gitignore/CONTEXT.md 行尾(工作区 CRLF、索引 LF 造成的整文件假 diff)

同时修掉三档卡住构建的未完工壁纸:
- kv45 的 meta.json 里 id 还是抓取期场景名 scene_main,经 downloader promote 正名为 kv45
- shajin / zhigengniao_juheye 的 meta.json 误用了骨架描述文件(name/spine/animations/pages)、
  且都缺 preset.template.json;现按规范重建:骨架沉到 spines/<名>/(spine-ts 按 atlas 所在
  目录解析贴图页)、补上元数据与单骨架预设,并清掉 zhigengniao 骨架里指向作者机的绝对路径
- 顺带 promote 已在 sources.yml 里的 kv46(月升之前,与兽共舞)

pnpm check 五道门全绿:10 个分发 / 7 档壁纸 / 141 处引用自包含。
2026-10-02 01:27:02 +08:00

19 lines
1.5 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"$comment": "壁纸级元数据。运行时用不到的字段都在这里;build 会把它与 preset.template.json 合成两份产物:dist 里的 preset.js(运行时)与 project.json(发布)。id 必须与目录名一致,且必须与已发布的 WE combo value 一致(老用户设置靠它),永不随显示名变化。",
"id": "xilian",
"name": "昔涟立绘",
"title": "【崩坏:星穹铁道】昔涟",
"description": "[b]官方昔涟动态立绘[/b]\r\n[list]\r\n [*]bgm 与音量可在壁纸设置中调整。\r\n [*]自适应窗口比例,不同显示器下构图保持一致。\r\n[/list]",
"$comment_preview": "预览图与 project.json 同级即可(WE 的 preview 字段相对 project.json 解析)。缺省时 build 省略 preview 字段并给出 warning;--strict 下升级为 fail。",
"preview": "preview.gif",
"$comment_audio": "file 是相对本目录的音频文件路径。文件名保留中文原样(用户决定不改名)。**id 不在这里写**:build 按 游戏 → 共享音频 → 各壁纸 的固定顺序自增分配(\"1\"、\"2\"、\"3\"…),全项目唯一——bgm 下拉会把所有壁纸的音源平铺进同一个 combo,重名就分不清选的是哪个。这里只校验 file 存在、扩展名在 CEF 白名单内(flac/mp3/ogg/wav/opus,不含 m4a/aac)。顺序即默认:要改默认音源就把它挪到第一位。",
"audio": {
"choices": [
{ "name": "「再度和你」", "file": "audios/zaiduheni.flac" },
{ "name": "昔涟", "file": "audios/xilian-src.flac" }
]
}
}