{ "$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" } ] } }