演示准备 · 2026-09-14 · App 1.0 (构建 3) · main 8a12962 · 07:10 更新:动作诊断线已恢复
你要拿 App 拍演示视频。这页回答三件事:现在的 App 里有哪些功能、每一项"看到什么算过"、哪些别在视频里碰。数字和截图全部来自 2026-09-14 凌晨在模拟器上跑真实任务的结果。
停在哪:三条分支已全部合进 main(主线看人数拍 + Hero 形象线 + 介绍站源码),App 按 main 重新构建,构建号 4;Mac 上的正式服务(yuqiu.tech)已切到 main 代码。9 月 15 日按"数据都要加"的裁决做了指标扩容(第六节),旧的 9 场已补算。
能演示什么:对局全流程——首页、球局记录、今晚战报(新增"你 / 对手"各打几拍)、单球慢放、高光成片与分享、进步档案。这一套今晚就能拍。
别演示什么:最快杀球、跑动两张卡是灰的;球友"发送"标着待开放。(动作诊断线上午已恢复,见第五节,可以演示。)
app/ios/,构建 3 已签好名在 app/ios/build-device/Release-iphoneos/);或 Xcode Organizer 归档上传 TestFlight(需要你在场过 2FA)。https://yuqiu.tech/m 能看到页面即可;App 默认就连这个地址("我的 → 设置"里可改)。| 屏幕 | 能看到什么 | 验收:看到什么算过 | 状态 |
|---|---|---|---|
| 首页 | 问候、"真实数据 · 最近一场"标签、高光大卡(定格帧 + 回合/拍数 + 立即播放)、今晚数据三卡、球局记录入口 | 标签写"真实数据";三卡数字与战报页一致;最快杀球显示"需 60 帧拍摄"而不是假数字 | 可演示 |
| 球局 | 本机所有分析历史:日期、回合数、击球点、战力分 | 每一条都能点进战报;没有演示样例混在里面 | 可演示 |
| 拍一场 | 拍摄引导三步、要点清单、60 帧检查项 | 页面完整,能进到相册选视频 | 可演示 |
| 上传 → 处理中 | 相册选视频、上传进度、四步处理进度、完成后"查看今晚战报" | 完成后自动出现真实数据角标;失败要给出人话提示 | 可演示(提前跑) |
| 今晚战报 | 一句话结论(新增"你 X 拍、对手 Y 拍")、与上一场对比、定格帧 + 击球点、本场最高一拍解构(高度 / 腕速 / 肘角)、质·量·体能三组指标、本场之最、战力分与算法说明、站位热点、回合列表(新增每回合"你 a · 对手 b")、可信区"数据怎么来的" | 看人识别的素材:结论里出现"你 X 拍、对手 Y 拍",回合与拍数卡注明"看人识别",回合列表每行带括号;数字与网页版 /m#job=任务号 一致 | 可演示 · 新 |
| 单球慢放 | 本回合原片、慢放 / 逐帧、逐拍高度图、分享 | 视频能播、拖动不卡;高度图有点,灰点表示画面条件有限 | 可演示 |
| 今晚高光 | 竖版自动成片、瞬间缩略条、分享给球友 | 成片能播、有标牌;点分享弹出系统分享面板 | 可演示 |
| 参照对比 | 你的击球瞬间 vs 职业参照并排 | 两图并排,不做高度换算的小字在 | 可演示 |
| 我的 · 进步档案 | 四条曲线、累计栏、六枚里程碑、设置(服务器地址 / 联系我们 / 隐私政策) | 多场之后曲线有点;灰点 = 可信测点不足一半;里程碑由真数据点亮 | 可演示 |
| 球友 | 同场球友分发、好友榜 | "发送"明确标"待开放",不假装能发 | 只看不点 |
| 练一练 → 动作诊断 | 总评分、指标卡、动作可视化、证据帧、新增"3D 动作回放 · Hero Athlete"(白模持拍复现挥拍,与原片同步) | 打开 3D 回放能看到白模持拍动作跟着原片走;10 秒练习视频约 50 秒出结果 | 可演示 · 新 |



