外观
P4 Session Review 历史会话界面
批次结论
在归档索引和回放加载能力之上,工作台新增“会话”侧栏入口:可以刷新本地 Session 列表,按时间查看测试摘要,并打开只读的 Session Review 窗口查看事件回放。SwiftUI 构建通过,数据层全量测试 53/53(E2);当前仍未接入真机截图、用户标注或逐帧真值。
交互交付
- 侧栏新增“会话”页,显示历史 Session、App、设备型号、iOS 版本、开始时间、状态、样本数和时长。
- 点击列表项加载
PerformanceSessionReview,以独立 Review 窗口查看时间轴质量、持续时长、事件数和回放列表。 - 回放窗口明确显示
valid / estimated / degraded / missing时间轴状态,事件行显示 elapsed、事件类型、来源和原始 ordinal。 - 列表和 Review 均为只读,关闭窗口不会触碰 Session 的 raw / events / metrics 文件。
- 空列表、读取中、读取失败和损坏会话分别展示可见状态;不把缺失数据画成 0。
数据与指标口径
本批次没有新增指标,也没有改变任何公式。指标图表仍使用现有实时样本;Review 时间轴沿用 session-timeline.v1 和回放与时间轴知识页的公式。后续将把实时曲线和 Review 图表统一到同一 elapsed 坐标。
验证证据(E2)
| 检查项 | 结果 |
|---|---|
| Swift 全量测试 | 53/53 通过 |
| SwiftUI App 编译 | 通过 |
| 历史 Session 列表 / Review sheet 路径 | 编译与静态检查通过 |
| Python Sidecar 测试 | 22/22 通过 |
| VitePress 构建 | 通过 |
| macOS App / Collector 包检查 | 通过(x86_64、ad-hoc) |
| 真机历史会话、截图、标注验收 | 待 E4 |
未完成与下一步
- 使用当前连接设备完成一次真实 Session 后,人工点击“会话 → 打开 Review”验收列表和窗口。
- 将实时指标图表改为读取
PerformanceSessionReview.timeline,支持统一游标和时间窗口。 - 接入低频截图事件、截图预览和 Note 标注,并按 append-only 规则持久化。
- 增加 JSONL / CSV 导出及报告入口,带出时钟来源、质量和算法版本。
变更范围
MacApp/Sources/PerfowlCore/SessionReview.swiftMacApp/Sources/PerfowlCore/SessionReviewController.swiftMacApp/Sources/PerfowlCore/PerformanceSessionStore.swiftMacApp/Sources/PerfowlApp/PerfowlApp.swiftMacApp/Sources/PerfowlApp/PerfowlWorkbenchView.swiftMacApp/Sources/PerfowlApp/SessionReviewViews.swiftMacApp/Tests/PerfowlCoreTests/SessionReviewTests.swiftsite/devlog/p4-session-review-ui.mdsite/devlog/index.md