feat(复盘): 实现关键动作时间线并增强失误分析

新增关键动作时间线记录和展示功能,完善失误分析模块:
1. 添加 ReviewActionTimelineItem 记录结构,用于记录关键动作事件
2. 在 ReviewSummaryResponse 中增加 actionTimeline 字段
3. 扩展 ReviewMistakeItem 结构,新增关联动作、推荐方向、压力来源等字段
4. 实现动作时间线构建和失误关联动作查找逻辑
5. 前端增加动作时间线和详细失误信息的展示组件
6. 更新文档说明当前复盘协议已支持真实对局数据

这些改动使复盘系统能够展示更详细的对局过程分析和更精准的失误定位,帮助玩家更好地理解对局关键节点和改进方向。
This commit is contained in:
hujun
2026-03-20 17:24:41 +08:00
parent faf87fe3d6
commit 27142804d6
9 changed files with 889 additions and 24 deletions

View File

@@ -71,15 +71,21 @@
- `frontend/src/pages/GamePageContainer.vue`
- `frontend/src/pages/ReviewPageContainer.vue`
其中 `ReviewPageContainer` 当前仍是占位实现,用于固定页面职责,不代表已经接入真实复盘数据
其中 `ReviewPageContainer` 已经接入真实复盘摘要,并开始承载动作时间线、关键结算、关键失误和训练方向
当前还补了一条最小演示协议入口
当前复盘接口已经切到真实对局协议
- 后端真实接口:`GET /api/games/{gameId}/review?userId={userId}`
它的目标不是替代真实局后数据,而是先把前后端在 `ReviewSummaryResponse` 这套字段上的语义对齐。
它的目标不是一次性变成完整牌谱播放器,而是先把前后端在 `ReviewSummaryResponse` 这套字段上的语义对齐,并逐步从结算摘要扩到过程回放
当前前端已经能在不接入正式路由的前提下,手动加载这条 demo 复盘数据并渲染 `ReviewPageContainer`
当前前端已经能手动加载当前真实对局、当前视角的复盘摘要,并渲染关键动作时间线;关键失误也开始挂接到关联动作步骤、推荐方向标签和局面信号
这一版关键失误协议还额外补了一层“压力来源细节”说明:
- `pressureSourceDetail`
- 用一段面向玩家可读的短文,把“哪家在施压、这股压力由什么公开动作或残局窗口形成、你这一步为什么正好撞上去”串起来
- 当前仍是启发式生成,不等同于完整牌谱推演或可见信息搜索
### 3.2 当前这一轮的落地点