@retikz/core 0.1.0-alpha.3 → 0.1.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/dist/es/compile/compile.d.ts +9 -10
  2. package/dist/es/compile/compile.d.ts.map +1 -1
  3. package/dist/es/compile/compile.js +31 -8
  4. package/dist/es/compile/node.d.ts +56 -54
  5. package/dist/es/compile/node.d.ts.map +1 -1
  6. package/dist/es/compile/node.js +137 -39
  7. package/dist/es/compile/parseTarget.d.ts +3 -8
  8. package/dist/es/compile/parseTarget.d.ts.map +1 -1
  9. package/dist/es/compile/parseTarget.js +7 -19
  10. package/dist/es/compile/path.d.ts +2 -19
  11. package/dist/es/compile/path.d.ts.map +1 -1
  12. package/dist/es/compile/path.js +232 -213
  13. package/dist/es/compile/position.d.ts +4 -5
  14. package/dist/es/compile/position.d.ts.map +1 -1
  15. package/dist/es/compile/position.js +32 -5
  16. package/dist/es/compile/text-metrics.d.ts +2 -4
  17. package/dist/es/compile/text-metrics.d.ts.map +1 -1
  18. package/dist/es/compile/view-box.d.ts +1 -4
  19. package/dist/es/compile/view-box.d.ts.map +1 -1
  20. package/dist/es/compile/view-box.js +1 -4
  21. package/dist/es/geometry/arc.d.ts +3 -28
  22. package/dist/es/geometry/arc.d.ts.map +1 -1
  23. package/dist/es/geometry/arc.js +4 -31
  24. package/dist/es/geometry/bend.d.ts +2 -13
  25. package/dist/es/geometry/bend.d.ts.map +1 -1
  26. package/dist/es/geometry/bend.js +2 -13
  27. package/dist/es/geometry/circle.d.ts +5 -13
  28. package/dist/es/geometry/circle.d.ts.map +1 -1
  29. package/dist/es/geometry/circle.js +1 -4
  30. package/dist/es/geometry/diamond.d.ts +9 -24
  31. package/dist/es/geometry/diamond.d.ts.map +1 -1
  32. package/dist/es/geometry/diamond.js +4 -14
  33. package/dist/es/geometry/ellipse.d.ts +9 -15
  34. package/dist/es/geometry/ellipse.d.ts.map +1 -1
  35. package/dist/es/geometry/ellipse.js +4 -8
  36. package/dist/es/geometry/point.d.ts +8 -9
  37. package/dist/es/geometry/point.d.ts.map +1 -1
  38. package/dist/es/geometry/point.js +8 -9
  39. package/dist/es/geometry/polar.d.ts +12 -21
  40. package/dist/es/geometry/polar.d.ts.map +1 -1
  41. package/dist/es/geometry/polar.js +7 -14
  42. package/dist/es/geometry/rect.d.ts +8 -32
  43. package/dist/es/geometry/rect.d.ts.map +1 -1
  44. package/dist/es/geometry/rect.js +7 -33
  45. package/dist/es/geometry/segment.d.ts +11 -18
  46. package/dist/es/geometry/segment.d.ts.map +1 -1
  47. package/dist/es/geometry/segment.js +9 -16
  48. package/dist/es/index.d.ts +6 -10
  49. package/dist/es/index.d.ts.map +1 -1
  50. package/dist/es/index.js +7 -4
  51. package/dist/es/ir/coordinate.d.ts +65 -0
  52. package/dist/es/ir/coordinate.d.ts.map +1 -0
  53. package/dist/es/ir/coordinate.js +22 -0
  54. package/dist/es/ir/index.d.ts +1 -0
  55. package/dist/es/ir/index.d.ts.map +1 -1
  56. package/dist/es/ir/node.d.ts +290 -50
  57. package/dist/es/ir/node.d.ts.map +1 -1
  58. package/dist/es/ir/node.js +32 -38
  59. package/dist/es/ir/path/arrow.d.ts +210 -12
  60. package/dist/es/ir/path/arrow.d.ts.map +1 -1
  61. package/dist/es/ir/path/arrow.js +39 -12
  62. package/dist/es/ir/path/path.d.ts +477 -153
  63. package/dist/es/ir/path/path.d.ts.map +1 -1
  64. package/dist/es/ir/path/path.js +2 -2
  65. package/dist/es/ir/path/step.d.ts +395 -223
  66. package/dist/es/ir/path/step.d.ts.map +1 -1
  67. package/dist/es/ir/path/step.js +13 -14
  68. package/dist/es/ir/path/target.d.ts +25 -16
  69. package/dist/es/ir/path/target.d.ts.map +1 -1
  70. package/dist/es/ir/path/target.js +8 -6
  71. package/dist/es/ir/position/at-position.d.ts +43 -0
  72. package/dist/es/ir/position/at-position.d.ts.map +1 -0
  73. package/dist/es/ir/position/at-position.js +23 -0
  74. package/dist/es/ir/position/index.d.ts +2 -0
  75. package/dist/es/ir/position/index.d.ts.map +1 -1
  76. package/dist/es/ir/position/offset-position.d.ts +14 -0
  77. package/dist/es/ir/position/offset-position.d.ts.map +1 -0
  78. package/dist/es/ir/position/offset-position.js +14 -0
  79. package/dist/es/ir/position/polar-position.d.ts +1 -4
  80. package/dist/es/ir/position/polar-position.d.ts.map +1 -1
  81. package/dist/es/ir/position/polar-position.js +1 -4
  82. package/dist/es/ir/scene.d.ts +1736 -386
  83. package/dist/es/ir/scene.d.ts.map +1 -1
  84. package/dist/es/ir/scene.js +6 -1
  85. package/dist/es/parsers/parseTargetSugar.d.ts.map +1 -1
  86. package/dist/es/parsers/parseTargetSugar.js +6 -19
  87. package/dist/es/parsers/parseWay.d.ts +26 -118
  88. package/dist/es/parsers/parseWay.d.ts.map +1 -1
  89. package/dist/es/parsers/parseWay.js +19 -61
  90. package/dist/es/primitive/ellipse.d.ts +4 -14
  91. package/dist/es/primitive/ellipse.d.ts.map +1 -1
  92. package/dist/es/primitive/group.d.ts +21 -3
  93. package/dist/es/primitive/group.d.ts.map +1 -1
  94. package/dist/es/primitive/path.d.ts +67 -7
  95. package/dist/es/primitive/path.d.ts.map +1 -1
  96. package/dist/es/primitive/scene.d.ts +2 -4
  97. package/dist/es/primitive/scene.d.ts.map +1 -1
  98. package/dist/es/primitive/text.d.ts +9 -32
  99. package/dist/es/primitive/text.d.ts.map +1 -1
  100. package/dist/lib/compile/compile.cjs +31 -8
  101. package/dist/lib/compile/compile.d.ts +9 -10
  102. package/dist/lib/compile/compile.d.ts.map +1 -1
  103. package/dist/lib/compile/node.cjs +137 -39
  104. package/dist/lib/compile/node.d.ts +56 -54
  105. package/dist/lib/compile/node.d.ts.map +1 -1
  106. package/dist/lib/compile/parseTarget.cjs +7 -19
  107. package/dist/lib/compile/parseTarget.d.ts +3 -8
  108. package/dist/lib/compile/parseTarget.d.ts.map +1 -1
  109. package/dist/lib/compile/path.cjs +231 -212
  110. package/dist/lib/compile/path.d.ts +2 -19
  111. package/dist/lib/compile/path.d.ts.map +1 -1
  112. package/dist/lib/compile/position.cjs +32 -5
  113. package/dist/lib/compile/position.d.ts +4 -5
  114. package/dist/lib/compile/position.d.ts.map +1 -1
  115. package/dist/lib/compile/text-metrics.d.ts +2 -4
  116. package/dist/lib/compile/text-metrics.d.ts.map +1 -1
  117. package/dist/lib/compile/view-box.cjs +1 -4
  118. package/dist/lib/compile/view-box.d.ts +1 -4
  119. package/dist/lib/compile/view-box.d.ts.map +1 -1
  120. package/dist/lib/geometry/arc.cjs +3 -31
  121. package/dist/lib/geometry/arc.d.ts +3 -28
  122. package/dist/lib/geometry/arc.d.ts.map +1 -1
  123. package/dist/lib/geometry/bend.cjs +2 -13
  124. package/dist/lib/geometry/bend.d.ts +2 -13
  125. package/dist/lib/geometry/bend.d.ts.map +1 -1
  126. package/dist/lib/geometry/circle.cjs +1 -4
  127. package/dist/lib/geometry/circle.d.ts +5 -13
  128. package/dist/lib/geometry/circle.d.ts.map +1 -1
  129. package/dist/lib/geometry/diamond.cjs +4 -14
  130. package/dist/lib/geometry/diamond.d.ts +9 -24
  131. package/dist/lib/geometry/diamond.d.ts.map +1 -1
  132. package/dist/lib/geometry/ellipse.cjs +4 -8
  133. package/dist/lib/geometry/ellipse.d.ts +9 -15
  134. package/dist/lib/geometry/ellipse.d.ts.map +1 -1
  135. package/dist/lib/geometry/point.cjs +8 -9
  136. package/dist/lib/geometry/point.d.ts +8 -9
  137. package/dist/lib/geometry/point.d.ts.map +1 -1
  138. package/dist/lib/geometry/polar.cjs +7 -14
  139. package/dist/lib/geometry/polar.d.ts +12 -21
  140. package/dist/lib/geometry/polar.d.ts.map +1 -1
  141. package/dist/lib/geometry/rect.cjs +7 -33
  142. package/dist/lib/geometry/rect.d.ts +8 -32
  143. package/dist/lib/geometry/rect.d.ts.map +1 -1
  144. package/dist/lib/geometry/segment.cjs +9 -16
  145. package/dist/lib/geometry/segment.d.ts +11 -18
  146. package/dist/lib/geometry/segment.d.ts.map +1 -1
  147. package/dist/lib/index.cjs +15 -2
  148. package/dist/lib/index.d.ts +6 -10
  149. package/dist/lib/index.d.ts.map +1 -1
  150. package/dist/lib/ir/coordinate.cjs +22 -0
  151. package/dist/lib/ir/coordinate.d.ts +65 -0
  152. package/dist/lib/ir/coordinate.d.ts.map +1 -0
  153. package/dist/lib/ir/index.d.ts +1 -0
  154. package/dist/lib/ir/index.d.ts.map +1 -1
  155. package/dist/lib/ir/node.cjs +32 -37
  156. package/dist/lib/ir/node.d.ts +290 -50
  157. package/dist/lib/ir/node.d.ts.map +1 -1
  158. package/dist/lib/ir/path/arrow.cjs +43 -11
  159. package/dist/lib/ir/path/arrow.d.ts +210 -12
  160. package/dist/lib/ir/path/arrow.d.ts.map +1 -1
  161. package/dist/lib/ir/path/path.cjs +1 -1
  162. package/dist/lib/ir/path/path.d.ts +477 -153
  163. package/dist/lib/ir/path/path.d.ts.map +1 -1
  164. package/dist/lib/ir/path/step.cjs +13 -14
  165. package/dist/lib/ir/path/step.d.ts +395 -223
  166. package/dist/lib/ir/path/step.d.ts.map +1 -1
  167. package/dist/lib/ir/path/target.cjs +9 -7
  168. package/dist/lib/ir/path/target.d.ts +25 -16
  169. package/dist/lib/ir/path/target.d.ts.map +1 -1
  170. package/dist/lib/ir/position/at-position.cjs +24 -0
  171. package/dist/lib/ir/position/at-position.d.ts +43 -0
  172. package/dist/lib/ir/position/at-position.d.ts.map +1 -0
  173. package/dist/lib/ir/position/index.d.ts +2 -0
  174. package/dist/lib/ir/position/index.d.ts.map +1 -1
  175. package/dist/lib/ir/position/offset-position.cjs +14 -0
  176. package/dist/lib/ir/position/offset-position.d.ts +14 -0
  177. package/dist/lib/ir/position/offset-position.d.ts.map +1 -0
  178. package/dist/lib/ir/position/polar-position.cjs +1 -4
  179. package/dist/lib/ir/position/polar-position.d.ts +1 -4
  180. package/dist/lib/ir/position/polar-position.d.ts.map +1 -1
  181. package/dist/lib/ir/scene.cjs +6 -1
  182. package/dist/lib/ir/scene.d.ts +1736 -386
  183. package/dist/lib/ir/scene.d.ts.map +1 -1
  184. package/dist/lib/parsers/parseTargetSugar.cjs +6 -19
  185. package/dist/lib/parsers/parseTargetSugar.d.ts.map +1 -1
  186. package/dist/lib/parsers/parseWay.cjs +19 -61
  187. package/dist/lib/parsers/parseWay.d.ts +26 -118
  188. package/dist/lib/parsers/parseWay.d.ts.map +1 -1
  189. package/dist/lib/primitive/ellipse.d.ts +4 -14
  190. package/dist/lib/primitive/ellipse.d.ts.map +1 -1
  191. package/dist/lib/primitive/group.d.ts +21 -3
  192. package/dist/lib/primitive/group.d.ts.map +1 -1
  193. package/dist/lib/primitive/path.d.ts +67 -7
  194. package/dist/lib/primitive/path.d.ts.map +1 -1
  195. package/dist/lib/primitive/scene.d.ts +2 -4
  196. package/dist/lib/primitive/scene.d.ts.map +1 -1
  197. package/dist/lib/primitive/text.d.ts +9 -32
  198. package/dist/lib/primitive/text.d.ts.map +1 -1
  199. package/package.json +1 -1
