Files
codex-bot 21439d4c4d
Verify Tessera GUI / verify (push) Failing after 1m30s
docs: render UML diagrams and embed portable previews
2026-10-25 22:09:47 +08:00

68 lines
2.4 KiB
Markdown

# UML 图册
下面直接显示已渲染的 PNG,不需要安装 Markdown 插件。打开 SVG 可以放大阅读;`.puml` 保留可编辑源码。画布为不透明白底,避免深色查看器把黑色文字和连线淹没。
## 组件与主要数据流
![组件与主要数据流](rendered/components.png)
[放大 SVG](rendered/components.svg) · [编辑源码](components.puml)
## 进程与线程部署
![进程与线程部署](rendered/deployment.png)
[放大 SVG](rendered/deployment.svg) · [编辑源码](deployment.puml)
## 对象模型与引用关系
![对象模型与引用关系](rendered/domain.png)
[放大 SVG](rendered/domain.svg) · [编辑源码](domain.puml)
## 完整程序执行与发布时序
![完整程序执行与发布时序](rendered/publication.png)
[放大 SVG](rendered/publication.svg) · [编辑源码](publication.puml)
## 候选与活跃运行时状态
![候选与活跃运行时状态](rendered/runtime.png)
[放大 SVG](rendered/runtime.svg) · [编辑源码](runtime.puml)
## 原生输入与事件分发时序
![原生输入与事件分发时序](rendered/input.png)
[放大 SVG](rendered/input.svg) · [编辑源码](input.puml)
## 异步任务状态
![异步任务状态](rendered/tasks.png)
[放大 SVG](rendered/tasks.svg) · [编辑源码](tasks.puml)
## 页面展示与可达性状态
![页面展示与可达性状态](rendered/windows.png)
[放大 SVG](rendered/windows.svg) · [编辑源码](windows.puml)
## 重新生成
从项目根目录运行下面的文档工具。依赖只安装到临时目录,固定版本;不写入 Cargo、应用依赖或全局环境。渲染时不上传图的源码。
```sh
export UML_RENDER_TOOLS="$(mktemp -d /private/tmp/tessera-uml.XXXXXX)"
npm install --prefix "$UML_RENDER_TOOLS" --ignore-scripts --no-audit --no-fund \
@plantuml/core@1.2026.9 @viz-js/viz@3.17.0 \
@napi-rs/canvas@0.1.80 @xmldom/xmldom@0.9.12 sharp@0.34.5
node scripts/render-uml.mjs
```
使用官方 `@plantuml/core` JavaScript 引擎、Viz 布局、XML DOM 和本机 Canvas 字体测量,不需要 Java 或原生 Graphviz。PNG 由同一份 SVG 导出。脚本对渲染错误图做检查,失败则停止;修改源码后应重新生成并查看图片。
字体取自本机,跨机器重建可能有微小的排版差异。源图中的概念状态与省略字段范围以各篇架构说明为准;渲染不会把概念图变成自动提取的完整代码模型。