将项目说明按主题集中到 docs,补齐根目录 README 和 AGENTS,移除弃用方案并保留有效测试记录与未实现提案。同步文档索引、引用及改动日志生成路径,README 增加 GitHub Markdown 导航和 Mermaid 图。 - fix(client): 统一状态与操作文案,录制和截图成功后再显示完成提示 - test(client): 按文件名核对媒体类型,避免依赖时间戳排序 验证:23 份项目文档、144 处本地引用、27 条外链、2 张 Mermaid 图;前端构建和 12 项测试;截图与录制的 4 条异步反馈路径;Windows Rust 编译检查和后端测试。后端 40 项返回成功,其中 3 项 ffmpeg 集成用例因本机缺少工具而未实际执行。
117 lines
5.7 KiB
Markdown
117 lines
5.7 KiB
Markdown
# 改动记录
|
||
|
||
> 由 [`scripts/version.mjs`](../../scripts/version.mjs) 从 Git 历史生成,请勿手改。
|
||
> 提交采用 Conventional Commits,规则见[版本维护](../development/versioning.md)。
|
||
> 自动版本机制建立前的说明见[早期人工记录](changelog-legacy.md)。
|
||
|
||
## v0.2.2 — 2026-10-19
|
||
|
||
构建号 **38** · 线路协议 **1** · 3 个提交(v0.2.1 → v0.2.2)
|
||
|
||
### 修复
|
||
|
||
- **client** · 统一状态与操作文案,录制和截图成功后再显示完成提示
|
||
|
||
### 文档
|
||
|
||
- 整理项目文档并统一界面表述
|
||
- README 不写死构建号,改由 version.json 提供
|
||
- 按 humanizer 重写项目文档并同步 RMIC::2026 现状
|
||
|
||
### 测试
|
||
|
||
- **client** · 按文件名核对媒体类型,避免依赖时间戳排序
|
||
|
||
## v0.2.1 — 2026-10-19
|
||
|
||
1 个提交
|
||
|
||
### 修复
|
||
|
||
- **ci** · 版本校验在浅克隆下必然误报
|
||
- **ci** · checkout 改成 fetch-depth: 0——没有标签、提交数恒为 1 时,
|
||
- **version** · CHANGELOG 按标签区间重算全部历史,不再只渲染当前版本,
|
||
- **build** · 固件包文件名用算出来的版本,不再用 BUILD-INFO.json 里那套旧编号
|
||
|
||
## v0.2.0 — 2026-10-19
|
||
|
||
1 个提交
|
||
|
||
### 新增
|
||
|
||
- **client** · RMIC::2026 界面重做、可计算的版本机制与固件版本联动
|
||
- **client** · 界面换成墨黑蓝底 + 单支红的矩形语言,切角全部去掉,仅装甲条保留平行四边形
|
||
- **client** · 自托管 HarmonyOS Sans SC 与 JetBrains Mono,中文与拉丁数字逐字回退
|
||
- **client** · 新增启动序列、首启门、用户端 HUD、裁判端控制台、设置抽屉与固件维护页
|
||
- **client** · 裁判端中缝与下方控制台可拖,鼠标落在哪一路下方就看哪一路
|
||
- **client** · 设置抽屉常驻实时预览,与画面共用同一份准星绘制代码
|
||
- **client** · 动效改用 Material 3 的缓动曲线与时长,逐条替换掉自造的贝塞尔
|
||
- **version** · 版本号与 CHANGELOG 由 scripts/version.mjs 从 git 历史算出,不再手写
|
||
- **firmware** · Hello 报文携带语义化版本、构建号与自报协议号,负载向后兼容
|
||
- **client** · 固件版本显示在绑定列表与裁判端每一格;协议不匹配时给出具体原因
|
||
- **firmware** · 固件包版本与客户端同源,都从 version.json 读
|
||
|
||
### 修复
|
||
|
||
- **client** · getCurrentWindow() 在没有 Tauri 注入时同步抛异常,浏览器预览整棵树被卸载
|
||
- **client** · 启动序列的淡出 effect 清掉了自己刚设的 setTimeout,界面永远停在启动页
|
||
- **client** · 设置抽屉左侧导航的锚点没挂到 section 上,且用错了坐标系
|
||
- **protocol** · Hello 改用宽松帧头解析,让协议不匹配的板子能被解释而不是静默消失
|
||
- **build** · Windows 上 bindgen 加载不了 libclang 的同目录依赖,构建脚本补上搜索路径
|
||
- **build** · esp-idf-sys 在长路径下拒绝构建,固件构建改用短的目标目录
|
||
|
||
### 构建
|
||
|
||
- **client** · 队标图标,含光学尺寸分级与手工拼的多尺寸 ICO
|
||
- **ci** · 守门 job 增加版本一致性检查,产物名改为 rmic-2026-*
|
||
|
||
### 文档
|
||
|
||
- 补充界面语言、版本机制与协议通告布局的说明
|
||
|
||
## v0.1.0 — 2026-10-19
|
||
|
||
33 个提交
|
||
|
||
### 新增
|
||
|
||
- 链路控制、延迟校准与长测工具,补全文档
|
||
|
||
### CI
|
||
|
||
- npm 装 pnpm 前先清掉残留影子文件(EEXIST),并去掉 npm 不认的 store-dir
|
||
- Windows 改用 npm 装的 JS 版 pnpm(standalone 二进制在低完整性沙箱里必崩)
|
||
- Windows 的 pnpm install 加 corepack 退路(standalone 在低完整性沙箱里栈溢出)
|
||
- Windows 的 pnpm 安装目录改成每次运行都干净的路径
|
||
- 删掉两段临时诊断(Windows 的坑已经查清并写进文件头第 5 条)
|
||
- Windows 的 pnpm 那步写死 shell: pwsh(免得 actionlint 拿 bash 规则挑反斜杠路径)
|
||
- Windows job 给 pnpm install 明确指定 store 与导入方式
|
||
- Windows job 加 USERPROFILE 重定向 —— pnpm 的操作锁按它算路径
|
||
- **diag** · 再探一次 —— pnpm 眼里的目录到底是哪个
|
||
- Windows job 再加 LOCALAPPDATA/APPDATA 重定向(pnpm 的 store 锁挂在这里)
|
||
- Windows job 低完整性适配 —— 把 CI 的"家目录"挪到 runner 自己的工作目录
|
||
- **diag** · 在 Windows job 里加一段临时诊断(查完删)
|
||
- 修 Windows job 第二个坑 —— TEMP/TMP 为空,Git Bash 的 mktemp 写不进 <Git>\tmp
|
||
- 修 Windows job 0 秒失败 —— 宿主 runner 上的 bash 是 WSL,不是 Git Bash
|
||
- Windows 产物默认就编(平台开关从 vars 换成 inputs)
|
||
- 修两处 Gitea 上跑不了的东西(upload-artifact v4 → v3、去掉缓存)
|
||
- 构建客户端 workflow(Windows / Linux / macOS)
|
||
|
||
### 其它
|
||
|
||
- 双方血条(角上平行四边形)、归零即击败、去掉受击抖动、裁判端可改队名
|
||
- 早先那版 C 写的装甲板固件(ESP-IDF 工程)
|
||
- ESP32-C3 装甲板固件(一主三从)+ 烧录脚本,之前一直没提交
|
||
- 修两处小问题(预览模式的命中节奏、设置面板里漏出来的 **)
|
||
- 用户端与裁判端两套页面(Tauri v2 + React),删掉 Slint 客户端
|
||
- Tauri v2 后端 + 共享网络层(用户端/裁判端双身份)
|
||
- 文档:写防作弊、缩放布局、槽位语义
|
||
- 槽位对应队伍,不再按 id 顺序对号入座
|
||
- 修裁判端两格不等宽,加滚轮缩放与拖动平移,启动即最大化
|
||
- 队伍端 release 只接收绑定的那一块板子
|
||
- 文档:按 UDP 多端架构重写根 README 与 client README
|
||
- 修 udp_probe.py 的重组与 fps 两处测量错误
|
||
- 更正上一个提交的归因——坏帧不在这里
|
||
- 修复重复分片能凑出一张坏帧
|
||
- ESP32-S3 摄像头图传:固件 + Slint 客户端 + 共享协议
|