将项目说明按主题集中到 docs,补齐根目录 README 和 AGENTS,移除弃用方案并保留有效测试记录与未实现提案。同步文档索引、引用及改动日志生成路径,README 增加 GitHub Markdown 导航和 Mermaid 图。 - fix(client): 统一状态与操作文案,录制和截图成功后再显示完成提示 - test(client): 按文件名核对媒体类型,避免依赖时间戳排序 验证:23 份项目文档、144 处本地引用、27 条外链、2 张 Mermaid 图;前端构建和 12 项测试;截图与录制的 4 条异步反馈路径;Windows Rust 编译检查和后端测试。后端 40 项返回成功,其中 3 项 ffmpeg 集成用例因本机缺少工具而未实际执行。
43 lines
2.1 KiB
Markdown
43 lines
2.1 KiB
Markdown
# 版本维护
|
||
|
||
版本号与改动记录由 `scripts/version.mjs` 从 Git 历史计算。以下命令从仓库根目录执行:
|
||
|
||
```sh
|
||
node scripts/version.mjs --write
|
||
node scripts/version.mjs --check
|
||
node scripts/version.mjs --print
|
||
```
|
||
|
||
`--write` 写回派生文件,`--check` 检查当前版本是否与历史一致,`--print` 输出计算结果。
|
||
|
||
## 提交与版本规则
|
||
|
||
提交标题采用 Conventional Commits:`type(scope): 说明`。
|
||
|
||
| 当前区间内的提交 | 版本增量 |
|
||
| --- | --- |
|
||
| `BREAKING CHANGE:` 或 `type!:` | major |
|
||
| `feat` | minor |
|
||
| `fix` / `perf` | patch |
|
||
| 其他类型 | 版本号不变,更新构建号 |
|
||
|
||
构建号取 `git rev-list --count HEAD`。提交正文中以 `- ` 开头、且内容符合 `type(scope): 说明` 的行,也会作为独立条目归类,适合记录 squash 提交中的多项改动。历史发布按标签区间重新计算,不从上一次生成的文件续写。
|
||
|
||
## 派生文件
|
||
|
||
| 文件 | 用途 |
|
||
| --- | --- |
|
||
| `version.json` | 根固件的 `build.rs` 读取,编译期注入 `RMIC_VERSION*` |
|
||
| `docs/releases/changelog.md` | 供人阅读的改动记录 |
|
||
| `docs/releases/changelog.json` | 供程序读取的当前区间记录 |
|
||
| `desktop/src/lib/version.ts` | UI 版本标签与线路协议号 |
|
||
| `desktop/package.json`、`desktop/src-tauri/tauri.conf.json` 的 `version` | 安装包命名与系统中的应用版本 |
|
||
|
||
这些文件由同一次计算生成;改动记录应修改提交信息或生成脚本,再运行 `--write`。自动版本机制建立前的说明保存在[早期人工记录](../releases/changelog-legacy.md)。
|
||
|
||
## 固件与客户端的版本对应
|
||
|
||
版本沿 `git → version.json → 固件二进制 → Hello 报文 → 客户端界面` 传递。图传板每 2 秒广播语义化版本、构建号和编译时的线路协议号,布局见[UDP 协议](../protocol/udp.md#通告里的版本信息)。
|
||
|
||
设置中的绑定列表显示固件版本,裁判端在各路画面下方显示对应版本。线路协议不匹配时,客户端拒收视频并提示双方协议号,便于判断是否需要重烧固件或更换客户端。
|