--- description: .soon 文件 JSON 契约(与 soonDesign-back / soonWorkerDisk 对齐) globs: - frontend-web/js/design1/** - frontend-web/js/design2/** - frontend-electron/js/design1/** - frontend-electron/js/design2/** - frontend-web/js/common/cloud-files.js alwaysApply: false --- # .soon 文件格式(不可擅自变更) ## 权威参考 - 旧版程序:`soonDesign-back/lib/design1/output.js`、`design2/output.js`(gitignore,本机对照) - 下游消费:`soonWorkerDisk/.../workAdd.vue`(依赖 `frontData`、`backData`、`frontDisplayPic` 等) ## 保存契约 `output()` 生成的生产字段与画布字段**必须完整写入**,禁止在 save/upload/session/IDB 路径删除或改名: - 生产:`frontData`、`backData`、`frontColorPic`、`backColorPic`、`frontBlackPic`、`backBlackPic`、`frontDisplayPic`、`backDisplayPic`、`flag`、`soonType` - 画布:`f`、`b`、`fo`、`bo`(及旧版可能有的 `fp`、`bp`) 保存模式:`Object.assign({ f, b, fo, bo, ... }, op1)` → `JSON.stringify`,与 `soonDesign-back` 一致。 ## 禁止 - 保存/上传/缓存前 `delete` 上述生产字段(历史上 `soonStripDesign1HeavyFields` 类逻辑) - 仅保留 `f/b/fo/bo` 的「精简 .soon」写法 ## 加载 `soonNormalizeSoonJson` 只允许补全缺失的 `f/b/fo/bo`(兼容极旧文件),**不得 strip** 生产字段,以便打开后另存仍满足下游。