@retikz/core 0.3.0-beta.1 → 0.3.0-beta.2

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 (203) hide show
  1. package/dist/es/arrows/index.d.ts.map +1 -1
  2. package/dist/es/arrows/index.js +1 -1
  3. package/dist/es/compile/anchor-cache.js +3 -3
  4. package/dist/es/compile/compile.d.ts.map +1 -1
  5. package/dist/es/compile/compile.js +13 -10
  6. package/dist/es/compile/constant.d.ts +1 -3
  7. package/dist/es/compile/constant.d.ts.map +1 -1
  8. package/dist/es/compile/constant.js +2 -4
  9. package/dist/es/compile/node.d.ts +3 -3
  10. package/dist/es/compile/node.d.ts.map +1 -1
  11. package/dist/es/compile/node.js +19 -9
  12. package/dist/es/compile/path/index.d.ts.map +1 -1
  13. package/dist/es/compile/path/index.js +40 -10
  14. package/dist/es/compile/path/label.d.ts.map +1 -1
  15. package/dist/es/compile/path/label.js +8 -4
  16. package/dist/es/compile/scope.d.ts +1 -1
  17. package/dist/es/compile/scope.d.ts.map +1 -1
  18. package/dist/es/compile/scope.js +17 -5
  19. package/dist/es/compile/text-metrics.d.ts +1 -1
  20. package/dist/es/compile/text-metrics.js +2 -2
  21. package/dist/es/geometry/bend.js +1 -1
  22. package/dist/es/geometry/contour.d.ts +5 -0
  23. package/dist/es/geometry/contour.d.ts.map +1 -1
  24. package/dist/es/geometry/contour.js +5 -3
  25. package/dist/es/geometry/diamond.d.ts +7 -1
  26. package/dist/es/geometry/diamond.d.ts.map +1 -1
  27. package/dist/es/geometry/diamond.js +9 -1
  28. package/dist/es/geometry/ellipse.d.ts.map +1 -1
  29. package/dist/es/geometry/ellipse.js +2 -0
  30. package/dist/es/geometry/index.d.ts +4 -0
  31. package/dist/es/geometry/index.d.ts.map +1 -1
  32. package/dist/es/geometry/segment.d.ts +7 -0
  33. package/dist/es/geometry/segment.d.ts.map +1 -1
  34. package/dist/es/geometry/segment.js +24 -1
  35. package/dist/es/index.d.ts +4 -4
  36. package/dist/es/index.d.ts.map +1 -1
  37. package/dist/es/index.js +4 -3
  38. package/dist/es/ir/animation.d.ts +20 -120
  39. package/dist/es/ir/animation.d.ts.map +1 -1
  40. package/dist/es/ir/animation.js +6 -6
  41. package/dist/es/ir/boundary.d.ts +3 -9
  42. package/dist/es/ir/boundary.d.ts.map +1 -1
  43. package/dist/es/ir/clip.d.ts +6 -46
  44. package/dist/es/ir/clip.d.ts.map +1 -1
  45. package/dist/es/ir/composite.d.ts +2 -14
  46. package/dist/es/ir/composite.d.ts.map +1 -1
  47. package/dist/es/ir/coordinate.d.ts +6 -42
  48. package/dist/es/ir/coordinate.d.ts.map +1 -1
  49. package/dist/es/ir/coordinate.js +1 -1
  50. package/dist/es/ir/font.d.ts +10 -13
  51. package/dist/es/ir/font.d.ts.map +1 -1
  52. package/dist/es/ir/json.d.ts +1 -1
  53. package/dist/es/ir/json.d.ts.map +1 -1
  54. package/dist/es/ir/json.js +1 -1
  55. package/dist/es/ir/node.d.ts +123 -770
  56. package/dist/es/ir/node.d.ts.map +1 -1
  57. package/dist/es/ir/node.js +2 -2
  58. package/dist/es/ir/paint.d.ts +13 -91
  59. package/dist/es/ir/paint.d.ts.map +1 -1
  60. package/dist/es/ir/path/arrow.d.ts +4 -117
  61. package/dist/es/ir/path/arrow.d.ts.map +1 -1
  62. package/dist/es/ir/path/path.d.ts +511 -3798
  63. package/dist/es/ir/path/path.d.ts.map +1 -1
  64. package/dist/es/ir/path/path.js +2 -2
  65. package/dist/es/ir/path/step.d.ts +917 -4374
  66. package/dist/es/ir/path/step.d.ts.map +1 -1
  67. package/dist/es/ir/path/step.js +7 -7
  68. package/dist/es/ir/path/target.d.ts +40 -121
  69. package/dist/es/ir/path/target.d.ts.map +1 -1
  70. package/dist/es/ir/position/at-position.d.ts +2 -10
  71. package/dist/es/ir/position/at-position.d.ts.map +1 -1
  72. package/dist/es/ir/position/at-position.js +1 -1
  73. package/dist/es/ir/position/offset-position.d.ts +2 -8
  74. package/dist/es/ir/position/offset-position.d.ts.map +1 -1
  75. package/dist/es/ir/scene.d.ts +17 -181
  76. package/dist/es/ir/scene.d.ts.map +1 -1
  77. package/dist/es/ir/scope.d.ts +283 -8761
  78. package/dist/es/ir/scope.d.ts.map +1 -1
  79. package/dist/es/ir/scope.js +5 -2
  80. package/dist/es/ir/shape.d.ts +2 -8
  81. package/dist/es/ir/shape.d.ts.map +1 -1
  82. package/dist/es/ir/text.d.ts +24 -70
  83. package/dist/es/ir/text.d.ts.map +1 -1
  84. package/dist/es/ir/transform.d.ts +23 -147
  85. package/dist/es/ir/transform.d.ts.map +1 -1
  86. package/dist/es/ir/transform.js +3 -3
  87. package/dist/es/parsers/way.d.ts +1 -1
  88. package/dist/es/parsers/way.js +1 -1
  89. package/dist/es/primitive/marker.d.ts +6 -6
  90. package/dist/es/primitive/marker.d.ts.map +1 -1
  91. package/dist/es/shapes/arc.d.ts.map +1 -1
  92. package/dist/es/shapes/arc.js +23 -4
  93. package/dist/es/shapes/rectangle.js +1 -1
  94. package/dist/es/shapes/shared.d.ts +3 -2
  95. package/dist/es/shapes/shared.d.ts.map +1 -1
  96. package/dist/es/shapes/shared.js +5 -3
  97. package/dist/es/shapes/star.d.ts.map +1 -1
  98. package/dist/es/shapes/star.js +2 -1
  99. package/dist/es/shapes/types.d.ts +10 -3
  100. package/dist/es/shapes/types.d.ts.map +1 -1
  101. package/dist/es/types.d.ts +1 -1
  102. package/dist/lib/arrows/index.cjs +1 -1
  103. package/dist/lib/arrows/index.d.ts.map +1 -1
  104. package/dist/lib/compile/anchor-cache.cjs +3 -3
  105. package/dist/lib/compile/compile.cjs +13 -10
  106. package/dist/lib/compile/compile.d.ts.map +1 -1
  107. package/dist/lib/compile/constant.cjs +2 -4
  108. package/dist/lib/compile/constant.d.ts +1 -3
  109. package/dist/lib/compile/constant.d.ts.map +1 -1
  110. package/dist/lib/compile/node.cjs +19 -9
  111. package/dist/lib/compile/node.d.ts +3 -3
  112. package/dist/lib/compile/node.d.ts.map +1 -1
  113. package/dist/lib/compile/path/index.cjs +39 -9
  114. package/dist/lib/compile/path/index.d.ts.map +1 -1
  115. package/dist/lib/compile/path/label.cjs +8 -4
  116. package/dist/lib/compile/path/label.d.ts.map +1 -1
  117. package/dist/lib/compile/scope.cjs +17 -5
  118. package/dist/lib/compile/scope.d.ts +1 -1
  119. package/dist/lib/compile/scope.d.ts.map +1 -1
  120. package/dist/lib/compile/text-metrics.cjs +2 -2
  121. package/dist/lib/compile/text-metrics.d.ts +1 -1
  122. package/dist/lib/geometry/bend.cjs +1 -1
  123. package/dist/lib/geometry/contour.cjs +5 -3
  124. package/dist/lib/geometry/contour.d.ts +5 -0
  125. package/dist/lib/geometry/contour.d.ts.map +1 -1
  126. package/dist/lib/geometry/diamond.cjs +9 -1
  127. package/dist/lib/geometry/diamond.d.ts +7 -1
  128. package/dist/lib/geometry/diamond.d.ts.map +1 -1
  129. package/dist/lib/geometry/ellipse.cjs +2 -0
  130. package/dist/lib/geometry/ellipse.d.ts.map +1 -1
  131. package/dist/lib/geometry/index.d.ts +4 -0
  132. package/dist/lib/geometry/index.d.ts.map +1 -1
  133. package/dist/lib/geometry/segment.cjs +24 -0
  134. package/dist/lib/geometry/segment.d.ts +7 -0
  135. package/dist/lib/geometry/segment.d.ts.map +1 -1
  136. package/dist/lib/index.cjs +6 -0
  137. package/dist/lib/index.d.ts +4 -4
  138. package/dist/lib/index.d.ts.map +1 -1
  139. package/dist/lib/ir/animation.cjs +6 -6
  140. package/dist/lib/ir/animation.d.ts +20 -120
  141. package/dist/lib/ir/animation.d.ts.map +1 -1
  142. package/dist/lib/ir/boundary.d.ts +3 -9
  143. package/dist/lib/ir/boundary.d.ts.map +1 -1
  144. package/dist/lib/ir/clip.d.ts +6 -46
  145. package/dist/lib/ir/clip.d.ts.map +1 -1
  146. package/dist/lib/ir/composite.d.ts +2 -14
  147. package/dist/lib/ir/composite.d.ts.map +1 -1
  148. package/dist/lib/ir/coordinate.cjs +1 -1
  149. package/dist/lib/ir/coordinate.d.ts +6 -42
  150. package/dist/lib/ir/coordinate.d.ts.map +1 -1
  151. package/dist/lib/ir/font.d.ts +10 -13
  152. package/dist/lib/ir/font.d.ts.map +1 -1
  153. package/dist/lib/ir/json.cjs +1 -1
  154. package/dist/lib/ir/json.d.ts +1 -1
  155. package/dist/lib/ir/json.d.ts.map +1 -1
  156. package/dist/lib/ir/node.cjs +2 -2
  157. package/dist/lib/ir/node.d.ts +123 -770
  158. package/dist/lib/ir/node.d.ts.map +1 -1
  159. package/dist/lib/ir/paint.d.ts +13 -91
  160. package/dist/lib/ir/paint.d.ts.map +1 -1
  161. package/dist/lib/ir/path/arrow.d.ts +4 -117
  162. package/dist/lib/ir/path/arrow.d.ts.map +1 -1
  163. package/dist/lib/ir/path/path.cjs +3 -1
  164. package/dist/lib/ir/path/path.d.ts +511 -3798
  165. package/dist/lib/ir/path/path.d.ts.map +1 -1
  166. package/dist/lib/ir/path/step.cjs +7 -7
  167. package/dist/lib/ir/path/step.d.ts +917 -4374
  168. package/dist/lib/ir/path/step.d.ts.map +1 -1
  169. package/dist/lib/ir/path/target.d.ts +40 -121
  170. package/dist/lib/ir/path/target.d.ts.map +1 -1
  171. package/dist/lib/ir/position/at-position.cjs +1 -1
  172. package/dist/lib/ir/position/at-position.d.ts +2 -10
  173. package/dist/lib/ir/position/at-position.d.ts.map +1 -1
  174. package/dist/lib/ir/position/offset-position.d.ts +2 -8
  175. package/dist/lib/ir/position/offset-position.d.ts.map +1 -1
  176. package/dist/lib/ir/scene.d.ts +17 -181
  177. package/dist/lib/ir/scene.d.ts.map +1 -1
  178. package/dist/lib/ir/scope.cjs +5 -2
  179. package/dist/lib/ir/scope.d.ts +283 -8761
  180. package/dist/lib/ir/scope.d.ts.map +1 -1
  181. package/dist/lib/ir/shape.d.ts +2 -8
  182. package/dist/lib/ir/shape.d.ts.map +1 -1
  183. package/dist/lib/ir/text.d.ts +24 -70
  184. package/dist/lib/ir/text.d.ts.map +1 -1
  185. package/dist/lib/ir/transform.cjs +3 -3
  186. package/dist/lib/ir/transform.d.ts +23 -147
  187. package/dist/lib/ir/transform.d.ts.map +1 -1
  188. package/dist/lib/parsers/way.cjs +1 -1
  189. package/dist/lib/parsers/way.d.ts +1 -1
  190. package/dist/lib/primitive/marker.d.ts +6 -6
  191. package/dist/lib/primitive/marker.d.ts.map +1 -1
  192. package/dist/lib/shapes/arc.cjs +22 -3
  193. package/dist/lib/shapes/arc.d.ts.map +1 -1
  194. package/dist/lib/shapes/rectangle.cjs +1 -1
  195. package/dist/lib/shapes/shared.cjs +5 -3
  196. package/dist/lib/shapes/shared.d.ts +3 -2
  197. package/dist/lib/shapes/shared.d.ts.map +1 -1
  198. package/dist/lib/shapes/star.cjs +2 -1
  199. package/dist/lib/shapes/star.d.ts.map +1 -1
  200. package/dist/lib/shapes/types.d.ts +10 -3
  201. package/dist/lib/shapes/types.d.ts.map +1 -1
  202. package/dist/lib/types.d.ts +1 -1
  203. package/package.json +2 -2
