@retikz/core 0.1.0-alpha.5 → 0.1.0-beta.1

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 (189) hide show
  1. package/dist/es/compile/compile.d.ts +17 -0
  2. package/dist/es/compile/compile.d.ts.map +1 -1
  3. package/dist/es/compile/compile.js +40 -15
  4. package/dist/es/compile/index.d.ts +1 -1
  5. package/dist/es/compile/index.d.ts.map +1 -1
  6. package/dist/es/compile/node.d.ts +3 -3
  7. package/dist/es/compile/node.d.ts.map +1 -1
  8. package/dist/es/compile/node.js +1 -1
  9. package/dist/es/compile/path/anchor.d.ts +19 -0
  10. package/dist/es/compile/path/anchor.d.ts.map +1 -0
  11. package/dist/es/compile/path/anchor.js +54 -0
  12. package/dist/es/compile/{path.d.ts → path/index.d.ts} +18 -7
  13. package/dist/es/compile/path/index.d.ts.map +1 -0
  14. package/dist/es/compile/path/index.js +308 -0
  15. package/dist/es/compile/path/label.d.ts +18 -0
  16. package/dist/es/compile/path/label.d.ts.map +1 -0
  17. package/dist/es/compile/path/label.js +102 -0
  18. package/dist/es/compile/path/relative.d.ts +8 -0
  19. package/dist/es/compile/path/relative.d.ts.map +1 -0
  20. package/dist/es/compile/path/relative.js +48 -0
  21. package/dist/es/compile/path/shrink.d.ts +24 -0
  22. package/dist/es/compile/path/shrink.d.ts.map +1 -0
  23. package/dist/es/compile/path/shrink.js +136 -0
  24. package/dist/es/compile/path/split.d.ts +15 -0
  25. package/dist/es/compile/path/split.d.ts.map +1 -0
  26. package/dist/es/compile/path/split.js +46 -0
  27. package/dist/es/compile/text-metrics.d.ts +4 -1
  28. package/dist/es/compile/text-metrics.d.ts.map +1 -1
  29. package/dist/es/compile/text-metrics.js +11 -5
  30. package/dist/es/geometry/_transform.d.ts +21 -0
  31. package/dist/es/geometry/_transform.d.ts.map +1 -0
  32. package/dist/es/geometry/_transform.js +27 -0
  33. package/dist/es/geometry/bend.d.ts +1 -1
  34. package/dist/es/geometry/bend.js +1 -1
  35. package/dist/es/geometry/circle.d.ts +2 -3
  36. package/dist/es/geometry/circle.d.ts.map +1 -1
  37. package/dist/es/geometry/circle.js +1 -16
  38. package/dist/es/geometry/diamond.d.ts +2 -3
  39. package/dist/es/geometry/diamond.d.ts.map +1 -1
  40. package/dist/es/geometry/diamond.js +1 -16
  41. package/dist/es/geometry/ellipse.d.ts +2 -3
  42. package/dist/es/geometry/ellipse.d.ts.map +1 -1
  43. package/dist/es/geometry/ellipse.js +1 -16
  44. package/dist/es/geometry/polar.d.ts +2 -2
  45. package/dist/es/geometry/polar.d.ts.map +1 -1
  46. package/dist/es/geometry/polar.js +2 -6
  47. package/dist/es/geometry/rect.d.ts.map +1 -1
  48. package/dist/es/geometry/rect.js +1 -18
  49. package/dist/es/geometry/segment.d.ts +5 -1
  50. package/dist/es/geometry/segment.d.ts.map +1 -1
  51. package/dist/es/index.d.ts +10 -6
  52. package/dist/es/index.d.ts.map +1 -1
  53. package/dist/es/index.js +4 -2
  54. package/dist/es/ir/font.d.ts +21 -0
  55. package/dist/es/ir/font.d.ts.map +1 -0
  56. package/dist/es/ir/font.js +15 -0
  57. package/dist/es/ir/index.d.ts +2 -0
  58. package/dist/es/ir/index.d.ts.map +1 -1
  59. package/dist/es/ir/node.d.ts +28 -139
  60. package/dist/es/ir/node.d.ts.map +1 -1
  61. package/dist/es/ir/node.js +6 -30
  62. package/dist/es/ir/path/arrow.d.ts +12 -12
  63. package/dist/es/ir/path/path.d.ts +16 -16
  64. package/dist/es/ir/path/path.js +4 -4
  65. package/dist/es/ir/path/step.d.ts +1 -1
  66. package/dist/es/ir/path/step.d.ts.map +1 -1
  67. package/dist/es/ir/path/step.js +8 -8
  68. package/dist/es/ir/position/offset-position.js +1 -1
  69. package/dist/es/ir/position/polar-position.d.ts.map +1 -1
  70. package/dist/es/ir/position/polar-position.js +2 -2
  71. package/dist/es/ir/position/position.d.ts.map +1 -1
  72. package/dist/es/ir/position/position.js +1 -1
  73. package/dist/es/ir/scene.d.ts +112 -112
  74. package/dist/es/ir/text.d.ts +96 -0
  75. package/dist/es/ir/text.d.ts.map +1 -0
  76. package/dist/es/ir/text.js +20 -0
  77. package/dist/es/parsers/parseTargetSugar.d.ts +4 -0
  78. package/dist/es/parsers/parseTargetSugar.d.ts.map +1 -1
  79. package/dist/es/parsers/parseTargetSugar.js +3 -2
  80. package/dist/es/primitive/ellipse.d.ts +2 -2
  81. package/dist/es/primitive/group.d.ts +23 -7
  82. package/dist/es/primitive/group.d.ts.map +1 -1
  83. package/dist/es/primitive/path.d.ts +51 -11
  84. package/dist/es/primitive/path.d.ts.map +1 -1
  85. package/dist/es/primitive/rect.d.ts +2 -2
  86. package/dist/es/primitive/rect.d.ts.map +1 -1
  87. package/dist/es/primitive/text.d.ts +10 -3
  88. package/dist/es/primitive/text.d.ts.map +1 -1
  89. package/dist/es/primitive/view-box.d.ts +1 -1
  90. package/dist/es/primitive/view-box.d.ts.map +1 -1
  91. package/dist/es/types.d.ts +8 -0
  92. package/dist/es/types.d.ts.map +1 -1
  93. package/dist/lib/compile/compile.cjs +40 -15
  94. package/dist/lib/compile/compile.d.ts +17 -0
  95. package/dist/lib/compile/compile.d.ts.map +1 -1
  96. package/dist/lib/compile/index.d.ts +1 -1
  97. package/dist/lib/compile/index.d.ts.map +1 -1
  98. package/dist/lib/compile/node.cjs +1 -1
  99. package/dist/lib/compile/node.d.ts +3 -3
  100. package/dist/lib/compile/node.d.ts.map +1 -1
  101. package/dist/lib/compile/path/anchor.cjs +58 -0
  102. package/dist/lib/compile/path/anchor.d.ts +19 -0
  103. package/dist/lib/compile/path/anchor.d.ts.map +1 -0
  104. package/dist/lib/compile/path/index.cjs +308 -0
  105. package/dist/lib/compile/{path.d.ts → path/index.d.ts} +18 -7
  106. package/dist/lib/compile/path/index.d.ts.map +1 -0
  107. package/dist/lib/compile/path/label.cjs +103 -0
  108. package/dist/lib/compile/path/label.d.ts +18 -0
  109. package/dist/lib/compile/path/label.d.ts.map +1 -0
  110. package/dist/lib/compile/path/relative.cjs +48 -0
  111. package/dist/lib/compile/path/relative.d.ts +8 -0
  112. package/dist/lib/compile/path/relative.d.ts.map +1 -0
  113. package/dist/lib/compile/path/shrink.cjs +138 -0
  114. package/dist/lib/compile/path/shrink.d.ts +24 -0
  115. package/dist/lib/compile/path/shrink.d.ts.map +1 -0
  116. package/dist/lib/compile/path/split.cjs +46 -0
  117. package/dist/lib/compile/path/split.d.ts +15 -0
  118. package/dist/lib/compile/path/split.d.ts.map +1 -0
  119. package/dist/lib/compile/text-metrics.cjs +11 -5
  120. package/dist/lib/compile/text-metrics.d.ts +4 -1
  121. package/dist/lib/compile/text-metrics.d.ts.map +1 -1
  122. package/dist/lib/geometry/_transform.cjs +28 -0
  123. package/dist/lib/geometry/_transform.d.ts +21 -0
  124. package/dist/lib/geometry/_transform.d.ts.map +1 -0
  125. package/dist/lib/geometry/bend.cjs +1 -1
  126. package/dist/lib/geometry/bend.d.ts +1 -1
  127. package/dist/lib/geometry/circle.cjs +5 -20
  128. package/dist/lib/geometry/circle.d.ts +2 -3
  129. package/dist/lib/geometry/circle.d.ts.map +1 -1
  130. package/dist/lib/geometry/diamond.cjs +5 -20
  131. package/dist/lib/geometry/diamond.d.ts +2 -3
  132. package/dist/lib/geometry/diamond.d.ts.map +1 -1
  133. package/dist/lib/geometry/ellipse.cjs +5 -20
  134. package/dist/lib/geometry/ellipse.d.ts +2 -3
  135. package/dist/lib/geometry/ellipse.d.ts.map +1 -1
  136. package/dist/lib/geometry/polar.cjs +2 -6
  137. package/dist/lib/geometry/polar.d.ts +2 -2
  138. package/dist/lib/geometry/polar.d.ts.map +1 -1
  139. package/dist/lib/geometry/rect.cjs +5 -22
  140. package/dist/lib/geometry/rect.d.ts.map +1 -1
  141. package/dist/lib/geometry/segment.d.ts +5 -1
  142. package/dist/lib/geometry/segment.d.ts.map +1 -1
  143. package/dist/lib/index.cjs +5 -3
  144. package/dist/lib/index.d.ts +10 -6
  145. package/dist/lib/index.d.ts.map +1 -1
  146. package/dist/lib/ir/font.cjs +15 -0
  147. package/dist/lib/ir/font.d.ts +21 -0
  148. package/dist/lib/ir/font.d.ts.map +1 -0
  149. package/dist/lib/ir/index.d.ts +2 -0
  150. package/dist/lib/ir/index.d.ts.map +1 -1
  151. package/dist/lib/ir/node.cjs +7 -34
  152. package/dist/lib/ir/node.d.ts +28 -139
  153. package/dist/lib/ir/node.d.ts.map +1 -1
  154. package/dist/lib/ir/path/arrow.d.ts +12 -12
  155. package/dist/lib/ir/path/path.cjs +4 -4
  156. package/dist/lib/ir/path/path.d.ts +16 -16
  157. package/dist/lib/ir/path/step.cjs +8 -8
  158. package/dist/lib/ir/path/step.d.ts +1 -1
  159. package/dist/lib/ir/path/step.d.ts.map +1 -1
  160. package/dist/lib/ir/position/offset-position.cjs +1 -1
  161. package/dist/lib/ir/position/polar-position.cjs +2 -2
  162. package/dist/lib/ir/position/polar-position.d.ts.map +1 -1
  163. package/dist/lib/ir/position/position.cjs +1 -1
  164. package/dist/lib/ir/position/position.d.ts.map +1 -1
  165. package/dist/lib/ir/scene.d.ts +112 -112
  166. package/dist/lib/ir/text.cjs +21 -0
  167. package/dist/lib/ir/text.d.ts +96 -0
  168. package/dist/lib/ir/text.d.ts.map +1 -0
  169. package/dist/lib/parsers/parseTargetSugar.cjs +3 -2
  170. package/dist/lib/parsers/parseTargetSugar.d.ts +4 -0
  171. package/dist/lib/parsers/parseTargetSugar.d.ts.map +1 -1
  172. package/dist/lib/primitive/ellipse.d.ts +2 -2
  173. package/dist/lib/primitive/group.d.ts +23 -7
  174. package/dist/lib/primitive/group.d.ts.map +1 -1
  175. package/dist/lib/primitive/path.d.ts +51 -11
  176. package/dist/lib/primitive/path.d.ts.map +1 -1
  177. package/dist/lib/primitive/rect.d.ts +2 -2
  178. package/dist/lib/primitive/rect.d.ts.map +1 -1
  179. package/dist/lib/primitive/text.d.ts +10 -3
  180. package/dist/lib/primitive/text.d.ts.map +1 -1
  181. package/dist/lib/primitive/view-box.d.ts +1 -1
  182. package/dist/lib/primitive/view-box.d.ts.map +1 -1
  183. package/dist/lib/types.d.ts +8 -0
  184. package/dist/lib/types.d.ts.map +1 -1
  185. package/package.json +13 -4
  186. package/dist/es/compile/path.d.ts.map +0 -1
  187. package/dist/es/compile/path.js +0 -636
  188. package/dist/lib/compile/path.cjs +0 -636
  189. package/dist/lib/compile/path.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ellipse.d.ts","sourceRoot":"","sources":["../../../src/geometry/ellipse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,qCAAqC;AACrC,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,aAAa;IACb,EAAE,EAAE,MAAM,CAAC;IACX,aAAa;IACb,EAAE,EAAE,MAAM,CAAC;IACX,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF,2CAA2C;AAC3C,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,CAAC;AAoBjB,eAAe;AACf,eAAO,MAAM,OAAO;IAClB,SAAS;gBACG,OAAO,KAAG,QAAQ;IAC9B,0BAA0B;kBACZ,OAAO,KAAK,QAAQ,KAAG,OAAO;IAI9C;;;OAGG;gBACW,OAAO,QAAQ,aAAa,KAAG,QAAQ;IAqCrD;;;OAGG;uBACkB,OAAO,UAAU,QAAQ,KAAG,QAAQ;CAQxD,CAAC"}
