@retikz/core 0.3.0-alpha.4 → 0.3.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 (417) hide show
  1. package/dist/es/arrows/define.d.ts +9 -0
  2. package/dist/es/arrows/define.d.ts.map +1 -0
  3. package/dist/es/arrows/define.js +10 -0
  4. package/dist/es/arrows/index.d.ts +3 -1
  5. package/dist/es/arrows/index.d.ts.map +1 -1
  6. package/dist/es/arrows/index.js +14 -1
  7. package/dist/es/arrows/types.d.ts +4 -2
  8. package/dist/es/arrows/types.d.ts.map +1 -1
  9. package/dist/es/compile/anchor-cache.d.ts +3 -3
  10. package/dist/es/compile/anchor-cache.d.ts.map +1 -1
  11. package/dist/es/compile/anchor-cache.js +18 -5
  12. package/dist/es/compile/compile.d.ts +5 -14
  13. package/dist/es/compile/compile.d.ts.map +1 -1
  14. package/dist/es/compile/compile.js +73 -41
  15. package/dist/es/compile/{lowerComposites.d.ts → composite.d.ts} +9 -2
  16. package/dist/es/compile/composite.d.ts.map +1 -0
  17. package/dist/es/compile/{lowerComposites.js → composite.js} +9 -1
  18. package/dist/es/compile/constant.d.ts +32 -0
  19. package/dist/es/compile/constant.d.ts.map +1 -0
  20. package/dist/es/compile/constant.js +23 -0
  21. package/dist/es/compile/direction.d.ts +27 -0
  22. package/dist/es/compile/direction.d.ts.map +1 -0
  23. package/dist/es/compile/direction.js +30 -0
  24. package/dist/es/compile/index.d.ts +3 -1
  25. package/dist/es/compile/index.d.ts.map +1 -1
  26. package/dist/es/compile/name-stack.d.ts +3 -1
  27. package/dist/es/compile/name-stack.d.ts.map +1 -1
  28. package/dist/es/compile/name-stack.js +5 -1
  29. package/dist/es/compile/node.d.ts +20 -7
  30. package/dist/es/compile/node.d.ts.map +1 -1
  31. package/dist/es/compile/node.js +42 -63
  32. package/dist/es/compile/paint.js +1 -1
  33. package/dist/es/compile/path/anchor.d.ts +4 -3
  34. package/dist/es/compile/path/anchor.d.ts.map +1 -1
  35. package/dist/es/compile/path/anchor.js +9 -12
  36. package/dist/es/compile/path/index.d.ts +6 -8
  37. package/dist/es/compile/path/index.d.ts.map +1 -1
  38. package/dist/es/compile/path/index.js +59 -34
  39. package/dist/es/compile/path/relative.d.ts +1 -1
  40. package/dist/es/compile/path/relative.js +1 -1
  41. package/dist/es/compile/path/shrink.d.ts +3 -1
  42. package/dist/es/compile/path/shrink.d.ts.map +1 -1
  43. package/dist/es/compile/path/shrink.js +16 -11
  44. package/dist/es/compile/position.d.ts +2 -2
  45. package/dist/es/compile/position.d.ts.map +1 -1
  46. package/dist/es/compile/position.js +6 -19
  47. package/dist/es/compile/precision.d.ts +1 -1
  48. package/dist/es/compile/precision.d.ts.map +1 -1
  49. package/dist/es/compile/precision.js +2 -2
  50. package/dist/es/compile/scope.d.ts +7 -5
  51. package/dist/es/compile/scope.d.ts.map +1 -1
  52. package/dist/es/compile/scope.js +29 -13
  53. package/dist/es/compile/style.d.ts +2 -2
  54. package/dist/es/compile/style.d.ts.map +1 -1
  55. package/dist/es/compile/style.js +2 -2
  56. package/dist/es/composites/define.d.ts +8 -0
  57. package/dist/es/composites/define.d.ts.map +1 -0
  58. package/dist/es/composites/{types.js → define.js} +2 -2
  59. package/dist/es/composites/index.d.ts +1 -1
  60. package/dist/es/composites/index.d.ts.map +1 -1
  61. package/dist/es/composites/types.d.ts +0 -6
  62. package/dist/es/composites/types.d.ts.map +1 -1
  63. package/dist/es/geometry/anchor.d.ts +33 -0
  64. package/dist/es/geometry/anchor.d.ts.map +1 -0
  65. package/dist/es/geometry/anchor.js +45 -0
  66. package/dist/es/geometry/bend.d.ts +1 -1
  67. package/dist/es/geometry/bend.js +2 -2
  68. package/dist/es/geometry/circle.d.ts +4 -4
  69. package/dist/es/geometry/circle.d.ts.map +1 -1
  70. package/dist/es/geometry/circle.js +3 -3
  71. package/dist/es/geometry/{roundedContour.d.ts → contour.d.ts} +4 -5
  72. package/dist/es/geometry/contour.d.ts.map +1 -0
  73. package/dist/es/geometry/{roundedContour.js → contour.js} +22 -34
  74. package/dist/es/geometry/diamond.d.ts +3 -3
  75. package/dist/es/geometry/diamond.d.ts.map +1 -1
  76. package/dist/es/geometry/diamond.js +2 -2
  77. package/dist/{lib/geometry/_edge.d.ts → es/geometry/edge.d.ts} +1 -1
  78. package/dist/es/geometry/edge.d.ts.map +1 -0
  79. package/dist/es/geometry/{_edge.js → edge.js} +1 -1
  80. package/dist/es/geometry/ellipse.d.ts +3 -3
  81. package/dist/es/geometry/ellipse.d.ts.map +1 -1
  82. package/dist/es/geometry/ellipse.js +2 -2
  83. package/dist/es/geometry/index.d.ts +2 -1
  84. package/dist/es/geometry/index.d.ts.map +1 -1
  85. package/dist/es/geometry/point.d.ts +6 -0
  86. package/dist/es/geometry/point.d.ts.map +1 -1
  87. package/dist/es/geometry/point.js +17 -0
  88. package/dist/es/geometry/rect.d.ts +4 -17
  89. package/dist/es/geometry/rect.d.ts.map +1 -1
  90. package/dist/es/geometry/rect.js +4 -16
  91. package/dist/es/geometry/segment.d.ts.map +1 -1
  92. package/dist/es/geometry/segment.js +25 -47
  93. package/dist/{lib/geometry/_transform.d.ts → es/geometry/transform.d.ts} +1 -1
  94. package/dist/es/geometry/transform.d.ts.map +1 -0
  95. package/dist/es/geometry/{_transform.js → transform.js} +1 -1
  96. package/dist/es/index.d.ts +13 -10
  97. package/dist/es/index.d.ts.map +1 -1
  98. package/dist/es/index.js +19 -14
  99. package/dist/es/ir/animation.d.ts +219 -0
  100. package/dist/es/ir/animation.d.ts.map +1 -0
  101. package/dist/es/ir/animation.js +118 -0
  102. package/dist/es/ir/boundary.d.ts +1 -1
  103. package/dist/es/ir/boundary.d.ts.map +1 -1
  104. package/dist/es/ir/coordinate.d.ts +8 -8
  105. package/dist/es/ir/index.d.ts +1 -0
  106. package/dist/es/ir/index.d.ts.map +1 -1
  107. package/dist/es/ir/node.d.ts +249 -92
  108. package/dist/es/ir/node.d.ts.map +1 -1
  109. package/dist/es/ir/node.js +25 -23
  110. package/dist/es/ir/paint.d.ts +19 -18
  111. package/dist/es/ir/paint.d.ts.map +1 -1
  112. package/dist/es/ir/paint.js +10 -10
  113. package/dist/es/ir/path/arrow.d.ts +39 -38
  114. package/dist/es/ir/path/arrow.d.ts.map +1 -1
  115. package/dist/es/ir/path/arrow.js +18 -16
  116. package/dist/es/ir/path/path.d.ts +1106 -209
  117. package/dist/es/ir/path/path.d.ts.map +1 -1
  118. package/dist/es/ir/path/path.js +3 -1
  119. package/dist/es/ir/path/step.d.ts +932 -20
  120. package/dist/es/ir/path/step.d.ts.map +1 -1
  121. package/dist/es/ir/path/step.js +73 -22
  122. package/dist/es/ir/path/target.js +3 -3
  123. package/dist/es/ir/position/at-position.d.ts +18 -18
  124. package/dist/es/ir/position/at-position.d.ts.map +1 -1
  125. package/dist/es/ir/position/at-position.js +11 -11
  126. package/dist/es/ir/scene.d.ts +156 -0
  127. package/dist/es/ir/scene.d.ts.map +1 -1
  128. package/dist/es/ir/scene.js +3 -1
  129. package/dist/es/ir/scope.d.ts +3446 -1306
  130. package/dist/es/ir/scope.d.ts.map +1 -1
  131. package/dist/es/ir/scope.js +10 -6
  132. package/dist/es/ir/transform.d.ts +44 -17
  133. package/dist/es/ir/transform.d.ts.map +1 -1
  134. package/dist/es/ir/transform.js +10 -3
  135. package/dist/es/parsers/index.d.ts +3 -3
  136. package/dist/es/parsers/index.d.ts.map +1 -1
  137. package/dist/es/parsers/{parseNodeTarget.d.ts → node-target.d.ts} +1 -1
  138. package/dist/es/parsers/node-target.d.ts.map +1 -0
  139. package/dist/es/parsers/{parseNodeTarget.js → node-target.js} +10 -8
  140. package/dist/{lib/parsers/parseTargetSugar.d.ts → es/parsers/target-sugar.d.ts} +1 -1
  141. package/dist/es/parsers/target-sugar.d.ts.map +1 -0
  142. package/dist/es/parsers/{parseTargetSugar.js → target-sugar.js} +9 -4
  143. package/dist/{lib/parsers/parseWay.d.ts → es/parsers/way.d.ts} +1 -1
  144. package/dist/es/parsers/way.d.ts.map +1 -0
  145. package/dist/es/parsers/{parseWay.js → way.js} +9 -5
  146. package/dist/es/path-generators/define.d.ts.map +1 -0
  147. package/dist/es/{pathGenerators → path-generators}/define.js +1 -1
  148. package/dist/es/path-generators/index.d.ts.map +1 -0
  149. package/dist/es/path-generators/types.d.ts.map +1 -0
  150. package/dist/es/patterns/define.d.ts +9 -0
  151. package/dist/es/patterns/define.d.ts.map +1 -0
  152. package/dist/es/patterns/define.js +10 -0
  153. package/dist/es/patterns/index.d.ts +1 -0
  154. package/dist/es/patterns/index.d.ts.map +1 -1
  155. package/dist/es/patterns/index.js +42 -35
  156. package/dist/es/presets/animation.d.ts +123 -0
  157. package/dist/es/presets/animation.d.ts.map +1 -0
  158. package/dist/es/presets/animation.js +272 -0
  159. package/dist/es/presets/index.d.ts +3 -0
  160. package/dist/es/presets/index.d.ts.map +1 -0
  161. package/dist/es/primitive/ellipse.d.ts +3 -0
  162. package/dist/es/primitive/ellipse.d.ts.map +1 -1
  163. package/dist/es/primitive/group.d.ts +3 -0
  164. package/dist/es/primitive/group.d.ts.map +1 -1
  165. package/dist/es/primitive/marker.d.ts +1 -1
  166. package/dist/es/primitive/paint.d.ts +1 -1
  167. package/dist/es/primitive/path.d.ts +4 -1
  168. package/dist/es/primitive/path.d.ts.map +1 -1
  169. package/dist/es/primitive/rect.d.ts +3 -0
  170. package/dist/es/primitive/rect.d.ts.map +1 -1
  171. package/dist/es/primitive/scene.d.ts +3 -0
  172. package/dist/es/primitive/scene.d.ts.map +1 -1
  173. package/dist/es/primitive/text.d.ts +3 -0
  174. package/dist/es/primitive/text.d.ts.map +1 -1
  175. package/dist/es/shapes/arc.js +2 -2
  176. package/dist/{lib/shapes/_contour.d.ts → es/shapes/contour.d.ts} +6 -3
  177. package/dist/es/shapes/contour.d.ts.map +1 -0
  178. package/dist/es/shapes/{_contour.js → contour.js} +14 -2
  179. package/dist/es/shapes/ellipse.js +2 -2
  180. package/dist/es/shapes/index.d.ts +1 -1
  181. package/dist/es/shapes/index.d.ts.map +1 -1
  182. package/dist/es/shapes/index.js +1 -1
  183. package/dist/es/shapes/polygon.d.ts +1 -1
  184. package/dist/es/shapes/polygon.d.ts.map +1 -1
  185. package/dist/es/shapes/polygon.js +26 -21
  186. package/dist/es/shapes/rectangle.js +5 -5
  187. package/dist/es/shapes/sector.d.ts.map +1 -1
  188. package/dist/es/shapes/sector.js +30 -22
  189. package/dist/es/shapes/{_shared.d.ts → shared.d.ts} +4 -8
  190. package/dist/es/shapes/shared.d.ts.map +1 -0
  191. package/dist/es/shapes/{_shared.js → shared.js} +8 -12
  192. package/dist/es/shapes/star.d.ts.map +1 -1
  193. package/dist/es/shapes/star.js +4 -14
  194. package/dist/lib/arrows/define.cjs +10 -0
  195. package/dist/lib/arrows/define.d.ts +9 -0
  196. package/dist/lib/arrows/define.d.ts.map +1 -0
  197. package/dist/lib/arrows/index.cjs +14 -1
  198. package/dist/lib/arrows/index.d.ts +3 -1
  199. package/dist/lib/arrows/index.d.ts.map +1 -1
  200. package/dist/lib/arrows/types.d.ts +4 -2
  201. package/dist/lib/arrows/types.d.ts.map +1 -1
  202. package/dist/lib/compile/anchor-cache.cjs +17 -4
  203. package/dist/lib/compile/anchor-cache.d.ts +3 -3
  204. package/dist/lib/compile/anchor-cache.d.ts.map +1 -1
  205. package/dist/lib/compile/compile.cjs +71 -39
  206. package/dist/lib/compile/compile.d.ts +5 -14
  207. package/dist/lib/compile/compile.d.ts.map +1 -1
  208. package/dist/lib/compile/{lowerComposites.cjs → composite.cjs} +9 -1
  209. package/dist/lib/compile/{lowerComposites.d.ts → composite.d.ts} +9 -2
  210. package/dist/lib/compile/composite.d.ts.map +1 -0
  211. package/dist/lib/compile/constant.cjs +24 -0
  212. package/dist/lib/compile/constant.d.ts +32 -0
  213. package/dist/lib/compile/constant.d.ts.map +1 -0
  214. package/dist/lib/compile/direction.cjs +31 -0
  215. package/dist/lib/compile/direction.d.ts +27 -0
  216. package/dist/lib/compile/direction.d.ts.map +1 -0
  217. package/dist/lib/compile/index.d.ts +3 -1
  218. package/dist/lib/compile/index.d.ts.map +1 -1
  219. package/dist/lib/compile/name-stack.cjs +5 -1
  220. package/dist/lib/compile/name-stack.d.ts +3 -1
  221. package/dist/lib/compile/name-stack.d.ts.map +1 -1
  222. package/dist/lib/compile/node.cjs +42 -62
  223. package/dist/lib/compile/node.d.ts +20 -7
  224. package/dist/lib/compile/node.d.ts.map +1 -1
  225. package/dist/lib/compile/paint.cjs +1 -1
  226. package/dist/lib/compile/path/anchor.cjs +10 -12
  227. package/dist/lib/compile/path/anchor.d.ts +4 -3
  228. package/dist/lib/compile/path/anchor.d.ts.map +1 -1
  229. package/dist/lib/compile/path/index.cjs +58 -33
  230. package/dist/lib/compile/path/index.d.ts +6 -8
  231. package/dist/lib/compile/path/index.d.ts.map +1 -1
  232. package/dist/lib/compile/path/relative.cjs +1 -1
  233. package/dist/lib/compile/path/relative.d.ts +1 -1
  234. package/dist/lib/compile/path/shrink.cjs +16 -11
  235. package/dist/lib/compile/path/shrink.d.ts +3 -1
  236. package/dist/lib/compile/path/shrink.d.ts.map +1 -1
  237. package/dist/lib/compile/position.cjs +6 -19
  238. package/dist/lib/compile/position.d.ts +2 -2
  239. package/dist/lib/compile/position.d.ts.map +1 -1
  240. package/dist/lib/compile/precision.cjs +2 -2
  241. package/dist/lib/compile/precision.d.ts +1 -1
  242. package/dist/lib/compile/precision.d.ts.map +1 -1
  243. package/dist/lib/compile/scope.cjs +29 -13
  244. package/dist/lib/compile/scope.d.ts +7 -5
  245. package/dist/lib/compile/scope.d.ts.map +1 -1
  246. package/dist/lib/compile/style.cjs +2 -2
  247. package/dist/lib/compile/style.d.ts +2 -2
  248. package/dist/lib/compile/style.d.ts.map +1 -1
  249. package/dist/lib/composites/{types.cjs → define.cjs} +2 -2
  250. package/dist/lib/composites/define.d.ts +8 -0
  251. package/dist/lib/composites/define.d.ts.map +1 -0
  252. package/dist/lib/composites/index.d.ts +1 -1
  253. package/dist/lib/composites/index.d.ts.map +1 -1
  254. package/dist/lib/composites/types.d.ts +0 -6
  255. package/dist/lib/composites/types.d.ts.map +1 -1
  256. package/dist/lib/geometry/anchor.cjs +47 -0
  257. package/dist/lib/geometry/anchor.d.ts +33 -0
  258. package/dist/lib/geometry/anchor.d.ts.map +1 -0
  259. package/dist/lib/geometry/bend.cjs +2 -2
  260. package/dist/lib/geometry/bend.d.ts +1 -1
  261. package/dist/lib/geometry/circle.cjs +9 -9
  262. package/dist/lib/geometry/circle.d.ts +4 -4
  263. package/dist/lib/geometry/circle.d.ts.map +1 -1
  264. package/dist/lib/geometry/{roundedContour.cjs → contour.cjs} +21 -32
  265. package/dist/lib/geometry/{roundedContour.d.ts → contour.d.ts} +4 -5
  266. package/dist/lib/geometry/contour.d.ts.map +1 -0
  267. package/dist/lib/geometry/diamond.cjs +7 -7
  268. package/dist/lib/geometry/diamond.d.ts +3 -3
  269. package/dist/lib/geometry/diamond.d.ts.map +1 -1
  270. package/dist/lib/geometry/{_edge.cjs → edge.cjs} +1 -1
  271. package/dist/{es/geometry/_edge.d.ts → lib/geometry/edge.d.ts} +1 -1
  272. package/dist/lib/geometry/edge.d.ts.map +1 -0
  273. package/dist/lib/geometry/ellipse.cjs +8 -8
  274. package/dist/lib/geometry/ellipse.d.ts +3 -3
  275. package/dist/lib/geometry/ellipse.d.ts.map +1 -1
  276. package/dist/lib/geometry/index.d.ts +2 -1
  277. package/dist/lib/geometry/index.d.ts.map +1 -1
  278. package/dist/lib/geometry/point.cjs +17 -0
  279. package/dist/lib/geometry/point.d.ts +6 -0
  280. package/dist/lib/geometry/point.d.ts.map +1 -1
  281. package/dist/lib/geometry/rect.cjs +9 -22
  282. package/dist/lib/geometry/rect.d.ts +4 -17
  283. package/dist/lib/geometry/rect.d.ts.map +1 -1
  284. package/dist/lib/geometry/segment.cjs +25 -47
  285. package/dist/lib/geometry/segment.d.ts.map +1 -1
  286. package/dist/lib/geometry/{_transform.cjs → transform.cjs} +1 -1
  287. package/dist/{es/geometry/_transform.d.ts → lib/geometry/transform.d.ts} +1 -1
  288. package/dist/lib/geometry/transform.d.ts.map +1 -0
  289. package/dist/lib/index.cjs +56 -22
  290. package/dist/lib/index.d.ts +13 -10
  291. package/dist/lib/index.d.ts.map +1 -1
  292. package/dist/lib/ir/animation.cjs +127 -0
  293. package/dist/lib/ir/animation.d.ts +219 -0
  294. package/dist/lib/ir/animation.d.ts.map +1 -0
  295. package/dist/lib/ir/boundary.d.ts +1 -1
  296. package/dist/lib/ir/boundary.d.ts.map +1 -1
  297. package/dist/lib/ir/coordinate.d.ts +8 -8
  298. package/dist/lib/ir/index.d.ts +1 -0
  299. package/dist/lib/ir/index.d.ts.map +1 -1
  300. package/dist/lib/ir/node.cjs +25 -23
  301. package/dist/lib/ir/node.d.ts +249 -92
  302. package/dist/lib/ir/node.d.ts.map +1 -1
  303. package/dist/lib/ir/paint.cjs +10 -10
  304. package/dist/lib/ir/paint.d.ts +19 -18
  305. package/dist/lib/ir/paint.d.ts.map +1 -1
  306. package/dist/lib/ir/path/arrow.cjs +18 -16
  307. package/dist/lib/ir/path/arrow.d.ts +39 -38
  308. package/dist/lib/ir/path/arrow.d.ts.map +1 -1
  309. package/dist/lib/ir/path/path.cjs +3 -1
  310. package/dist/lib/ir/path/path.d.ts +1106 -209
  311. package/dist/lib/ir/path/path.d.ts.map +1 -1
  312. package/dist/lib/ir/path/step.cjs +73 -21
  313. package/dist/lib/ir/path/step.d.ts +932 -20
  314. package/dist/lib/ir/path/step.d.ts.map +1 -1
  315. package/dist/lib/ir/path/target.cjs +3 -3
  316. package/dist/lib/ir/position/at-position.cjs +11 -11
  317. package/dist/lib/ir/position/at-position.d.ts +18 -18
  318. package/dist/lib/ir/position/at-position.d.ts.map +1 -1
  319. package/dist/lib/ir/scene.cjs +3 -1
  320. package/dist/lib/ir/scene.d.ts +156 -0
  321. package/dist/lib/ir/scene.d.ts.map +1 -1
  322. package/dist/lib/ir/scope.cjs +10 -6
  323. package/dist/lib/ir/scope.d.ts +3446 -1306
  324. package/dist/lib/ir/scope.d.ts.map +1 -1
  325. package/dist/lib/ir/transform.cjs +9 -2
  326. package/dist/lib/ir/transform.d.ts +44 -17
  327. package/dist/lib/ir/transform.d.ts.map +1 -1
  328. package/dist/lib/parsers/index.d.ts +3 -3
  329. package/dist/lib/parsers/index.d.ts.map +1 -1
  330. package/dist/lib/parsers/{parseNodeTarget.cjs → node-target.cjs} +10 -8
  331. package/dist/lib/parsers/{parseNodeTarget.d.ts → node-target.d.ts} +1 -1
  332. package/dist/lib/parsers/node-target.d.ts.map +1 -0
  333. package/dist/lib/parsers/{parseTargetSugar.cjs → target-sugar.cjs} +9 -4
  334. package/dist/{es/parsers/parseTargetSugar.d.ts → lib/parsers/target-sugar.d.ts} +1 -1
  335. package/dist/lib/parsers/target-sugar.d.ts.map +1 -0
  336. package/dist/lib/parsers/{parseWay.cjs → way.cjs} +12 -8
  337. package/dist/{es/parsers/parseWay.d.ts → lib/parsers/way.d.ts} +1 -1
  338. package/dist/lib/parsers/way.d.ts.map +1 -0
  339. package/dist/lib/{pathGenerators → path-generators}/define.cjs +1 -1
  340. package/dist/lib/path-generators/define.d.ts.map +1 -0
  341. package/dist/lib/path-generators/index.d.ts.map +1 -0
  342. package/dist/lib/path-generators/types.d.ts.map +1 -0
  343. package/dist/lib/patterns/define.cjs +10 -0
  344. package/dist/lib/patterns/define.d.ts +9 -0
  345. package/dist/lib/patterns/define.d.ts.map +1 -0
  346. package/dist/lib/patterns/index.cjs +42 -35
  347. package/dist/lib/patterns/index.d.ts +1 -0
  348. package/dist/lib/patterns/index.d.ts.map +1 -1
  349. package/dist/lib/presets/animation.cjs +286 -0
  350. package/dist/lib/presets/animation.d.ts +123 -0
  351. package/dist/lib/presets/animation.d.ts.map +1 -0
  352. package/dist/lib/presets/index.d.ts +3 -0
  353. package/dist/lib/presets/index.d.ts.map +1 -0
  354. package/dist/lib/primitive/ellipse.d.ts +3 -0
  355. package/dist/lib/primitive/ellipse.d.ts.map +1 -1
  356. package/dist/lib/primitive/group.d.ts +3 -0
  357. package/dist/lib/primitive/group.d.ts.map +1 -1
  358. package/dist/lib/primitive/marker.d.ts +1 -1
  359. package/dist/lib/primitive/paint.d.ts +1 -1
  360. package/dist/lib/primitive/path.d.ts +4 -1
  361. package/dist/lib/primitive/path.d.ts.map +1 -1
  362. package/dist/lib/primitive/rect.d.ts +3 -0
  363. package/dist/lib/primitive/rect.d.ts.map +1 -1
  364. package/dist/lib/primitive/scene.d.ts +3 -0
  365. package/dist/lib/primitive/scene.d.ts.map +1 -1
  366. package/dist/lib/primitive/text.d.ts +3 -0
  367. package/dist/lib/primitive/text.d.ts.map +1 -1
  368. package/dist/lib/shapes/arc.cjs +4 -4
  369. package/dist/lib/shapes/{_contour.cjs → contour.cjs} +14 -1
  370. package/dist/{es/shapes/_contour.d.ts → lib/shapes/contour.d.ts} +6 -3
  371. package/dist/lib/shapes/contour.d.ts.map +1 -0
  372. package/dist/lib/shapes/ellipse.cjs +2 -2
  373. package/dist/lib/shapes/index.cjs +1 -1
  374. package/dist/lib/shapes/index.d.ts +1 -1
  375. package/dist/lib/shapes/index.d.ts.map +1 -1
  376. package/dist/lib/shapes/polygon.cjs +29 -24
  377. package/dist/lib/shapes/polygon.d.ts +1 -1
  378. package/dist/lib/shapes/polygon.d.ts.map +1 -1
  379. package/dist/lib/shapes/rectangle.cjs +11 -11
  380. package/dist/lib/shapes/sector.cjs +41 -33
  381. package/dist/lib/shapes/sector.d.ts.map +1 -1
  382. package/dist/lib/shapes/{_shared.cjs → shared.cjs} +7 -12
  383. package/dist/lib/shapes/{_shared.d.ts → shared.d.ts} +4 -8
  384. package/dist/lib/shapes/shared.d.ts.map +1 -0
  385. package/dist/lib/shapes/star.cjs +7 -17
  386. package/dist/lib/shapes/star.d.ts.map +1 -1
  387. package/package.json +2 -3
  388. package/dist/es/compile/lowerComposites.d.ts.map +0 -1
  389. package/dist/es/geometry/_edge.d.ts.map +0 -1
  390. package/dist/es/geometry/_transform.d.ts.map +0 -1
  391. package/dist/es/geometry/roundedContour.d.ts.map +0 -1
  392. package/dist/es/parsers/parseNodeTarget.d.ts.map +0 -1
  393. package/dist/es/parsers/parseTargetSugar.d.ts.map +0 -1
  394. package/dist/es/parsers/parseWay.d.ts.map +0 -1
  395. package/dist/es/pathGenerators/define.d.ts.map +0 -1
  396. package/dist/es/pathGenerators/index.d.ts.map +0 -1
  397. package/dist/es/pathGenerators/types.d.ts.map +0 -1
  398. package/dist/es/shapes/_contour.d.ts.map +0 -1
  399. package/dist/es/shapes/_shared.d.ts.map +0 -1
  400. package/dist/lib/compile/lowerComposites.d.ts.map +0 -1
  401. package/dist/lib/geometry/_edge.d.ts.map +0 -1
  402. package/dist/lib/geometry/_transform.d.ts.map +0 -1
  403. package/dist/lib/geometry/roundedContour.d.ts.map +0 -1
  404. package/dist/lib/parsers/parseNodeTarget.d.ts.map +0 -1
  405. package/dist/lib/parsers/parseTargetSugar.d.ts.map +0 -1
  406. package/dist/lib/parsers/parseWay.d.ts.map +0 -1
  407. package/dist/lib/pathGenerators/define.d.ts.map +0 -1
  408. package/dist/lib/pathGenerators/index.d.ts.map +0 -1
  409. package/dist/lib/pathGenerators/types.d.ts.map +0 -1
  410. package/dist/lib/shapes/_contour.d.ts.map +0 -1
  411. package/dist/lib/shapes/_shared.d.ts.map +0 -1
  412. /package/dist/es/{pathGenerators → path-generators}/define.d.ts +0 -0
  413. /package/dist/es/{pathGenerators → path-generators}/index.d.ts +0 -0
  414. /package/dist/es/{pathGenerators → path-generators}/types.d.ts +0 -0
  415. /package/dist/lib/{pathGenerators → path-generators}/define.d.ts +0 -0
  416. /package/dist/lib/{pathGenerators → path-generators}/index.d.ts +0 -0
  417. /package/dist/lib/{pathGenerators → path-generators}/types.d.ts +0 -0