@@ -32,7 +32,7 @@ var fractionAlong = (seg, p, fromStart) => {
32
32
  const ex = seg.to[0] - seg.from[0];
33
33
  const ey = seg.to[1] - seg.from[1];
34
34
  const len2 = ex * ex + ey * ey;
35
- if (len2 < EPSILON) return 0;
35
+ if (len2 < EPSILON * EPSILON) return 0;
36
36
  const t = ((p[0] - seg.from[0]) * ex + (p[1] - seg.from[1]) * ey) / len2;
37
37
  return fromStart ? t : 1 - t;
38
38
  }
@@ -155,9 +155,10 @@ var solveFillet = (segA, segB, r) => {
155
155
  const tInPt = tangentPointOn(segA, cand, radius);
156
156
  const tOutPt = tangentPointOn(segB, cand, radius);
157
157
  if (!tInPt || !tOutPt) continue;
158
+ const tol = 1e-6 * Math.max(1, radius, Math.abs(corner[0]), Math.abs(corner[1]));
158
159
  const dA = distanceToAny(segA, cand);
159
160
  const dB = distanceToAny(segB, cand);
160
- if (Math.abs(dA - radius) > 1e-6 || Math.abs(dB - radius) > 1e-6) continue;
161
+ if (Math.abs(dA - radius) > tol || Math.abs(dB - radius) > tol) continue;
161
162
  const inFrac = fractionAlong(segA, tInPt, false);
162
163
  const outFrac = fractionAlong(segB, tOutPt, true);
163
164
  if (inFrac < -1e-7 || inFrac > .5000001 || outFrac < -1e-7 || outFrac > .5000001) continue;
@@ -252,7 +253,8 @@ var tangentPointOn = (seg, filletCenter, radius) => {
252
253
  best = cand;
253
254
  }
254
255
  }