1
+ {"version":3,"file":"ellipse.d.ts","sourceRoot":"","sources":["../../../src/geometry/ellipse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,qCAAqC;AACrC,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,aAAa;IACb,EAAE,EAAE,MAAM,CAAC;IACX,aAAa;IACb,EAAE,EAAE,MAAM,CAAC;IACX,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF,eAAe;AACf,eAAO,MAAM,OAAO;IAClB,SAAS;gBACG,OAAO,KAAG,QAAQ;IAC9B,0BAA0B;kBACZ,OAAO,KAAK,QAAQ,KAAG,OAAO;IAI9C;;;OAGG;gBACW,OAAO,QAAQ,UAAU,KAAG,QAAQ;IAqClD;;;OAGG;uBACkB,OAAO,UAAU,QAAQ,KAAG,QAAQ;CAQxD,CAAC"}
@@ -1,21 +1,6 @@
1
+ import { localToWorld, worldToLocal } from "./_transform.js";
1
2
  //#region src/geometry/ellipse.ts
2
3
  var SQRT_HALF = Math.SQRT1_2;
3
- var localToWorld = (e, local) => {
4
- const angle = e.rotate ?? 0;
5
- if (angle === 0) return [e.x + local[0], e.y + local[1]];
6
- const cos = Math.cos(angle);
7
- const sin = Math.sin(angle);
8
- return [e.x + local[0] * cos - local[1] * sin, e.y + local[0] * sin + local[1] * cos];
9
- };
10
- var worldToLocal = (e, world) => {
11
- const tx = world[0] - e.x;
12
- const ty = world[1] - e.y;
13
- const angle = e.rotate ?? 0;
14
- if (angle === 0) return [tx, ty];
15
- const cos = Math.cos(angle);
16
- const sin = Math.sin(angle);
17
- return [tx * cos + ty * sin, -tx * sin + ty * cos];
18
- };
19
4
  /** 椭圆相关基础工具 */
20
5
  var ellipse = {
21
6
  /** 中心 */
@@ -6,7 +6,7 @@ import { Position } from './point';
6
6
  export type PolarPosition = {
7
7
  /** 极坐标原点:节点 id / 笛卡尔 / 嵌套极坐标;省略表示 [0,0] */
8
8
  origin?: string | Position | PolarPosition;
9
- /** 角度(度数,逆时针为正) */
9
+ /** 角度(度数):从 +x 轴量起,90° 朝 +y(屏幕下方),与 ArcStep / Node label 角度约定一致 */
10
10
  angle: number;
11
11
  /** 半径(非负) */
12
12
  radius: number;
@@ -18,7 +18,7 @@ export declare const polar: {
18
18
  * @description origin 为字符串(节点 id)时抛错——字符串解析依赖 Scene 编译器 nodeIndex
19
19
  */
20
20
  toPosition: (p: PolarPosition) => Position;
21
- /** 笛卡尔 → 极坐标(angle ∈ (-180,180],origin 默认 [0,0]) */
21
+ /** 笛卡尔 → 极坐标(point.toPolar 别名,angle ∈ (-180,180],origin 默认 [0,0]) */
22
22
  fromPosition: (p: Position) => PolarPosition;
23
23
  /** 在原点附近按极坐标偏移,返回结果点的世界笛卡尔坐标 */
24
24
  offsetFrom: (origin: Position, offset: {
@@ -1 +1 @@
1
- {"version":3,"file":"polar.d.ts","sourceRoot":"","sources":["../../../src/geometry/polar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAS,MAAM,SAAS,CAAC;AAS/C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC3C,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAKF,oDAAoD;AACpD,eAAO,MAAM,KAAK;IAChB;;;OAGG;oBACa,aAAa,KAAG,QAAQ;IAmBxC,oDAAoD;sBAClC,QAAQ,KAAG,aAAa;IAI1C,gCAAgC;yBAEtB,QAAQ,UACR;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KACxC,QAAQ;IAOb;;;;OAIG;eAEI,QAAQ,GAAG,aAAa,KACxB,QAAQ,GAAG,aAAa,yBAE1B,OAAO;CACX,CAAC"}
1
+ {"version":3,"file":"polar.d.ts","sourceRoot":"","sources":["../../../src/geometry/polar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAS,MAAM,SAAS,CAAC;AAS/C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC3C,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF,oDAAoD;AACpD,eAAO,MAAM,KAAK;IAChB;;;OAGG;oBACa,aAAa,KAAG,QAAQ;IAmBxC,qEAAqE;sBACnD,QAAQ,KAAG,aAAa;IAC1C,gCAAgC;yBAEtB,QAAQ,UACR;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KACxC,QAAQ;IAOb;;;;OAIG;eAEI,QAAQ,GAAG,aAAa,KACxB,QAAQ,GAAG,aAAa,yBAE1B,OAAO;CACX,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { point } from "./point.js";
2
2
  //#region src/geometry/polar.ts
3
3
  var DEG_TO_RAD = Math.PI / 180;
4
- var RAD_TO_DEG = 180 / Math.PI;
5
4
  /** 极坐标 ↔ 笛卡尔转换工具集(polar 不参与几何计算,参与时先 toPosition) */
6
5
  var polar = {
7
6
  /**
@@ -17,11 +16,8 @@ var polar = {
17
16
  const rad = p.angle * DEG_TO_RAD;
18
17
  return [origin[0] + Math.cos(rad) * p.radius, origin[1] + Math.sin(rad) * p.radius];
19
18
  },
20
- /** 笛卡尔 → 极坐标(angle ∈ (-180,180],origin 默认 [0,0]) */
21
- fromPosition: (p) => ({
22
- angle: Math.atan2(p[1], p[0]) * RAD_TO_DEG,
23
- radius: Math.hypot(p[0], p[1])
24
- }),
19
+ /** 笛卡尔 → 极坐标(point.toPolar 别名,angle ∈ (-180,180],origin 默认 [0,0]) */
20
+ fromPosition: (p) => point.toPolar(p),
25
21
  /** 在原点附近按极坐标偏移,返回结果点的世界笛卡尔坐标 */
26
22
  offsetFrom: (origin, offset) => {
27
23
  const rad = offset.angle * DEG_TO_RAD;
@@ -1 +1 @@
1
- {"version":3,"file":"rect.d.ts","sourceRoot":"","sources":["../../../src/geometry/rect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,gCAAgC;AAChC,MAAM,MAAM,IAAI,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,YAAY;;;;;;;;;;CAUf,CAAC;AAEX,+BAA+B;AAC/B,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AA0B1E,eAAO,MAAM,IAAI;IACf,WAAW;gBACC,IAAI,KAAG,QAAQ;IAC3B,uBAAuB;kBACT,IAAI,KAAK,QAAQ,KAAG,OAAO;IAMzC,sCAAsC;gBAC1B,IAAI,QAAQ,UAAU,KAAG,QAAQ;IAuC7C,qDAAqD;uBAClC,IAAI,UAAU,QAAQ,KAAG,QAAQ;CAUrD,CAAC"}
1
+ {"version":3,"file":"rect.d.ts","sourceRoot":"","sources":["../../../src/geometry/rect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,gCAAgC;AAChC,MAAM,MAAM,IAAI,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,YAAY;;;;;;;;;;CAUf,CAAC;AAEX,+BAA+B;AAC/B,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE1E,eAAO,MAAM,IAAI;IACf,WAAW;gBACC,IAAI,KAAG,QAAQ;IAC3B,uBAAuB;kBACT,IAAI,KAAK,QAAQ,KAAG,OAAO;IAMzC,sCAAsC;gBAC1B,IAAI,QAAQ,UAAU,KAAG,QAAQ;IAuC7C,qDAAqD;uBAClC,IAAI,UAAU,QAAQ,KAAG,QAAQ;CAUrD,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { localToWorld, worldToLocal } from "./_transform.js";
1
2
  //#region src/geometry/rect.ts
2
3
  /** 矩形 9 个标准 anchor 名常量(与 RectAnchor 配对,用 RECT_ANCHORS.NORTH 避免拼错) */
3
4
  var RECT_ANCHORS = {
@@ -11,24 +12,6 @@ var RECT_ANCHORS = {
11
12
  SOUTH_EAST: "south-east",
12
13
  SOUTH_WEST: "south-west"
13
14
  };
14
- /** 本地坐标(以中心为原点)→ 世界坐标,考虑 rect.rotate */
15
- var localToWorld = (r, local) => {
16
- const angle = r.rotate ?? 0;
17
- if (angle === 0) return [r.x + local[0], r.y + local[1]];
18
- const cos = Math.cos(angle);
19
- const sin = Math.sin(angle);
20
- return [r.x + local[0] * cos - local[1] * sin, r.y + local[0] * sin + local[1] * cos];
21
- };
22
- /** 世界坐标 → 本地坐标(localToWorld 逆变换) */
23
- var worldToLocal = (r, world) => {
24
- const tx = world[0] - r.x;
25
- const ty = world[1] - r.y;
26
- const angle = r.rotate ?? 0;
27
- if (angle === 0) return [tx, ty];
28
- const cos = Math.cos(angle);
29
- const sin = Math.sin(angle);
30
- return [tx * cos + ty * sin, -tx * sin + ty * cos];
31
- };
32
15
  var rect = {
33
16
  /** 几何中心 */
34
17
  center: (r) => [r.x, r.y],
@@ -1,6 +1,10 @@
1
1
  import { Position } from './point';
2
+ /**
3
+ * 段几何采样结果:t 处坐标点 + 归一化切线向量
4
+ * @description 各 `*SegmentSample` 函数(line / quad / cubic / fold / arc / circle / ellipse)的统一返回形态;供 step.label emit 算位置 / 切线 / sloped 旋转角
5
+ */
2
6
  export type SegmentSample = {
3
- /** t 处的点 */
7
+ /** t 处的点(user units) */
4
8
  point: Position;
5
9
  /** t 处的切线(单位向量;零向量时回退 [1, 0]) */
6
10
  tangent: Position;
@@ -1 +1 @@
1
- {"version":3,"file":"segment.d.ts","sourceRoot":"","sources":["../../../src/geometry/segment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAiBxC,MAAM,MAAM,aAAa,GAAG;IAC1B,YAAY;IACZ,KAAK,EAAE,QAAQ,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAQF,oBAAoB;AACpB,eAAO,MAAM,iBAAiB,GAC5B,MAAM,QAAQ,EACd,IAAI,QAAQ,EACZ,GAAG,MAAM,KACR,aAGD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,QAAQ,EACd,SAAS,QAAQ,EACjB,IAAI,QAAQ,EACZ,GAAG,MAAM,KACR,aASF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,QAAQ,EACd,IAAI,QAAQ,EACZ,IAAI,QAAQ,EACZ,IAAI,QAAQ,EACZ,GAAG,MAAM,KACR,aAqBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,QAAQ,EACd,QAAQ,QAAQ,EAChB,IAAI,QAAQ,EACZ,GAAG,MAAM,KACR,aAGF,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,QAAQ,EAChB,QAAQ,MAAM,EACd,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,GAAG,MAAM,KACR,aAUF,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,QAAQ,EAChB,QAAQ,MAAM,EACd,GAAG,MAAM,KACR,aASF,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,QAAQ,EAChB,IAAI,MAAM,EACV,IAAI,MAAM,EACV,GAAG,MAAM,KACR,aASF,CAAC"}
1
+ {"version":3,"file":"segment.d.ts","sourceRoot":"","sources":["../../../src/geometry/segment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAiBxC;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,wBAAwB;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAQF,oBAAoB;AACpB,eAAO,MAAM,iBAAiB,GAC5B,MAAM,QAAQ,EACd,IAAI,QAAQ,EACZ,GAAG,MAAM,KACR,aAGD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,QAAQ,EACd,SAAS,QAAQ,EACjB,IAAI,QAAQ,EACZ,GAAG,MAAM,KACR,aASF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,QAAQ,EACd,IAAI,QAAQ,EACZ,IAAI,QAAQ,EACZ,IAAI,QAAQ,EACZ,GAAG,MAAM,KACR,aAqBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,QAAQ,EACd,QAAQ,QAAQ,EAChB,IAAI,QAAQ,EACZ,GAAG,MAAM,KACR,aAGF,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,QAAQ,EAChB,QAAQ,MAAM,EACd,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,GAAG,MAAM,KACR,aAUF,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,QAAQ,EAChB,QAAQ,MAAM,EACd,GAAG,MAAM,KACR,aASF,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,QAAQ,EAChB,IAAI,MAAM,EACV,IAAI,MAAM,EACV,GAAG,MAAM,KACR,aASF,CAAC"}
@@ -2,15 +2,19 @@
2
2
  * @retikz/core 公开 API
3
3
  * @description 任何 framework adapter(@retikz/react、@retikz/vue、@retikz/canvas、@retikz/ssr)只能 import 本文件导出内容,不准走子路径。本包零 React/零 DOM 依赖
4
4
  */
5
- export { PositionSchema, PolarPositionSchema, AtPositionSchema, OffsetPositionSchema, AT_DIRECTIONS, TargetSchema, RelativeTargetSchema, RelativeAccumulateTargetSchema, MoveStepSchema, LineStepSchema, FoldStepSchema, CycleStepSchema, CurveStepSchema, CubicStepSchema, BendStepSchema, ArcStepSchema, CirclePathStepSchema, EllipsePathStepSchema, ControlPointSchema, StepLabelSchema, StepSchema, NodeSchema, NodeLabelSchema, CoordinateSchema, FontSchema, NodeTextSchema, LineSpecSchema, PathSchema, ArrowDetailSchema, ArrowEndDetailSchema, ChildSchema, SceneSchema, CURRENT_IR_VERSION, } from './ir';
6
- export type { IRPosition, IRAtPosition, IROffsetPosition, AtDirection, IRTarget, IRRelativeTarget, IRRelativeAccumulateTarget, IRMoveStep, IRLineStep, IRFoldStep, IRCycleStep, IRCurveStep, IRCubicStep, IRBendStep, IRArcStep, IRCirclePathStep, IREllipsePathStep, IRControlPoint, IRStepLabel, IRStep, IRNode, IRNodeLabel, IRCoordinate, IRFont, IRLineSpec, IRPath, IRChild, IR, ArrowShape, IRArrowDetail, IRArrowEndDetail, NodeShape, NodeTextAlign, } from './ir';
5
+ export { PositionSchema, PolarPositionSchema, AtPositionSchema, OffsetPositionSchema, AT_DIRECTIONS, TargetSchema, RelativeTargetSchema, RelativeAccumulateTargetSchema, MoveStepSchema, LineStepSchema, FoldStepSchema, CycleStepSchema, CurveStepSchema, CubicStepSchema, BendStepSchema, ArcStepSchema, CirclePathStepSchema, EllipsePathStepSchema, ControlPointSchema, StepLabelSchema, StepSchema, NodeSchema, NodeLabelSchema, CoordinateSchema, FontSchema, TextBlockSchema, LineSpecSchema, PathSchema, ArrowDetailSchema, ArrowEndDetailSchema, ChildSchema, SceneSchema, CURRENT_IR_VERSION, } from './ir';
6
+ export type { IRPosition, IRAtPosition, IROffsetPosition, AtDirection, IRTarget, IRRelativeTarget, IRRelativeAccumulateTarget, IRMoveStep, IRLineStep, IRFoldStep, IRCycleStep, IRCurveStep, IRCubicStep, IRBendStep, IRArcStep, IRCirclePathStep, IREllipsePathStep, IRControlPoint, IRStepLabel, IRStep, IRNode, IRNodeLabel, IRCoordinate, IRFont, IRLineSpec, IRTextBlock, IRPath, IRChild, IR, ArrowShape, IRArrowDetail, IRArrowEndDetail, NodeShape, NodeTextAlign, } from './ir';
7
7
  export { ARROW_SHAPES, HOLLOW_ARROW_SHAPES, ARROW_MARKER_DEFAULT_SIZE, ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH, NODE_SHAPES, NODE_TEXT_ALIGNS, } from './ir';
8
- export type { ScenePrimitive, RectPrim, EllipsePrim, TextPrim, TextLine, PathPrim, PathCommand, ArrowEndSpec, GroupPrim, Transform, ViewBox, Scene, } from './primitive';
9
- export type { FontSpec, TextMetrics, TextMeasurer, CompileOptions, } from './compile';
8
+ export type { ScenePrimitive, RectPrim, EllipsePrim, TextPrim, TextLine, PathPrim, PathCommand,
9
+ /** 7 named PathCommand 分支(便于 wrapper / Pick<>) */
10
+ MovePathCommand, LinePathCommand, QuadPathCommand, CubicPathCommand, ArcPathCommand, EllipseArcPathCommand, ClosePathCommand, ArrowEndSpec, GroupPrim, Transform,
11
+ /** 3 个 named Transform 分支 */
12
+ TranslateTransform, RotateTransform, ScaleTransform, ViewBox, Scene, } from './primitive';
13
+ export type { FontSpec, TextMetrics, TextMeasurer, CompileOptions, CompileWarning, } from './compile';
10
14
  export { fallbackMeasurer, compileToScene } from './compile';
11
15
  export type { WayItem, WayDSL, WayCycle, WayVia, WayRelativeItem, WayLabel, WayLabelOp, } from './parsers';
12
16
  export { parseWay, DrawWay, parseTargetSugar } from './parsers';
13
- export type { Position, Rect, RectAnchor, Circle, CircleAnchor, Ellipse, EllipseAnchor, Diamond, DiamondAnchor, PolarPosition, } from './geometry';
17
+ export type { Position, Rect, RectAnchor, Circle, Ellipse, Diamond, PolarPosition, } from './geometry';
14
18
  export { point, rect, circle, ellipse, diamond, RECT_ANCHORS, polar } from './geometry';
15
- export type { ValueOf } from './types';
19
+ export type { ValueOf, AssertEqual } from './types';
16
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,8BAA8B,EAC9B,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,MAAM,CAAC;AACd,YAAY,EACV,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,MAAM,EACN,MAAM,EACN,WAAW,EACX,YAAY,EACZ,MAAM,EACN,UAAU,EACV,MAAM,EACN,OAAO,EACP,EAAE,EACF,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,aAAa,GACd,MAAM,MAAM,CAAC;AACd,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,sCAAsC,EACtC,WAAW,EACX,gBAAgB,GACjB,MAAM,MAAM,CAAC;AAGd,YAAY,EACV,cAAc,EACd,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,OAAO,EACP,KAAK,GACN,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG7D,YAAY,EACV,OAAO,EACP,MAAM,EACN,QAAQ,EACR,MAAM,EACN,eAAe,EACf,QAAQ,EACR,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIhE,YAAY,EACV,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,MAAM,EACN,YAAY,EACZ,OAAO,EACP,aAAa,EACb,OAAO,EACP,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxF,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,8BAA8B,EAC9B,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,MAAM,CAAC;AACd,YAAY,EACV,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,MAAM,EACN,MAAM,EACN,WAAW,EACX,YAAY,EACZ,MAAM,EACN,UAAU,EACV,WAAW,EACX,MAAM,EACN,OAAO,EACP,EAAE,EACF,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,aAAa,GACd,MAAM,MAAM,CAAC;AACd,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,sCAAsC,EACtC,WAAW,EACX,gBAAgB,GACjB,MAAM,MAAM,CAAC;AAGd,YAAY,EACV,cAAc,EACd,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW;AACX,oDAAoD;AACpD,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,SAAS;AACT,6BAA6B;AAC7B,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,OAAO,EACP,KAAK,GACN,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG7D,YAAY,EACV,OAAO,EACP,MAAM,EACN,QAAQ,EACR,MAAM,EACN,eAAe,EACf,QAAQ,EACR,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIhE,YAAY,EACV,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,MAAM,EACN,OAAO,EACP,OAAO,EACP,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxF,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
package/dist/es/index.js CHANGED
@@ -2,11 +2,13 @@ import { PositionSchema } from "./ir/position/position.js";
2
2
  import { PolarPositionSchema } from "./ir/position/polar-position.js";
3
3
  import { AT_DIRECTIONS, AtPositionSchema } from "./ir/position/at-position.js";
4
4
  import { OffsetPositionSchema } from "./ir/position/offset-position.js";
5
+ import { FontSchema } from "./ir/font.js";
6
+ import { LineSpecSchema, TextBlockSchema } from "./ir/text.js";
5
7
  import { ARROW_MARKER_DEFAULT_SIZE, ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH, ARROW_SHAPES, ArrowDetailSchema, ArrowEndDetailSchema, HOLLOW_ARROW_SHAPES } from "./ir/path/arrow.js";
6
8
  import { RelativeAccumulateTargetSchema, RelativeTargetSchema, TargetSchema } from "./ir/path/target.js";
7
9
  import { ArcStepSchema, BendStepSchema, CirclePathStepSchema, ControlPointSchema, CubicStepSchema, CurveStepSchema, CycleStepSchema, EllipsePathStepSchema, FoldStepSchema, LineStepSchema, MoveStepSchema, StepLabelSchema, StepSchema } from "./ir/path/step.js";
8
10
  import { PathSchema } from "./ir/path/path.js";
9
- import { FontSchema, LineSpecSchema, NODE_SHAPES, NODE_TEXT_ALIGNS, NodeLabelSchema, NodeSchema, NodeTextSchema } from "./ir/node.js";
11
+ import { NODE_SHAPES, NODE_TEXT_ALIGNS, NodeLabelSchema, NodeSchema } from "./ir/node.js";
10
12
  import { CoordinateSchema } from "./ir/coordinate.js";
11
13
  import { CURRENT_IR_VERSION, ChildSchema, SceneSchema } from "./ir/scene.js";
12
14
  import { RECT_ANCHORS, rect } from "./geometry/rect.js";
@@ -19,4 +21,4 @@ import { parseTargetSugar } from "./parsers/parseTargetSugar.js";
19
21
  import { DrawWay, parseWay } from "./parsers/parseWay.js";
20
22
  import { polar } from "./geometry/polar.js";
21
23
  import { point } from "./geometry/point.js";
22
- export { ARROW_MARKER_DEFAULT_SIZE, ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH, ARROW_SHAPES, AT_DIRECTIONS, ArcStepSchema, ArrowDetailSchema, ArrowEndDetailSchema, AtPositionSchema, BendStepSchema, CURRENT_IR_VERSION, ChildSchema, CirclePathStepSchema, ControlPointSchema, CoordinateSchema, CubicStepSchema, CurveStepSchema, CycleStepSchema, DrawWay, EllipsePathStepSchema, FoldStepSchema, FontSchema, HOLLOW_ARROW_SHAPES, LineSpecSchema, LineStepSchema, MoveStepSchema, NODE_SHAPES, NODE_TEXT_ALIGNS, NodeLabelSchema, NodeSchema, NodeTextSchema, OffsetPositionSchema, PathSchema, PolarPositionSchema, PositionSchema, RECT_ANCHORS, RelativeAccumulateTargetSchema, RelativeTargetSchema, SceneSchema, StepLabelSchema, StepSchema, TargetSchema, circle, compileToScene, diamond, ellipse, fallbackMeasurer, parseTargetSugar, parseWay, point, polar, rect };
24
+ export { ARROW_MARKER_DEFAULT_SIZE, ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH, ARROW_SHAPES, AT_DIRECTIONS, ArcStepSchema, ArrowDetailSchema, ArrowEndDetailSchema, AtPositionSchema, BendStepSchema, CURRENT_IR_VERSION, ChildSchema, CirclePathStepSchema, ControlPointSchema, CoordinateSchema, CubicStepSchema, CurveStepSchema, CycleStepSchema, DrawWay, EllipsePathStepSchema, FoldStepSchema, FontSchema, HOLLOW_ARROW_SHAPES, LineSpecSchema, LineStepSchema, MoveStepSchema, NODE_SHAPES, NODE_TEXT_ALIGNS, NodeLabelSchema, NodeSchema, OffsetPositionSchema, PathSchema, PolarPositionSchema, PositionSchema, RECT_ANCHORS, RelativeAccumulateTargetSchema, RelativeTargetSchema, SceneSchema, StepLabelSchema, StepSchema, TargetSchema, TextBlockSchema, circle, compileToScene, diamond, ellipse, fallbackMeasurer, parseTargetSugar, parseWay, point, polar, rect };
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ /** 字体规格:family/size/weight/style 全部可选 */
3
+ export declare const FontSchema: z.ZodObject<{
4
+ family: z.ZodOptional<z.ZodString>;
5
+ size: z.ZodOptional<z.ZodNumber>;
6
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
7
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ family?: string | undefined;
10
+ size?: number | undefined;
11
+ weight?: number | "normal" | "bold" | undefined;
12
+ style?: "normal" | "italic" | "oblique" | undefined;
13
+ }, {
14
+ family?: string | undefined;
15
+ size?: number | undefined;
16
+ weight?: number | "normal" | "bold" | undefined;
17
+ style?: "normal" | "italic" | "oblique" | undefined;
18
+ }>;
19
+ /** 字体规格 IR 类型(所有字段可选,编译期解析默认值) */
20
+ export type IRFont = z.infer<typeof FontSchema>;
21
+ //# sourceMappingURL=font.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../../src/ir/font.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yCAAyC;AACzC,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAyBpB,CAAC;AAEJ,kCAAkC;AAClC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { z } from "zod";
2
+ //#region src/ir/font.ts
3
+ /** 字体规格:family/size/weight/style 全部可选 */
4
+ var FontSchema = z.object({
5
+ family: z.string().optional().describe("CSS font-family string, e.g. \"serif\", \"monospace\", \"Inter, sans-serif\""),
6
+ size: z.number().positive().finite().optional().describe("Font size in user units; falls back to the renderer default when omitted"),
7
+ weight: z.union([z.enum(["normal", "bold"]), z.number().finite()]).optional().describe("CSS font-weight: keyword `normal` / `bold` or numeric 100..900"),
8
+ style: z.enum([
9
+ "normal",
10
+ "italic",
11
+ "oblique"
12
+ ]).optional().describe("CSS font-style")
13
+ }).describe("Font properties (family / size / weight / style). All fields optional; consumed by Node text / Node label / LineSpec / future Tikz / Scope font defaults.");
14
+ //#endregion
15
+ export { FontSchema };
@@ -1,4 +1,6 @@
1
1
  export * from './position';
2
+ export * from './font';
3
+ export * from './text';
2
4
  export * from './path';
3
5
  export * from './node';
4
6
  export * from './coordinate';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ir/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ir/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -12,117 +12,6 @@ export declare const NODE_SHAPES: {
12
12
  };
13
13
  /** 节点形状字面量类型 */
14
14
  export type NodeShape = ValueOf<typeof NODE_SHAPES>;
15
- /** 节点字体规格:family/size/weight/style 全部可选,透传 SVG `<text>` font-* 属性 */
16
- export declare const FontSchema: z.ZodObject<{
17
- family: z.ZodOptional<z.ZodString>;
18
- size: z.ZodOptional<z.ZodNumber>;
19
- weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
20
- style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
21
- }, "strip", z.ZodTypeAny, {
22
- family?: string | undefined;
23
- size?: number | undefined;
24
- weight?: number | "normal" | "bold" | undefined;
25
- style?: "normal" | "italic" | "oblique" | undefined;
26
- }, {
27
- family?: string | undefined;
28
- size?: number | undefined;
29
- weight?: number | "normal" | "bold" | undefined;
30
- style?: "normal" | "italic" | "oblique" | undefined;
31
- }>;
32
- /** 节点字体规格 IR 类型(所有字段可选,编译期解析默认值) */
33
- export type IRFont = z.infer<typeof FontSchema>;
34
- /**
35
- * 单行文本规格:纯字符串走块级默认,对象形式可覆盖 fill/opacity/font
36
- * @description 行级覆盖只生效于本行 `<tspan>`;font 子字段未填则继承块级;align/lineHeight 不可被行覆盖
37
- */
38
- export declare const LineSpecSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
39
- text: z.ZodString;
40
- fill: z.ZodOptional<z.ZodString>;
41
- opacity: z.ZodOptional<z.ZodNumber>;
42
- font: z.ZodOptional<z.ZodObject<{
43
- family: z.ZodOptional<z.ZodString>;
44
- size: z.ZodOptional<z.ZodNumber>;
45
- weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
46
- style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
47
- }, "strip", z.ZodTypeAny, {
48
- family?: string | undefined;
49
- size?: number | undefined;
50
- weight?: number | "normal" | "bold" | undefined;
51
- style?: "normal" | "italic" | "oblique" | undefined;
52
- }, {
53
- family?: string | undefined;
54
- size?: number | undefined;
55
- weight?: number | "normal" | "bold" | undefined;
56
- style?: "normal" | "italic" | "oblique" | undefined;
57
- }>>;
58
- }, "strip", z.ZodTypeAny, {
59
- text: string;
60
- fill?: string | undefined;
61
- opacity?: number | undefined;
62
- font?: {
63
- family?: string | undefined;
64
- size?: number | undefined;
65
- weight?: number | "normal" | "bold" | undefined;
66
- style?: "normal" | "italic" | "oblique" | undefined;
67
- } | undefined;
68
- }, {
69
- text: string;
70
- fill?: string | undefined;
71
- opacity?: number | undefined;
72
- font?: {
73
- family?: string | undefined;
74
- size?: number | undefined;
75
- weight?: number | "normal" | "bold" | undefined;
76
- style?: "normal" | "italic" | "oblique" | undefined;
77
- } | undefined;
78
- }>]>;
79
- /** 行规格 IR 类型 */
80
- export type IRLineSpec = z.infer<typeof LineSpecSchema>;
81
- /**
82
- * 节点文本:单字符串或非空多行 LineSpec 数组
83
- * @description 选数组而非 `\n` 字符串:JSON 友好无 escape,行级覆盖天然落字段
84
- */
85
- export declare const NodeTextSchema: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
86
- text: z.ZodString;
87
- fill: z.ZodOptional<z.ZodString>;
88
- opacity: z.ZodOptional<z.ZodNumber>;
89
- font: z.ZodOptional<z.ZodObject<{
90
- family: z.ZodOptional<z.ZodString>;
91
- size: z.ZodOptional<z.ZodNumber>;
92
- weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
93
- style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
94
- }, "strip", z.ZodTypeAny, {
95
- family?: string | undefined;
96
- size?: number | undefined;
97
- weight?: number | "normal" | "bold" | undefined;
98
- style?: "normal" | "italic" | "oblique" | undefined;
99
- }, {
100
- family?: string | undefined;
101
- size?: number | undefined;
102
- weight?: number | "normal" | "bold" | undefined;
103
- style?: "normal" | "italic" | "oblique" | undefined;
104
- }>>;
105
- }, "strip", z.ZodTypeAny, {
106
- text: string;
107
- fill?: string | undefined;
108
- opacity?: number | undefined;
109
- font?: {
110
- family?: string | undefined;
111
- size?: number | undefined;
112
- weight?: number | "normal" | "bold" | undefined;
113
- style?: "normal" | "italic" | "oblique" | undefined;
114
- } | undefined;
115
- }, {
116
- text: string;
117
- fill?: string | undefined;
118
- opacity?: number | undefined;
119
- font?: {
120
- family?: string | undefined;
121
- size?: number | undefined;
122
- weight?: number | "normal" | "bold" | undefined;
123
- style?: "normal" | "italic" | "oblique" | undefined;
124
- } | undefined;
125
- }>]>, "many">]>;
126
15
  /** 节点文本对齐(TikZ `align=` 同义) */
127
16
  export declare const NODE_TEXT_ALIGNS: {
128
17
  readonly left: "left";
@@ -169,25 +58,25 @@ export declare const NodeLabelSchema: z.ZodObject<{
169
58
  text: string;
170
59
  distance?: number | undefined;
171
60
  opacity?: number | undefined;
172
- position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
173
61
  font?: {
174
62
  family?: string | undefined;
175
63
  size?: number | undefined;
176
64
  weight?: number | "normal" | "bold" | undefined;
177
65
  style?: "normal" | "italic" | "oblique" | undefined;
178
66
  } | undefined;
67
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
179
68
  textColor?: string | undefined;
180
69
  }, {
181
70
  text: string;
182
71
  distance?: number | undefined;
183
72
  opacity?: number | undefined;
184
- position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
185
73
  font?: {
186
74
  family?: string | undefined;
187
75
  size?: number | undefined;
188
76
  weight?: number | "normal" | "bold" | undefined;
189
77
  style?: "normal" | "italic" | "oblique" | undefined;
190
78
  } | undefined;
79
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
191
80
  textColor?: string | undefined;
192
81
  }>;
193
82
  /** Node label IR 类型 */
@@ -353,25 +242,25 @@ export declare const NodeSchema: z.ZodObject<{
353
242
  text: string;
354
243
  distance?: number | undefined;
355
244
  opacity?: number | undefined;
356
- position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
357
245
  font?: {
358
246
  family?: string | undefined;
359
247
  size?: number | undefined;
360
248
  weight?: number | "normal" | "bold" | undefined;
361
249
  style?: "normal" | "italic" | "oblique" | undefined;
362
250
  } | undefined;
251
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
363
252
  textColor?: string | undefined;
364
253
  }, {
365
254
  text: string;
366
255
  distance?: number | undefined;
367
256
  opacity?: number | undefined;
368
- position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
369
257
  font?: {
370
258
  family?: string | undefined;
371
259
  size?: number | undefined;
372
260
  weight?: number | "normal" | "bold" | undefined;
373
261
  style?: "normal" | "italic" | "oblique" | undefined;
374
262
  } | undefined;
263
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
375
264
  textColor?: string | undefined;
376
265
  }>, z.ZodArray<z.ZodObject<{
377
266
  text: z.ZodString;
@@ -408,25 +297,25 @@ export declare const NodeSchema: z.ZodObject<{
408
297
  text: string;
409
298
  distance?: number | undefined;
410
299
  opacity?: number | undefined;
411
- position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
412
300
  font?: {
413
301
  family?: string | undefined;
414
302
  size?: number | undefined;
415
303
  weight?: number | "normal" | "bold" | undefined;
416
304
  style?: "normal" | "italic" | "oblique" | undefined;
417
305
  } | undefined;
306
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
418
307
  textColor?: string | undefined;
419
308
  }, {
420
309
  text: string;
421
310
  distance?: number | undefined;
422
311
  opacity?: number | undefined;
423
- position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
424
312
  font?: {
425
313
  family?: string | undefined;
426
314
  size?: number | undefined;
427
315
  weight?: number | "normal" | "bold" | undefined;
428
316
  style?: "normal" | "italic" | "oblique" | undefined;
429
317
  } | undefined;
318
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
430
319
  textColor?: string | undefined;
431
320
  }>, "many">]>>;
432
321
  }, "strip", z.ZodTypeAny, {
@@ -440,9 +329,6 @@ export declare const NodeSchema: z.ZodObject<{
440
329
  offset: [number, number];
441
330
  };
442
331
  fill?: string | undefined;
443
- shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
444
- scale?: number | undefined;
445
- opacity?: number | undefined;
446
332
  text?: string | (string | {
447
333
  text: string;
448
334
  fill?: string | undefined;
@@ -454,41 +340,44 @@ export declare const NodeSchema: z.ZodObject<{
454
340
  style?: "normal" | "italic" | "oblique" | undefined;
455
341
  } | undefined;
456
342
  })[] | undefined;
343
+ opacity?: number | undefined;
344
+ font?: {
345
+ family?: string | undefined;
346
+ size?: number | undefined;
347
+ weight?: number | "normal" | "bold" | undefined;
348
+ style?: "normal" | "italic" | "oblique" | undefined;
349
+ } | undefined;
350
+ shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
351
+ scale?: number | undefined;
457
352
  label?: {
458
353
  text: string;
459
354
  distance?: number | undefined;
460
355
  opacity?: number | undefined;
461
- position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
462
356
  font?: {
463
357
  family?: string | undefined;
464
358
  size?: number | undefined;
465
359
  weight?: number | "normal" | "bold" | undefined;
466
360
  style?: "normal" | "italic" | "oblique" | undefined;
467
361
  } | undefined;
362
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
468
363
  textColor?: string | undefined;
469
364
  } | {
470
365
  text: string;
471
366
  distance?: number | undefined;
472
367
  opacity?: number | undefined;
473
- position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
474
368
  font?: {
475
369
  family?: string | undefined;
476
370
  size?: number | undefined;
477
371
  weight?: number | "normal" | "bold" | undefined;
478
372
  style?: "normal" | "italic" | "oblique" | undefined;
479
373
  } | undefined;
374
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
480
375
  textColor?: string | undefined;
481
376
  }[] | undefined;
482
377
  stroke?: string | undefined;
483
378
  strokeWidth?: number | undefined;
484
379
  fillOpacity?: number | undefined;
485
380
  drawOpacity?: number | undefined;
486
- font?: {
487
- family?: string | undefined;
488
- size?: number | undefined;
489
- weight?: number | "normal" | "bold" | undefined;
490
- style?: "normal" | "italic" | "oblique" | undefined;
491
- } | undefined;
492
381
  textColor?: string | undefined;
493
382
  id?: string | undefined;
494
383
  rotate?: number | undefined;
@@ -519,9 +408,6 @@ export declare const NodeSchema: z.ZodObject<{
519
408
  offset: [number, number];
520
409
  };
521
410
  fill?: string | undefined;
522
- shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
523
- scale?: number | undefined;
524
- opacity?: number | undefined;
525
411
  text?: string | (string | {
526
412
  text: string;
527
413
  fill?: string | undefined;
@@ -533,41 +419,44 @@ export declare const NodeSchema: z.ZodObject<{
533
419
  style?: "normal" | "italic" | "oblique" | undefined;
534
420
  } | undefined;
535
421
  })[] | undefined;
422
+ opacity?: number | undefined;
423
+ font?: {
424
+ family?: string | undefined;
425
+ size?: number | undefined;
426
+ weight?: number | "normal" | "bold" | undefined;
427
+ style?: "normal" | "italic" | "oblique" | undefined;
428
+ } | undefined;
429
+ shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
430
+ scale?: number | undefined;
536
431
  label?: {
537
432
  text: string;
538
433
  distance?: number | undefined;
539
434
  opacity?: number | undefined;
540
- position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
541
435
  font?: {
542
436
  family?: string | undefined;
543
437
  size?: number | undefined;
544
438
  weight?: number | "normal" | "bold" | undefined;
545
439
  style?: "normal" | "italic" | "oblique" | undefined;
546
440
  } | undefined;
441
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
547
442
  textColor?: string | undefined;
548
443
  } | {
549
444
  text: string;
550
445
  distance?: number | undefined;
551
446
  opacity?: number | undefined;
552
- position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
553
447
  font?: {
554
448
  family?: string | undefined;
555
449
  size?: number | undefined;
556
450
  weight?: number | "normal" | "bold" | undefined;
557
451
  style?: "normal" | "italic" | "oblique" | undefined;
558
452
  } | undefined;
453
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
559
454
  textColor?: string | undefined;
560
455
  }[] | undefined;
561
456
  stroke?: string | undefined;
562
457
  strokeWidth?: number | undefined;
563
458
  fillOpacity?: number | undefined;
564
459
  drawOpacity?: number | undefined;
565
- font?: {
566
- family?: string | undefined;
567
- size?: number | undefined;
568
- weight?: number | "normal" | "bold" | undefined;
569
- style?: "normal" | "italic" | "oblique" | undefined;
570
- } | undefined;
571
460
  textColor?: string | undefined;
572
461
  id?: string | undefined;
573
462
  rotate?: number | undefined;
@@ -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;;;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"}
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;AAKxC;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,+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"}