@@ -1,21 +1,12 @@
1
1
  const require_position = require("./position/position.cjs");
2
2
  const require_polar_position = require("./position/polar-position.cjs");
3
+ const require_at_position = require("./position/at-position.cjs");
4
+ const require_offset_position = require("./position/offset-position.cjs");
3
5
  let zod = require("zod");
4
6
  //#region src/ir/node.ts
5
7
  /**
6
- * 节点形状常量。值是 IR `shape` 字段的字面字符串;
7
- * const + ValueOf 派生(不用 TS enum)。
8
- *
9
- * - `rectangle`:矩形(默认;UML 类、流程图常规节点)
10
- * - `circle`:圆形(流程图起止、状态机)
11
- * - `ellipse`:椭圆(状态机、集合图)
12
- * - `diamond`:菱形(流程图判定)
13
- *
14
- * 每个 shape 的几何语义:node 的视觉边界包住"text 矩形 + padding"——
15
- * - rectangle: 视觉 rect = text rect
16
- * - circle: 外接圆,r = √(innerHalfW² + innerHalfH²)
17
- * - ellipse: 外接椭圆,rx = innerHalfW×√2、ry = innerHalfH×√2
18
- * - diamond: 外接菱形,halfA = 2×innerHalfW、halfB = 2×innerHalfH
8
+ * 节点形状常量(用 const + ValueOf 派生,不用 TS enum)
9
+ * @description rectangle 默认;circle/ellipse/diamond 几何语义:node 视觉边界包"text 矩形 + padding";rectangle: 视觉=text;circle: r=√(innerHalfW²+innerHalfH²);ellipse: rx=innerHalfW×√2,ry=innerHalfH×√2;diamond: halfA=2×innerHalfW,halfB=2×innerHalfH
19
10
  */
