docs: initialize rewrite plan and freeze backend surfaces

This commit is contained in:
2026-04-20 23:52:49 +08:00
parent adc57ba49b
commit 7c844854c0
13 changed files with 1633 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
# M4story action 与 gameplay reducer 任务清单
## 1. SpacetimeDB gameplay 表
- [ ] 设计 `story_session`
- [ ] 设计 `story_event`
- [ ] 设计 `npc_state`
- [ ] 设计 `quest_record`
- [ ] 设计 `inventory_slot`
- [ ] 设计 `treasure_record`
- [ ] 设计 `battle_state`
- [ ] 设计 `player_progression`
- [ ] 设计 `chapter_progression`
## 2. 核心 reducer
- [ ] 设计 `resolve_story_action`
- [ ] 设计 `continue_story`
- [ ] 设计 `begin_story_session`
- [ ] 设计 `sync_runtime_snapshot_projection`
- [ ] 设计 `apply_quest_signal`
- [ ] 设计 `apply_inventory_mutation`
- [ ] 设计 `resolve_npc_interaction`
- [ ] 设计 `resolve_treasure_interaction`
- [ ] 设计 `resolve_combat_action`
- [ ] 设计 `update_progression_state`
## 3. 迁移模块规则
- [ ] 迁移 `story`
- [ ] 迁移 `combat`
- [ ] 迁移 `inventory`
- [ ] 迁移 `npc`
- [ ] 迁移 `progression`
- [ ] 迁移 `quest`
- [ ] 迁移 `runtime-item`
- [ ] 迁移 `runtime` 的状态归一化规则
## 4. 兼容接口
- [ ] 兼容 `POST /api/runtime/story/actions/resolve`
- [ ] 兼容 `GET /api/runtime/story/state/:sessionId`
- [ ] 兼容 `POST /api/runtime/story/initial`
- [ ] 兼容 `POST /api/runtime/story/continue`
## 5. ViewModel 兼容
- [ ] 兼容当前 `RuntimeStoryActionResponse`
- [ ] 兼容当前 `RuntimeStoryOptionView`
- [ ] 兼容当前 `interaction` 元数据
- [ ] 兼容当前 battle / toast / patch 响应结构
- [ ] 兼容当前 `currentStory` 回填逻辑
## 6. 阶段验收
- [ ] 当前前端 story 选项点击后可走新后端闭环
- [ ] NPC / quest / treasure / combat 主循环行为不回退
- [ ] `story state` 恢复链可用
- [ ] 旧 Node 版 story route 回归用例完成平移