演示准备 · 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 场已补算。

能演示什么:对局全流程——首页、球局记录、今晚战报(新增"你 / 对手"各打几拍)、单球慢放、高光成片与分享、进步档案。这一套今晚就能拍。

别演示什么:最快杀球、跑动两张卡是灰的;球友"发送"标着待开放。(动作诊断线上午已恢复,见第五节,可以演示。)

一、拍之前先过这五项

二、功能清单与验收(看到什么算过)

屏幕能看到什么验收:看到什么算过状态
首页问候、"真实数据 · 最近一场"标签、高光大卡(定格帧 + 回合/拍数 + 立即播放)、今晚数据三卡、球局记录入口标签写"真实数据";三卡数字与战报页一致;最快杀球显示"需 60 帧拍摄"而不是假数字可演示
球局本机所有分析历史:日期、回合数、击球点、战力分每一条都能点进战报;没有演示样例混在里面可演示
拍一场拍摄引导三步、要点清单、60 帧检查项页面完整,能进到相册选视频可演示
上传 → 处理中相册选视频、上传进度、四步处理进度、完成后"查看今晚战报"完成后自动出现真实数据角标;失败要给出人话提示可演示(提前跑)
今晚战报一句话结论(新增"你 X 拍、对手 Y 拍")、与上一场对比、定格帧 + 击球点、本场最高一拍解构(高度 / 腕速 / 肘角)、质·量·体能三组指标、本场之最、战力分与算法说明、站位热点、回合列表(新增每回合"你 a · 对手 b")、可信区"数据怎么来的"看人识别的素材:结论里出现"你 X 拍、对手 Y 拍",回合与拍数卡注明"看人识别",回合列表每行带括号;数字与网页版 /m#job=任务号 一致可演示 · 新
单球慢放本回合原片、慢放 / 逐帧、逐拍高度图、分享视频能播、拖动不卡;高度图有点,灰点表示画面条件有限可演示
今晚高光竖版自动成片、瞬间缩略条、分享给球友成片能播、有标牌;点分享弹出系统分享面板可演示
参照对比你的击球瞬间 vs 职业参照并排两图并排,不做高度换算的小字在可演示
我的 · 进步档案四条曲线、累计栏、六枚里程碑、设置(服务器地址 / 联系我们 / 隐私政策)多场之后曲线有点;灰点 = 可信测点不足一半;里程碑由真数据点亮可演示
球友同场球友分发、好友榜"发送"明确标"待开放",不假装能发只看不点
练一练 → 动作诊断总评分、指标卡、动作可视化、证据帧、新增"3D 动作回放 · Hero Athlete"(白模持拍复现挥拍,与原片同步)打开 3D 回放能看到白模持拍动作跟着原片走;10 秒练习视频约 50 秒出结果可演示 · 新
首页:最近一场真实数据
战报:结论里带"你 133 拍、对手 121 拍"
回合列表:每回合"你 · 对手"

三、演示视频建议顺序(60~90 秒)

  1. 首页停 3 秒:看到"真实数据 · 最近一场"和高光大卡。
  2. 点"今晚数据"进战报:读一遍一句话结论(回合、拍数、你 / 对手、最高击球点)。
  3. 往下滑到"本场最高一拍 · 解构"和三组指标,停一下。
  4. 滑到回合列表,点最难的一回合进单球慢放,拖一下进度条。
  5. 返回首页点"立即播放"看高光成片,点分享弹出面板。
  6. 最后进"我的"看进步档案曲线。

整段不要碰:最快杀球、跑动、球友发送。练一练可以加在最后:拍一场 → 练一练 → 上传 10 秒左右的单人高远球 → 动作诊断 → 打开 3D 回放。

四、这次合并具体加了什么

五、动作诊断线:上午已恢复

动作诊断(练一练)要跑 3D 姿态模型 MotionBERT,它原本装在 Documents 目录一个工作副本里,9 月 7 日 iCloud 事故后丢了。2026-09-14 早上按冷启动记录重装:代码固定到记录的版本并打回三处本地补丁、64MB 权重从国内镜像 10 路并行 46 秒下完并校验 260 个参数键、运行库装进现有环境、训练样例视频从 Pexels 取回。

验证:用 10 秒样例视频在正式服务上跑了一次完整训练分析,50 秒完成;报告页里 Hero Athlete 白模持拍出现在 3D 舞台上(桌面浏览器与 App 内嵌页都看过)。

App 内"打开 3D 回放":Hero Athlete 持拍复现挥拍

小字:在 Mac 模拟器里测 App 时要把服务器地址改成本机(Mac 的系统代理会拦掉模拟器访问 yuqiu.tech),真机不受影响。

六、指标扩容(2026-09-15,"数据都要加、球速一定要有")

你看战报觉得"指标和数据好单薄",拍板:有办法算的都加上去,不准的不放 C 位、写小字,准确度后面再修。当天落地,网页版和 App 同源:

组新增卡片怎么来的小字 / 注意
质最快一拍球速①按挥拍腕速推算(腕速×2.6 经验系数)②球轨迹引擎(已装回)对最快几拍实测——但后方机位球沿景深飞,实测只有 50 来 km/h,明显偏低,程序自动不采用、只在小字披露推算 165~232 km/h 区间;不进战力分;实测要侧面或斜后机位才有意义,是后续优化点
量每回合拍数、相持能力(10 拍以上回合占比)、拍/分钟、对打时间占比回合与逐拍数据派生—
节奏平均拍间隔、最快一段对拉、你的反应、对手反应、先手、最后一拍逐拍时间与归属(看人识别路径才有)"最后一拍"不等于得分
体能跑动、对手跑动、跑动强度、前后半场跑动、后半场回合变化身高比例尺 + 地面透视换算,不再依赖场地标定9 场实测 55~897 米;偏差可达两三成;战力分第四项因此亮起

验收:打开任一看人识别的战报(例如 9 月 10 日那场),应看到"最快一拍球速 2xx km/h · 推算"、"快不快 · 节奏"整组、"对手跑动 / 跑动强度 / 前后半场跑动"三卡;听声识别的场次没有节奏组、球速卡标灰,这是预期。

后续优化点(不阻塞演示):球速:腕→球系数按实测校准、场地自动标定后用真实焦距;跑动:场地自动标定替代身高比例尺。

七、版本与地址

main1d80c14(合并 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