Skip to content

组件图(Component) ​

TIP

图较宽时可在图内横向滚动;下方表格是同一份信息的可搜索版本。

系统上下文 ​

正在渲染图表…

上层提供文档、注册表和主题;draw 返回几何、场景或介质输出。

包内组件 ​

正在渲染图表…

箭头表示组件依赖,包含运行期 import 与类型契约。入口层可以认识所有模块,核心模块不能 反向认识组合根。

组件职责 ​

组件负责明确不知道
contractschema、v1 升级、引用校验registry、theme、几何
bindtype → entry、props 归一化、未知回落盒子、路由、render
registry形状 / 边 / marker 契约、不可变版本文档、主题、布局算法
measure文本度量、标签折行、fingerprint节点位置、宿主
themetokens、typography、typeStyles文档引用了哪些 token
layoutmeasure / place / attach / route最终画法、介质
build样式合流、render、Scene key如何计算坐标
sceneScene、ref、diff、hitTest文档语义、宿主
host-svgScene → SVG 字符串文档、布局
host-domScene patch → DOM文档、布局
pipeline阶段组合与缓存介质、上一帧 patch
handlePipeline + diff + host布局或画法算法

依赖规则 ​

  1. contract 不依赖任何绘制模块。
  2. registry 不依赖 theme、layout 或 bind。
  3. bind 只依赖 contract + registry。
  4. layout 拿不到 render。
  5. build 是唯一同时使用 layout 与 render 的模块。
  6. scene 不依赖 document、layout 或 host。
  7. host-* 不依赖 document、build、pipeline 或 handle。
  8. pipeline / handle 是组合根,不能被核心模块反向引用。

外部扩展 ​

正在渲染图表…

这些参数都按值注入,不使用全局单例。

MIT License