b49e226815
- 新增 tools/arch_diagram/gen_menu_tree_svg.py → docs/images/菜单树总览 .svg:43 节点 = 9 菜单 + 34 叶,30 已绑页 / 4 未绑 / 16 叶带密码门, 最深 4 级;读数由脚本现算,不在文档里另抄一份 - 生成器内嵌 NODE_SRC(= ui_menu_tree.txt 的 43 行节点):在仓库里跑会 与真值逐行互验、不一致 exit 1;generated-fresh 在临时目录重跑读不到 真值 → 用内嵌表,输出逐字节一致(实测临时目录产物同 sha256) - 产品需求 §8.2 原先挂的是级联框显示几何图(画的是示例级联,从来不含 整棵树的节点),换成这张树图,并删掉「该图仍是 42 节点时代所画」的 补丁注 - 图形绘制流程新增 §2.1:登记 generated-fresh 扫不到的四张图 —— 两张 tools/refgraph 产物(引用关系图 / _模块,不在 gen_*.py 命名面里)+ 两张手画稿(级联框总览、级联框几何计算)。钩子只扫 tools/arch_diagram/gen_*.py,这些图改了不会有人报警;再多一张先说清 为什么不能用生成器 - arch_diagram README 脚本一览加行
tools/ — 开发工具
面向开发者的功能性工具(生成器 / 转换器 / 交互工具)。 与
scripts/(质量门禁与度量)分工不同:本目录产出资产(图、字体、代码、知识库)。
工具一览
| 目录 | 工具 | 产物 | 文档 |
|---|---|---|---|
arch_diagram/ |
架构图 SVG 生成器 | docs/images/*.svg |
docs/架构设计/图形绘制流程.md |
font_gen/ |
中文字库生成 | Drivers/BSP/UI/ui_font_cn_12.c |
docs/UI设计/UI_中文字体生成与配置.md |
menu_gen/ |
菜单树代码生成 | UI 菜单代码 | docs/UI设计/菜单页面设计.md |
netlist_semantics/ |
网表语义分析 | 引脚知识库 JSON + 网表报告 | docs/硬件平台/ |
refgraph/ |
文件引用关系图 | docs/images/引用关系图.* |
docs/架构设计/引用关系图说明.md |
使用方式
# 架构图(精确布局)
& '.venv\Scripts\python.exe' tools/arch_diagram/gen_memory_svg.py
# 中文字体(含新汉字文案后必须重跑)
& '.venv\Scripts\python.exe' tools/font_gen/make_font.py
# 引用关系图
& 'tools\refgraph\gen_refgraph.bat'
# 串口助手(常驻 daemon)
& '.venv\Scripts\python.exe' .dsh/skills/serial-assistant/scripts/serial_tool.py
⚠️ 约定
- 生成器的产物与脚本一并提交(如 SVG);本地预览产物(如 PNG)不提交
- 图表选型:精确布局图用
arch_diagram/生成器;拓扑图(流程/时序/状态机)用 Mermaid; 勿手绘 ASCII 框图(见docs/架构设计/图形绘制流程.md) - 涉及 UI 改动:走
ui-verifyskill 五步门禁;涉及字体:走font-regenskill
相关文档
docs/架构设计/图形绘制流程.md— 配图规范与选型docs/架构设计/引用关系图说明.mddocs/测试说明/串口助手使用指南.md、docs/测试说明/串口助手设计说明.md