feat: add offline casting flow and local history sessions
Replace the development fixture shell with method intro, question, coin entry, and result screens. Persist locked casts in private Room storage under the save policy, and document remaining P2 content and P4 history-list gaps. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+18
-16
@@ -1,6 +1,6 @@
|
||||
# 分阶段实施计划
|
||||
|
||||
> 状态:P0 Android 壳、本地门禁与三星 API 31 真机闭环已完成;P-1 v0.3 待视觉复核;P1 已完成并通过穷举测试;P2 内容契约已建立但授权内容未开始
|
||||
> 状态:P0/P1 已完成;P3 离线主流程已落地但未达到 UX 全表验收;P4 会话保存已落地,问卦簿/解读未开始;P2 授权内容未开始;P-1 v0.3 待视觉复核
|
||||
> 计划原则:先用原型确认高返工成本体验,再锁定确定性领域核心,随后接内容和 UI,最后接网络 AI
|
||||
|
||||
## 1. 依赖图
|
||||
@@ -111,13 +111,13 @@ P1 与 P2 可并行,但 P3 不能在领域与内容契约未稳定时复制原
|
||||
|
||||
任务:
|
||||
|
||||
- 实现颜色、字体、间距、形状和动画令牌。
|
||||
- 实现卦象 `Canvas`、动爻标记和读屏语义。
|
||||
- 实现首次说明、起念、投币和结果页面。
|
||||
- 实现 `CastingSessionViewModel` 状态机及 SavedState 恢复。
|
||||
- 支持前五轮返回修改、第六轮封印和明确重新起卦。
|
||||
- 接入本地内容并区分原文/本地白话。
|
||||
- 完成深浅主题、字体缩放、TalkBack、横屏和大屏适配。
|
||||
- [x] 实现颜色、字体、间距、形状和动画令牌:当前为 `LingjiTheme` 纸墨朱砂配色与系统衬线/无衬线配对;独立 token 文件、指定字体包和动效仍未做。
|
||||
- [x] 实现卦象 `Canvas`、动爻标记和读屏语义:结果页绘制本卦/之卦,动爻同时使用颜色、圆点和文字。
|
||||
- [x] 实现首次说明、起念、投币和结果页面:方法说明、问题、六轮手录和结果已接入导航;空问题仍被拒绝,TBD-004 未决。
|
||||
- [x] 实现 `CastingViewModel` 状态机及 SavedState 恢复:问题、已确认爻和当前轮次写入 `SavedStateHandle`;第六轮才调用 `CastEngine`。
|
||||
- [x] 支持前五轮返回修改、第六轮封印和明确重新起卦。
|
||||
- [ ] 接入本地内容并区分原文/本地白话:结果页只展示卦名、卦号、六爻事实,并明示授权内容包未接入。
|
||||
- [ ] 完成深浅主题、字体缩放、TalkBack、横屏和大屏适配:深浅色随系统;其余未做发布级验收。
|
||||
|
||||
退出条件:
|
||||
|
||||
@@ -126,20 +126,22 @@ P1 与 P2 可并行,但 P3 不能在领域与内容契约未稳定时复制原
|
||||
- AI/网络代码尚未存在也不影响流程。
|
||||
- [UX 与东方视觉](ux-design.md)检查表通过。
|
||||
|
||||
当前证据(2026-08-19):`verifyLocal` 通过;仪器测试覆盖方法说明、保存设置和夹具「复 24 → 坤 2、初爻动」的本机保存/当次删除。P3 仍未退出,因为授权卦辞、「解」、问卦簿入口和 UX 全表未完成。飞行模式未做人工走查。
|
||||
|
||||
## 7. P4:本地解释与历史
|
||||
|
||||
目标:形成不依赖 AI 的完整 MVP。
|
||||
|
||||
任务:
|
||||
|
||||
- 实现版本化本地解释模板。
|
||||
- 实现“可以试的一小步”的非裁决式结构。
|
||||
- 实现 Room 历史:第六爻锁定后按策略自动保存快照,问题原文、当次解读和行动记录默认保存到同一会话。
|
||||
- 实现 `autoSaveHistory` 总开关及三个默认开启的内容开关;支持总开关关闭后的“保存本次”和全局设置不变的“本次不保存/删除本次记录”。
|
||||
- 实现按时间倒序的问卦簿、派生“最近一次”、空态、详情、解释版本、单条删除和清空全部确认。
|
||||
- 在首页实现固定本机保存/AI 发送边界说明和设置入口;本地保存设置与 AI 同意版本保持独立。
|
||||
- 配置 backup/data-extraction 规则,排除历史 Room 数据库及辅助文件。
|
||||
- 完成 migration、策略组合、事务关联、删除、备份排除、隐私和离线测试。
|
||||
- [ ] 实现版本化本地解释模板。
|
||||
- [ ] 实现“可以试的一小步”的非裁决式结构。
|
||||
- [x] 实现 Room 历史会话:第六爻锁定后按 `autoSaveHistory` 写入 `casting_sessions` 快照;问题原文受内容开关控制。解读与行动表尚未建立。
|
||||
- [x] 实现 `autoSaveHistory` 总开关及三个默认开启的内容开关;总开关关闭后结果页提供“保存本次”,已保存时可“本次不保存/删除本次记录”。解读/行动开关目前只保留偏好,不写入任何正文。
|
||||
- [ ] 实现按时间倒序的问卦簿、空态、详情、解释版本、单条删除和清空全部确认。首页仅展示条数与最近一次派生摘要,不进入列表。
|
||||
- [x] 在首页实现固定本机保存/AI 发送边界说明和设置入口;本地保存设置与 AI 同意版本保持独立。
|
||||
- [x] 配置 backup/data-extraction 规则,排除历史 Room 数据库及辅助文件;`verifyLocalDataBoundary` 锁定 `allowBackup=false` 且无 INTERNET 权限。
|
||||
- [ ] 完成 migration、策略组合、事务关联、删除、备份排除、隐私和离线测试:schema 1 无需迁移;编解码、Room 仪器测试和首页设置仪器测试已有,策略组合与级联删除未覆盖。
|
||||
|
||||
退出条件:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user