255
- return bestErr <= 1e-6 ? best : void 0;
256
+ const tol = 1e-6 * Math.max(1, radius, Math.abs(filletCenter[0]), Math.abs(filletCenter[1]));
257
+ return bestErr <= tol ? best : void 0;
256
258
  };
257
259
  /**
258
260
  * 对闭合轮廓的每个接缝做 fillet,返回 fillet 解算列表(与接缝一一对应,下标 i = 段 i 终点接段 (i+1)%n 起点)
@@ -77,6 +77,11 @@ export declare const filletContour: (segments: Array<ContourSegment>, cornerRadi
77
77
  * 夹紧到 0 的角不插弧、按原尖角连接。
78
78
  */
79
79
  export declare const contourCommands: (segments: Array<ContourSegment>, cornerRadius?: number, fillets?: Array<FilletSolution>) => Array<ContourCommand>;
80
+ /** 调整 endAngle 使「start→end」沿给定扫描方向(ccw: 递减 / 否则递增),保持裁剪后弧方向不变 */
81
+ export declare const alignSweep: (start: number, end: number, ccw: boolean) => {
82
+ start: number;
83
+ end: number;
84
+ };
80
85
  /**
81
86
  * 从 rayOrigin 朝 toward 射线 ∩ fillet 后轮廓全部段,返回最近正向交点
82
87
  * @description rayOrigin 显式传(不假设中心);toward 是射线指向的目标点(方向 = toward − rayOrigin)。
@@ -1 +1 @@
1
- {"version":3,"file":"contour.d.ts","sourceRoot":"","sources":["../../../src/geometry/contour.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAS,MAAM,SAAS,CAAC;AAkB/C,4BAA4B;AAC5B,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,gBAAgB;IAChB,EAAE,EAAE,QAAQ,CAAC;CACd,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,gBAAgB;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,CAAC;AAEtD,qFAAqF;AACrF,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAA;CAAE,GAC9B;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AA6BtB;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,kBAAkB;IAClB,cAAc,EAAE,QAAQ,CAAC;IACzB,kBAAkB;IAClB,eAAe,EAAE,QAAQ,CAAC;IAC1B,gBAAgB;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,gBAAgB;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAgTF;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,UAAU,KAAK,CAAC,cAAc,CAAC,EAC/B,eAAe,MAAM,KACpB,KAAK,CAAC,cAAc,CAUtB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,KAAK,CAAC,cAAc,CAAC,EAC/B,eAAe,MAAM,EACrB,UAAS,KAAK,CAAC,cAAc,CAAyC,KACrE,KAAK,CAAC,cAAc,CAsCtB,CAAC;AAwCF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,KAAK,CAAC,cAAc,CAAC,EAC/B,cAAc,MAAM,GAAG,SAAS,EAChC,WAAW,QAAQ,EACnB,QAAQ,QAAQ,EAChB,UAAS,KAAK,CAAC,cAAc,CAAyC,KACrE,QAAQ,GAAG,SA0Eb,CAAC"}
1
+ {"version":3,"file":"contour.d.ts","sourceRoot":"","sources":["../../../src/geometry/contour.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAS,MAAM,SAAS,CAAC;AAkB/C,4BAA4B;AAC5B,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,gBAAgB;IAChB,EAAE,EAAE,QAAQ,CAAC;CACd,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,gBAAgB;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,CAAC;AAEtD,qFAAqF;AACrF,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAA;CAAE,GAC9B;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AA6BtB;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,kBAAkB;IAClB,cAAc,EAAE,QAAQ,CAAC;IACzB,kBAAkB;IAClB,eAAe,EAAE,QAAQ,CAAC;IAC1B,gBAAgB;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,gBAAgB;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAoTF;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,UAAU,KAAK,CAAC,cAAc,CAAC,EAC/B,eAAe,MAAM,KACpB,KAAK,CAAC,cAAc,CAUtB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,KAAK,CAAC,cAAc,CAAC,EAC/B,eAAe,MAAM,EACrB,UAAS,KAAK,CAAC,cAAc,CAAyC,KACrE,KAAK,CAAC,cAAc,CAsCtB,CAAC;AA2BF,iEAAiE;AACjE,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,KAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAUjG,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,KAAK,CAAC,cAAc,CAAC,EAC/B,cAAc,MAAM,GAAG,SAAS,EAChC,WAAW,QAAQ,EACnB,QAAQ,QAAQ,EAChB,UAAS,KAAK,CAAC,cAAc,CAAyC,KACrE,QAAQ,GAAG,SA0Eb,CAAC"}
@@ -24,12 +24,19 @@ var DIAMOND_EDGE = {
24
24
  "south-west"
25
25
  ]
26
26
  };
27
- /** 菱形相关基础工具 */
27
+ /**
28
+ * 菱形相关基础工具(独立几何原语)
29
+ * @description 注意:这是一套独立的菱形几何工具,**与 Node 的 diamond shape 不是同一条路径**——
30
+ * 后者已被 compile 规范化为 `polygon` preset(`{ sides: 4 }`),其 compass anchor 走外接 AABB 角。
31
+ * 本工具的 NE/NW/SE/SW anchor 取斜边中点(落在真实菱形边上),语义与 polygon 路径不同;
32
+ * 作为通用几何 API 保留,勿假设它与 Node diamond shape 行为一致。
33
+ */
28
34
  var diamond = {
29
35
  /** 中心 */
30
36
  center: (d) => [d.x, d.y],
31
37
  /** 点是否在菱形内(含边界,含旋转);方程 |x|/halfA + |y|/halfB ≤ 1 */
32
38
  contains: (d, p) => {
39
+ if (d.halfA === 0 || d.halfB === 0) return false;
33
40
  const [lx, ly] = require_transform.worldToLocal(d, p);
34
41
  return Math.abs(lx) / d.halfA + Math.abs(ly) / d.halfB <= 1.000000001;
35
42
  },
@@ -75,6 +82,7 @@ var diamond = {
75
82
  * @description 菱形方程 |x|/halfA + |y|/halfB = 1;沿方向 (lx,ly) 缩放 t 倍命中:t = 1 / (|lx|/halfA + |ly|/halfB)
76
83
  */
77
84
  boundaryPoint: (d, toward) => {
85
+ if (d.halfA === 0 || d.halfB === 0) return [d.x, d.y];
78
86
  const [lx, ly] = require_transform.worldToLocal(d, toward);
79
87
  const denom = Math.abs(lx) / d.halfA + Math.abs(ly) / d.halfB;
80
88
  if (denom === 0) return [d.x, d.y];
@@ -12,7 +12,13 @@ export type Diamond = {
12
12
  /** 绕中心旋转弧度 */
13
13
  rotate?: number;
14
14
  };
15
- /** 菱形相关基础工具 */
15
+ /**
16
+ * 菱形相关基础工具(独立几何原语)
17
+ * @description 注意:这是一套独立的菱形几何工具,**与 Node 的 diamond shape 不是同一条路径**——
18
+ * 后者已被 compile 规范化为 `polygon` preset(`{ sides: 4 }`),其 compass anchor 走外接 AABB 角。
19
+ * 本工具的 NE/NW/SE/SW anchor 取斜边中点(落在真实菱形边上),语义与 polygon 路径不同;
20
+ * 作为通用几何 API 保留,勿假设它与 Node diamond shape 行为一致。
21
+ */
16
22
  export declare const diamond: {
17
23
  /** 中心 */
18
24
  center: (d: Diamond) => Position;
@@ -1 +1 @@
1
- {"version":3,"file":"diamond.d.ts","sourceRoot":"","sources":["../../../src/geometry/diamond.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAqB,MAAM,QAAQ,CAAC;AAEtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAUxC,iEAAiE;AACjE,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAe;AACf,eAAO,MAAM,OAAO;IAClB,SAAS;gBACG,OAAO,KAAG,QAAQ;IAC9B,oDAAoD;kBACtC,OAAO,KAAK,QAAQ,KAAG,OAAO;IAI5C,sDAAsD;gBAC1C,OAAO,QAAQ,kBAAkB,KAAG,QAAQ;IAqC1D;;;OAGG;uBACkB,OAAO,UAAU,QAAQ,KAAG,QAAQ;IAOvD,yDAAyD;mBAC1C,OAAO,QAAQ,IAAI,KAAK,MAAM,KAAG,QAAQ;CASzD,CAAC"}
1
+ {"version":3,"file":"diamond.d.ts","sourceRoot":"","sources":["../../../src/geometry/diamond.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAqB,MAAM,QAAQ,CAAC;AAEtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAUxC,iEAAiE;AACjE,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;IAClB,SAAS;gBACG,OAAO,KAAG,QAAQ;IAC9B,oDAAoD;kBACtC,OAAO,KAAK,QAAQ,KAAG,OAAO;IAK5C,sDAAsD;gBAC1C,OAAO,QAAQ,kBAAkB,KAAG,QAAQ;IAqC1D;;;OAGG;uBACkB,OAAO,UAAU,QAAQ,KAAG,QAAQ;IAQvD,yDAAyD;mBAC1C,OAAO,QAAQ,IAAI,KAAK,MAAM,KAAG,QAAQ;CASzD,CAAC"}
@@ -9,6 +9,7 @@ var ellipse = {
9
9
  center: (e) => [e.x, e.y],
10
10
  /** 判断点是否在椭圆内(含边界,考虑旋转) */
11
11
  contains: (e, p) => {
12
+ if (e.rx === 0 || e.ry === 0) return false;
12
13
  const [lx, ly] = require_transform.worldToLocal(e, p);
13
14
  return lx * lx / (e.rx * e.rx) + ly * ly / (e.ry * e.ry) <= 1;
14
15
  },
@@ -57,6 +58,7 @@ var ellipse = {
57
58
  * @description 椭圆方程 (x/rx)² + (y/ry)² = 1;沿 (lx,ly) 缩放 t 倍命中 t = 1 / √((lx/rx)² + (ly/ry)²)
58
59
  */
59
60
  boundaryPoint: (e, toward) => {
61
+ if (e.rx === 0 || e.ry === 0) return [e.x, e.y];
60
62
  const [lx, ly] = require_transform.worldToLocal(e, toward);
61
63
  if (lx === 0 && ly === 0) return [e.x, e.y];
62
64
  const a = lx / e.rx;
@@ -1 +1 @@
1
- {"version":3,"file":"ellipse.d.ts","sourceRoot":"","sources":["../../../src/geometry/ellipse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAgB,MAAM,QAAQ,CAAC;AAEjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,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,kBAAkB,KAAG,QAAQ;IAqC1D;;;OAGG;uBACkB,OAAO,UAAU,QAAQ,KAAG,QAAQ;IAQvD,qDAAqD;mBACtC,OAAO,QAAQ,IAAI,KAAK,MAAM,KAAG,QAAQ;CAIzD,CAAC"}
1
+ {"version":3,"file":"ellipse.d.ts","sourceRoot":"","sources":["../../../src/geometry/ellipse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAgB,MAAM,QAAQ,CAAC;AAEjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,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;IAK9C;;;OAGG;gBACW,OAAO,QAAQ,kBAAkB,KAAG,QAAQ;IAqC1D;;;OAGG;uBACkB,OAAO,UAAU,QAAQ,KAAG,QAAQ;IASvD,qDAAqD;mBACtC,OAAO,QAAQ,IAAI,KAAK,MAAM,KAAG,QAAQ;CAIzD,CAAC"}
@@ -9,4 +9,8 @@ export * from './bend';
9
9
  export * from './arc';
10
10
  export * from './segment';
11
11
  export * from './contour';
12
+ export { EDGE_ENDS, lerpPoint, edgeAngleDeg, polylineViaVertex } from './edge';
13
+ export type { Side } from './edge';
14
+ export { localToWorld, worldToLocal } from './transform';
15
+ export type { CenteredShape } from './transform';
12
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/geometry/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/geometry/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC/E,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -60,6 +60,29 @@ var ellipseArcSegmentSample = (center, rx, ry, startAngleDeg, endAngleDeg, t) =>
60
60
  var circleSegmentSample = (center, radius, t) => sampleEllipseArc(center, radius, radius, 0, 360, t);
61
61
  /** 整椭圆,参数化 (rx·cos(2πt), ry·sin(2πt)) */
62
62
  var ellipseSegmentSample = (center, rx, ry, t) => sampleEllipseArc(center, rx, ry, 0, 360, t);
63
+ /**
64
+ * 矩形周长段:两对角 → 闭合周长上 t∈[0,1] 的点 / 切线
65
+ * @description 4 条边按 rectOutline 的顺时针绕向(y-down:左上→右上→右下→左下→闭合回左上)均分参数,
66
+ * 每条边占 1/4 t;切线 = 该边方向。忽略 cornerRadius(采尖角折线周长),mark 落在直边上精确、
67
+ * 贴近圆角处略偏轮廓——对中段 marking 足够。退化(零宽 / 零高)由 lineSegmentSample 的零切线回退兜底。
68
+ */
69
+ var rectPerimeterSample = (from, to, t) => {
70
+ const x0 = Math.min(from[0], to[0]);
71
+ const x1 = Math.max(from[0], to[0]);
72
+ const y0 = Math.min(from[1], to[1]);
73
+ const y1 = Math.max(from[1], to[1]);
74
+ const corners = [
75
+ [x0, y0],
76
+ [x1, y0],
77
+ [x1, y1],
78
+ [x0, y1],
79
+ [x0, y0]
80
+ ];
81
+ const scaled = (t <= 0 ? 0 : t >= 1 ? 1 : t) * 4;
82
+ const edge = Math.min(Math.floor(scaled), 3);
83
+ const localT = scaled - edge;
84
+ return lineSegmentSample(corners[edge], corners[edge + 1], localT);
85
+ };
63
86
  //#endregion
64
87
  exports.arcSegmentSample = arcSegmentSample;
65
88
  exports.circleSegmentSample = circleSegmentSample;
@@ -69,3 +92,4 @@ exports.ellipseSegmentSample = ellipseSegmentSample;
69
92
  exports.foldSegmentSample = foldSegmentSample;
70
93
  exports.lineSegmentSample = lineSegmentSample;
71
94
  exports.quadSegmentSample = quadSegmentSample;
95
+ exports.rectPerimeterSample = rectPerimeterSample;
@@ -34,4 +34,11 @@ export declare const ellipseArcSegmentSample: (center: Position, rx: number, ry:
34
34
  export declare const circleSegmentSample: (center: Position, radius: number, t: number) => SegmentSample;
35
35
  /** 整椭圆,参数化 (rx·cos(2πt), ry·sin(2πt)) */
36
36
  export declare const ellipseSegmentSample: (center: Position, rx: number, ry: number, t: number) => SegmentSample;
37
+ /**
38
+ * 矩形周长段:两对角 → 闭合周长上 t∈[0,1] 的点 / 切线
39
+ * @description 4 条边按 rectOutline 的顺时针绕向(y-down:左上→右上→右下→左下→闭合回左上)均分参数,
40
+ * 每条边占 1/4 t;切线 = 该边方向。忽略 cornerRadius(采尖角折线周长),mark 落在直边上精确、
41
+ * 贴近圆角处略偏轮廓——对中段 marking 足够。退化(零宽 / 零高)由 lineSegmentSample 的零切线回退兜底。
42
+ */
43
+ export declare const rectPerimeterSample: (from: Position, to: Position, t: number) => SegmentSample;
37
44
  //# sourceMappingURL=segment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"segment.d.ts","sourceRoot":"","sources":["../../../src/geometry/segment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAqB,MAAM,SAAS,CAAC;AAiB3D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,wBAAwB;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAqBF,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,aAAwF,CAAC;AAE5F,gEAAgE;AAChE,eAAO,MAAM,uBAAuB,GAClC,QAAQ,QAAQ,EAChB,IAAI,MAAM,EACV,IAAI,MAAM,EACV,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,GAAG,MAAM,KACR,aAAgF,CAAC;AAEpF,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,QAAQ,EAChB,QAAQ,MAAM,EACd,GAAG,MAAM,KACR,aAAoE,CAAC;AAExE,yCAAyC;AACzC,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,QAAQ,EAChB,IAAI,MAAM,EACV,IAAI,MAAM,EACV,GAAG,MAAM,KACR,aAA4D,CAAC"}
1
+ {"version":3,"file":"segment.d.ts","sourceRoot":"","sources":["../../../src/geometry/segment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAqB,MAAM,SAAS,CAAC;AAiB3D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,wBAAwB;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAqBF,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,aAAwF,CAAC;AAE5F,gEAAgE;AAChE,eAAO,MAAM,uBAAuB,GAClC,QAAQ,QAAQ,EAChB,IAAI,MAAM,EACV,IAAI,MAAM,EACV,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,GAAG,MAAM,KACR,aAAgF,CAAC;AAEpF,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,QAAQ,EAChB,QAAQ,MAAM,EACd,GAAG,MAAM,KACR,aAAoE,CAAC;AAExE,yCAAyC;AACzC,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,QAAQ,EAChB,IAAI,MAAM,EACV,IAAI,MAAM,EACV,GAAG,MAAM,KACR,aAA4D,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,QAAQ,EACd,IAAI,QAAQ,EACZ,GAAG,MAAM,KACR,aAkBF,CAAC"}
@@ -34,6 +34,7 @@ const require_define$1 = require("./arrows/define.cjs");
34
34
  const require_index$1 = require("./arrows/index.cjs");
35
35
  const require_define$2 = require("./patterns/define.cjs");
36
36
  const require_index$2 = require("./patterns/index.cjs");
37
+ const require_constant = require("./compile/constant.cjs");
37
38
  const require_text_metrics = require("./compile/text-metrics.cjs");
38
39
  const require_layout = require("./compile/layout.cjs");
39
40
  const require_compile = require("./compile/compile.cjs");
@@ -59,6 +60,7 @@ exports.ArcStepSchema = require_step.ArcStepSchema;
59
60
  exports.ArrowDefaultSchema = require_scope.ArrowDefaultSchema;
60
61
  exports.ArrowDetailSchema = require_arrow.ArrowDetailSchema;
61
62
  exports.ArrowEndDetailSchema = require_arrow.ArrowEndDetailSchema;
63
+ exports.ArrowMarkSchema = require_path.ArrowMarkSchema;
62
64
  exports.ArrowShape = require_arrow.ArrowShape;
63
65
  exports.AtDirection = require_at_position.AtDirection;
64
66
  exports.AtPositionSchema = require_at_position.AtPositionSchema;
@@ -75,6 +77,7 @@ exports.ChildSchema = require_scene.ChildSchema;
75
77
  exports.CirclePathStepSchema = require_step.CirclePathStepSchema;
76
78
  exports.ClipSpecSchema = require_clip.ClipSpecSchema;
77
79
  exports.CompassAnchor = require_anchor.CompassAnchor;
80
+ exports.CompileWarningCode = require_constant.CompileWarningCode;
78
81
  exports.CompositeBaseSchema = require_composite.CompositeBaseSchema;
79
82
  exports.ControlPointSchema = require_step.ControlPointSchema;
80
83
  exports.CoordinateSchema = require_coordinate.CoordinateSchema;
@@ -86,6 +89,7 @@ exports.DrawWay = require_way.DrawWay;
86
89
  exports.EasingSchema = require_animation.EasingSchema;
87
90
  exports.EllipsePathStepSchema = require_step.EllipsePathStepSchema;
88
91
  exports.FoldStepSchema = require_step.FoldStepSchema;
92
+ exports.FoldStepVia = require_step.FoldStepVia;
89
93
  exports.FontSchema = require_font.FontSchema;
90
94
  exports.GeneratorStepSchema = require_step.GeneratorStepSchema;
91
95
  exports.GradientStopSchema = require_paint.GradientStopSchema;
@@ -106,6 +110,7 @@ exports.OffsetPositionSchema = require_offset_position.OffsetPositionSchema;
106
110
  exports.OriginSchema = require_animation.OriginSchema;
107
111
  exports.PaintSpecSchema = require_paint.PaintSpecSchema;
108
112
  exports.PathDefaultSchema = require_scope.PathDefaultSchema;
113
+ exports.PathScaleSchema = require_path.PathScaleSchema;
109
114
  exports.PathSchema = require_path.PathSchema;
110
115
  exports.PatternShape = require_paint.PatternShape;
111
116
  exports.PolarPositionSchema = require_polar_position.PolarPositionSchema;
@@ -141,6 +146,7 @@ exports.ellipse = require_ellipse.ellipse;
141
146
  exports.fadeIn = require_animation$1.fadeIn;
142
147
  exports.fallbackMeasurer = require_text_metrics.fallbackMeasurer;
143
148
  exports.flash = require_animation$1.flash;
149
+ exports.formatCompileWarning = require_constant.formatCompileWarning;
144
150
  exports.grow = require_animation$1.grow;
145
151
  exports.growUp = require_animation$1.growUp;
146
152
  exports.localToWorld = require_transform$1.localToWorld;
@@ -2,8 +2,8 @@
2
2
  * @retikz/core 公开 API
3
3
  * @description 任何 framework adapter(@retikz/react、@retikz/vue、@retikz/render/canvas、@retikz/ssr)只能 import 本文件导出内容,不准走子路径。本包零 React/零 DOM 依赖
4
4
  */
5
- export { PositionSchema, PolarPositionSchema, AtPositionSchema, OffsetPositionSchema, AtDirection, TargetSchema, AnchorRefSchema, NodeTargetSchema, RelativeTargetSchema, RelativeAccumulateTargetSchema, AbsoluteTargetSchema, BetweenPositionSchema, MoveStepSchema, LineStepSchema, FoldStepSchema, CycleStepSchema, CurveStepSchema, CubicStepSchema, BendStepSchema, ArcStepSchema, CirclePathStepSchema, EllipsePathStepSchema, RectangleStepSchema, GeneratorStepSchema, ControlPointSchema, StepLabelSchema, StepSchema, NodeSchema, NodeLabelSchema, ShapeRefSchema, CoordinateSchema, FontSchema, TextBlockSchema, LineSpecSchema, PathSchema, ArrowDetailSchema, ArrowEndDetailSchema, ScopeSchema, CompositeBaseSchema, NodeDefaultSchema, PathDefaultSchema, LabelDefaultSchema, ArrowDefaultSchema, TransformSchema, ChildSchema, SceneSchema, CURRENT_IR_VERSION, PaintSpecSchema, GradientStopSchema, JsonValueSchema, JsonObjectSchema, ClipSpecSchema, ViewBoxSchema, } from './ir';
6
- export type { IRPosition, IRAtPosition, IROffsetPosition, AtDirectionValue, IRTarget, IRAnchorRef, IRNodeTarget, IRRelativeTarget, IRRelativeAccumulateTarget, IRAbsoluteTarget, IRBetweenPosition, IRMoveStep, IRLineStep, IRFoldStep, IRCycleStep, IRCurveStep, IRCubicStep, IRBendStep, IRArcStep, IRCirclePathStep, IREllipsePathStep, IRRectangleStep, IRGeneratorStep, IRControlPoint, IRStepLabel, IRStep, IRNode, IRNodeLabel, IRShapeRef, IRCoordinate, IRFont, IRLineSpec, IRTextBlock, IRPath, IRScope, IRComposite, IRNodeDefault, IRPathDefault, IRLabelDefault, IRArrowDefault, StyleChannel, IRTransform, IRTranslateTransform, IRPolarTranslateTransform, IRAtTranslateTransform, IROffsetTranslateTransform, IRRotateTransform, IRScaleTransform, IRChild, IR, ArrowShapeValue, BuiltinArrowName, ArrowShapeName, IRArrowDetail, IRArrowEndDetail, NodeShape, BuiltinShapeName, BuiltinShapeValue, NodeTextAlignValue, PatternShapeValue, PatternShapeName, BuiltinPatternName, IRPaintSpec, IRGradientStop, JsonValue, IRJsonObject, IRClipSpec, IRViewBox, } from './ir';
5
+ export { PositionSchema, PolarPositionSchema, AtPositionSchema, OffsetPositionSchema, AtDirection, TargetSchema, AnchorRefSchema, NodeTargetSchema, RelativeTargetSchema, RelativeAccumulateTargetSchema, AbsoluteTargetSchema, BetweenPositionSchema, MoveStepSchema, LineStepSchema, FoldStepSchema, FoldStepVia, CycleStepSchema, CurveStepSchema, CubicStepSchema, BendStepSchema, ArcStepSchema, CirclePathStepSchema, EllipsePathStepSchema, RectangleStepSchema, GeneratorStepSchema, ControlPointSchema, StepLabelSchema, StepSchema, NodeSchema, NodeLabelSchema, ShapeRefSchema, CoordinateSchema, FontSchema, TextBlockSchema, LineSpecSchema, PathSchema, PathScaleSchema, ArrowMarkSchema, ArrowDetailSchema, ArrowEndDetailSchema, ScopeSchema, CompositeBaseSchema, NodeDefaultSchema, PathDefaultSchema, LabelDefaultSchema, ArrowDefaultSchema, TransformSchema, ChildSchema, SceneSchema, CURRENT_IR_VERSION, PaintSpecSchema, GradientStopSchema, JsonValueSchema, JsonObjectSchema, ClipSpecSchema, ViewBoxSchema, } from './ir';
6
+ export type { IRPosition, IRAtPosition, IROffsetPosition, AtDirectionValue, IRTarget, IRAnchorRef, IRNodeTarget, IRRelativeTarget, IRRelativeAccumulateTarget, IRAbsoluteTarget, IRBetweenPosition, IRMoveStep, IRLineStep, IRFoldStep, FoldStepViaValue, IRCycleStep, IRCurveStep, IRCubicStep, IRBendStep, IRArcStep, IRCirclePathStep, IREllipsePathStep, IRRectangleStep, IRGeneratorStep, IRControlPoint, IRStepLabel, IRStep, IRNode, IRNodeLabel, IRShapeRef, IRCoordinate, IRFont, IRLineSpec, IRTextBlock, IRPath, IRPathScale, IRArrowMark, IRScope, IRComposite, IRNodeDefault, IRPathDefault, IRLabelDefault, IRArrowDefault, StyleChannel, IRTransform, IRTranslateTransform, IRPolarTranslateTransform, IRAtTranslateTransform, IROffsetTranslateTransform, IRBetweenTranslateTransform, IRRotateTransform, IRScaleTransform, IRChild, IR, ArrowShapeValue, BuiltinArrowName, ArrowShapeName, IRArrowDetail, IRArrowEndDetail, NodeShape, BuiltinShapeName, BuiltinShapeValue, NodeTextAlignValue, PatternShapeValue, PatternShapeName, BuiltinPatternName, IRPaintSpec, IRGradientStop, JsonValue, IRJsonObject, IRClipSpec, IRViewBox, } from './ir';
7
7
  export { ArrowShape, DEFAULT_ARROW_SHAPE, HOLLOW_ARROW_SHAPES, ARROW_MARKER_DEFAULT_SIZE, ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH, BuiltinShape, NodeTextAlign, PatternShape, Boundary, BoundarySchema, AnimationProperty, AnimationEasing, AnimationDirection, AnimationFill, AnimationTrigger, AnimationTrackSchema, KeyframeSchema, TriggerSchema, EasingSchema, OriginSchema, } from './ir';
8
8
  export type { BoundaryValue, IRBoundary } from './ir';
9
9
  export type { BuiltinAnimationProperty, AnimationPropertyRef, AnimationEasingValue, AnimationDirectionValue, AnimationFillValue, AnimationTriggerValue, IRAnimationTrack, IRKeyframe, IRAnimationTrigger, IRAnimationOrigin, } from './ir';
@@ -18,8 +18,8 @@ ClipResource, ClipShape,
18
18
  ResolvedPatternTile,
19
19
  /** marker 窄子集(ArrowDefinition.emit 产物,renderer-agnostic) */
20
20
  MarkerPrimitive, MarkerPathPrim, MarkerEllipsePrim, MarkerRectPrim, MarkerGroupPrim, MarkerPathCommand, MarkerFill, } from './primitive';
21
- export type { FontSpec, TextMetrics, TextMeasurer, CompileOptions, CompileWarning, } from './compile';
22
- export { computeLayout, fallbackMeasurer, compileToScene } from './compile';
21
+ export type { FontSpec, TextMetrics, TextMeasurer, CompileOptions, CompileWarning, CompileWarningCodeValue, } from './compile';
22
+ export { computeLayout, fallbackMeasurer, compileToScene, CompileWarningCode, formatCompileWarning } from './compile';
23
23
  export type { WayItem, WayDSL, WayCycle, WayVia, WayRelativeItem, WayLabel, WayLabelOp, } from './parsers';
24
24
  export { parseWay, DrawWay, parseTargetSugar, parseNodeTarget } from './parsers';
25
25
  export { fadeIn, drawOn, scaleIn, grow, growUp, slideIn, colorShift, cameraTo, pulse, spin, loop, flash, blink, wiggle, stagger, } from './presets';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -61,7 +61,7 @@ var AnimationTrigger = {
61
61
  Visible: "visible",
62
62
  Manual: "manual"
63
63
  };
64
- var TriggerSchema = zod.z.union([zod.z.nativeEnum(AnimationTrigger), zod.z.object({ onEvent: zod.z.string().min(1).describe("Event name (e.g. \"click\") the runtime binds to start playback; the handler function never enters the IR.") })]).describe("When playback starts: \"load\" (on render, SSR-friendly) / \"visible\" (runtime IntersectionObserver) / \"manual\" (runtime API) / { onEvent } (bridge to hydration; only the event name is stored, never a callback). Defaults to \"load\".");
64
+ var TriggerSchema = zod.z.union([zod.z.enum(AnimationTrigger), zod.z.object({ onEvent: zod.z.string().min(1).describe("Event name (e.g. \"click\") the runtime binds to start playback; the handler function never enters the IR.") })]).describe("When playback starts: \"load\" (on render, SSR-friendly) / \"visible\" (runtime IntersectionObserver) / \"manual\" (runtime API) / { onEvent } (bridge to hydration; only the event name is stored, never a callback). Defaults to \"load\".");
65
65
  var OriginSchema = zod.z.union([zod.z.string().min(1).describe("Named transform pivot reusing the node anchor vocabulary (center / north / south / east / west / north-east / ... / south-west), resolved against the element boundary by the renderer."), zod.z.tuple([zod.z.number().finite(), zod.z.number().finite()]).describe("Explicit pivot in the element local coordinate space [x, y].")]).describe("Transform pivot for scale / scaleX / scaleY / rotate channels: a named anchor or an explicit local-space point. Ignored by non-transform channels. Defaults to the element geometric center.");
66
66
  var AnimationTrackSchema = zod.z.object({
67
67
  property: zod.z.string().min(1).describe("Renderer-agnostic animated channel. Built-in: opacity / fill / stroke / strokeWidth / translateX / translateY / rotate / scale (uniform) / scaleX / scaleY (non-uniform) / pathDraw (0..1 reveal) / viewBox (scene-root camera only). Any other string is a custom channel that passes through to a renderer-registered interpolator. `viewBox` is valid only at the scene root (enforced at compile)."),
@@ -70,8 +70,8 @@ var AnimationTrackSchema = zod.z.object({
70
70
  delay: zod.z.number().finite().nonnegative().optional().describe("Delay before the first iteration, in milliseconds (>= 0). Group-level stagger is compiled by sugar into per-track delays."),
71
71
  easing: EasingSchema.optional().describe("Track-level easing applied to each segment that lacks its own keyframe easing. Defaults to linear."),
72
72
  iterations: zod.z.union([zod.z.number().finite().positive(), zod.z.literal("infinite")]).optional().describe("Total play count (WAAPI iterations): a positive number (may be fractional) or \"infinite\". Omitted = 1 = play once."),
73
- direction: zod.z.nativeEnum(AnimationDirection).optional().describe("Per-iteration playback direction (WAAPI / CSS animation-direction). Defaults to \"normal\"."),
74
- fill: zod.z.nativeEnum(AnimationFill).optional().describe("Value held outside the active interval (WAAPI / CSS fill-mode). Defaults to \"forwards\" so the element settles at its base (end) state, matching the static-settled invariant."),
73
+ direction: zod.z.enum(AnimationDirection).optional().describe("Per-iteration playback direction (WAAPI / CSS animation-direction). Defaults to \"normal\"."),
74
+ fill: zod.z.enum(AnimationFill).optional().describe("Value held outside the active interval (WAAPI / CSS fill-mode). Defaults to \"forwards\" so the element settles at its base (end) state, matching the static-settled invariant."),
75
75
  trigger: TriggerSchema.optional().describe("Playback trigger; defaults to \"load\"."),
76
76
  origin: OriginSchema.optional().describe("Transform pivot for scale / scaleX / scaleY / rotate channels; ignored by other channels. Defaults to the element geometric center.")
77
77
  }).superRefine((track, ctx) => {
@@ -95,19 +95,19 @@ var AnimationTrackSchema = zod.z.object({
95
95
  ];
96
96
  if (track.property === AnimationProperty.ViewBox) {
97
97
  if (!Array.isArray(value) || value.length !== 4) ctx.addIssue({
98
- code: zod.z.ZodIssueCode.custom,
98
+ code: "custom",
99
99
  path,
100
100
  message: "viewBox keyframe value must be a 4-number array [x, y, w, h]"
101
101
  });
102
102
  } else if (track.property === AnimationProperty.Fill || track.property === AnimationProperty.Stroke) {
103
103
  if (typeof value !== "string") ctx.addIssue({
104
- code: zod.z.ZodIssueCode.custom,
104
+ code: "custom",
105
105
  path,
106
106
  message: `${track.property} keyframe value must be a color string`
107
107
  });
108
108
  } else if (numeric.has(track.property)) {
109
109
  if (typeof value !== "number") ctx.addIssue({
110
- code: zod.z.ZodIssueCode.custom,
110
+ code: "custom",
111
111
  path,
112
112
  message: `${track.property} keyframe value must be a number`
113
113
  });
@@ -54,20 +54,12 @@ export declare const AnimationFill: {
54
54
  };
55
55
  /** 填充模式名联合 */
56
56
  export type AnimationFillValue = ValueOf<typeof AnimationFill>;
57
- export declare const EasingSchema: z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
57
+ export declare const EasingSchema: z.ZodUnion<readonly [z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
58
58
  export declare const KeyframeSchema: z.ZodObject<{
59
59
  at: z.ZodNumber;
60
- value: z.ZodType<import('./json').JsonValue, z.ZodTypeDef, import('./json').JsonValue>;
61
- easing: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
62
- }, "strip", z.ZodTypeAny, {
63
- value: import('./json').JsonValue;
64
- at: number;
65
- easing?: string | [number, number, number, number] | undefined;
66
- }, {
67
- value: import('./json').JsonValue;
68
- at: number;
69
- easing?: string | [number, number, number, number] | undefined;
70
- }>;
60
+ value: z.ZodType<import('./json').JsonValue, unknown, z.core.$ZodTypeInternals<import('./json').JsonValue, unknown>>;
61
+ easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
62
+ }, z.core.$strip>;
71
63
  /** 播放触发器关键字(runtime 落地;DrawWay 风格 const + 派生类型,与其它 Animation 枚举单一真源一致) */
72
64
  export declare const AnimationTrigger: {
73
65
  readonly Load: "load";
@@ -76,138 +68,46 @@ export declare const AnimationTrigger: {
76
68
  };
77
69
  /** 触发器关键字联合(不含 { onEvent } 对象形态) */
78
70
  export type AnimationTriggerValue = ValueOf<typeof AnimationTrigger>;
79
- export declare const TriggerSchema: z.ZodUnion<[z.ZodNativeEnum<{
71
+ export declare const TriggerSchema: z.ZodUnion<readonly [z.ZodEnum<{
80
72
  readonly Load: "load";
81
73
  readonly Visible: "visible";
82
74
  readonly Manual: "manual";
83
75
  }>, z.ZodObject<{
84
76
  onEvent: z.ZodString;
85
- }, "strip", z.ZodTypeAny, {
86
- onEvent: string;
87
- }, {
88
- onEvent: string;
89
- }>]>;
90
- export declare const OriginSchema: z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>;
91
- export declare const AnimationTrackSchema: z.ZodEffects<z.ZodObject<{
77
+ }, z.core.$strip>]>;
78
+ export declare const OriginSchema: z.ZodUnion<readonly [z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>;
79
+ export declare const AnimationTrackSchema: z.ZodObject<{
92
80
  property: z.ZodString;
93
- keyframes: z.ZodEffects<z.ZodArray<z.ZodObject<{
81
+ keyframes: z.ZodArray<z.ZodObject<{
94
82
  at: z.ZodNumber;
95
- value: z.ZodType<import('./json').JsonValue, z.ZodTypeDef, import('./json').JsonValue>;
96
- easing: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
97
- }, "strip", z.ZodTypeAny, {
98
- value: import('./json').JsonValue;
99
- at: number;
100
- easing?: string | [number, number, number, number] | undefined;
101
- }, {
102
- value: import('./json').JsonValue;
103
- at: number;
104
- easing?: string | [number, number, number, number] | undefined;
105
- }>, "many">, {
106
- value: import('./json').JsonValue;
107
- at: number;
108
- easing?: string | [number, number, number, number] | undefined;
109
- }[], {
110
- value: import('./json').JsonValue;
111
- at: number;
112
- easing?: string | [number, number, number, number] | undefined;
113
- }[]>;
83
+ value: z.ZodType<import('./json').JsonValue, unknown, z.core.$ZodTypeInternals<import('./json').JsonValue, unknown>>;
84
+ easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
85
+ }, z.core.$strip>>;
114
86
  duration: z.ZodNumber;
115
87
  delay: z.ZodOptional<z.ZodNumber>;
116
- easing: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
117
- iterations: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"infinite">]>>;
118
- direction: z.ZodOptional<z.ZodNativeEnum<{
88
+ easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
89
+ iterations: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"infinite">]>>;
90
+ direction: z.ZodOptional<z.ZodEnum<{
119
91
  readonly Normal: "normal";
120
92
  readonly Reverse: "reverse";
121
93
  readonly Alternate: "alternate";
122
94
  readonly AlternateReverse: "alternate-reverse";
123
95
  }>>;
124
- fill: z.ZodOptional<z.ZodNativeEnum<{
96
+ fill: z.ZodOptional<z.ZodEnum<{
125
97
  readonly None: "none";
126
98
  readonly Forwards: "forwards";
127
99
  readonly Backwards: "backwards";
128
100
  readonly Both: "both";
129
101
  }>>;
130
- trigger: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
102
+ trigger: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
131
103
  readonly Load: "load";
132
104
  readonly Visible: "visible";
133
105
  readonly Manual: "manual";
134
106
  }>, z.ZodObject<{
135
107
  onEvent: z.ZodString;
136
- }, "strip", z.ZodTypeAny, {
137
- onEvent: string;
138
- }, {
139
- onEvent: string;
140
- }>]>>;
141
- origin: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>>;
142
- }, "strip", z.ZodTypeAny, {
143
- property: string;
144
- keyframes: {
145
- value: import('./json').JsonValue;
146
- at: number;
147
- easing?: string | [number, number, number, number] | undefined;
148
- }[];
149
- duration: number;
150
- fill?: "none" | "forwards" | "backwards" | "both" | undefined;
151
- origin?: string | [number, number] | undefined;
152
- direction?: "reverse" | "normal" | "alternate" | "alternate-reverse" | undefined;
153
- easing?: string | [number, number, number, number] | undefined;
154
- delay?: number | undefined;
155
- iterations?: number | "infinite" | undefined;
156
- trigger?: "load" | "visible" | "manual" | {
157
- onEvent: string;
158
- } | undefined;
159
- }, {
160
- property: string;
161
- keyframes: {
162
- value: import('./json').JsonValue;
163
- at: number;
164
- easing?: string | [number, number, number, number] | undefined;
165
- }[];
166
- duration: number;
167
- fill?: "none" | "forwards" | "backwards" | "both" | undefined;
168
- origin?: string | [number, number] | undefined;
169
- direction?: "reverse" | "normal" | "alternate" | "alternate-reverse" | undefined;
170
- easing?: string | [number, number, number, number] | undefined;
171
- delay?: number | undefined;
172
- iterations?: number | "infinite" | undefined;
173
- trigger?: "load" | "visible" | "manual" | {
174
- onEvent: string;
175
- } | undefined;
176
- }>, {
177
- property: string;
178
- keyframes: {
179
- value: import('./json').JsonValue;
180
- at: number;
181
- easing?: string | [number, number, number, number] | undefined;
182
- }[];
183
- duration: number;
184
- fill?: "none" | "forwards" | "backwards" | "both" | undefined;
185
- origin?: string | [number, number] | undefined;
186
- direction?: "reverse" | "normal" | "alternate" | "alternate-reverse" | undefined;
187
- easing?: string | [number, number, number, number] | undefined;
188
- delay?: number | undefined;
189
- iterations?: number | "infinite" | undefined;
190
- trigger?: "load" | "visible" | "manual" | {
191
- onEvent: string;
192
- } | undefined;
193
- }, {
194
- property: string;
195
- keyframes: {
196
- value: import('./json').JsonValue;
197
- at: number;
198
- easing?: string | [number, number, number, number] | undefined;
199
- }[];
200
- duration: number;
201
- fill?: "none" | "forwards" | "backwards" | "both" | undefined;
202
- origin?: string | [number, number] | undefined;
203
- direction?: "reverse" | "normal" | "alternate" | "alternate-reverse" | undefined;
204
- easing?: string | [number, number, number, number] | undefined;
205
- delay?: number | undefined;
206
- iterations?: number | "infinite" | undefined;
207
- trigger?: "load" | "visible" | "manual" | {
208
- onEvent: string;
209
- } | undefined;
210
- }>;
108
+ }, z.core.$strip>]>>;
109
+ origin: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>>;
110
+ }, z.core.$strip>;
211
111
  /** 时间轴动画 track(renderer 无关、JSON 可序列化、无函数;keyframe 给绝对展示值、末帧 = 元素 base 终态) */
212
112
  export type IRAnimationTrack = z.infer<typeof AnimationTrackSchema>;
213
113
  /** 单个动画关键帧 */
@@ -1 +1 @@
1
- {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../src/ir/animation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAapB,CAAC;AACX,mBAAmB;AACnB,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACvE,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAC9D,kFAAkF;AAClF,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE5E,8DAA8D;AAC9D,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AACX,cAAc;AACd,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,eAAe,CAAC,CAAC;AAEnE,mDAAmD;AACnD,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AACX,cAAc;AACd,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEzE,iDAAiD;AACjD,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AACX,cAAc;AACd,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;AAE/D,eAAO,MAAM,YAAY,mGAOtB,CAAC;AAEJ,eAAO,MAAM,cAAc;;;;;;;;;;;;EAgBgF,CAAC;AAE5G,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB;;;;CAAkE,CAAC;AAChG,oCAAoC;AACpC,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAErE,eAAO,MAAM,aAAa;;;;;;;;;;IAYvB,CAAC;AAEJ,eAAO,MAAM,YAAY,yEActB,CAAC;AAEJ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmF9B,CAAC;AAEJ,6EAA6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,cAAc;AACd,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,qDAAqD;AACrD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../src/ir/animation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAapB,CAAC;AACX,mBAAmB;AACnB,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACvE,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAC9D,kFAAkF;AAClF,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE5E,8DAA8D;AAC9D,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AACX,cAAc;AACd,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,eAAe,CAAC,CAAC;AAEnE,mDAAmD;AACnD,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AACX,cAAc;AACd,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEzE,iDAAiD;AACjD,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AACX,cAAc;AACd,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;AAE/D,eAAO,MAAM,YAAY,4GAOtB,CAAC;AAEJ,eAAO,MAAM,cAAc;;;;iBAgBgF,CAAC;AAE5G,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB;;;;CAAkE,CAAC;AAChG,oCAAoC;AACpC,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAErE,eAAO,MAAM,aAAa;;;;;;mBAYvB,CAAC;AAEJ,eAAO,MAAM,YAAY,kFActB,CAAC;AAEJ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmF9B,CAAC;AAEJ,6EAA6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,cAAc;AACd,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,qDAAqD;AACrD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -1,16 +1,10 @@
1
1
  import { z } from 'zod';
2
2
  import { ValueOf } from '../types';
3
3
  /** 连接面引用:保留字 'shape'/'circle' 或借用已注册 shape(裸名 / {type, params}) */
4
- export declare const BoundarySchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
4
+ export declare const BoundarySchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
5
5
  type: z.ZodString;
6
- params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import('./json').JsonValue, z.ZodTypeDef, import('./json').JsonValue>>>;
7
- }, "strip", z.ZodTypeAny, {
8
- type: string;
9
- params?: Record<string, import('./json').JsonValue> | undefined;
10
- }, {
11
- type: string;
12
- params?: Record<string, import('./json').JsonValue> | undefined;
13
- }>]>;
6
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import('./json').JsonValue, unknown, z.core.$ZodTypeInternals<import('./json').JsonValue, unknown>>>>;
7
+ }, z.core.$strip>]>;
14
8
  /** 连接面引用类型('shape' | 'circle' | 其它 shape 名 | {type, params}) */
15
9
  export type IRBoundary = z.infer<typeof BoundarySchema>;
16
10
  /** 连接面保留关键字:非「借用已注册 shape」的两个内置语义(编译期消解) */
@@ -1 +1 @@
1
- {"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../../src/ir/boundary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC,mEAAmE;AACnE,eAAO,MAAM,cAAc;;;;;;;;;IAIxB,CAAC;AAEJ,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,4CAA4C;AAC5C,eAAO,MAAM,QAAQ;IACnB,yBAAyB;;IAEzB,sDAAsD;;CAE9C,CAAC;AAEX,uDAAuD;AACvD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../../src/ir/boundary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC,mEAAmE;AACnE,eAAO,MAAM,cAAc;;;mBAIxB,CAAC;AAEJ,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,4CAA4C;AAC5C,eAAO,MAAM,QAAQ;IACnB,yBAAyB;;IAEzB,sDAAsD;;CAE9C,CAAC;AAEX,uDAAuD;AACvD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,QAAQ,CAAC,CAAC"}