3.9 KiB
3.9 KiB
开发计划
1. 开发原则
- 先验证风险,再建设完整 UI。
- 每个阶段有可运行结果和退出标准。
- 未通过技术关卡时不扩大代码量掩盖问题。
- 文档、测试和代码同步更新。
- 当前文档批准后才进入功能开发。
2. 阶段 0:技术原型
目标
验证决定产品能否成立的核心问题。
工作项
- 在 macOS 上发现并验证已安装 Spine Editor。
- 验证自定义
.app/可执行文件路径。 - 调用 3.8、4.0、4.1、4.2、4.3 本地版本。
- 为五个版本各构建最小
spine-cppadapter。 - 用 JSON、SKEL、Atlas 和纹理加载一帧预览数据。
- 验证 QOpenGLWidget 绘制 Region、Mesh、Clipping 和混合模式。
- 验证官方 Texture Unpacker。
- 验证 SKEL → 临时
.spine→ JSON → 设置 images → 最终.spine。 - 验证断网运行。
- 在 Windows/MSVC 至少完成构建和 Editor CLI 冒烟测试。
技术关卡
- 五套 Runtime 可以隔离构建并通过统一 ABI 加载。
- 五个版本至少各有一个 JSON/SKEL 可预览。
- 本地 Editor 路径和版本能可靠识别。
- JSON/SKEL 可以生成可回读
.spine。 - 图片路径能自动关联,或明确证明需要采用哪种降级方案。
- 官方解包和 PMA 行为被记录。
- 断网时已准备版本可执行完整流程。
任何关卡失败都先更新架构决策,不进入大规模 UI 开发。
3. 阶段 1:工程骨架与领域模型
- CMake Presets 和平台 toolchain。
- 目录、target 和第三方依赖边界。
AssetGroup、SpineVersion、RecoveryJob。- 文件系统、进程和报告接口。
- 基础错误码和状态机。
- 单元测试框架和 CI 基线。
- 自研代码行数检查。
退出标准:macOS/Windows Debug 与 Release 构建通过,核心模型测试通过。
4. 阶段 2:扫描、配对与预检
- 递归扫描。
- JSON/SKEL 版本识别。
- Atlas parser。
- 页面解析和图片校验。
- 资源组配对评分。
- 手动修正模型。
- Unicode、长路径和安全边界。
退出标准:官方样例和异常样例能形成确定、可解释的资源组。
5. 阶段 3:离线预览器
- 五个 Runtime 插件完整实现。
- Texture Provider。
- OpenGL 批次渲染。
- 动画、Skin、Seek、速度控制。
- 调试显示。
- 视觉回归测试。
退出标准:五个版本功能矩阵通过,拔网预览正常。
6. 阶段 4:Editor 管理与转换
- macOS/Windows 自动发现。
- 自定义路径 UI。
- 版本能力映射。
- Spine CLI 封装。
- JSON/SKEL 导入。
- 图片路径规范化。
- 语义回读验证。
- 原子发布和恢复报告。
退出标准:五个版本端到端转换通过,输入未改变。
7. 阶段 5:Atlas 解包
- 官方解包器唯一流程。
- 官方结果验证。
- 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 的最小原型和实验记录。技术原型通过后,再固化公共接口和正式目录。