整段不要碰:最快杀球、跑动、球友发送。练一练可以加在最后:拍一场 → 练一练 → 上传 10 秒左右的单人高远球 → 动作诊断 → 打开 3D 回放。
动作诊断(练一练)要跑 3D 姿态模型 MotionBERT,它原本装在 Documents 目录一个工作副本里,9 月 7 日 iCloud 事故后丢了。2026-09-14 早上按冷启动记录重装:代码固定到记录的版本并打回三处本地补丁、64MB 权重从国内镜像 10 路并行 46 秒下完并校验 260 个参数键、运行库装进现有环境、训练样例视频从 Pexels 取回。
验证:用 10 秒样例视频在正式服务上跑了一次完整训练分析,50 秒完成;报告页里 Hero Athlete 白模持拍出现在 3D 舞台上(桌面浏览器与 App 内嵌页都看过)。

小字:在 Mac 模拟器里测 App 时要把服务器地址改成本机(Mac 的系统代理会拦掉模拟器访问 yuqiu.tech),真机不受影响。
你看战报觉得"指标和数据好单薄",拍板:有办法算的都加上去,不准的不放 C 位、写小字,准确度后面再修。当天落地,网页版和 App 同源:
| 组 | 新增卡片 | 怎么来的 | 小字 / 注意 |
|---|---|---|---|
| 质 | 最快一拍球速 | ①按挥拍腕速推算(腕速×2.6 经验系数)②球轨迹引擎(已装回)对最快几拍实测——但后方机位球沿景深飞,实测只有 50 来 km/h,明显偏低,程序自动不采用、只在小字披露 | 推算 165~232 km/h 区间;不进战力分;实测要侧面或斜后机位才有意义,是后续优化点 |
| 量 | 每回合拍数、相持能力(10 拍以上回合占比)、拍/分钟、对打时间占比 | 回合与逐拍数据派生 | — |
| 节奏 | 平均拍间隔、最快一段对拉、你的反应、对手反应、先手、最后一拍 | 逐拍时间与归属(看人识别路径才有) | "最后一拍"不等于得分 |
| 体能 | 跑动、对手跑动、跑动强度、前后半场跑动、后半场回合变化 | 身高比例尺 + 地面透视换算,不再依赖场地标定 | 9 场实测 55~897 米;偏差可达两三成;战力分第四项因此亮起 |
验收:打开任一看人识别的战报(例如 9 月 10 日那场),应看到"最快一拍球速 2xx km/h · 推算"、"快不快 · 节奏"整组、"对手跑动 / 跑动强度 / 前后半场跑动"三卡;听声识别的场次没有节奏组、球速卡标灰,这是预期。
后续优化点(不阻塞演示):球速:腕→球系数按实测校准、场地自动标定后用真实焦距;跑动:场地自动标定替代身高比例尺。
| main | 1d80c14(合并 10950ca Hero、02a41b0 介绍站;指标扩容 c9ed74c/1d80c14) |
| App | 羽球日记 1.0,构建 4(构建 3 已在 TestFlight);Bundle com.ywh.tonightbadminton;默认服务器 https://yuqiu.tech |
| 服务 | Mac ~/dev/idea-github(已是 main 的完整克隆)端口 8000 → frp → yuqiu.tech;2026-09-14 03:05 切换,切换前后线上接口全部 200 |
| 未合并 | wip/windows-leftover-20260904(Windows 侧旧 3D 路线的备份,与现行代码冲突,保留不合) |
| 本机跑不了的测试 | 21 项:演示素材目录与 Hero 迭代产物没在这台 Mac 上;Windows 全量应为绿 |
羽球日记(原今晚羽球)· 内部文档 · 2026-09-14