Files
opendance-android/tasks/007-running-ui.md
T
opendance 68783c37b6 docs: 消除 Gitea 模棱两可 Unicode 告警(全角标点紧邻 ASCII 时改为半角)
依据 Gitea v1.27.3 modules/charset/escape_stream.go 的判定规则
(analyzeDetectResults:仅当左右相邻字符都不是非 ASCII 时才标记,
且 _common 表恒定生效),把说明文档中会被标记的全角标点
(,:;?!() 等)改为半角,并保证成对括号宽度一致。
中文语境中的全角标点(左右均为中文)保持原样,不动代码与契约语义。
2026-09-15 21:45:51 +08:00

55 lines
2.0 KiB
Markdown

# T-AND-007 运行页 + 状态指示
- **状态**: done
- **依赖**: T-AND-003 / 005 / 006
## 目标
预览 + 骨架叠加 + 实时状态,让用户明确知道「现在到底通不通、识别得准不准」。
## load
```
DSH.md
app/src/main/java/com/opendance/studio/ui/RunningScreen.kt
app/src/main/java/com/opendance/studio/ui/SkeletonOverlay.kt
```
## 数据流
```
CameraX(ImageAnalysis) ──ImageProxy──▶ MediaPipe PoseLandmarker(端侧)
│ 33 点
┌───────────────────────┴───────────────────────┐
▼ ▼
KeypointFrame(239B) ──▶ WebSocket ──▶ Windows 骨架叠加层
```
## 状态指示(本任务的验收重点)
| 指标 | 含义 |
|--|--|
| 连接状态 | 未连接 / 连接中 / 已连接 / 重连中(第 N 次)/ 已断开 |
| 目标 | 完整 WS 地址 |
| 会话 | 服务端 welcome 回来的 sessionId |
| 已发送 / 已丢弃 | 帧数;丢弃 > 0 时提示「推理/连接跟不上」 |
| 发送帧率 / 识别帧率 | 端到端吞吐的两个关键指标 |
| 推理耗时 | 单帧 MediaPipe 推理毫秒数 |
| 人体识别 | 已识别 / 未识别到人体(醒目黄色提示) |
| 平均置信度 | < 70% 时转黄,提示光线或遮挡问题 |
| 最近错误 | 连接或推理的错误原因 |
叠加层把 **低置信度点画成红色**,用户能直接看出是哪个部位没识别到--
比只显示一个错误码有用得多。
## 其他
- 相机权限未授予时显示说明 + 授权按钮,并强调「画面只在本地推理」
- 支持前后摄像头切换(复用同一个分析器实例)
- 返回键在运行页等同于结束推流,避免相机后台占用
## 验收
`assembleDebug` 通过;页面构造路径在构建期完成类型检查。
端到端推流需真机,见 tasks/009 的环境说明。