外观
P4 工作台布局与截图时间轴验收
验证结果
| 检查 | 结果 | 证据层级 |
|---|---|---|
| Swift 全量测试 | 62/62 通过 | E2 |
| App 编译 | PerfowlApp 编译通过 | E2 |
| 截图调度 | 固定 1.0s 目标 deadline,保留已存在的成功/失败事件测试 | E2 |
| 截图时间轴渲染 | 使用 session-timeline.v1 elapsed 和 SessionScreenshot.id 的横向卡片实现 | E2(代码) |
| 侧栏精简 | 280pt、无“关于”、无底部“基座服务”状态条 | E2(代码) |
| 会话 ↔ 设备发现切换 | 原生窗口人工录证待补 | E4 门禁开放 |
| 当前连接设备连续截图 UI | 原生窗口人工录证待补 | E4 门禁开放 |
质量核对
- 截图事件按固定频率追加,不覆盖之前的事件;每一张卡片来自独立 PNG 附件或明确失败占位。
- elapsed 只取 Session 时间轴;截图卡片不会使用
Date()或 SwiftUI 刷新时刻伪造坐标。 - 失败、取消和附件缺失不会显示上一张成功截图;缺值保持质量原因,不转为 0。
- 侧栏设备详情可滚动,根容器顶部对齐,避免内容高度把品牌标题推到窗口外。
E4 补录步骤
- 启动最终 App,确认标题
perfowl在窗口内且切换到“设备发现”后位置不变。 - 在“会话”与“设备发现”之间往返切换,确认侧栏宽度、顶部和状态栏稳定。
- 选择设备与测试 App,勾选
ScreenShot,开始至少 3 秒 Session。 - 确认截图区域出现至少三张按
0.000s / 1.xxxs / 2.xxxs递增的卡片,并自动跟随最新卡片。 - 触发一次截图失败或拔线,确认该时间点显示占位与原因,之后恢复连接后新卡片继续追加。
- 停止并打开 Review,确认截图卡片、指标和标注仍共享
session-timeline.v1。