# 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 导出。脚本对渲染错误图做检查,失败则停止;修改源码后应重新生成并查看图片。 字体取自本机,跨机器重建可能有微小的排版差异。源图中的概念状态与省略字段范围以各篇架构说明为准;渲染不会把概念图变成自动提取的完整代码模型。