@@ -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;AASxC;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEzD,+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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2DzB,CAAC;AAEJ,uBAAuB;AACvB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE1D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoNpB,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;AAUxC;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEzD,+BAA+B;AAC/B,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2DzB,CAAC;AAEJ,uBAAuB;AACvB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE1D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgOpB,CAAC;AAEJ,sCAAsC;AACtC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -1,31 +1,32 @@
1
1
  import { PositionSchema } from "./position/position.js";
2
2
  import { PolarPositionSchema } from "./position/polar-position.js";
3
- import { AT_DIRECTIONS, AtPositionSchema } from "./position/at-position.js";
3
+ import { AtDirection, AtPositionSchema } from "./position/at-position.js";
4
4
  import { OffsetPositionSchema } from "./position/offset-position.js";
5
5
  import { JsonObjectSchema } from "./json.js";
6
6
  import { ShapeRefSchema } from "./shape.js";
7
7
  import { BoundarySchema } from "./boundary.js";
8
8
  import { BetweenPositionSchema } from "./position/between-position.js";
9
9
  import { FontSchema } from "./font.js";
10
+ import { AnimationTrackSchema } from "./animation.js";
10
11
  import { PaintSpecSchema } from "./paint.js";
11
12
  import { TextBlockSchema } from "./text.js";
