Files
SpineParticlesWeb/DateToSpine/docs/01-产品需求.md
T
2026-09-07 21:29:15 +08:00

5.3 KiB

产品需求

1. 产品目标

DateToSpine 帮助用户批量处理仅保留运行时导出文件、但缺失原始 .spine 工程的资源。软件需要在转换前验证资源并显示可交互动画预览,用户确认后才调用本地 Spine Editor 生成可编辑工程。

产品目标是“尽可能恢复可编辑工程”,不是承诺字节级还原原工程。运行时导出时已经丢失的数据无法凭空恢复。

2. 用户前提

  • 用户对待处理资源拥有合法使用和转换权限。
  • 用户电脑已安装并激活 Spine Editor。
  • 需要生成 .spine 时,本地已有与资源主/次版本相匹配的 Editor 版本。
  • 未安装 Editor 时,软件仍可扫描、校验、配对和预览,但不能生成 .spine

3. 支持范围

3.1 骨骼数据

格式 支持状态 说明
.json 正式支持 必须通过 Spine schema 识别,不能把普通 JSON 当作骨骼数据
.skel 正式支持 按导出版本选择匹配 Runtime 和 Editor
.skel.bytes 候选兼容 通过内容识别,扩展名支持在技术原型后决定

3.2 Spine 版本

版本 支持级别
3.8.20+ 正式支持
3.8.0—3.8.19 尽力识别,不作正式保证
4.0.x 正式支持
4.1.x 正式支持
4.2.x 正式支持
4.3.x 正式支持
3.7.x 及更早 不支持

3.3 Atlas 与纹理页

  • .atlas.atlas.txt
  • 单页和多页 Atlas
  • PNG
  • JPG/JPEG
  • WebP
  • 同一 Atlas 中不同扩展名的多页纹理
  • Straight Alpha 和 Premultiplied Alpha

其他图片格式通过可扩展解码接口保留未来支持空间,但不属于首版承诺。

4. 主用户流程

主界面只暴露四个动作:

  1. 用户把完整导出资源或资源文件夹拖入窗口。
  2. 软件自动配对并显示预览;有多套资源时用顶部下拉框切换。
  3. 用户用底部下拉框切换动画。
  4. 用户点击“一键转换为 .spine”并选择保存位置。

版本检测、Atlas 配对、图片处理、Editor 验证和结果校验均在后台自动完成。只有自动找不到 Spine Editor 时,才要求用户指定 Spine 应用或可执行文件路径。普通流程不提供 Editor 管理页或技术参数面板。

5. 功能需求

5.1 扫描与配对

  • 支持文件、文件夹和批量拖放。
  • 支持递归扫描,允许配置最大深度。
  • 根据 Atlas 中声明的页面名查找纹理,不能只依赖同名前缀。
  • 根据附件 path、文件名、目录距离和名称前缀对数据与 Atlas 评分。
  • 自动结果必须显示置信度。
  • 歧义配对必须由用户确认,不能静默选择。
  • 单个失败组不能终止整个批次。

5.2 预览

  • 默认循环播放,支持动画切换。
  • 画布自动适应窗口。
  • 支持 Mesh、权重、Clipping、双颜色 Tint 和四种混合模式。
  • 显示缺失纹理、版本错误和 Runtime 加载错误。

5.3 Editor 管理

  • 自动查找常见安装位置。
  • 自动查找失败时才显示路径选择器,支持自定义应用、可执行文件或安装目录。
  • 支持一个安装入口对应多个本地可用版本。
  • 转换前执行实际版本探测。
  • 不读取、存储或传输 Spine 激活码。

5.4 批量转换

  • 默认串行调用 Spine Editor,扫描和静态校验可并行。
  • 支持停止等待中的任务和取消当前子进程。
  • 支持跳过、自动重命名和覆盖策略。
  • 默认不覆盖输入文件。
  • 正式结果验证通过前只写入任务临时目录。
  • 每组资源产生可读日志和机器可读报告。

6. 恢复能力边界

通常可恢复:骨骼、Slots、Skins、Attachments、约束、动画、Deform、事件和绘制顺序。

如果源文件导出时未启用 Nonessential data,可能永久缺失:

  • 骨骼颜色和图标
  • Mesh 手工边
  • 编辑器辅助信息
  • 部分附件原始尺寸
  • 原工程图片和音频目录设置
  • 编辑器视图与工作区状态

报告必须区分:

  • 完整恢复
  • 主体恢复但缺少 Nonessential data
  • 工程生成成功但图片关联需要注意
  • 转换失败

7. 非功能需求

  • macOS 和 Windows 功能一致。
  • 运行时完全离线,不依赖 CDN 或在线服务。
  • 支持中文、空格、Unicode 和较长路径。
  • 所有外部进程使用参数数组启动,不能拼接 shell 命令。
  • 崩溃或取消不能留下半成品覆盖正式结果。
  • 日志不能包含用户授权信息或不必要的绝对路径。
  • 普通操作错误必须以用户可理解的语言呈现。

8. 首版不包含

  • Spine 3.7 及更早版本。
  • 绕过 Spine Editor 授权或下载 Editor。
  • 自行生成或逆向写入 .spine 格式。
  • 动画编辑功能。
  • 云端转换、资源上传或账号系统。
  • 将官方示例资产打包给最终用户。

9. 产品验收标准

  • 五个目标版本均可完成 JSON、SKEL 的预览和转换测试。
  • 断网环境可完成已准备版本的完整流程。
  • PNG、JPG/JPEG、WebP 页面可预览。
  • 纹理只允许使用匹配版本 Spine Editor 的官方 Texture Unpacker 解包。
  • 生成物能被匹配版本 Editor 重新读取。
  • 骨骼、Skin、附件、动画和事件数量通过语义核对。
  • 原始输入不被修改。
  • 单任务失败不影响批次其他任务。
  • 最终安装包不含官方测试资源和 Spine Editor。