7e15f49ff3
这族是菜单深度号:L0 根、L1 一级、L2 二级、L3 三级。用户 2026-10-28:「编号看不懂」, 且与采集链分层的 L1~L5 撞形(同一份文档里两套 L 号,读的人得先猜是哪套)。 改法(生成物走生成器,不手改): - `tools/menu_gen/gen_menu.py`:加 MENU_LEVEL_NAMES 常量,生成 ui_menu_tab.c 的注释从 `/* 12 L2 */` 变成 `/* 12 二级菜单 */`;重跑生成器,生成物 42 行注释随之更新。 - 文档 4 篇 113 行:菜单页面设计(94)、内容页架构(10)、01_主界面_说明(8)、 中文字体生成与配置(1)。映射:L0 → 主界面(根)、L1/L2/L3 → 一级/二级/三级菜单; `4 级(L0~L3)` → `4 级(主界面 → 三级菜单)`;括号里的 `(L1)` → `(一级菜单)`。 范围纪律:只动 UI 菜单这一族。同名的测试层级族(L0/L0.5/L1/L2/L3,见测试开发标准流程) 与链路延迟分段 L1~L8 不动——那两个属批次 3 的另两族。 验证:@build 0 错 0 警;check_menu_rows 8 状态 PASS(5368 B 池不变);生成器重跑幂等 (rc=0,生成物只剩注释差异 42/42 行);doc-links 通过(195 文档);mojibake / bom-guard / 新编号门禁 / git diff --check 全绿。
tools/menu_gen/ — 菜单代码生成
从菜单树定义生成 UI 菜单的 C 代码,保证菜单结构与页面注册一致、避免手写遗漏。
脚本一览
| 脚本 | 作用 |
|---|---|
gen_menu.py |
读取菜单树定义(见 ui_menu_tree.txt)→ 生成菜单代码 |
使用方式
& '.venv\Scripts\python.exe' tools/menu_gen/gen_menu.py
菜单树输入的权威副本:仓库根 ui_menu_tree.txt。
⚠️ 注意
- 生成产物勿手改(会被下次生成覆盖);要改菜单结构改定义源后重跑
- 中文字符串字面量须为纯 ASCII 安全(见
AGENTS.md编码铁律)——生成后的文案 如需汉字,须配套重跑字体生成(tools/font_gen/)
相关文档
docs/UI设计/菜单页面设计.mddocs/UI设计/内容页架构.md