12
13
  import { z } from "zod";
13
14
  //#region src/ir/node.ts
14
15
  /**
15
16
  * 节点形状常量(用 const + ValueOf 派生,不用 TS enum)
16
- * @description rectangle 默认;几何语义:node 视觉边界包"text 矩形 + padding";rectangle: 视觉=text;ellipse: rx=innerHalfW×√2,ry=innerHalfH×√2。circle 是 ellipse 等轴 preset 别名(`{ type:'ellipse', params:{ circumscribe:'equal' } }`,两轴 = 内框对角线半长 √(innerHalfW²+innerHalfH²));diamond 是 polygon 4 边形 45° preset 别名(`{ type:'polygon', params:{ sides:4, rotate:45 } }`)——circle / diamond 均保留为合法 shape 名向后兼容,编译期分别消解为 ellipse / polygon,不进 shape 注册表
17
+ * @description rectangle 默认;几何语义:node 视觉边界包"text 矩形 + padding";rectangle: 视觉=text;ellipse: rx=innerHalfW×√2,ry=innerHalfH×√2。circle 是 ellipse 等轴 preset 别名(`{ type:'ellipse', params:{ circumscribe:'equal' } }`,两轴 = 内框对角线半长 √(innerHalfW²+innerHalfH²));diamond 是 polygon 4 边形 preset 别名(`{ type:'polygon', params:{ sides:4, rotate:0 } }`)——circle / diamond 均保留为合法 shape 名向后兼容,编译期分别消解为 ellipse / polygon,不进 shape 注册表
17
18
  */
