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

132 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 开发计划
## 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 和第三方依赖边界。
- `AssetGroup``SpineVersion``RecoveryJob`
- 文件系统、进程和报告接口。
- 基础错误码和状态机。
- 单元测试框架和 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 的最小原型和实验记录。技术原型通过后,再固化公共接口和正式目录。