- feat(client): 界面换成墨黑蓝底 + 单支红的矩形语言,切角全部去掉,仅装甲条保留平行四边形 - feat(client): 自托管 HarmonyOS Sans SC 与 JetBrains Mono,中文与拉丁数字逐字回退 - feat(client): 新增启动序列、首启门、用户端 HUD、裁判端控制台、设置抽屉与固件维护页 - feat(client): 裁判端中缝与下方控制台可拖,鼠标落在哪一路下方就看哪一路 - feat(client): 设置抽屉常驻实时预览,与画面共用同一份准星绘制代码 - feat(client): 动效改用 Material 3 的缓动曲线与时长,逐条替换掉自造的贝塞尔 - feat(version): 版本号与 CHANGELOG 由 scripts/version.mjs 从 git 历史算出,不再手写 - feat(firmware): Hello 报文携带语义化版本、构建号与自报协议号,负载向后兼容 - feat(client): 固件版本显示在绑定列表与裁判端每一格;协议不匹配时给出具体原因 - feat(firmware): 固件包版本与客户端同源,都从 version.json 读 - fix(client): getCurrentWindow() 在没有 Tauri 注入时同步抛异常,浏览器预览整棵树被卸载 - fix(client): 启动序列的淡出 effect 清掉了自己刚设的 setTimeout,界面永远停在启动页 - fix(client): 设置抽屉左侧导航的锚点没挂到 section 上,且用错了坐标系 - fix(protocol): Hello 改用宽松帧头解析,让协议不匹配的板子能被解释而不是静默消失 - fix(build): Windows 上 bindgen 加载不了 libclang 的同目录依赖,构建脚本补上搜索路径 - fix(build): esp-idf-sys 在长路径下拒绝构建,固件构建改用短的目标目录 - build(client): 队标图标,含光学尺寸分级与手工拼的多尺寸 ICO - build(ci): 守门 job 增加版本一致性检查,产物名改为 rmic-2026-* - docs: 补充界面语言、版本机制与协议通告布局的说明
44 lines
1.2 KiB
Bash
Executable File
44 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Builds the firmware with the credentials from .env (see .env.example).
|
|
#
|
|
# esp-idf-sys downloads the pinned ESP-IDF automatically. Set IDF_PATH in the
|
|
# environment to reuse an existing installation (see README.md).
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
# Resolve the SDK defaults/components from this repository even when the build
|
|
# cache is elsewhere, and copy the partition table into the CMake project.
|
|
export CARGO_WORKSPACE_DIR="$PWD"
|
|
export ESP_IDF_GLOB_BASE="$PWD"
|
|
export ESP_IDF_GLOB_PARTITIONS="partitions.csv"
|
|
|
|
if [ -f .env ]; then
|
|
set -a
|
|
# shellcheck disable=SC1091
|
|
. ./.env
|
|
set +a
|
|
fi
|
|
|
|
: "${WIFI_SSID:?set WIFI_SSID in .env (or export it) before building}"
|
|
export WIFI_PASS="${WIFI_PASS:-}"
|
|
|
|
package=0
|
|
cargo_args=()
|
|
for arg in "$@"; do
|
|
case "$arg" in
|
|
--package) package=1 ;;
|
|
*) cargo_args+=("$arg") ;;
|
|
esac
|
|
done
|
|
|
|
cargo build --release --locked "${cargo_args[@]}"
|
|
|
|
if [ "$package" -eq 1 ]; then
|
|
if ! command -v python3 >/dev/null 2>&1; then
|
|
echo "error: --package requires python3 on PATH" >&2
|
|
exit 1
|
|
fi
|
|
python3 scripts/package_firmware.py --firmware target/firmware
|
|
fi
|