@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
@@ -5,6 +5,7 @@ const require_contour$1 = require("./contour.cjs");
5
5
  let zod = require("zod");
6
6
  //#region src/shapes/star.ts
7
7
  var DEG_TO_RAD = Math.PI / 180;
8
+ var MAX_STAR_POINTS = 1024;
8
9
  /**
9
10
  * 计算 star 单一真源几何
10
11
  * @description 局部系以中心为原点:顶点 k 角 = (rotate ?? 0) + k·(180/points) − 90,半径偶 outer / 奇 inner,
@@ -58,7 +59,7 @@ var worldVertices = (rect, geo) => geo.vertices.map((v) => toWorld(rect, v));
58
59
  */
59
60
  var star = require_define.defineShape({
60
61
  paramsSchema: zod.z.strictObject({
61
- points: zod.z.number().int().min(3).describe("Number of star points (>= 3)."),
62
+ points: zod.z.number().int().min(3).max(MAX_STAR_POINTS).describe(`Number of star points (3..${MAX_STAR_POINTS}); capped to bound vertex count (mirrors polygon sides).`),
62
63
  innerRadius: zod.z.number().finite().positive().describe("Inner (notch) radius in user units."),
63
64
  outerRadius: zod.z.number().finite().positive().describe("Outer (tip) radius in user units; must be > innerRadius."),
64
65
  rotate: zod.z.number().finite().optional().describe("Shape self-rotation in degrees; default 0 = first tip points up (screen -y / top); positive rotates clockwise (screen). Composes with Node.rotate."),
@@ -1 +1 @@
1
- {"version":3,"file":"star.d.ts","sourceRoot":"","sources":["../../../src/shapes/star.ts"],"names":[],"mappings":"AAsFA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI,mCAiFf,CAAC"}
1
+ {"version":3,"file":"star.d.ts","sourceRoot":"","sources":["../../../src/shapes/star.ts"],"names":[],"mappings":"AAuFA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI,mCAkFf,CAAC"}
@@ -21,7 +21,8 @@ export type ShapeStyle = {
21
21
  /**
22
22
  * 一个 shape 的参数化可注册定义(定义点 typed 形态)
23
23
  * @description plain object(factory 友好:`createPolygonShape(6)` 这类普通函数返回它即可);含函数与
24
- * `paramsSchema`,**不进 IR**,走 `CompileOptions.shapes` 运行时注入。内置 4 shape 也是注册项(无内置特权)。
24
+ * `paramsSchema`,**不进 IR**,走 `CompileOptions.shapes` 运行时注入。内置 shape(rectangle / ellipse /
25
+ * sector / arc / polygon / star,circle / diamond 为 preset 别名)也是注册项(无内置特权)。
25
26
  * 每个计算函数末位收 per-instance `params`(类型由 `paramsSchema.parse` 在编译期保证),无参形状用
26
27
  * `z.strictObject({})` 并忽略 `params`。
27
28
  *
@@ -55,11 +56,17 @@ export type ShapeDefinitionInput<TParams extends IRJsonObject> = {
55
56
  circumscribeOffset?: (params: TParams) => Position;
56
57
  /** 中心 → toward 射线 ∩ 边界(rect 带 rotate);params 喂参数化边界。 */
57
58
  boundaryPoint: (rect: Rect, toward: Position, params: TParams) => Position;
58
- /** 命名 anchor 世界坐标;shape 不认识的名字返回 `undefined`(调用方据此抛清晰错误)。 */
59
+ /**
60
+ * 命名 anchor 世界坐标;shape 不认识的名字返回 `undefined`(调用方据此抛清晰错误)。
61
+ * @description compass 方位名(north / south / ... / center)的约定(与 TikZ 一致):默认连接面下 compile 先调本函数,
62
+ * shape 返回真实形状上的点即采用(如 ellipse 落真实周长、polygon 落外接 AABB);返回 `undefined` 则 compile
63
+ * 回退到外接 AABB 矩形。故 shape 作者可只实现 shape 专属命名 anchor(tip-N / apex 等),compass 名交回退即可;
64
+ * 要让 compass 贴真实形状边界(圆 / 椭圆类)才需自行处理 compass。
65
+ */
59
66
  anchor: (rect: Rect, name: string, params: TParams) => Position | undefined;
60
67
  /**
61
68
  * 边上比例点:side 真实边界从约定起点起 t∈[0,1] 处(轴对齐空间求出后由 layout 投回世界系)。
62
- * @description 可选——内置 4 shape 必实现,不实现的 shape 收到 `{ side, t }` 时编译期(resolveEdgePoint)抛明确错。
69
+ * @description 可选——目前仅 rectangle / ellipse 实现;未实现的 shape(polygon / sector / arc / star)收到 `{ side, t }` 时编译期(resolveEdgePoint)抛明确错。
63
70
  * 与 `anchor` 同坐标语义:收**带 rotate 的 Rect**,自行用 worldToLocal/localToWorld 处理旋转。
64
71
  */
65
72
  edgePoint?: (rect: Rect, side: 'north' | 'south' | 'east' | 'west', t: number, params: TParams) => Position;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shapes/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE/D;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,YAAY,IAAI;IAC/D,qEAAqE;IACrE,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC;;;;OAIG;IACH,YAAY,EAAE,CACZ,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,OAAO,KACZ;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,CAAC;IACnD,wDAAwD;IACxD,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,KAAK,QAAQ,CAAC;IAC3E,6DAA6D;IAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,QAAQ,GAAG,SAAS,CAAC;IAC5E;;;;OAIG;IACH,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EACzC,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,OAAO,KACZ,QAAQ,CAAC;IACd,0EAA0E;IAC1E,IAAI,EAAE,CACJ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAC5B,MAAM,EAAE,OAAO,KACZ,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CACpE,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shapes/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE/D;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,YAAY,IAAI;IAC/D,qEAAqE;IACrE,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC;;;;OAIG;IACH,YAAY,EAAE,CACZ,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,OAAO,KACZ;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,CAAC;IACnD,wDAAwD;IACxD,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,KAAK,QAAQ,CAAC;IAC3E;;;;;;OAMG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,QAAQ,GAAG,SAAS,CAAC;IAC5E;;;;OAIG;IACH,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EACzC,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,OAAO,KACZ,QAAQ,CAAC;IACd,0EAA0E;IAC1E,IAAI,EAAE,CACJ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAC5B,MAAM,EAAE,OAAO,KACZ,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CACpE,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /** 获取对象所有值的联合类型,等价于 (typeof T)[keyof typeof T] */
2
2
  export type ValueOf<T extends object> = T[keyof T];
3
3
  /**
4
- * 类型层等价检查工具(internal idiom,公开 API 不导出)
4
+ * 类型层等价检查工具(从包根导出,供各包字段表互锁复用)
5
5
  * @description 当 A、B 完全等价时类型为 `true`,否则为 `false`——配合 `as const satisfies` 实现"字段表必须完备覆盖类型 key 集合"的互锁;漏字段或多字段 TS 编译期报错
6
6
  * @example
7
7
  * const NODE_FIELDS = ['id', 'shape'] as const satisfies ReadonlyArray<keyof IRNode>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@retikz/core",
3
- "version": "0.3.0-beta.1",
3
+ "version": "0.3.0-beta.2",
4
4
  "description": "retikz core: framework-agnostic IR, scene compiler, schemas, geometry, and parsers.",
5
5
  "type": "module",
6
6
  "author": "Pionpill",
@@ -37,7 +37,7 @@
37
37
  "dist/**/*"
38
38
  ],
39
39
  "dependencies": {
40
- "zod": "^3.23.8"
40
+ "zod": "^4.4.3"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/node": "^25.6.0",