20
11
  var NODE_SHAPES = {
21
12
  rectangle: "rectangle",
@@ -23,12 +14,7 @@ var NODE_SHAPES = {
23
14
  ellipse: "ellipse",
24
15
  diamond: "diamond"
25
16
  };
26
- /**
27
- * 节点字体规格——family / size / weight / style 全部可选;
28
- * 单字段透传到 SVG `<text>` 的 `font-*` 属性 / `font-size`。
29
- *
30
- * 取代 alpha.1 的标量 `fontSize` 字段(已删)。
31
- */
17
+ /** 节点字体规格:family/size/weight/style 全部可选,透传 SVG `<text>` font-* 属性 */
32
18
  var FontSchema = zod.z.object({
33
19
  family: zod.z.string().optional().describe("CSS font-family string, e.g. \"serif\", \"monospace\", \"Inter, sans-serif\""),
34
20
  size: zod.z.number().positive().optional().describe("Font size in user units; falls back to the renderer default when omitted"),
@@ -38,16 +24,10 @@ var FontSchema = zod.z.object({
38
24
  "italic",
39
25
  "oblique"
40
26
  ]).optional().describe("CSS font-style")
41
- }).describe("Font properties for the node text label; all fields optional, nested object form (replaces the alpha.1 `fontSize` scalar).");
27
+ }).describe("Font properties for the node text label; all fields optional, nested object form.");
42
28
  /**
43
- * 单行文本规格——纯字符串走块级默认样式;对象形式可对该行覆盖 fill / opacity / font
44
- *
45
- * 行级覆盖只生效于本行的 `<tspan>`:
46
- * - `fill`:仅这一行颜色
47
- * - `opacity`:仅这一行 0~1 透明度
48
- * - `font`:family / size / weight / style 任意子集;未填字段继承块级 font
49
- *
50
- * 块级 `align` / `lineHeight` 不可被行覆盖(多行块整体属性)。
29
+ * 单行文本规格:纯字符串走块级默认,对象形式可覆盖 fill/opacity/font
30
+ * @description 行级覆盖只生效于本行 `<tspan>`;font 子字段未填则继承块级;align/lineHeight 不可被行覆盖
51
31
  */
