Refine implementation plan for character loading

This commit is contained in:
2026-05-28 10:27:44 +08:00
parent 98d056c78d
commit ec7a18f7cf
+74 -19
View File
@@ -2,6 +2,14 @@
本文档用于把 `Qt_DesktopPet_开发文档.md` 中的总体目标拆成可执行阶段。
说明:
```text
1. Qt_DesktopPet_开发文档.md 是项目总纲,定义长期目标、模块职责和整体约束
2. 本文档是当前实际开发顺序,会在不违背总纲的前提下进一步拆小阶段
3. 如果两份文档的阶段编号不同,以本文档作为当前执行计划
```
总原则:
```text
@@ -203,12 +211,12 @@ shiroko/
---
## 6. 阶段 2:接入 shiroko 角色包与 idle 动画
## 6. 阶段 2A:角色包最小读取
目标:
```text
把单图显示升级为角色包驱动的 PNG 帧动画。
先把 shiroko 角色包作为结构化数据读进程序,暂不播放动画。
```
只做:
@@ -216,12 +224,14 @@ shiroko/
```text
1. CharacterPackage
2. CharacterPackageLoader
3. AnimationClip
4. FrameAnimator
5. 读取 shiroko/character.json
6. 加载 idle 状态帧
7. 按 fps 播放 idle 动画
8. 启动失败时回退 preview.png 或内置占位图
3. 读取 shiroko/character.json
4. 校验 schemaVersion
5. 校验 defaultState
6. 校验 states
7. 读取 idle 状态配置
8. 收集 idle 帧路径
9. PetWindow 显示 idle 第一帧
10. 加载失败时回退 preview.png 或内置占位图
```
暂不做:
@@ -229,23 +239,69 @@ shiroko/
```text
1. 多角色切换
2. 角色导入界面
3. 完整状态机
3. AnimationClip
4. FrameAnimator
5. QTimer 帧动画
6. 完整状态机
7. AI 联动
```
验收标准:
```text
1. 能读取 shiroko/character.json
2. 能获取 idle 状态帧路径列表
3. 能显示 idle 第一帧
4. 不在 paintEvent 中加载图片
5. character.json 缺失或损坏时程序不崩溃
6. idle 状态缺失时程序不崩溃
```
---
## 7. 阶段 2Bidle 帧动画
目标:
```text
在角色包读取稳定后,把 idle 第一帧显示升级为按 FPS 播放 PNG 序列帧。
```
只做:
```text
1. AnimationClip
2. FrameAnimator
3. 使用 QTimer 按 idle fps 播放帧
4. 启动时预加载 idle 帧到内存
5. loop=true 时循环播放
6. 仍然只播放 idle 状态
```
暂不做:
```text
1. 多状态切换
2. 状态机
3. 托盘隐藏暂停
4. AI 联动
5. 角色切换
```
验收标准:
```text
1. idle 动画正常播放
2. 不在 paintEvent 中加载图片
2. fps 使用 character.json 配置
3. 不每帧读取硬盘
4. fps 使用 character.json 配置
5. character.json 缺失或损坏时程序不崩溃
4. 不在 paintEvent 中加载图片
5. QTimer 间隔不低于 character.json 推导值
6. 图片加载失败时跳过坏帧或回退 preview.png
```
---
## 7. 阶段 3:状态机与多状态动画
## 8. 阶段 3:状态机与多状态动画
目标:
@@ -285,7 +341,7 @@ shiroko/
---
## 8. 阶段 4:托盘、配置、日志
## 9. 阶段 4:托盘、配置、日志
目标:
@@ -327,7 +383,7 @@ shiroko/
---
## 9. 阶段 5:稳定性与性能检查
## 10. 阶段 5:稳定性与性能检查
目标:
@@ -359,7 +415,7 @@ shiroko/
---
## 10. 阶段 6AI 接入
## 11. 阶段 6AI 接入
目标:
@@ -408,7 +464,7 @@ shiroko/
---
## 11. 阶段 7UI 优化与收尾
## 12. 阶段 7UI 优化与收尾
目标:
@@ -448,7 +504,7 @@ shiroko/
---
## 12. 当前未决问题
## 13. 当前未决问题
后续开始写代码前,需要逐项确认:
@@ -461,4 +517,3 @@ shiroko/
6. 是否将 build/、.vs/、CMake 生成目录全部加入 .gitignore
7. shiroko 素材是否允许提交到远程仓库
```