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 处引用自包含。
This commit is contained in:
Shuery committed 2026-10-02 01:27:02 +08:00
1 parent b8eee05d78
commit 3f11426964
297 files changed
+216627 -1926

No files matched your search

@@ -0,0 +1,15 @@
jh01_46kv_bg.png
size:1408,1450
filter:Linear,Linear
scale:0.44
bg_C
bounds:0,398,867,1052
offsets:0,513,867,1720
bg_D
bounds:0,0,396,420
offsets:22,0,584,451
rotate:90
bg_E
bounds:870,241,1209,538
offsets:112,244,1443,1034
rotate:90
@@ -0,0 +1 @@
{"skeleton":{"hash":"gRV9ubiaL0k","spine":"4.2.43","x":-1265.14,"y":-576.2,"width":2553.71,"height":1124.48,"images":""},"bones":[{"name":"root","x":160.53,"y":-173.49,"scaleX":0.46,"scaleY":0.46},{"name":"bg","parent":"root","x":-3585.64,"y":2682.07},{"name":"bone101","parent":"bg","x":3365.58,"y":-2277.34},{"name":"bg_D","parent":"bg","length":610.58,"rotation":18.43,"x":5264.62,"y":-1605.9},{"name":"bone102","parent":"bg","x":3365.58,"y":-2277.34},{"name":"bone103","parent":"bg","x":3365.58,"y":-2277.34},{"name":"bone104","parent":"bg","x":3365.58,"y":-2277.34}],"slots":[{"name":"bg_E4","bone":"bone104","attachment":"bg_E"},{"name":"bg_E","bone":"bone101","attachment":"bg_E"},{"name":"bg_E2","bone":"bone102","attachment":"bg_E"},{"name":"bg_E3","bone":"bone103","attachment":"bg_E"},{"name":"bg_D","bone":"bg_D","attachment":"bg_D"},{"name":"bg_C","bone":"bg","attachment":"bg_C"}],"skins":[{"name":"default","attachments":{"bg_C":{"bg_C":{"type":"mesh","uvs":[1,0.09021,1,0.7012,0,0.7012,0,0.09021],"triangles":[2,3,0,2,0,1],"vertices":[4272.58,-1112.99,4272.58,-3501.34,2302.58,-3501.34,2302.58,-1112.99],"hull":4}},"bg_D":{"bg_D":{"type":"mesh","uvs":[0.28701,0.08737,0.17857,0.07003,0.0728,0.14115,0.04201,0.33369,0.03799,0.54357,0.04201,0.66326,0.08217,0.83672,0.1384,0.95121,0.24149,1,0.44634,0.98937,0.56683,0.87315,0.7141,0.55225,0.68331,0.15676,0.63243,0.2192,0.48784,0.19839,0.41019,0.14808],"triangles":[13,12,11,3,1,4,1,5,4,3,2,1,7,6,8,11,10,14,11,14,13,15,6,5,0,5,1,0,15,5,14,6,15,10,6,14,10,9,6,9,8,6],"vertices":[1,3,335.94,356.04,1,1,3,204.93,418.45,1,1,3,48.63,393.71,1,1,3,-52.58,219.41,1,1,3,-125.67,17,1,1,3,-159.4,-101.07,1,1,3,-165.03,-286.61,1,1,3,-131.29,-421.55,1,1,3,-17.23,-512.29,1,1,3,244.29,-587.97,1,1,3,433.77,-525.56,1,1,3,723.32,-275.36,1,1,3,812.72,122.14,1,1,3,728.38,82.79,1,1,3,552.96,163.75,1,1,3,471.44,245.27,1],"hull":16}},"bg_E":{"bg_E":{"type":"mesh","uvs":[0.08068,0.24377,0.6577,0.24377,0.89403,0.24377,0.91461,0.24395,0.91526,0.27632,0.91526,0.70051,0.91526,0.75776,0.64624,0.76339,0.07917,0.75845,0.07817,0.24377,0.59781,0.3042,0.58974,0.31406,0.52668,0.4521,0.52214,0.46337,0.51608,0.55281,0.74814,0.70635,0.8223,0.56338,0.82129,0.39435,0.71636,0.35562,0.71031,0.36407,0.6528,0.47675,0.65027,0.63521,0.73604,0.53662,0.42477,0.30068,0.47371,0.49647,0.47421,0.50915,0.31782,0.73311,0.19624,0.7324,0.11048,0.59437,0.14731,0.38801,0.27292,0.38449,0.33901,0.51619,0.3042,0.60493,0.22096,0.59014,0.89415,0.24395,0.91461,0.27533,0.88342,0.75776,0.65631,0.75776,0.65507,0.75845,0.08068,0.75845],"triangles":[3,34,2,35,34,3,35,3,4,23,0,1,10,23,1,11,23,10,18,1,2,19,1,18,10,1,19,30,0,23,29,0,30,17,18,2,17,2,34,17,34,35,17,35,4,12,23,11,12,24,23,20,10,19,11,10,20,12,11,20,13,24,12,31,30,23,25,24,13,24,31,23,31,24,25,17,19,18,22,19,17,20,19,22,14,25,13,16,17,4,22,17,16,33,29,30,33,30,31,9,0,8,28,29,33,32,33,31,20,13,12,21,20,22,20,14,13,21,14,20,16,4,5,15,22,16,36,15,16,21,22,15,27,28,33,14,26,32,5,36,16,6,36,5,37,21,15,37,15,36,8,0,39,39,0,29,29,28,39,27,39,28,38,21,37,14,21,38,32,31,25,32,25,14,38,26,14,27,33,32,26,27,32,39,27,26,39,26,38,7,39,38,38,37,36,7,38,36,6,7,36,8,39,7],"vertices":[-2862.71,1161.54,922.54,1161.54,2472.82,1161.54,2607.85,1160.66,2612.11,1008.57,2612.11,-984.71,2612.11,-1253.7,847.33,-1280.18,-2872.61,-1256.94,-2879.21,1161.54,529.62,877.55,476.67,831.22,63,182.57,33.22,129.62,-6.5,-290.67,1515.83,-1012.12,2002.31,-340.31,1995.69,453.94,1307.33,635.96,1267.62,596.25,890.35,66.74,873.8,-677.87,1436.4,-214.56,-605.5,894.09,-284.49,-25.92,-281.18,-85.49,-1307.09,-1137.88,-2104.66,-1134.57,-2667.25,-485.93,-2425.67,483.73,-1601.63,500.27,-1168.1,-118.58,-1396.45,-535.57,-1942.5,-466.07,2473.62,1160.66,2607.85,1013.24,2403.23,-1253.7,913.38,-1253.7,905.29,-1256.94,-2862.71,-1256.94],"hull":10}},"bg_E2":{"bg_E":{"type":"mesh","uvs":[0.08068,0.24377,0.6577,0.24377,0.89403,0.24377,0.91461,0.24395,0.91526,0.27632,0.91526,0.70051,0.91526,0.75776,0.64624,0.76339,0.07917,0.75845,0.07817,0.24377,0.59781,0.3042,0.58974,0.31406,0.52668,0.4521,0.52214,0.46337,0.51608,0.55281,0.74814,0.70635,0.8223,0.56338,0.82129,0.39435,0.71636,0.35562,0.71031,0.36407,0.6528,0.47675,0.65027,0.63521,0.73604,0.53662,0.42477,0.30068,0.47371,0.49647,0.47421,0.50915,0.31782,0.73311,0.19624,0.7324,0.11048,0.59437,0.14731,0.38801,0.27292,0.38449,0.33901,0.51619,0.3042,0.60493,0.22096,0.59014,0.89415,0.24395,0.91461,0.27533,0.88342,0.75776,0.65631,0.75776,0.65507,0.75845,0.08068,0.75845],"triangles":[3,34,2,35,34,3,35,3,4,23,0,1,10,23,1,11,23,10,18,1,2,19,1,18,10,1,19,30,0,23,29,0,30,17,18,2,17,2,34,17,34,35,17,35,4,12,23,11,12,24,23,20,10,19,11,10,20,12,11,20,13,24,12,31,30,23,25,24,13,24,31,23,31,24,25,17,19,18,22,19,17,20,19,22,14,25,13,16,17,4,22,17,16,33,29,30,33,30,31,9,0,8,28,29,33,32,33,31,20,13,12,21,20,22,20,14,13,21,14,20,16,4,5,15,22,16,36,15,16,21,22,15,27,28,33,14,26,32,5,36,16,6,36,5,37,21,15,37,15,36,8,0,39,39,0,29,29,28,39,27,39,28,38,21,37,14,21,38,32,31,25,32,25,14,38,26,14,27,33,32,26,27,32,39,27,2Line truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

@@ -0,0 +1,16 @@
{
"name": "jh01_46kv_bg",
"spine": "4.2.43",
"animations": [
"loop3"
],
"skins": [
"default"
],
"pages": [
"jh01_46kv_bg.png"
],
"source": "https://act.mihoyo.com/puzzle/hkrpg/e20260913version_fasf13434_77d1c0e99b/index.html?game_biz=hkrpg_cn&mhy_presentation_style=fullscreen&mhy_landscape=true&mhy_hide_status_bar=true&mode=fullscreen&win_mode=fullscreen&isBili=1",
"originalImages": null,
"fetchedAt": "2026-09-22T00:37:28+00:00"
}