52
32
  var LineSpecSchema = zod.z.union([zod.z.string(), zod.z.object({
53
33
  text: zod.z.string().describe("Line content"),
@@ -56,25 +36,38 @@ var LineSpecSchema = zod.z.union([zod.z.string(), zod.z.object({
56
36
  font: FontSchema.optional().describe("Per-line font overrides; missing fields inherit from block-level `font`")
57
37
  })]).describe("Single line of text: bare string for default styling, or an object with per-line `fill` / `opacity` / `font` overrides.");
58
38
  /**
59
- * 节点文本——单行字符串或非空多行数组(每元素一个 LineSpec):
60
- * - `'Hello'` 等价于 `[{ text: 'Hello' }]`,按一行渲染
61
- * - `['Line 1', 'Line 2']` 两行无样式覆盖
62
- * - `[{ text: 'Heading', fill: 'red', font: { weight: 'bold' } }, 'body']` 混排
63
- *
64
- * 选 `Array<LineSpec>` 而非 `'\n'` 字符串:JSON 友好(无 escape);行级覆盖天然落字段。
39
+ * 节点文本:单字符串或非空多行 LineSpec 数组
40
+ * @description 选数组而非 `\n` 字符串:JSON 友好无 escape,行级覆盖天然落字段
65
41
  */
66
42
  var NodeTextSchema = zod.z.union([zod.z.string(), zod.z.array(LineSpecSchema).min(1)]).describe("Text label rendered inside the node: a single string for one line, or a non-empty array of line specs (string for default, object for per-line overrides).");
67
- /** 节点文本对齐(多行内文本对齐)——TikZ `align=` 同义词 */
43
+ /** 节点文本对齐(TikZ `align=` 同义) */
68
44
  var NODE_TEXT_ALIGNS = {
69
45
  left: "left",
70
46
  center: "center",
71
47
  right: "right"
72
48
  };
49
+ /**
50
+ * 节点附属标签 label(TikZ `[label=above:foo]` 同义)
51
+ * @description 可挂多个;label 不参与 viewBox。position 支持 8 方向枚举或数字角度(polar 约定:0°=+x,90°=+y 屏幕下方);默认 position='above',distance=4
52
+ */
53
+ var NodeLabelSchema = zod.z.object({
54
+ text: zod.z.string().describe("Label text content; rendered as a single line."),
55
+ position: zod.z.union([zod.z.nativeEnum(require_at_position.AT_DIRECTIONS), zod.z.number()]).optional().describe("Placement around the node border: 8-direction enum (above / right / above-left / ...) or numeric angle in degrees (`label=30:foo` for radial placement). Default `above`. Numeric uses the polar convention (0° = +x, 90° = +y, screen-down)."),
56
+ distance: zod.z.number().nonnegative().optional().describe("Gap between the node border and the label center, in user units. Default 4."),
57
+ textColor: zod.z.string().optional().describe("Label text color; falls back to currentColor."),
58
+ opacity: zod.z.number().min(0).max(1).optional().describe("Label-only opacity 0..1; multiplied with the node opacity if both are set."),
59
+ font: FontSchema.optional().describe("Label font overrides; missing fields inherit from the parent node font, then renderer defaults.")
60
+ }).describe("Extra text attached around a node border. Multiple labels supported via array form on `Node.label`.");
73
61
  var NodeSchema = zod.z.object({
74
62
  type: zod.z.literal("node").describe("Discriminator marking this child as a node"),
75
63
  id: zod.z.string().min(1).optional().describe("Optional unique id; required if any path needs to reference this node by string"),
76
64
  shape: zod.z.nativeEnum(NODE_SHAPES).optional().describe("Node visual shape; defaults to `rectangle`. The boundary fully contains text + padding (circumscribed for circle / ellipse / diamond)."),
77
- position: zod.z.union([require_position.PositionSchema, require_polar_position.PolarPositionSchema]).describe("Center point of the node content box; Cartesian [x, y] or polar (resolved at compile time)"),
65
+ position: zod.z.union([
66
+ require_position.PositionSchema,
67
+ require_polar_position.PolarPositionSchema,
68
+ require_at_position.AtPositionSchema,
69
+ require_offset_position.OffsetPositionSchema
70
+ ]).describe("Center point of the node content box; Cartesian [x, y], polar, relative-to-another-node (`at`-style with `direction` / `of` / `distance?`), or offset from a base point (`{ of, offset }` form mirroring TikZ `calc`). All non-Cartesian forms resolve at compile time."),
78
71
  rotate: zod.z.number().optional().describe("Rotation in degrees around the node center; positive = clockwise (matches TikZ rotate=...)"),
79
72
  text: NodeTextSchema.optional(),
80
73
  align: zod.z.nativeEnum(NODE_TEXT_ALIGNS).optional().describe("Multi-line text alignment within the text block; `left` / `center` / `right`. Defaults to `center` (matches TikZ)."),
@@ -101,12 +94,14 @@ var NodeSchema = zod.z.object({
101
94
  outerSep: zod.z.number().nonnegative().optional().describe("Outer margin from border to path attachment point in user units; does NOT change the visible border. Falls back to `margin`."),
102
95
  padding: zod.z.number().nonnegative().optional().describe("Symmetric inner padding (alias for `innerXSep` + `innerYSep`); axis-specific fields take precedence."),
103
96
  margin: zod.z.number().nonnegative().optional().describe("Symmetric outer margin (alias for `outerSep`); axis-specific field takes precedence."),
104
- font: FontSchema.optional().describe("Font spec for the inner text label (family / size / weight / style); all fields optional, all fall back to renderer defaults.")
97
+ font: FontSchema.optional().describe("Font spec for the inner text label (family / size / weight / style); all fields optional, all fall back to renderer defaults."),
98
+ label: zod.z.union([NodeLabelSchema, zod.z.array(NodeLabelSchema)]).optional().describe("Extra label(s) attached around the node border (TikZ `[label=above:foo]`); single object or array form. Compiled into one TextPrim per label, positioned by `position` direction / angle and `distance`.")
105
99
  }).describe("Node primitive: a positioned, optionally textual shape (rectangle / circle / ellipse / diamond)");
106
100
  //#endregion
107
101
  exports.FontSchema = FontSchema;
108
102
  exports.LineSpecSchema = LineSpecSchema;
109
103
  exports.NODE_SHAPES = NODE_SHAPES;
110
104
  exports.NODE_TEXT_ALIGNS = NODE_TEXT_ALIGNS;
105
+ exports.NodeLabelSchema = NodeLabelSchema;
111
106
  exports.NodeSchema = NodeSchema;
112
107
  exports.NodeTextSchema = NodeTextSchema;
@@ -1,19 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  import { ValueOf } from '../types';
3
3
  /**
4
- * 节点形状常量。值是 IR `shape` 字段的字面字符串;
5
- * const + ValueOf 派生(不用 TS enum)。
6
- *
7
- * - `rectangle`:矩形(默认;UML 类、流程图常规节点)
8
- * - `circle`:圆形(流程图起止、状态机)
9
- * - `ellipse`:椭圆(状态机、集合图)
10
- * - `diamond`:菱形(流程图判定)
11
- *
12
- * 每个 shape 的几何语义:node 的视觉边界包住"text 矩形 + padding"——
13
- * - rectangle: 视觉 rect = text rect
14
- * - circle: 外接圆,r = √(innerHalfW² + innerHalfH²)
15
- * - ellipse: 外接椭圆,rx = innerHalfW×√2、ry = innerHalfH×√2
16
- * - diamond: 外接菱形,halfA = 2×innerHalfW、halfB = 2×innerHalfH
4
+ * 节点形状常量(用 const + ValueOf 派生,不用 TS enum)
5
+ * @description rectangle 默认;circle/ellipse/diamond 几何语义:node 视觉边界包"text 矩形 + padding";rectangle: 视觉=text;circle: r=√(innerHalfW²+innerHalfH²);ellipse: rx=innerHalfW×√2,ry=innerHalfH×√2;diamond: halfA=2×innerHalfW,halfB=2×innerHalfH
17
6
  */
18
7
  export declare const NODE_SHAPES: {
19
8
  readonly rectangle: "rectangle";
@@ -21,14 +10,9 @@ export declare const NODE_SHAPES: {
21
10
  readonly ellipse: "ellipse";
22
11
  readonly diamond: "diamond";
23
12
  };
24
- /** 节点形状字面量类型,由 `NODE_SHAPES` 派生 */
13
+ /** 节点形状字面量类型 */
25
14
  export type NodeShape = ValueOf<typeof NODE_SHAPES>;
26
- /**
27
- * 节点字体规格——family / size / weight / style 全部可选;
28
- * 单字段透传到 SVG `<text>` 的 `font-*` 属性 / `font-size`。
29
- *
30
- * 取代 alpha.1 的标量 `fontSize` 字段(已删)。
31
- */
15
+ /** 节点字体规格:family/size/weight/style 全部可选,透传 SVG `<text>` font-* 属性 */
32
16
  export declare const FontSchema: z.ZodObject<{
33
17
  family: z.ZodOptional<z.ZodString>;
34
18
  size: z.ZodOptional<z.ZodNumber>;
@@ -45,17 +29,11 @@ export declare const FontSchema: z.ZodObject<{
45
29
  weight?: number | "normal" | "bold" | undefined;
46
30
  style?: "normal" | "italic" | "oblique" | undefined;
47
31
  }>;
48
- /** 节点字体规格(IR 层)——所有字段可选,编译期解析默认值 */
32
+ /** 节点字体规格 IR 类型(所有字段可选,编译期解析默认值) */
49
33
  export type IRFont = z.infer<typeof FontSchema>;
50
34
  /**
51
- * 单行文本规格——纯字符串走块级默认样式;对象形式可对该行覆盖 fill / opacity / font
52
- *
53
- * 行级覆盖只生效于本行的 `<tspan>`:
54
- * - `fill`:仅这一行颜色
55
- * - `opacity`:仅这一行 0~1 透明度
56
- * - `font`:family / size / weight / style 任意子集;未填字段继承块级 font
57
- *
58
- * 块级 `align` / `lineHeight` 不可被行覆盖(多行块整体属性)。
35
+ * 单行文本规格:纯字符串走块级默认,对象形式可覆盖 fill/opacity/font
36
+ * @description 行级覆盖只生效于本行 `<tspan>`;font 子字段未填则继承块级;align/lineHeight 不可被行覆盖
59
37
  */
60
38
  export declare const LineSpecSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
61
39
  text: z.ZodString;
@@ -98,15 +76,11 @@ export declare const LineSpecSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
98
76
  style?: "normal" | "italic" | "oblique" | undefined;
99
77
  } | undefined;
100
78
  }>]>;
101
- /** 行规格 IR 类型(string 或对象) */
79
+ /** 行规格 IR 类型 */
102
80
  export type IRLineSpec = z.infer<typeof LineSpecSchema>;
103
81
  /**
104
- * 节点文本——单行字符串或非空多行数组(每元素一个 LineSpec):
105
- * - `'Hello'` 等价于 `[{ text: 'Hello' }]`,按一行渲染
106
- * - `['Line 1', 'Line 2']` 两行无样式覆盖
107
- * - `[{ text: 'Heading', fill: 'red', font: { weight: 'bold' } }, 'body']` 混排
108
- *
109
- * 选 `Array<LineSpec>` 而非 `'\n'` 字符串:JSON 友好(无 escape);行级覆盖天然落字段。
82
+ * 节点文本:单字符串或非空多行 LineSpec 数组
83
+ * @description 选数组而非 `\n` 字符串:JSON 友好无 escape,行级覆盖天然落字段
110
84
  */
111
85
  export declare const NodeTextSchema: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
112
86
  text: z.ZodString;
@@ -149,14 +123,75 @@ export declare const NodeTextSchema: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUn
149
123
  style?: "normal" | "italic" | "oblique" | undefined;
150
124
  } | undefined;
151
125
  }>]>, "many">]>;
152
- /** 节点文本对齐(多行内文本对齐)——TikZ `align=` 同义词 */
126
+ /** 节点文本对齐(TikZ `align=` 同义) */
153
127
  export declare const NODE_TEXT_ALIGNS: {
154
128
  readonly left: "left";
155
129
  readonly center: "center";
156
130
  readonly right: "right";
157
131
  };
158
- /** 多行文本对齐字面量类型 */
159
132
  export type NodeTextAlign = ValueOf<typeof NODE_TEXT_ALIGNS>;
133
+ /**
134
+ * 节点附属标签 label(TikZ `[label=above:foo]` 同义)
135
+ * @description 可挂多个;label 不参与 viewBox。position 支持 8 方向枚举或数字角度(polar 约定:0°=+x,90°=+y 屏幕下方);默认 position='above',distance=4
136
+ */
137
+ export declare const NodeLabelSchema: z.ZodObject<{
138
+ text: z.ZodString;
139
+ position: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
140
+ readonly above: "above";
141
+ readonly below: "below";
142
+ readonly left: "left";
143
+ readonly right: "right";
144
+ readonly 'above-left': "above-left";
145
+ readonly 'above-right': "above-right";
146
+ readonly 'below-left': "below-left";
147
+ readonly 'below-right': "below-right";
148
+ }>, z.ZodNumber]>>;
149
+ distance: z.ZodOptional<z.ZodNumber>;
150
+ textColor: z.ZodOptional<z.ZodString>;
151
+ opacity: z.ZodOptional<z.ZodNumber>;
152
+ font: z.ZodOptional<z.ZodObject<{
153
+ family: z.ZodOptional<z.ZodString>;
154
+ size: z.ZodOptional<z.ZodNumber>;
155
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
156
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
157
+ }, "strip", z.ZodTypeAny, {
158
+ family?: string | undefined;
159
+ size?: number | undefined;
160
+ weight?: number | "normal" | "bold" | undefined;
161
+ style?: "normal" | "italic" | "oblique" | undefined;
162
+ }, {
163
+ family?: string | undefined;
164
+ size?: number | undefined;
165
+ weight?: number | "normal" | "bold" | undefined;
166
+ style?: "normal" | "italic" | "oblique" | undefined;
167
+ }>>;
168
+ }, "strip", z.ZodTypeAny, {
169
+ text: string;
170
+ distance?: number | undefined;
171
+ opacity?: number | undefined;
172
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
173
+ font?: {
174
+ family?: string | undefined;
175
+ size?: number | undefined;
176
+ weight?: number | "normal" | "bold" | undefined;
177
+ style?: "normal" | "italic" | "oblique" | undefined;
178
+ } | undefined;
179
+ textColor?: string | undefined;
180
+ }, {
181
+ text: string;
182
+ distance?: number | undefined;
183
+ opacity?: number | undefined;
184
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
185
+ font?: {
186
+ family?: string | undefined;
187
+ size?: number | undefined;
188
+ weight?: number | "normal" | "bold" | undefined;
189
+ style?: "normal" | "italic" | "oblique" | undefined;
190
+ } | undefined;
191
+ textColor?: string | undefined;
192
+ }>;
193
+ /** Node label IR 类型 */
194
+ export type IRNodeLabel = z.infer<typeof NodeLabelSchema>;
160
195
  export declare const NodeSchema: z.ZodObject<{
161
196
  type: z.ZodLiteral<"node">;
162
197
  id: z.ZodOptional<z.ZodString>;
@@ -166,7 +201,37 @@ export declare const NodeSchema: z.ZodObject<{
166
201
  readonly ellipse: "ellipse";
167
202
  readonly diamond: "diamond";
168
203
  }>>;
169
- position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>]>;
204
+ position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodObject<{
205
+ direction: z.ZodNativeEnum<{
206
+ readonly above: "above";
207
+ readonly below: "below";
208
+ readonly left: "left";
209
+ readonly right: "right";
210
+ readonly 'above-left': "above-left";
211
+ readonly 'above-right': "above-right";
212
+ readonly 'below-left': "below-left";
213
+ readonly 'below-right': "below-right";
214
+ }>;
215
+ of: z.ZodString;
216
+ distance: z.ZodOptional<z.ZodNumber>;
217
+ }, "strip", z.ZodTypeAny, {
218
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
219
+ of: string;
220
+ distance?: number | undefined;
221
+ }, {
222
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
223
+ of: string;
224
+ distance?: number | undefined;
225
+ }>, z.ZodObject<{
226
+ of: z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>]>;
227
+ offset: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
228
+ }, "strip", z.ZodTypeAny, {
229
+ of: string | [number, number] | import('./position').PolarPosition;
230
+ offset: [number, number];
231
+ }, {
232
+ of: string | [number, number] | import('./position').PolarPosition;
233
+ offset: [number, number];
234
+ }>]>;
170
235
  rotate: z.ZodOptional<z.ZodNumber>;
