Files
SpineParticlesWeb/DateToSpine/docs/09-开发计划.md
T
2026-09-07 21:29:15 +08:00

3.9 KiB
Raw Blame History

开发计划

1. 开发原则

  • 先验证风险,再建设完整 UI。
  • 每个阶段有可运行结果和退出标准。
  • 未通过技术关卡时不扩大代码量掩盖问题。
  • 文档、测试和代码同步更新。
  • 当前文档批准后才进入功能开发。

2. 阶段 0:技术原型

目标

验证决定产品能否成立的核心问题。

工作项

  1. 在 macOS 上发现并验证已安装 Spine Editor。
  2. 验证自定义 .app/可执行文件路径。
  3. 调用 3.8、4.0、4.1、4.2、4.3 本地版本。
  4. 为五个版本各构建最小 spine-cpp adapter。
  5. 用 JSON、SKEL、Atlas 和纹理加载一帧预览数据。
  6. 验证 QOpenGLWidget 绘制 Region、Mesh、Clipping 和混合模式。
  7. 验证官方 Texture Unpacker。
  8. 验证 SKEL → 临时 .spine → JSON → 设置 images → 最终 .spine
  9. 验证断网运行。
  10. 在 Windows/MSVC 至少完成构建和 Editor CLI 冒烟测试。

技术关卡

  • 五套 Runtime 可以隔离构建并通过统一 ABI 加载。
  • 五个版本至少各有一个 JSON/SKEL 可预览。
  • 本地 Editor 路径和版本能可靠识别。
  • JSON/SKEL 可以生成可回读 .spine
  • 图片路径能自动关联,或明确证明需要采用哪种降级方案。
  • 官方解包和 PMA 行为被记录。
  • 断网时已准备版本可执行完整流程。

任何关卡失败都先更新架构决策,不进入大规模 UI 开发。

3. 阶段 1:工程骨架与领域模型

  • CMake Presets 和平台 toolchain。
  • 目录、target 和第三方依赖边界。
  • AssetGroupSpineVersionRecoveryJob
  • 文件系统、进程和报告接口。
  • 基础错误码和状态机。
  • 单元测试框架和 CI 基线。
  • 自研代码行数检查。

退出标准:macOS/Windows Debug 与 Release 构建通过,核心模型测试通过。

4. 阶段 2:扫描、配对与预检

  • 递归扫描。
  • JSON/SKEL 版本识别。
  • Atlas parser。
  • 页面解析和图片校验。
  • 资源组配对评分。
  • 手动修正模型。
  • Unicode、长路径和安全边界。

退出标准:官方样例和异常样例能形成确定、可解释的资源组。

5. 阶段 3:离线预览器

  • 五个 Runtime 插件完整实现。
  • Texture Provider。
  • OpenGL 批次渲染。
  • 动画、Skin、Seek、速度控制。
  • 调试显示。
  • 视觉回归测试。

退出标准:五个版本功能矩阵通过,拔网预览正常。

6. 阶段 4Editor 管理与转换

  • macOS/Windows 自动发现。
  • 自定义路径 UI。
  • 版本能力映射。
  • Spine CLI 封装。
  • JSON/SKEL 导入。
  • 图片路径规范化。
  • 语义回读验证。
  • 原子发布和恢复报告。

退出标准:五个版本端到端转换通过,输入未改变。

7. 阶段 5Atlas 解包

  • 官方解包器唯一流程。
  • 官方结果验证。
  • PMA、Scale、rotate、offset、多页和 polygon packing。
  • PNG/JPG/WebP 测试。

退出标准:官方解包与失败原因可观察、可报告,且各版本具有视觉回归。

8. 阶段 6:批处理和用户体验

  • 任务队列、取消和失败隔离。
  • 批量重名策略。
  • 进度、日志和错误建议。
  • 设置迁移和会话恢复。
  • 中英文界面。
  • 无障碍和高 DPI 检查。

9. 阶段 7:发布准备

  • macOS/Windows 安装包。
  • Qt 和图片插件部署。
  • Runtime 许可与 Third-Party Notices。
  • 官方测试资源排除检查。
  • 离线端到端测试。
  • 签名、公证和干净机器安装测试。
  • 性能、内存和损坏输入测试。

10. 建议评审点

每阶段完成后提交:

  • 功能演示
  • 自动测试结果
  • 新增风险
  • 文件长度报告
  • 依赖与许可变更
  • 下一阶段范围

11. 编码顺序建议

开始开发后的第一个提交不应是完整项目 UI,而应是阶段 0 的最小原型和实验记录。技术原型通过后,再固化公共接口和正式目录。