18
- var NODE_SHAPES = {
19
- rectangle: "rectangle",
20
- circle: "circle",
21
- ellipse: "ellipse",
22
- diamond: "diamond"
19
+ var BuiltinShape = {
20
+ Rectangle: "rectangle",
21
+ Circle: "circle",
22
+ Ellipse: "ellipse",
23
+ Diamond: "diamond"
23
24
  };
24
25
  /** 节点文本对齐(TikZ `align=` 同义) */
25
- var NODE_TEXT_ALIGNS = {
26
- left: "left",
27
- center: "center",
28
- right: "right"
26
+ var NodeTextAlign = {
27
+ Left: "left",
28
+ Center: "center",
29
+ Right: "right"
29
30
  };
30
31
  /**
31
32
  * 节点附属标签 label(TikZ `[label=above:foo]` 同义)
@@ -33,7 +34,7 @@ var NODE_TEXT_ALIGNS = {
33
34
  */
34
35
  var NodeLabelSchema = z.object({
35
36
  text: z.string().describe("Label text content; rendered as a single line."),
36
- position: z.union([z.nativeEnum(AT_DIRECTIONS), 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)."),
37
+ position: z.union([z.nativeEnum(AtDirection), 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)."),
37
38
  distance: z.number().nonnegative().optional().describe("Gap between the node border and the label center, in user units. Default 12."),
38
39
  textColor: z.string().optional().describe("Label text color; falls back to currentColor."),
39
40
  opacity: z.number().min(0).max(1).optional().describe("Label-only opacity 0..1; multiplied with the node opacity if both are set."),
@@ -56,6 +57,7 @@ var NodeSchema = z.object({
56
57
  shape: z.union([z.string().min(1), ShapeRefSchema]).optional().describe("Node visual shape: a bare name string (parameterless, e.g. \"rectangle\") or `{ type, params }` carrying a JSON params object (e.g. `{ type:\"sector\", params:{ innerRadius, outerRadius, startAngle, endAngle } }`). Built-in or registered via CompileOptions.shapes; unregistered type rejected at compile time. Defaults to \"rectangle\"."),
57
58
  boundary: BoundarySchema.optional().describe("Default connection surface for edges meeting this node (see BoundarySchema). Defaults to \"shape\" (use the visual shape). Per-edge overridable via the edge endpoint `boundary` field."),
58
59
  meta: JsonObjectSchema.optional().describe("Opaque provenance metadata carried by this element (e.g. a Tier 2 lowering tagging which datum / series / layer it came from). Provenance passthrough: preserved verbatim into the Scene primitive(s) this element emits, ignored by renderers, and never interpreted by the compiler — it does not affect layout, connection, style, or bounding box. Must be a JSON object (fully serializable). Not inherited across scopes; not part of the every-X style defaults."),
60
+ animations: z.array(AnimationTrackSchema).optional().describe("Declarative timeline animation tracks for this element (fadeIn / drawOn / pulse / …). Each track animates one renderer-agnostic property over normalized time; the element base value is the settled (animation-end) state. Carried verbatim into the Scene primitive(s) this element emits; renderers play them or, when unable, render the static settled state with a diagnosable warning. Does not affect layout / bounding box (animations may transiently overflow). Not inherited across scopes; not part of the every-X style defaults."),
59
61
  position: z.union([
60
62
  PositionSchema,
61
63
  PolarPositionSchema,
@@ -63,9 +65,9 @@ var NodeSchema = z.object({
63
65
  OffsetPositionSchema,
64
66
  BetweenPositionSchema
65
67
  ]).describe("Center point of the node content box; Cartesian [x, y], polar, relative-to-another-node (`at`-style with `direction` / `of` / `distance?`), offset from a base point (`{ of, offset }` form mirroring TikZ `calc`), or between two endpoints (`{ between: [A, B], t }` proportional point). All non-Cartesian forms resolve at compile time."),
66
- rotate: z.number().optional().describe("Rotation in degrees around the node center; positive = clockwise (matches TikZ rotate=...)"),
67
- text: TextBlockSchema.optional(),
68
- align: z.nativeEnum(NODE_TEXT_ALIGNS).optional().describe("Multi-line text alignment within the text block; `left` / `center` / `right`. Defaults to `center` (matches TikZ)."),
68
+ rotate: z.number().finite().optional().describe("Rotation in degrees around the node center; positive = clockwise (matches TikZ rotate=...)"),
69
+ text: TextBlockSchema.optional().describe("Optional node text content; accepts a string, an array of lines, or styled text line objects. A literal newline (\"\\n\") inside any string is a hard line break, so one string with newlines renders as multiple lines. When omitted the node emits only its shape primitive; when present it participates in text measurement, node box sizing, and TextPrim emission."),
70
+ align: z.nativeEnum(NodeTextAlign).optional().describe("Multi-line text alignment within the text block; `left` / `center` / `right`. Defaults to `center` (matches TikZ)."),
69
71
  lineHeight: z.number().positive().optional().describe("Line height in user units; falls back to `font.size × 1.2` when omitted."),
70
72
  maxTextWidth: z.number().finite().positive().optional().describe("Max line width before wrapping (user units). The text box shrinks to the actual longest line for short text — this is a wrap threshold, NOT a fixed paragraph width. Western text wraps on word boundaries, CJK per character. Omitted = no auto-wrap (only manual line breaks)."),
71
73
  color: z.string().optional().describe("Master color (TikZ `color=`). When set, stroke / fill / text default to it unless individually overridden, and it cascades to the inner text and edge labels. Individual fields (stroke / fill / textColor) always win over this within the same node."),
@@ -73,10 +75,10 @@ var NodeSchema = z.object({
73
75
  fillOpacity: z.number().min(0).max(1).optional().describe("Fill opacity 0..1; affects only the shape fill, leaves stroke / text alone."),
74
76
  stroke: z.string().optional().describe("Border color of the node shape; any CSS color. Defaults to currentColor when omitted"),
75
77
  drawOpacity: z.number().min(0).max(1).optional().describe("Stroke opacity 0..1 (TikZ `draw opacity`); affects only the border."),
76
- strokeWidth: z.number().optional().describe("Border width in user units; defaults to 1 when omitted"),
77
- dashed: z.boolean().optional().describe("Border style preset: dashed line (TikZ `dashed`); compiled to a default dash pattern. `dashArray` takes precedence."),
78
- dotted: z.boolean().optional().describe("Border style preset: dotted line (TikZ `dotted`); compiled to a default dot pattern. `dashArray` and `dashed` take precedence."),
79
- dashArray: z.array(z.number().finite().nonnegative()).min(1).optional().describe("Explicit stroke dash pattern lengths in user units (e.g. [4, 2]); overrides `dashed` / `dotted`."),
78
+ strokeWidth: z.number().finite().nonnegative().optional().describe("Border width in user units; defaults to 1 when omitted"),
79
+ dashed: z.boolean().optional().describe("Border style preset: dashed line (TikZ `dashed`); compiled to a default dash pattern. `dashPattern` takes precedence."),
80
+ dotted: z.boolean().optional().describe("Border style preset: dotted line (TikZ `dotted`); compiled to a default dot pattern. `dashPattern` and `dashed` take precedence."),
81
+ dashPattern: z.array(z.number().finite().nonnegative()).min(1).optional().describe("Explicit stroke dash pattern lengths in user units (e.g. [4, 2]); overrides `dashed` / `dotted`."),
80
82
  cornerRadius: z.number().nonnegative().optional().describe("Migration-period top-level corner radius in user units; only effective on `rectangle` shape. Prefer the shape params form `{ type: \"rectangle\", params: { cornerRadius } }`."),
81
83
  minimumWidth: z.number().nonnegative().optional().describe("Minimum visual border width in user units; floors the bounding box width."),
82
84
  minimumHeight: z.number().nonnegative().optional().describe("Minimum visual border height in user units; floors the bounding box height."),
@@ -88,12 +90,12 @@ var NodeSchema = z.object({
88
90
  opacity: z.number().min(0).max(1).optional().describe("Whole-node opacity 0..1; applies uniformly to shape and text."),
89
91
  innerXSep: z.number().nonnegative().optional().describe("Inner horizontal padding from text to border in user units. Falls back to `padding` then default."),
90
92
  innerYSep: z.number().nonnegative().optional().describe("Inner vertical padding from text to border in user units. Falls back to `padding` then default."),
91
- outerSep: 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`."),
93
+ outerSep: z.number().nonnegative().optional().describe("Uniform outer offset (TikZ `outer sep`) around the node connection boundary, in user units. Applies to ALL border references — automatic edge endpoints AND explicit compass/angle anchors (e.g. `A.north`, `A.30`) — and is included in the node layout footprint / viewBox. Does NOT change the visible shape; center, shape-specific anchors, edge points, and label attachment stay on the visual shape. Default 0. Falls back to `margin`."),
92
94
  padding: z.number().nonnegative().optional().describe("Symmetric inner padding (alias for `innerXSep` + `innerYSep`); axis-specific fields take precedence."),
93
- margin: z.number().nonnegative().optional().describe("Symmetric outer margin (alias for `outerSep`); axis-specific field takes precedence."),
95
+ margin: z.number().nonnegative().optional().describe("Symmetric outer offset, alias for `outerSep` (TikZ `outer sep`); the axis-specific `outerSep` field takes precedence."),
94
96
  font: FontSchema.optional().describe("Font spec for the inner text label (family / size / weight / style); all fields optional, all fall back to renderer defaults."),
95
97
  label: z.union([NodeLabelSchema, 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`."),
96
98
  zIndex: z.number().int().finite().optional().describe("Explicit stacking order among sibling IR children. Higher draws on top. Omitted = 0 = source order. Sorting is stable: same zIndex keeps source order. Scoped per group (a node inside a scope only restacks within that scope).")
97
- }).describe("Node primitive: a positioned, optionally textual shape (rectangle / circle / ellipse / diamond)");
99
+ }).strict().describe("Node primitive: a positioned, optionally textual shape (rectangle / circle / ellipse / diamond)");
98
100
  //#endregion
99
- export { NODE_SHAPES, NODE_TEXT_ALIGNS, NodeLabelSchema, NodeSchema };
101
+ export { BuiltinShape, NodeLabelSchema, NodeSchema, NodeTextAlign };
@@ -5,16 +5,17 @@ import { ValueOf } from '../types';
5
5
  * @description 内置 3 motif:`lines`(横向阴影线)/ `dots`(波点)/ `grid`(横竖网格)。
6
6
  * 各 motif 的 tile 几何由 `BUILTIN_PATTERNS` 的 `PatternDefinition.emit` 在 compile 期产出。
7
7
  */
8
- export declare const PATTERN_SHAPES: {
9
- readonly lines: "lines";
10
- readonly dots: "dots";
11
- readonly grid: "grid";
8
+ export declare const PatternShape: {
9
+ readonly Lines: "lines";
10
+ readonly Dots: "dots";
11
+ readonly Grid: "grid";
12
12
  };
13
13
  /**
14
14
  * 内置 3 pattern motif 名联合
15
15
  * @description `BUILTIN_PATTERNS` 的 Record key(保穷尽性约束,不随 `PatternShapeName` 开放而退化为 `string`)
16
16
  */
17
- export type BuiltinPatternName = ValueOf<typeof PATTERN_SHAPES>;
17
+ export type PatternShapeValue = ValueOf<typeof PatternShape>;
18
+ export type BuiltinPatternName = PatternShapeValue;
18
19
  /**
19
20
  * pattern motif 名:开放字符串
20
21
  * @description 内置 `BuiltinPatternName`,或经 `CompileOptions.patterns` 注册的扩展 motif 名;
@@ -43,8 +44,8 @@ export declare const GradientStopSchema: z.ZodObject<{
43
44
  * @description 四种 paint server:linear / radial gradient、pattern(图案)、image(图片)。纯 JSON 形态,保 IR 可序列化。
44
45
  * linear 方向用 `angle`(度,polar 约定:0°=+x,90°=+y 屏幕下);radial 的 `center` / `radius` 用 objectBoundingBox(0..1,随形状缩放)。
45
46
  */
46
- export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
47
- type: z.ZodLiteral<"linearGradient">;
47
+ export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
48
+ kind: z.ZodLiteral<"linearGradient">;
48
49
  stops: z.ZodArray<z.ZodObject<{
49
50
  offset: z.ZodNumber;
50
51
  color: z.ZodString;
@@ -60,7 +61,7 @@ export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
60
61
  }>, "many">;
61
62
  angle: z.ZodOptional<z.ZodNumber>;
62
63
  }, "strip", z.ZodTypeAny, {
63
- type: "linearGradient";
64
+ kind: "linearGradient";
64
65
  stops: {
65
66
  offset: number;
66
67
  color: string;
@@ -68,7 +69,7 @@ export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
68
69
  }[];
69
70
  angle?: number | undefined;
70
71
  }, {
71
- type: "linearGradient";
72
+ kind: "linearGradient";
72
73
  stops: {
73
74
  offset: number;
74
75
  color: string;
@@ -76,7 +77,7 @@ export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
76
77
  }[];
77
78
  angle?: number | undefined;
78
79
  }>, z.ZodObject<{
79
- type: z.ZodLiteral<"radialGradient">;
80
+ kind: z.ZodLiteral<"radialGradient">;
80
81
  stops: z.ZodArray<z.ZodObject<{
81
82
  offset: z.ZodNumber;
82
83
  color: z.ZodString;
@@ -93,7 +94,7 @@ export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
93
94
  center: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
94
95
  radius: z.ZodOptional<z.ZodNumber>;
95
96
  }, "strip", z.ZodTypeAny, {
96
- type: "radialGradient";
97
+ kind: "radialGradient";
97
98
  stops: {
98
99
  offset: number;
99
100
  color: string;
@@ -102,7 +103,7 @@ export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
102
103
  radius?: number | undefined;
103
104
  center?: [number, number] | undefined;
104
105
  }, {
105
- type: "radialGradient";
106
+ kind: "radialGradient";
106
107
  stops: {
107
108
  offset: number;
108
109
  color: string;
@@ -111,7 +112,7 @@ export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
111
112
  radius?: number | undefined;
112
113
  center?: [number, number] | undefined;
113
114
  }>, z.ZodObject<{
114
- type: z.ZodLiteral<"pattern">;
115
+ kind: z.ZodLiteral<"pattern">;
115
116
  shape: z.ZodString;
116
117
  color: z.ZodOptional<z.ZodString>;
117
118
  background: z.ZodOptional<z.ZodString>;
@@ -119,31 +120,31 @@ export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
119
120
  lineWidth: z.ZodOptional<z.ZodNumber>;
120
121
  rotation: z.ZodOptional<z.ZodNumber>;
121
122
  }, "strip", z.ZodTypeAny, {
122
- type: "pattern";
123
123
  shape: string;
124
+ kind: "pattern";
124
125
  size?: number | undefined;
125
126
  color?: string | undefined;
126
127
  background?: string | undefined;
127
128
  lineWidth?: number | undefined;
128
129
  rotation?: number | undefined;
129
130
  }, {
130
- type: "pattern";
131
131
  shape: string;
132
+ kind: "pattern";
132
133
  size?: number | undefined;
133
134
  color?: string | undefined;
134
135
  background?: string | undefined;
135
136
  lineWidth?: number | undefined;
136
137
  rotation?: number | undefined;
137
138
  }>, z.ZodObject<{
138
- type: z.ZodLiteral<"image">;
139
+ kind: z.ZodLiteral<"image">;
139
140
  href: z.ZodString;
140
141
  fit: z.ZodOptional<z.ZodEnum<["fill", "contain", "cover"]>>;
141
142
  }, "strip", z.ZodTypeAny, {
142
- type: "image";
143
+ kind: "image";
143
144
  href: string;
144
145
  fit?: "fill" | "contain" | "cover" | undefined;
145
146
  }, {
146
- type: "image";
147
+ kind: "image";
147
148
  href: string;
148
149
  fit?: "fill" | "contain" | "cover" | undefined;
149
150
  }>]>;
@@ -1 +1 @@
1
- {"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../../src/ir/paint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,cAAc,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAMY,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsEwF,CAAC;AAErH,iBAAiB;AACjB,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,sCAAsC;AACtC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../../src/ir/paint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAMY,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsEwF,CAAC;AAErH,iBAAiB;AACjB,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,sCAAsC;AACtC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -5,10 +5,10 @@ import { z } from "zod";
5
5
  * @description 内置 3 motif:`lines`(横向阴影线)/ `dots`(波点)/ `grid`(横竖网格)。
6
6
  * 各 motif 的 tile 几何由 `BUILTIN_PATTERNS` 的 `PatternDefinition.emit` 在 compile 期产出。
7
7
  */
8
- var PATTERN_SHAPES = {
9
- lines: "lines",
10
- dots: "dots",
11
- grid: "grid"
8
+ var PatternShape = {
9
+ Lines: "lines",
10
+ Dots: "dots",
11
+ Grid: "grid"
12
12
  };
13
13
  /**
14
14
  * 渐变 stop:位置 + 颜色 + 可选透明度
@@ -24,20 +24,20 @@ var GradientStopSchema = z.object({
24
24
  * @description 四种 paint server:linear / radial gradient、pattern(图案)、image(图片)。纯 JSON 形态,保 IR 可序列化。
25
25
  * linear 方向用 `angle`(度,polar 约定:0°=+x,90°=+y 屏幕下);radial 的 `center` / `radius` 用 objectBoundingBox(0..1,随形状缩放)。
26
26
  */
27
- var PaintSpecSchema = z.discriminatedUnion("type", [
27
+ var PaintSpecSchema = z.discriminatedUnion("kind", [
28
28
  z.object({
29
- type: z.literal("linearGradient"),
29
+ kind: z.literal("linearGradient"),
30
30
  stops: z.array(GradientStopSchema).min(2).describe("Gradient stops, at least 2"),
31
31
  angle: z.number().finite().optional().describe("Gradient direction in degrees (polar convention; 0°=+x, 90°=+y screen-down); omitted = renderer default (left→right)")
32
32
  }).describe("Linear gradient paint server"),
33
33
  z.object({
34
- type: z.literal("radialGradient"),
34
+ kind: z.literal("radialGradient"),
35
35
  stops: z.array(GradientStopSchema).min(2).describe("Gradient stops, at least 2"),
36
36
  center: z.tuple([z.number().finite(), z.number().finite()]).optional().describe("Center in objectBoundingBox units (0..1 relative to the filled shape); omitted = (0.5, 0.5)"),
37
37
  radius: z.number().finite().positive().optional().describe("Radius in objectBoundingBox units (0..1); omitted = 0.5")
38
38
  }).describe("Radial gradient paint server"),
39
39
  z.object({
40
- type: z.literal("pattern"),
40
+ kind: z.literal("pattern"),
41
41
  shape: z.string().min(1).describe("Registered pattern motif name; built-in `lines` (hatching) / `dots` / `grid` (crosshatch), or an extension motif registered via `CompileOptions.patterns`. Any non-empty string passes schema validation; unregistered names are rejected at compile time."),
42
42
  color: z.string().optional().describe("Motif color; any CSS color, defaults to `currentColor`"),
43
43
  background: z.string().optional().describe("Tile background fill; omitted = transparent"),
@@ -46,7 +46,7 @@ var PaintSpecSchema = z.discriminatedUnion("type", [
46
46
  rotation: z.number().finite().optional().describe("Rotate the whole pattern, in degrees")
47
47
  }).describe("Pattern paint server (hatching / dots / grid)"),
48
48
  z.object({
49
- type: z.literal("image"),
49
+ kind: z.literal("image"),
50
50
  href: z.string().min(1).describe("Image URL (http(s) or data URI)"),
51
51
  fit: z.enum([
52
52
  "fill",
@@ -56,4 +56,4 @@ var PaintSpecSchema = z.discriminatedUnion("type", [
56
56
  }).describe("Image paint server (fills the shape with an image)")
57
57
  ]).describe("Paint server spec: gradient / pattern / image. Solid color stays a plain string on `fill` / `stroke`.");
58
58
  //#endregion
59
- export { GradientStopSchema, PATTERN_SHAPES, PaintSpecSchema };
59
+ export { GradientStopSchema, PaintSpecSchema, PatternShape };
@@ -2,29 +2,30 @@ import { z } from 'zod';
2
2
  import { ValueOf } from '../../types';
3
3
  /**
4
4
  * 箭头形状常量(用 const 而非 TS enum 避免 reverse-mapping 和字面量不互通)
5
- * @description normal 实心三角;open 空心三角(UML 泛化/继承);stealth 尖锐倒钩(默认);diamond 实心菱形(UML 组合);openDiamond 空心菱形(聚合);circle 实心圆点;openCircle 空心圆点
5
+ * @description normal 实心三角;open 空心三角(UML 泛化/继承);stealth 尖锐倒钩(默认);openStealth 空心倒钩;diamond 实心菱形(UML 组合);openDiamond 空心菱形(聚合);circle 实心圆点;openCircle 空心圆点
6
6
  */
7
- export declare const ARROW_SHAPES: {
8
- readonly normal: "normal";
9
- readonly open: "open";
10
- readonly stealth: "stealth";
11
- readonly diamond: "diamond";
12
- readonly openDiamond: "openDiamond";
13
- readonly circle: "circle";
14
- readonly openCircle: "openCircle";
7
+ export declare const ArrowShape: {
8
+ readonly Normal: "normal";
9
+ readonly Open: "open";
10
+ readonly Stealth: "stealth";
11
+ readonly OpenStealth: "openStealth";
12
+ readonly Diamond: "diamond";
13
+ readonly OpenDiamond: "openDiamond";
14
+ readonly Circle: "circle";
15
+ readonly OpenCircle: "openCircle";
15
16
  };
16
17
  /** 箭头形状字面量类型 */
17
- export type ArrowShape = ValueOf<typeof ARROW_SHAPES>;
18
+ export type ArrowShapeValue = ValueOf<typeof ArrowShape>;
18
19
  /**
19
- * 内置 7 箭头名联合
20
+ * 内置 8 箭头名联合
20
21
  * @description `BUILTIN_ARROWS` 的 Record key(保穷尽性约束,不随 `ArrowShapeName` 开放而退化为 `string`);
21
22
  * 等价于历史 `ArrowShape`,独立命名对齐 `node.ts` 的 `BuiltinShapeName` 范式
22
23
  */
23
- export type BuiltinArrowName = ValueOf<typeof ARROW_SHAPES>;
24
+ export type BuiltinArrowName = ArrowShapeValue;
24
25
  /**
25
26
  * 箭头形状名:开放字符串
26
27
  * @description 内置 `BuiltinArrowName`,或经 `CompileOptions.arrows` 注册的扩展箭头名;
27
- * `& {}` 让 IDE 仍对内置 7 名自动补全,同时接受任意非空字符串(对齐 `node.ts` 的 `NodeShape`)
28
+ * `& {}` 让 IDE 仍对内置 8 名自动补全,同时接受任意非空字符串(对齐 `node.ts` 的 `NodeShape`)
28
29
  */
29
30
  export type ArrowShapeName = BuiltinArrowName | (string & {});
30
31
  /** 箭头默认形状 */
@@ -33,7 +34,7 @@ export declare const DEFAULT_ARROW_SHAPE: "stealth";
33
34
  * 空心 shape 集合(fill 字段在这些 shape 上 silent no-op)
34
35
  * @description compile 与 render 都引用此表判定 fill 是否丢弃;空心 shape 用 color 主导描边、lineWidth 控描边粗
35
36
  */
36
- export declare const HOLLOW_ARROW_SHAPES: Set<ArrowShape>;
37
+ export declare const HOLLOW_ARROW_SHAPES: Set<ArrowShapeValue>;
37
38
  /** 箭头默认尺寸(length / width 的 fallback) */
38
39
  export declare const ARROW_MARKER_DEFAULT_SIZE = 6;
39
40
  /** 空心 shape 描边默认粗细(lineWidth fallback) */
@@ -55,20 +56,20 @@ export declare const ArrowEndDetailSchema: z.ZodObject<{
55
56
  length?: number | undefined;
56
57
  fill?: string | undefined;
57
58
  shape?: string | undefined;
58
- color?: string | undefined;
59
59
  opacity?: number | undefined;
60
+ scale?: number | undefined;
61
+ color?: string | undefined;
60
62
  lineWidth?: number | undefined;
61
63
  width?: number | undefined;
62
- scale?: number | undefined;
63
64
  }, {
64
65
  length?: number | undefined;
65
66
  fill?: string | undefined;
66
67
  shape?: string | undefined;
67
- color?: string | undefined;
68
68
  opacity?: number | undefined;
69
+ scale?: number | undefined;
70
+ color?: string | undefined;
69
71
  lineWidth?: number | undefined;
70
72
  width?: number | undefined;
71
- scale?: number | undefined;
72
73
  }>;
73
74
  /**
74
75
  * Path 级箭头详细配置 schema
@@ -97,20 +98,20 @@ export declare const ArrowDetailSchema: z.ZodObject<{
97
98
  length?: number | undefined;
98
99
  fill?: string | undefined;
99
100
  shape?: string | undefined;
100
- color?: string | undefined;
101
101
  opacity?: number | undefined;
102
+ scale?: number | undefined;
103
+ color?: string | undefined;
102
104
  lineWidth?: number | undefined;
103
105
  width?: number | undefined;
104
- scale?: number | undefined;
105
106
  }, {
106
107
  length?: number | undefined;
107
108
  fill?: string | undefined;
108
109
  shape?: string | undefined;
109
- color?: string | undefined;
110
110
  opacity?: number | undefined;
111
+ scale?: number | undefined;
112
+ color?: string | undefined;
111
113
  lineWidth?: number | undefined;
112
114
  width?: number | undefined;
113
- scale?: number | undefined;
114
115
  }>>;
115
116
  end: z.ZodOptional<z.ZodObject<{
116
117
  shape: z.ZodOptional<z.ZodString>;
@@ -125,78 +126,78 @@ export declare const ArrowDetailSchema: z.ZodObject<{
125
126
  length?: number | undefined;
126
127
  fill?: string | undefined;
127
128
  shape?: string | undefined;
128
- color?: string | undefined;
129
129
  opacity?: number | undefined;
130
+ scale?: number | undefined;
131
+ color?: string | undefined;
130
132
  lineWidth?: number | undefined;
131
133
  width?: number | undefined;
132
- scale?: number | undefined;
133
134
  }, {
134
135
  length?: number | undefined;
135
136
  fill?: string | undefined;
136
137
  shape?: string | undefined;
137
- color?: string | undefined;
138
138
  opacity?: number | undefined;
139
+ scale?: number | undefined;
140
+ color?: string | undefined;
139
141
  lineWidth?: number | undefined;
140
142
  width?: number | undefined;
141
- scale?: number | undefined;
142
143
  }>>;
143
144
  }, "strip", z.ZodTypeAny, {
144
145
  length?: number | undefined;
145
146
  fill?: string | undefined;
146
147
  shape?: string | undefined;
147
- color?: string | undefined;
148
148
  opacity?: number | undefined;
149
+ scale?: number | undefined;
150
+ color?: string | undefined;
149
151
  lineWidth?: number | undefined;
150
152
  width?: number | undefined;
151
- scale?: number | undefined;
152
153
  start?: {
153
154
  length?: number | undefined;
154
155
  fill?: string | undefined;
155
156
  shape?: string | undefined;
156
- color?: string | undefined;
157
157
  opacity?: number | undefined;
158
+ scale?: number | undefined;
159
+ color?: string | undefined;
158
160
  lineWidth?: number | undefined;
159
161
  width?: number | undefined;
160
- scale?: number | undefined;
161
162
  } | undefined;
162
163
  end?: {
163
164
  length?: number | undefined;
164
165
  fill?: string | undefined;
165
166
  shape?: string | undefined;
166
- color?: string | undefined;
167
167
  opacity?: number | undefined;
168
+ scale?: number | undefined;
169
+ color?: string | undefined;
168
170
  lineWidth?: number | undefined;
169
171
  width?: number | undefined;
170
- scale?: number | undefined;
171
172
  } | undefined;
172
173
  }, {
173
174
  length?: number | undefined;
174
175
  fill?: string | undefined;
175
176
  shape?: string | undefined;
176
- color?: string | undefined;
177
177
  opacity?: number | undefined;
178
+ scale?: number | undefined;
179
+ color?: string | undefined;
178
180
  lineWidth?: number | undefined;
179
181
  width?: number | undefined;
180
- scale?: number | undefined;
181
182
  start?: {
182
183
  length?: number | undefined;
183
184
  fill?: string | undefined;
184
185
  shape?: string | undefined;
185
- color?: string | undefined;
186
186
  opacity?: number | undefined;
187
+ scale?: number | undefined;
188
+ color?: string | undefined;
187
189
  lineWidth?: number | undefined;
188
190
  width?: number | undefined;
189
- scale?: number | undefined;
190
191
  } | undefined;
191
192
  end?: {
192
193
  length?: number | undefined;
193
194
  fill?: string | undefined;
194
195
  shape?: string | undefined;
195
- color?: string | undefined;
196
196
  opacity?: number | undefined;
197
+ scale?: number | undefined;
198
+ color?: string | undefined;
197
199
  lineWidth?: number | undefined;
198
200
  width?: number | undefined;
199
- scale?: number | undefined;
200
201
  } | undefined;
201
202
  }>;
202
203
  /** 端点级箭头视觉规格 */
@@ -1 +1 @@
1
- {"version":3,"file":"arrow.d.ts","sourceRoot":"","sources":["../../../../src/ir/path/arrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;CAQf,CAAC;AAEX,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE9D,aAAa;AACb,eAAO,MAAM,mBAAmB,WAAuB,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,iBAA6D,CAAC;AAE9F,wCAAwC;AACxC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,0CAA0C;AAC1C,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgE9B,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,mBAAmB;AACnB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"arrow.d.ts","sourceRoot":"","sources":["../../../../src/ir/path/arrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;CASb,CAAC;AAEX,gBAAgB;AAChB,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,UAAU,CAAC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAE/C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE9D,aAAa;AACb,eAAO,MAAM,mBAAmB,WAAqB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,sBAAqH,CAAC;AAEtJ,wCAAwC;AACxC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,0CAA0C;AAC1C,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgE9B,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,mBAAmB;AACnB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -2,27 +2,29 @@ import { z } from "zod";
2
2
  //#region src/ir/path/arrow.ts
3
3
  /**
4
4
  * 箭头形状常量(用 const 而非 TS enum 避免 reverse-mapping 和字面量不互通)
5
- * @description normal 实心三角;open 空心三角(UML 泛化/继承);stealth 尖锐倒钩(默认);diamond 实心菱形(UML 组合);openDiamond 空心菱形(聚合);circle 实心圆点;openCircle 空心圆点
5
+ * @description normal 实心三角;open 空心三角(UML 泛化/继承);stealth 尖锐倒钩(默认);openStealth 空心倒钩;diamond 实心菱形(UML 组合);openDiamond 空心菱形(聚合);circle 实心圆点;openCircle 空心圆点
6
6
  */
7
- var ARROW_SHAPES = {
8
- normal: "normal",
9
- open: "open",
10
- stealth: "stealth",
11
- diamond: "diamond",
12
- openDiamond: "openDiamond",
13
- circle: "circle",
14
- openCircle: "openCircle"
7
+ var ArrowShape = {
8
+ Normal: "normal",
9
+ Open: "open",
10
+ Stealth: "stealth",
11
+ OpenStealth: "openStealth",
12
+ Diamond: "diamond",
13
+ OpenDiamond: "openDiamond",
14
+ Circle: "circle",
15
+ OpenCircle: "openCircle"
15
16
  };
16
17
  /** 箭头默认形状 */
17
- var DEFAULT_ARROW_SHAPE = ARROW_SHAPES.stealth;
18
+ var DEFAULT_ARROW_SHAPE = ArrowShape.Stealth;
18
19
  /**
19
20
  * 空心 shape 集合(fill 字段在这些 shape 上 silent no-op)
20
21
  * @description compile 与 render 都引用此表判定 fill 是否丢弃;空心 shape 用 color 主导描边、lineWidth 控描边粗
21
22
  */
22
23
  var HOLLOW_ARROW_SHAPES = new Set([
23
- "open",
24
- "openDiamond",
25
- "openCircle"
24
+ ArrowShape.Open,
25
+ ArrowShape.OpenStealth,
26
+ ArrowShape.OpenDiamond,
27
+ ArrowShape.OpenCircle
26
28
  ]);
27
29
  /** 箭头默认尺寸(length / width 的 fallback) */
28
30
  var ARROW_MARKER_DEFAULT_SIZE = 6;
@@ -33,12 +35,12 @@ var ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH = 1.5;
33
35
  * @description 顶层 8 字段全 optional;fill 在空心 shape 上 silent no-op(schema 不拒绝、compile/render 丢字段);start/end 子对象用相同字段集(无 start/end 递归)
34
36
  */
35
37
  var ArrowEndDetailSchema = z.object({
36
- shape: z.string().min(1).optional().describe("Registered arrow name: built-in 7 (`normal` / `open` / `stealth` / `diamond` / `openDiamond` / `circle` / `openCircle`) or an extension arrow registered via `CompileOptions.arrows`. Any non-empty string passes schema validation; unregistered names are rejected at compile time (throw). Defaults to `stealth`."),
38
+ shape: z.string().min(1).optional().describe("Registered arrow name: built-in 8 (`normal` / `open` / `stealth` / `openStealth` / `diamond` / `openDiamond` / `circle` / `openCircle`) or an extension arrow registered via `CompileOptions.arrows`. Any non-empty string passes schema validation; unregistered names are rejected at compile time (throw). Defaults to `stealth`."),
37
39
  scale: z.number().finite().positive().optional().describe("Uniform tip scale factor; multiplies `length` and `width` (e.g. `length=10, scale=1.5` → effective 15). Defaults to 1."),
38
40
  length: z.number().finite().nonnegative().optional().describe("Tip length in user units (the dimension along the path direction). Defaults to ~6."),
39
41
  width: z.number().finite().nonnegative().optional().describe("Tip width in user units (perpendicular to the path). Defaults to ~6."),
40
42
  color: z.string().optional().describe("Stroke color override. When omitted, the renderer should inherit the path stroke."),
41
- fill: z.string().optional().describe("Fill color override (effective only on solid shapes). Hollow shapes (`open` / `openDiamond` / `openCircle`) silently ignore this field — `color` drives the stroke."),
43
+ fill: z.string().optional().describe("Fill color override (effective only on solid shapes). Hollow shapes (`open` / `openStealth` / `openDiamond` / `openCircle`) silently ignore this field — `color` drives the stroke."),
42
44
  opacity: z.number().min(0).max(1).optional().describe("Arrow opacity 0..1, independent from the path opacity. When omitted, inherits the path opacity."),
43
45
  lineWidth: z.number().finite().nonnegative().optional().describe("Stroke width for hollow shapes (user units). Defaults to 1.5. Solid shapes ignore this field.")
44
46
  }).describe("Per-end arrow visual spec: shape + visual fields (scale / length / width / color / fill / opacity / lineWidth). All optional; omitted fields fall through to top-level `arrowDetail` defaults and then built-in defaults.");
@@ -51,4 +53,4 @@ var ArrowDetailSchema = ArrowEndDetailSchema.extend({
51
53
  end: ArrowEndDetailSchema.optional().describe("End-end override (effective only when `arrow` includes an end arrow: `->` / `<->`). Fields merge into the top-level defaults; omitted fields inherit, present fields override.")
52
54
  }).describe("Path-level arrow detail. Top-level visual fields (shape / scale / length / width / color / fill / opacity / lineWidth) act as shared defaults for both ends; `start` / `end` sub-objects per-field override the defaults.");
53
55
  //#endregion
54
- export { ARROW_MARKER_DEFAULT_SIZE, ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH, ARROW_SHAPES, ArrowDetailSchema, ArrowEndDetailSchema, DEFAULT_ARROW_SHAPE, HOLLOW_ARROW_SHAPES };
56
+ export { ARROW_MARKER_DEFAULT_SIZE, ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH, ArrowDetailSchema, ArrowEndDetailSchema, ArrowShape, DEFAULT_ARROW_SHAPE, HOLLOW_ARROW_SHAPES };