171
236
  text: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
172
237
  text: z.ZodString;
@@ -253,10 +318,131 @@ export declare const NodeSchema: z.ZodObject<{
253
318
  weight?: number | "normal" | "bold" | undefined;
254
319
  style?: "normal" | "italic" | "oblique" | undefined;
255
320
  }>>;
321
+ label: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
322
+ text: z.ZodString;
323
+ position: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
324
+ readonly above: "above";
325
+ readonly below: "below";
326
+ readonly left: "left";
327
+ readonly right: "right";
328
+ readonly 'above-left': "above-left";
329
+ readonly 'above-right': "above-right";
330
+ readonly 'below-left': "below-left";
331
+ readonly 'below-right': "below-right";
332
+ }>, z.ZodNumber]>>;
333
+ distance: z.ZodOptional<z.ZodNumber>;
334
+ textColor: z.ZodOptional<z.ZodString>;
335
+ opacity: z.ZodOptional<z.ZodNumber>;
336
+ font: z.ZodOptional<z.ZodObject<{
337
+ family: z.ZodOptional<z.ZodString>;
338
+ size: z.ZodOptional<z.ZodNumber>;
339
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
340
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
341
+ }, "strip", z.ZodTypeAny, {
342
+ family?: string | undefined;
343
+ size?: number | undefined;
344
+ weight?: number | "normal" | "bold" | undefined;
345
+ style?: "normal" | "italic" | "oblique" | undefined;
346
+ }, {
347
+ family?: string | undefined;
348
+ size?: number | undefined;
349
+ weight?: number | "normal" | "bold" | undefined;
350
+ style?: "normal" | "italic" | "oblique" | undefined;
351
+ }>>;
352
+ }, "strip", z.ZodTypeAny, {
353
+ text: string;
354
+ distance?: number | undefined;
355
+ opacity?: number | undefined;
356
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
357
+ font?: {
358
+ family?: string | undefined;
359
+ size?: number | undefined;
360
+ weight?: number | "normal" | "bold" | undefined;
361
+ style?: "normal" | "italic" | "oblique" | undefined;
362
+ } | undefined;
363
+ textColor?: string | undefined;
364
+ }, {
365
+ text: string;
366
+ distance?: number | undefined;
367
+ opacity?: number | undefined;
368
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
369
+ font?: {
370
+ family?: string | undefined;
371
+ size?: number | undefined;
372
+ weight?: number | "normal" | "bold" | undefined;
373
+ style?: "normal" | "italic" | "oblique" | undefined;
374
+ } | undefined;
375
+ textColor?: string | undefined;
376
+ }>, z.ZodArray<z.ZodObject<{
377
+ text: z.ZodString;
378
+ position: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
379
+ readonly above: "above";
380
+ readonly below: "below";
381
+ readonly left: "left";
382
+ readonly right: "right";
383
+ readonly 'above-left': "above-left";
384
+ readonly 'above-right': "above-right";
385
+ readonly 'below-left': "below-left";
386
+ readonly 'below-right': "below-right";
387
+ }>, z.ZodNumber]>>;
388
+ distance: z.ZodOptional<z.ZodNumber>;
389
+ textColor: z.ZodOptional<z.ZodString>;
390
+ opacity: z.ZodOptional<z.ZodNumber>;
391
+ font: z.ZodOptional<z.ZodObject<{
392
+ family: z.ZodOptional<z.ZodString>;
393
+ size: z.ZodOptional<z.ZodNumber>;
394
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
395
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
396
+ }, "strip", z.ZodTypeAny, {
397
+ family?: string | undefined;
398
+ size?: number | undefined;
399
+ weight?: number | "normal" | "bold" | undefined;
400
+ style?: "normal" | "italic" | "oblique" | undefined;
401
+ }, {
402
+ family?: string | undefined;
403
+ size?: number | undefined;
404
+ weight?: number | "normal" | "bold" | undefined;
405
+ style?: "normal" | "italic" | "oblique" | undefined;
406
+ }>>;
407
+ }, "strip", z.ZodTypeAny, {
408
+ text: string;
409
+ distance?: number | undefined;
410
+ opacity?: number | undefined;
411
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
412
+ font?: {
413
+ family?: string | undefined;
414
+ size?: number | undefined;
415
+ weight?: number | "normal" | "bold" | undefined;
416
+ style?: "normal" | "italic" | "oblique" | undefined;
417
+ } | undefined;
418
+ textColor?: string | undefined;
419
+ }, {
420
+ text: string;
421
+ distance?: number | undefined;
422
+ opacity?: number | undefined;
423
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
424
+ font?: {
425
+ family?: string | undefined;
426
+ size?: number | undefined;
427
+ weight?: number | "normal" | "bold" | undefined;
428
+ style?: "normal" | "italic" | "oblique" | undefined;
429
+ } | undefined;
430
+ textColor?: string | undefined;
431
+ }>, "many">]>>;
256
432
  }, "strip", z.ZodTypeAny, {
257
433
  type: "node";
258
- position: [number, number] | import('./position').PolarPosition;
434
+ position: [number, number] | import('./position').PolarPosition | {
435
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
436
+ of: string;
437
+ distance?: number | undefined;
438
+ } | {
439
+ of: string | [number, number] | import('./position').PolarPosition;
440
+ offset: [number, number];
441
+ };
259
442
  fill?: string | undefined;
443
+ shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
444
+ scale?: number | undefined;
445
+ opacity?: number | undefined;
260
446
  text?: string | (string | {
261
447
  text: string;
262
448
  fill?: string | undefined;
@@ -268,10 +454,33 @@ export declare const NodeSchema: z.ZodObject<{
268
454
  style?: "normal" | "italic" | "oblique" | undefined;
269
455
  } | undefined;
270
456
  })[] | undefined;
271
- shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
457
+ label?: {
458
+ text: string;
459
+ distance?: number | undefined;
460
+ opacity?: number | undefined;
461
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
462
+ font?: {
463
+ family?: string | undefined;
464
+ size?: number | undefined;
465
+ weight?: number | "normal" | "bold" | undefined;
466
+ style?: "normal" | "italic" | "oblique" | undefined;
467
+ } | undefined;
468
+ textColor?: string | undefined;
469
+ } | {
470
+ text: string;
471
+ distance?: number | undefined;
472
+ opacity?: number | undefined;
473
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
474
+ font?: {
475
+ family?: string | undefined;
476
+ size?: number | undefined;
477
+ weight?: number | "normal" | "bold" | undefined;
478
+ style?: "normal" | "italic" | "oblique" | undefined;
479
+ } | undefined;
480
+ textColor?: string | undefined;
481
+ }[] | undefined;
272
482
  stroke?: string | undefined;
273
483
  strokeWidth?: number | undefined;
274
- opacity?: number | undefined;
275
484
  fillOpacity?: number | undefined;
276
485
  drawOpacity?: number | undefined;
277
486
  font?: {
@@ -280,6 +489,7 @@ export declare const NodeSchema: z.ZodObject<{
280
489
  weight?: number | "normal" | "bold" | undefined;
281
490
  style?: "normal" | "italic" | "oblique" | undefined;
282
491
  } | undefined;
492
+ textColor?: string | undefined;
283
493
  id?: string | undefined;
284
494
  rotate?: number | undefined;
285
495
  align?: "left" | "right" | "center" | undefined;
@@ -291,10 +501,8 @@ export declare const NodeSchema: z.ZodObject<{
291
501
  minimumWidth?: number | undefined;
292
502
  minimumHeight?: number | undefined;
293
503
  minimumSize?: number | undefined;
294
- scale?: number | undefined;
295
504
  xScale?: number | undefined;
296
505
  yScale?: number | undefined;
297
- textColor?: string | undefined;
298
506
  innerXSep?: number | undefined;
299
507
  innerYSep?: number | undefined;
300
508
  outerSep?: number | undefined;
@@ -302,8 +510,18 @@ export declare const NodeSchema: z.ZodObject<{
302
510
  margin?: number | undefined;
303
511
  }, {
304
512
  type: "node";
305
- position: [number, number] | import('./position').PolarPosition;
513
+ position: [number, number] | import('./position').PolarPosition | {
514
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
515
+ of: string;
516
+ distance?: number | undefined;
517
+ } | {
518
+ of: string | [number, number] | import('./position').PolarPosition;
519
+ offset: [number, number];
520
+ };
306
521
  fill?: string | undefined;
522
+ shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
523
+ scale?: number | undefined;
524
+ opacity?: number | undefined;
307
525
  text?: string | (string | {
308
526
  text: string;
309
527
  fill?: string | undefined;
@@ -315,10 +533,33 @@ export declare const NodeSchema: z.ZodObject<{
315
533
  style?: "normal" | "italic" | "oblique" | undefined;
316
534
  } | undefined;
317
535
  })[] | undefined;
318
- shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
536
+ label?: {
537
+ text: string;
538
+ distance?: number | undefined;
539
+ opacity?: number | undefined;
540
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
541
+ font?: {
542
+ family?: string | undefined;
543
+ size?: number | undefined;
544
+ weight?: number | "normal" | "bold" | undefined;
545
+ style?: "normal" | "italic" | "oblique" | undefined;
546
+ } | undefined;
547
+ textColor?: string | undefined;
548
+ } | {
549
+ text: string;
550
+ distance?: number | undefined;
551
+ opacity?: number | undefined;
552
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
553
+ font?: {
554
+ family?: string | undefined;
555
+ size?: number | undefined;
556
+ weight?: number | "normal" | "bold" | undefined;
557
+ style?: "normal" | "italic" | "oblique" | undefined;
558
+ } | undefined;
559
+ textColor?: string | undefined;
560
+ }[] | undefined;
319
561
  stroke?: string | undefined;
320
562
  strokeWidth?: number | undefined;
321
- opacity?: number | undefined;
322
563
  fillOpacity?: number | undefined;
323
564
  drawOpacity?: number | undefined;
324
565
  font?: {
@@ -327,6 +568,7 @@ export declare const NodeSchema: z.ZodObject<{
327
568
  weight?: number | "normal" | "bold" | undefined;
328
569
  style?: "normal" | "italic" | "oblique" | undefined;
329
570
  } | undefined;
571
+ textColor?: string | undefined;
330
572
  id?: string | undefined;
331
573
  rotate?: number | undefined;
332
574
  align?: "left" | "right" | "center" | undefined;
@@ -338,16 +580,14 @@ export declare const NodeSchema: z.ZodObject<{
338
580
  minimumWidth?: number | undefined;
339
581
  minimumHeight?: number | undefined;
340
582
  minimumSize?: number | undefined;
341
- scale?: number | undefined;
342
583
  xScale?: number | undefined;
343
584
  yScale?: number | undefined;
344
- textColor?: string | undefined;
345
585
  innerXSep?: number | undefined;
346
586
  innerYSep?: number | undefined;
347
587
  outerSep?: number | undefined;
348
588
  padding?: number | undefined;
349
589
  margin?: number | undefined;
350
590
  }>;
351
- /** 节点:可定位的形状容器(矩形 / 圆 / 椭圆 / 菱形)+ 可选文本标签 */
591
+ /** 节点:可定位的形状容器(矩形/圆/椭圆/菱形)+ 可选文本标签 */
352
592
  export type IRNode = z.infer<typeof NodeSchema>;
353
593
  //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/ir/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,mCAAmC;AACnC,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAwBpB,CAAC;AAEJ,oCAAoC;AACpC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEhD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsBxB,CAAC;AAEJ,4BAA4B;AAC5B,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAIxB,CAAC;AAEJ,yCAAyC;AACzC,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,kBAAkB;AAClB,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyKpB,CAAC;AAEJ,4CAA4C;AAC5C,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/ir/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,qEAAqE;AACrE,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAwBpB,CAAC;AAEJ,oCAAoC;AACpC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsBxB,CAAC;AAEJ,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAIxB,CAAC;AAEJ,+BAA+B;AAC/B,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCzB,CAAC;AAEJ,uBAAuB;AACvB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE1D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+KpB,CAAC;AAEJ,sCAAsC;AACtC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}