@retikz/core 0.2.0-alpha.6 → 0.2.0-alpha.8

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 (171) hide show
  1. package/dist/es/arrows/index.d.ts +13 -0
  2. package/dist/es/arrows/index.d.ts.map +1 -0
  3. package/dist/es/arrows/index.js +118 -0
  4. package/dist/es/arrows/types.d.ts +43 -0
  5. package/dist/es/arrows/types.d.ts.map +1 -0
  6. package/dist/es/compile/compile.d.ts +26 -1
  7. package/dist/es/compile/compile.d.ts.map +1 -1
  8. package/dist/es/compile/compile.js +37 -4
  9. package/dist/es/compile/marker-prim.d.ts +22 -0
  10. package/dist/es/compile/marker-prim.d.ts.map +1 -0
  11. package/dist/es/compile/marker-prim.js +63 -0
  12. package/dist/es/compile/node.d.ts +19 -4
  13. package/dist/es/compile/node.d.ts.map +1 -1
  14. package/dist/es/compile/node.js +159 -29
  15. package/dist/es/compile/paint.d.ts +21 -0
  16. package/dist/es/compile/paint.d.ts.map +1 -0
  17. package/dist/es/compile/paint.js +94 -0
  18. package/dist/es/compile/path/index.d.ts +18 -0
  19. package/dist/es/compile/path/index.d.ts.map +1 -1
  20. package/dist/es/compile/path/index.js +260 -11
  21. package/dist/es/compile/path/relative.d.ts.map +1 -1
  22. package/dist/es/compile/path/relative.js +8 -0
  23. package/dist/es/compile/path/shrink.d.ts +19 -6
  24. package/dist/es/compile/path/shrink.d.ts.map +1 -1
  25. package/dist/es/compile/path/shrink.js +147 -25
  26. package/dist/es/geometry/bend.d.ts +7 -0
  27. package/dist/es/geometry/bend.d.ts.map +1 -1
  28. package/dist/es/geometry/bend.js +26 -1
  29. package/dist/es/index.d.ts +14 -4
  30. package/dist/es/index.d.ts.map +1 -1
  31. package/dist/es/index.js +7 -2
  32. package/dist/es/ir/index.d.ts +2 -0
  33. package/dist/es/ir/index.d.ts.map +1 -1
  34. package/dist/es/ir/json.d.ts +22 -0
  35. package/dist/es/ir/json.d.ts.map +1 -0
  36. package/dist/es/ir/json.js +25 -0
  37. package/dist/es/ir/node.d.ts +262 -9
  38. package/dist/es/ir/node.d.ts.map +1 -1
  39. package/dist/es/ir/node.js +9 -2
  40. package/dist/es/ir/paint.d.ts +154 -0
  41. package/dist/es/ir/paint.d.ts.map +1 -0
  42. package/dist/es/ir/paint.js +59 -0
  43. package/dist/es/ir/path/arrow.d.ts +52 -72
  44. package/dist/es/ir/path/arrow.d.ts.map +1 -1
  45. package/dist/es/ir/path/arrow.js +5 -5
  46. package/dist/es/ir/path/path.d.ts +637 -87
  47. package/dist/es/ir/path/path.d.ts.map +1 -1
  48. package/dist/es/ir/path/path.js +23 -2
  49. package/dist/es/ir/path/step.d.ts +363 -8
  50. package/dist/es/ir/path/step.d.ts.map +1 -1
  51. package/dist/es/ir/path/step.js +17 -4
  52. package/dist/es/ir/scope.d.ts +1874 -338
  53. package/dist/es/ir/scope.d.ts.map +1 -1
  54. package/dist/es/ir/scope.js +2 -1
  55. package/dist/es/pathGenerators/define.d.ts +16 -0
  56. package/dist/es/pathGenerators/define.d.ts.map +1 -0
  57. package/dist/es/pathGenerators/define.js +23 -0
  58. package/dist/es/pathGenerators/index.d.ts +9 -0
  59. package/dist/es/pathGenerators/index.d.ts.map +1 -0
  60. package/dist/es/pathGenerators/types.d.ts +45 -0
  61. package/dist/es/pathGenerators/types.d.ts.map +1 -0
  62. package/dist/es/patterns/index.d.ts +10 -0
  63. package/dist/es/patterns/index.d.ts.map +1 -0
  64. package/dist/es/patterns/index.js +83 -0
  65. package/dist/es/patterns/types.d.ts +38 -0
  66. package/dist/es/patterns/types.d.ts.map +1 -0
  67. package/dist/es/primitive/ellipse.d.ts +3 -5
  68. package/dist/es/primitive/ellipse.d.ts.map +1 -1
  69. package/dist/es/primitive/index.d.ts +1 -0
  70. package/dist/es/primitive/index.d.ts.map +1 -1
  71. package/dist/es/primitive/marker.d.ts +160 -0
  72. package/dist/es/primitive/marker.d.ts.map +1 -0
  73. package/dist/es/primitive/paint.d.ts +46 -0
  74. package/dist/es/primitive/paint.d.ts.map +1 -0
  75. package/dist/es/primitive/path.d.ts +25 -20
  76. package/dist/es/primitive/path.d.ts.map +1 -1
  77. package/dist/es/primitive/rect.d.ts +3 -2
  78. package/dist/es/primitive/rect.d.ts.map +1 -1
  79. package/dist/es/primitive/scene.d.ts +4 -0
  80. package/dist/es/primitive/scene.d.ts.map +1 -1
  81. package/dist/es/shapes/types.d.ts +2 -2
  82. package/dist/es/shapes/types.d.ts.map +1 -1
  83. package/dist/lib/arrows/index.cjs +118 -0
  84. package/dist/lib/arrows/index.d.ts +13 -0
  85. package/dist/lib/arrows/index.d.ts.map +1 -0
  86. package/dist/lib/arrows/types.d.ts +43 -0
  87. package/dist/lib/arrows/types.d.ts.map +1 -0
  88. package/dist/lib/compile/compile.cjs +38 -5
  89. package/dist/lib/compile/compile.d.ts +26 -1
  90. package/dist/lib/compile/compile.d.ts.map +1 -1
  91. package/dist/lib/compile/marker-prim.cjs +63 -0
  92. package/dist/lib/compile/marker-prim.d.ts +22 -0
  93. package/dist/lib/compile/marker-prim.d.ts.map +1 -0
  94. package/dist/lib/compile/node.cjs +159 -28
  95. package/dist/lib/compile/node.d.ts +19 -4
  96. package/dist/lib/compile/node.d.ts.map +1 -1
  97. package/dist/lib/compile/paint.cjs +94 -0
  98. package/dist/lib/compile/paint.d.ts +21 -0
  99. package/dist/lib/compile/paint.d.ts.map +1 -0
  100. package/dist/lib/compile/path/index.cjs +258 -9
  101. package/dist/lib/compile/path/index.d.ts +18 -0
  102. package/dist/lib/compile/path/index.d.ts.map +1 -1
  103. package/dist/lib/compile/path/relative.cjs +8 -0
  104. package/dist/lib/compile/path/relative.d.ts.map +1 -1
  105. package/dist/lib/compile/path/shrink.cjs +147 -25
  106. package/dist/lib/compile/path/shrink.d.ts +19 -6
  107. package/dist/lib/compile/path/shrink.d.ts.map +1 -1
  108. package/dist/lib/geometry/bend.cjs +26 -0
  109. package/dist/lib/geometry/bend.d.ts +7 -0
  110. package/dist/lib/geometry/bend.d.ts.map +1 -1
  111. package/dist/lib/index.cjs +14 -0
  112. package/dist/lib/index.d.ts +14 -4
  113. package/dist/lib/index.d.ts.map +1 -1
  114. package/dist/lib/ir/index.d.ts +2 -0
  115. package/dist/lib/ir/index.d.ts.map +1 -1
  116. package/dist/lib/ir/json.cjs +26 -0
  117. package/dist/lib/ir/json.d.ts +22 -0
  118. package/dist/lib/ir/json.d.ts.map +1 -0
  119. package/dist/lib/ir/node.cjs +9 -2
  120. package/dist/lib/ir/node.d.ts +262 -9
  121. package/dist/lib/ir/node.d.ts.map +1 -1
  122. package/dist/lib/ir/paint.cjs +61 -0
  123. package/dist/lib/ir/paint.d.ts +154 -0
  124. package/dist/lib/ir/paint.d.ts.map +1 -0
  125. package/dist/lib/ir/path/arrow.cjs +5 -5
  126. package/dist/lib/ir/path/arrow.d.ts +52 -72
  127. package/dist/lib/ir/path/arrow.d.ts.map +1 -1
  128. package/dist/lib/ir/path/path.cjs +22 -1
  129. package/dist/lib/ir/path/path.d.ts +637 -87
  130. package/dist/lib/ir/path/path.d.ts.map +1 -1
  131. package/dist/lib/ir/path/step.cjs +17 -3
  132. package/dist/lib/ir/path/step.d.ts +363 -8
  133. package/dist/lib/ir/path/step.d.ts.map +1 -1
  134. package/dist/lib/ir/scope.cjs +2 -1
  135. package/dist/lib/ir/scope.d.ts +1874 -338
  136. package/dist/lib/ir/scope.d.ts.map +1 -1
  137. package/dist/lib/pathGenerators/define.cjs +23 -0
  138. package/dist/lib/pathGenerators/define.d.ts +16 -0
  139. package/dist/lib/pathGenerators/define.d.ts.map +1 -0
  140. package/dist/lib/pathGenerators/index.d.ts +9 -0
  141. package/dist/lib/pathGenerators/index.d.ts.map +1 -0
  142. package/dist/lib/pathGenerators/types.d.ts +45 -0
  143. package/dist/lib/pathGenerators/types.d.ts.map +1 -0
  144. package/dist/lib/patterns/index.cjs +83 -0
  145. package/dist/lib/patterns/index.d.ts +10 -0
  146. package/dist/lib/patterns/index.d.ts.map +1 -0
  147. package/dist/lib/patterns/types.d.ts +38 -0
  148. package/dist/lib/patterns/types.d.ts.map +1 -0
  149. package/dist/lib/primitive/ellipse.d.ts +3 -5
  150. package/dist/lib/primitive/ellipse.d.ts.map +1 -1
  151. package/dist/lib/primitive/index.d.ts +1 -0
  152. package/dist/lib/primitive/index.d.ts.map +1 -1
  153. package/dist/lib/primitive/marker.d.ts +160 -0
  154. package/dist/lib/primitive/marker.d.ts.map +1 -0
  155. package/dist/lib/primitive/paint.d.ts +46 -0
  156. package/dist/lib/primitive/paint.d.ts.map +1 -0
  157. package/dist/lib/primitive/path.d.ts +25 -20
  158. package/dist/lib/primitive/path.d.ts.map +1 -1
  159. package/dist/lib/primitive/rect.d.ts +3 -2
  160. package/dist/lib/primitive/rect.d.ts.map +1 -1
  161. package/dist/lib/primitive/scene.d.ts +4 -0
  162. package/dist/lib/primitive/scene.d.ts.map +1 -1
  163. package/dist/lib/shapes/types.d.ts +2 -2
  164. package/dist/lib/shapes/types.d.ts.map +1 -1
  165. package/package.json +1 -1
  166. package/dist/es/compile/path/arrow-geometry.d.ts +0 -22
  167. package/dist/es/compile/path/arrow-geometry.d.ts.map +0 -1
  168. package/dist/es/compile/path/arrow-geometry.js +0 -40
  169. package/dist/lib/compile/path/arrow-geometry.cjs +0 -41
  170. package/dist/lib/compile/path/arrow-geometry.d.ts +0 -22
  171. package/dist/lib/compile/path/arrow-geometry.d.ts.map +0 -1
@@ -65,6 +65,19 @@ export declare const NodeLabelSchema: z.ZodObject<{
65
65
  }>>;
66
66
  rotate: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["none", "radial", "tangent"]>, z.ZodNumber]>>;
67
67
  keepUpright: z.ZodOptional<z.ZodBoolean>;
68
+ pin: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
69
+ stroke: z.ZodOptional<z.ZodString>;
70
+ strokeWidth: z.ZodOptional<z.ZodNumber>;
71
+ dashPattern: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
72
+ }, "strip", z.ZodTypeAny, {
73
+ stroke?: string | undefined;
74
+ strokeWidth?: number | undefined;
75
+ dashPattern?: number[] | undefined;
76
+ }, {
77
+ stroke?: string | undefined;
78
+ strokeWidth?: number | undefined;
79
+ dashPattern?: number[] | undefined;
80
+ }>]>>;
68
81
  }, "strip", z.ZodTypeAny, {
69
82
  text: string;
70
83
  distance?: number | undefined;
@@ -79,6 +92,11 @@ export declare const NodeLabelSchema: z.ZodObject<{
79
92
  textColor?: string | undefined;
80
93
  rotate?: number | "none" | "radial" | "tangent" | undefined;
81
94
  keepUpright?: boolean | undefined;
95
+ pin?: boolean | {
96
+ stroke?: string | undefined;
97
+ strokeWidth?: number | undefined;
98
+ dashPattern?: number[] | undefined;
99
+ } | undefined;
82
100
  }, {
83
101
  text: string;
84
102
  distance?: number | undefined;
@@ -93,6 +111,11 @@ export declare const NodeLabelSchema: z.ZodObject<{
93
111
  textColor?: string | undefined;
94
112
  rotate?: number | "none" | "radial" | "tangent" | undefined;
95
113
  keepUpright?: boolean | undefined;
114
+ pin?: boolean | {
115
+ stroke?: string | undefined;
116
+ strokeWidth?: number | undefined;
117
+ dashPattern?: number[] | undefined;
118
+ } | undefined;
96
119
  }>;
97
120
  /** Node label IR 类型 */
98
121
  export type IRNodeLabel = z.infer<typeof NodeLabelSchema>;
@@ -179,8 +202,112 @@ export declare const NodeSchema: z.ZodObject<{
179
202
  readonly right: "right";
180
203
  }>>;
181
204
  lineHeight: z.ZodOptional<z.ZodNumber>;
205
+ maxTextWidth: z.ZodOptional<z.ZodNumber>;
182
206
  color: z.ZodOptional<z.ZodString>;
183
- fill: z.ZodOptional<z.ZodString>;
207
+ fill: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
208
+ type: z.ZodLiteral<"linearGradient">;
209
+ stops: z.ZodArray<z.ZodObject<{
210
+ offset: z.ZodNumber;
211
+ color: z.ZodString;
212
+ opacity: z.ZodOptional<z.ZodNumber>;
213
+ }, "strip", z.ZodTypeAny, {
214
+ offset: number;
215
+ color: string;
216
+ opacity?: number | undefined;
217
+ }, {
218
+ offset: number;
219
+ color: string;
220
+ opacity?: number | undefined;
221
+ }>, "many">;
222
+ angle: z.ZodOptional<z.ZodNumber>;
223
+ }, "strip", z.ZodTypeAny, {
224
+ type: "linearGradient";
225
+ stops: {
226
+ offset: number;
227
+ color: string;
228
+ opacity?: number | undefined;
229
+ }[];
230
+ angle?: number | undefined;
231
+ }, {
232
+ type: "linearGradient";
233
+ stops: {
234
+ offset: number;
235
+ color: string;
236
+ opacity?: number | undefined;
237
+ }[];
238
+ angle?: number | undefined;
239
+ }>, z.ZodObject<{
240
+ type: z.ZodLiteral<"radialGradient">;
241
+ stops: z.ZodArray<z.ZodObject<{
242
+ offset: z.ZodNumber;
243
+ color: z.ZodString;
244
+ opacity: z.ZodOptional<z.ZodNumber>;
245
+ }, "strip", z.ZodTypeAny, {
246
+ offset: number;
247
+ color: string;
248
+ opacity?: number | undefined;
249
+ }, {
250
+ offset: number;
251
+ color: string;
252
+ opacity?: number | undefined;
253
+ }>, "many">;
254
+ center: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
255
+ radius: z.ZodOptional<z.ZodNumber>;
256
+ }, "strip", z.ZodTypeAny, {
257
+ type: "radialGradient";
258
+ stops: {
259
+ offset: number;
260
+ color: string;
261
+ opacity?: number | undefined;
262
+ }[];
263
+ radius?: number | undefined;
264
+ center?: [number, number] | undefined;
265
+ }, {
266
+ type: "radialGradient";
267
+ stops: {
268
+ offset: number;
269
+ color: string;
270
+ opacity?: number | undefined;
271
+ }[];
272
+ radius?: number | undefined;
273
+ center?: [number, number] | undefined;
274
+ }>, z.ZodObject<{
275
+ type: z.ZodLiteral<"pattern">;
276
+ shape: z.ZodString;
277
+ color: z.ZodOptional<z.ZodString>;
278
+ background: z.ZodOptional<z.ZodString>;
279
+ size: z.ZodOptional<z.ZodNumber>;
280
+ lineWidth: z.ZodOptional<z.ZodNumber>;
281
+ rotation: z.ZodOptional<z.ZodNumber>;
282
+ }, "strip", z.ZodTypeAny, {
283
+ type: "pattern";
284
+ shape: string;
285
+ size?: number | undefined;
286
+ color?: string | undefined;
287
+ background?: string | undefined;
288
+ lineWidth?: number | undefined;
289
+ rotation?: number | undefined;
290
+ }, {
291
+ type: "pattern";
292
+ shape: string;
293
+ size?: number | undefined;
294
+ color?: string | undefined;
295
+ background?: string | undefined;
296
+ lineWidth?: number | undefined;
297
+ rotation?: number | undefined;
298
+ }>, z.ZodObject<{
299
+ type: z.ZodLiteral<"image">;
300
+ href: z.ZodString;
301
+ fit: z.ZodOptional<z.ZodEnum<["fill", "contain", "cover"]>>;
302
+ }, "strip", z.ZodTypeAny, {
303
+ type: "image";
304
+ href: string;
305
+ fit?: "fill" | "contain" | "cover" | undefined;
306
+ }, {
307
+ type: "image";
308
+ href: string;
309
+ fit?: "fill" | "contain" | "cover" | undefined;
310
+ }>]>]>>;
184
311
  fillOpacity: z.ZodOptional<z.ZodNumber>;
185
312
  stroke: z.ZodOptional<z.ZodString>;
186
313
  drawOpacity: z.ZodOptional<z.ZodNumber>;
@@ -251,6 +378,19 @@ export declare const NodeSchema: z.ZodObject<{
251
378
  }>>;
252
379
  rotate: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["none", "radial", "tangent"]>, z.ZodNumber]>>;
253
380
  keepUpright: z.ZodOptional<z.ZodBoolean>;
381
+ pin: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
382
+ stroke: z.ZodOptional<z.ZodString>;
383
+ strokeWidth: z.ZodOptional<z.ZodNumber>;
384
+ dashPattern: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
385
+ }, "strip", z.ZodTypeAny, {
386
+ stroke?: string | undefined;
387
+ strokeWidth?: number | undefined;
388
+ dashPattern?: number[] | undefined;
389
+ }, {
390
+ stroke?: string | undefined;
391
+ strokeWidth?: number | undefined;
392
+ dashPattern?: number[] | undefined;
393
+ }>]>>;
254
394
  }, "strip", z.ZodTypeAny, {
255
395
  text: string;
256
396
  distance?: number | undefined;
@@ -265,6 +405,11 @@ export declare const NodeSchema: z.ZodObject<{
265
405
  textColor?: string | undefined;
266
406
  rotate?: number | "none" | "radial" | "tangent" | undefined;
267
407
  keepUpright?: boolean | undefined;
408
+ pin?: boolean | {
409
+ stroke?: string | undefined;
410
+ strokeWidth?: number | undefined;
411
+ dashPattern?: number[] | undefined;
412
+ } | undefined;
268
413
  }, {
269
414
  text: string;
270
415
  distance?: number | undefined;
@@ -279,6 +424,11 @@ export declare const NodeSchema: z.ZodObject<{
279
424
  textColor?: string | undefined;
280
425
  rotate?: number | "none" | "radial" | "tangent" | undefined;
281
426
  keepUpright?: boolean | undefined;
427
+ pin?: boolean | {
428
+ stroke?: string | undefined;
429
+ strokeWidth?: number | undefined;
430
+ dashPattern?: number[] | undefined;
431
+ } | undefined;
282
432
  }>, z.ZodArray<z.ZodObject<{
283
433
  text: z.ZodString;
284
434
  position: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
@@ -312,6 +462,19 @@ export declare const NodeSchema: z.ZodObject<{
312
462
  }>>;
313
463
  rotate: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["none", "radial", "tangent"]>, z.ZodNumber]>>;
314
464
  keepUpright: z.ZodOptional<z.ZodBoolean>;
465
+ pin: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
466
+ stroke: z.ZodOptional<z.ZodString>;
467
+ strokeWidth: z.ZodOptional<z.ZodNumber>;
468
+ dashPattern: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
469
+ }, "strip", z.ZodTypeAny, {
470
+ stroke?: string | undefined;
471
+ strokeWidth?: number | undefined;
472
+ dashPattern?: number[] | undefined;
473
+ }, {
474
+ stroke?: string | undefined;
475
+ strokeWidth?: number | undefined;
476
+ dashPattern?: number[] | undefined;
477
+ }>]>>;
315
478
  }, "strip", z.ZodTypeAny, {
316
479
  text: string;
317
480
  distance?: number | undefined;
@@ -326,6 +489,11 @@ export declare const NodeSchema: z.ZodObject<{
326
489
  textColor?: string | undefined;
327
490
  rotate?: number | "none" | "radial" | "tangent" | undefined;
328
491
  keepUpright?: boolean | undefined;
492
+ pin?: boolean | {
493
+ stroke?: string | undefined;
494
+ strokeWidth?: number | undefined;
495
+ dashPattern?: number[] | undefined;
496
+ } | undefined;
329
497
  }, {
330
498
  text: string;
331
499
  distance?: number | undefined;
@@ -340,6 +508,11 @@ export declare const NodeSchema: z.ZodObject<{
340
508
  textColor?: string | undefined;
341
509
  rotate?: number | "none" | "radial" | "tangent" | undefined;
342
510
  keepUpright?: boolean | undefined;
511
+ pin?: boolean | {
512
+ stroke?: string | undefined;
513
+ strokeWidth?: number | undefined;
514
+ dashPattern?: number[] | undefined;
515
+ } | undefined;
343
516
  }>, "many">]>>;
344
517
  zIndex: z.ZodOptional<z.ZodNumber>;
345
518
  }, "strip", z.ZodTypeAny, {
@@ -352,7 +525,39 @@ export declare const NodeSchema: z.ZodObject<{
352
525
  of: string | [number, number] | import('./position').PolarPosition;
353
526
  offset: [number, number];
354
527
  };
355
- fill?: string | undefined;
528
+ fill?: string | {
529
+ type: "linearGradient";
530
+ stops: {
531
+ offset: number;
532
+ color: string;
533
+ opacity?: number | undefined;
534
+ }[];
535
+ angle?: number | undefined;
536
+ } | {
537
+ type: "radialGradient";
538
+ stops: {
539
+ offset: number;
540
+ color: string;
541
+ opacity?: number | undefined;
542
+ }[];
543
+ radius?: number | undefined;
544
+ center?: [number, number] | undefined;
545
+ } | {
546
+ type: "pattern";
547
+ shape: string;
548
+ size?: number | undefined;
549
+ color?: string | undefined;
550
+ background?: string | undefined;
551
+ lineWidth?: number | undefined;
552
+ rotation?: number | undefined;
553
+ } | {
554
+ type: "image";
555
+ href: string;
556
+ fit?: "fill" | "contain" | "cover" | undefined;
557
+ } | undefined;
558
+ color?: string | undefined;
559
+ opacity?: number | undefined;
560
+ shape?: string | undefined;
356
561
  text?: string | (string | {
357
562
  text: string;
358
563
  fill?: string | undefined;
@@ -364,16 +569,13 @@ export declare const NodeSchema: z.ZodObject<{
364
569
  style?: "normal" | "italic" | "oblique" | undefined;
365
570
  } | undefined;
366
571
  })[] | undefined;
367
- opacity?: number | undefined;
368
572
  font?: {
369
573
  family?: string | undefined;
370
574
  size?: number | undefined;
371
575
  weight?: number | "normal" | "bold" | undefined;
372
576
  style?: "normal" | "italic" | "oblique" | undefined;
373
577
  } | undefined;
374
- shape?: string | undefined;
375
578
  scale?: number | undefined;
376
- color?: string | undefined;
377
579
  id?: string | undefined;
378
580
  textColor?: string | undefined;
379
581
  label?: {
@@ -390,6 +592,11 @@ export declare const NodeSchema: z.ZodObject<{
390
592
  textColor?: string | undefined;
391
593
  rotate?: number | "none" | "radial" | "tangent" | undefined;
392
594
  keepUpright?: boolean | undefined;
595
+ pin?: boolean | {
596
+ stroke?: string | undefined;
597
+ strokeWidth?: number | undefined;
598
+ dashPattern?: number[] | undefined;
599
+ } | undefined;
393
600
  } | {
394
601
  text: string;
395
602
  distance?: number | undefined;
@@ -404,6 +611,11 @@ export declare const NodeSchema: z.ZodObject<{
404
611
  textColor?: string | undefined;
405
612
  rotate?: number | "none" | "radial" | "tangent" | undefined;
406
613
  keepUpright?: boolean | undefined;
614
+ pin?: boolean | {
615
+ stroke?: string | undefined;
616
+ strokeWidth?: number | undefined;
617
+ dashPattern?: number[] | undefined;
618
+ } | undefined;
407
619
  }[] | undefined;
408
620
  roundedCorners?: number | undefined;
409
621
  stroke?: string | undefined;
@@ -414,6 +626,7 @@ export declare const NodeSchema: z.ZodObject<{
414
626
  rotate?: number | undefined;
415
627
  align?: "left" | "right" | "center" | undefined;
416
628
  lineHeight?: number | undefined;
629
+ maxTextWidth?: number | undefined;
417
630
  dashed?: boolean | undefined;
418
631
  dotted?: boolean | undefined;
419
632
  dashArray?: number[] | undefined;
@@ -437,7 +650,39 @@ export declare const NodeSchema: z.ZodObject<{
437
650
  of: string | [number, number] | import('./position').PolarPosition;
438
651
  offset: [number, number];
439
652
  };
440
- fill?: string | undefined;
653
+ fill?: string | {
654
+ type: "linearGradient";
655
+ stops: {
656
+ offset: number;
657
+ color: string;
658
+ opacity?: number | undefined;
659
+ }[];
660
+ angle?: number | undefined;
661
+ } | {
662
+ type: "radialGradient";
663
+ stops: {
664
+ offset: number;
665
+ color: string;
666
+ opacity?: number | undefined;
667
+ }[];
668
+ radius?: number | undefined;
669
+ center?: [number, number] | undefined;
670
+ } | {
671
+ type: "pattern";
672
+ shape: string;
673
+ size?: number | undefined;
674
+ color?: string | undefined;
675
+ background?: string | undefined;
676
+ lineWidth?: number | undefined;
677
+ rotation?: number | undefined;
678
+ } | {
679
+ type: "image";
680
+ href: string;
681
+ fit?: "fill" | "contain" | "cover" | undefined;
682
+ } | undefined;
683
+ color?: string | undefined;
684
+ opacity?: number | undefined;
685
+ shape?: string | undefined;
441
686
  text?: string | (string | {
442
687
  text: string;
443
688
  fill?: string | undefined;
@@ -449,16 +694,13 @@ export declare const NodeSchema: z.ZodObject<{
449
694
  style?: "normal" | "italic" | "oblique" | undefined;
450
695
  } | undefined;
451
696
  })[] | undefined;
452
- opacity?: number | undefined;
453
697
  font?: {
454
698
  family?: string | undefined;
455
699
  size?: number | undefined;
456
700
  weight?: number | "normal" | "bold" | undefined;
457
701
  style?: "normal" | "italic" | "oblique" | undefined;
458
702
  } | undefined;
459
- shape?: string | undefined;
460
703
  scale?: number | undefined;
461
- color?: string | undefined;
462
704
  id?: string | undefined;
463
705
  textColor?: string | undefined;
464
706
  label?: {
@@ -475,6 +717,11 @@ export declare const NodeSchema: z.ZodObject<{
475
717
  textColor?: string | undefined;
476
718
  rotate?: number | "none" | "radial" | "tangent" | undefined;
477
719
  keepUpright?: boolean | undefined;
720
+ pin?: boolean | {
721
+ stroke?: string | undefined;
722
+ strokeWidth?: number | undefined;
723
+ dashPattern?: number[] | undefined;
724
+ } | undefined;
478
725
  } | {
479
726
  text: string;
480
727
  distance?: number | undefined;
@@ -489,6 +736,11 @@ export declare const NodeSchema: z.ZodObject<{
489
736
  textColor?: string | undefined;
490
737
  rotate?: number | "none" | "radial" | "tangent" | undefined;
491
738
  keepUpright?: boolean | undefined;
739
+ pin?: boolean | {
740
+ stroke?: string | undefined;
741
+ strokeWidth?: number | undefined;
742
+ dashPattern?: number[] | undefined;
743
+ } | undefined;
492
744
  }[] | undefined;
493
745
  roundedCorners?: number | undefined;
494
746
  stroke?: string | undefined;
@@ -499,6 +751,7 @@ export declare const NodeSchema: z.ZodObject<{
499
751
  rotate?: number | undefined;
500
752
  align?: "left" | "right" | "center" | undefined;
501
753
  lineHeight?: number | undefined;
754
+ maxTextWidth?: number | undefined;
502
755
  dashed?: boolean | undefined;
503
756
  dotted?: boolean | undefined;
504
757
  dashArray?: number[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/ir/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAKxC;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CzB,CAAC;AAEJ,uBAAuB;AACvB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE1D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+LpB,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;AAMxC;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuMpB,CAAC;AAEJ,sCAAsC;AACtC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -0,0 +1,61 @@
1
+ let zod = require("zod");
2
+ //#region src/ir/paint.ts
3
+ /**
4
+ * 内置 pattern motif 名常量(用 const + ValueOf 派生,不用 TS enum)
5
+ * @description 内置 3 motif:`lines`(横向阴影线)/ `dots`(波点)/ `grid`(横竖网格)。
6
+ * 各 motif 的 tile 几何由 `BUILTIN_PATTERNS` 的 `PatternDefinition.emit` 在 compile 期产出。
7
+ */
8
+ var PATTERN_SHAPES = {
9
+ lines: "lines",
10
+ dots: "dots",
11
+ grid: "grid"
12
+ };
13
+ /**
14
+ * 渐变 stop:位置 + 颜色 + 可选透明度
15
+ * @description offset 0..1(沿渐变轴的位置);color 任意 CSS 颜色(含 `currentColor` 主题反应);opacity 0..1。
16
+ */
17
+ var GradientStopSchema = zod.z.object({
18
+ offset: zod.z.number().min(0).max(1).describe("Stop position along the gradient axis, 0..1"),
19
+ color: zod.z.string().describe("Any CSS color (e.g. \"#08f\", \"navy\", \"currentColor\")"),
20
+ opacity: zod.z.number().min(0).max(1).optional().describe("Stop opacity 0..1; omitted = fully opaque")
21
+ }).describe("A single gradient color stop");
22
+ /**
23
+ * Paint server 规格(渐变 / 图案 / 图片);纯色仍是 `fill` / `stroke` 上的 string,不进此 schema
24
+ * @description 四种 paint server:linear / radial gradient、pattern(图案)、image(图片)。纯 JSON 形态,保 IR 可序列化。
25
+ * linear 方向用 `angle`(度,polar 约定:0°=+x,90°=+y 屏幕下);radial 的 `center` / `radius` 用 objectBoundingBox(0..1,随形状缩放)。
26
+ */
27
+ var PaintSpecSchema = zod.z.discriminatedUnion("type", [
28
+ zod.z.object({
29
+ type: zod.z.literal("linearGradient"),
30
+ stops: zod.z.array(GradientStopSchema).min(2).describe("Gradient stops, at least 2"),
31
+ angle: zod.z.number().finite().optional().describe("Gradient direction in degrees (polar convention; 0°=+x, 90°=+y screen-down); omitted = renderer default (left→right)")
32
+ }).describe("Linear gradient paint server"),
33
+ zod.z.object({
34
+ type: zod.z.literal("radialGradient"),
35
+ stops: zod.z.array(GradientStopSchema).min(2).describe("Gradient stops, at least 2"),
36
+ center: zod.z.tuple([zod.z.number().finite(), zod.z.number().finite()]).optional().describe("Center in objectBoundingBox units (0..1 relative to the filled shape); omitted = (0.5, 0.5)"),
37
+ radius: zod.z.number().finite().positive().optional().describe("Radius in objectBoundingBox units (0..1); omitted = 0.5")
38
+ }).describe("Radial gradient paint server"),
39
+ zod.z.object({
40
+ type: zod.z.literal("pattern"),
41
+ shape: zod.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
+ color: zod.z.string().optional().describe("Motif color; any CSS color, defaults to `currentColor`"),
43
+ background: zod.z.string().optional().describe("Tile background fill; omitted = transparent"),
44
+ size: zod.z.number().finite().positive().optional().describe("Tile period in user units (line gap / dot spacing); default 8"),
45
+ lineWidth: zod.z.number().finite().positive().optional().describe("Line / grid stroke width; for dots, drives the dot radius. Default 1 (dots default to size/5)"),
46
+ rotation: zod.z.number().finite().optional().describe("Rotate the whole pattern, in degrees")
47
+ }).describe("Pattern paint server (hatching / dots / grid)"),
48
+ zod.z.object({
49
+ type: zod.z.literal("image"),
50
+ href: zod.z.string().min(1).describe("Image URL (http(s) or data URI)"),
51
+ fit: zod.z.enum([
52
+ "fill",
53
+ "contain",
54
+ "cover"
55
+ ]).optional().describe("How the image maps to the shape: `fill` (stretch) / `contain` / `cover`. Default `cover`")
56
+ }).describe("Image paint server (fills the shape with an image)")
57
+ ]).describe("Paint server spec: gradient / pattern / image. Solid color stays a plain string on `fill` / `stroke`.");
58
+ //#endregion
59
+ exports.GradientStopSchema = GradientStopSchema;
60
+ exports.PATTERN_SHAPES = PATTERN_SHAPES;
61
+ exports.PaintSpecSchema = PaintSpecSchema;
@@ -0,0 +1,154 @@
1
+ import { z } from 'zod';
2
+ import { ValueOf } from '../types';
3
+ /**
4
+ * 内置 pattern motif 名常量(用 const + ValueOf 派生,不用 TS enum)
5
+ * @description 内置 3 motif:`lines`(横向阴影线)/ `dots`(波点)/ `grid`(横竖网格)。
6
+ * 各 motif 的 tile 几何由 `BUILTIN_PATTERNS` 的 `PatternDefinition.emit` 在 compile 期产出。
7
+ */
8
+ export declare const PATTERN_SHAPES: {
9
+ readonly lines: "lines";
10
+ readonly dots: "dots";
11
+ readonly grid: "grid";
12
+ };
13
+ /**
14
+ * 内置 3 pattern motif 名联合
15
+ * @description `BUILTIN_PATTERNS` 的 Record key(保穷尽性约束,不随 `PatternShapeName` 开放而退化为 `string`)
16
+ */
17
+ export type BuiltinPatternName = ValueOf<typeof PATTERN_SHAPES>;
18
+ /**
19
+ * pattern motif 名:开放字符串
20
+ * @description 内置 `BuiltinPatternName`,或经 `CompileOptions.patterns` 注册的扩展 motif 名;
21
+ * `& {}` 让 IDE 仍对内置 3 名自动补全,同时接受任意非空字符串
22
+ */
23
+ export type PatternShapeName = BuiltinPatternName | (string & {});
24
+ /**
25
+ * 渐变 stop:位置 + 颜色 + 可选透明度
26
+ * @description offset 0..1(沿渐变轴的位置);color 任意 CSS 颜色(含 `currentColor` 主题反应);opacity 0..1。
27
+ */
28
+ export declare const GradientStopSchema: z.ZodObject<{
29
+ offset: z.ZodNumber;
30
+ color: z.ZodString;
31
+ opacity: z.ZodOptional<z.ZodNumber>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ offset: number;
34
+ color: string;
35
+ opacity?: number | undefined;
36
+ }, {
37
+ offset: number;
38
+ color: string;
39
+ opacity?: number | undefined;
40
+ }>;
41
+ /**
42
+ * Paint server 规格(渐变 / 图案 / 图片);纯色仍是 `fill` / `stroke` 上的 string,不进此 schema
43
+ * @description 四种 paint server:linear / radial gradient、pattern(图案)、image(图片)。纯 JSON 形态,保 IR 可序列化。
44
+ * linear 方向用 `angle`(度,polar 约定:0°=+x,90°=+y 屏幕下);radial 的 `center` / `radius` 用 objectBoundingBox(0..1,随形状缩放)。
45
+ */
46
+ export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
47
+ type: z.ZodLiteral<"linearGradient">;
48
+ stops: z.ZodArray<z.ZodObject<{
49
+ offset: z.ZodNumber;
50
+ color: z.ZodString;
51
+ opacity: z.ZodOptional<z.ZodNumber>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ offset: number;
54
+ color: string;
55
+ opacity?: number | undefined;
56
+ }, {
57
+ offset: number;
58
+ color: string;
59
+ opacity?: number | undefined;
60
+ }>, "many">;
61
+ angle: z.ZodOptional<z.ZodNumber>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ type: "linearGradient";
64
+ stops: {
65
+ offset: number;
66
+ color: string;
67
+ opacity?: number | undefined;
68
+ }[];
69
+ angle?: number | undefined;
70
+ }, {
71
+ type: "linearGradient";
72
+ stops: {
73
+ offset: number;
74
+ color: string;
75
+ opacity?: number | undefined;
76
+ }[];
77
+ angle?: number | undefined;
78
+ }>, z.ZodObject<{
79
+ type: z.ZodLiteral<"radialGradient">;
80
+ stops: z.ZodArray<z.ZodObject<{
81
+ offset: z.ZodNumber;
82
+ color: z.ZodString;
83
+ opacity: z.ZodOptional<z.ZodNumber>;
84
+ }, "strip", z.ZodTypeAny, {
85
+ offset: number;
86
+ color: string;
87
+ opacity?: number | undefined;
88
+ }, {
89
+ offset: number;
90
+ color: string;
91
+ opacity?: number | undefined;
92
+ }>, "many">;
93
+ center: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
94
+ radius: z.ZodOptional<z.ZodNumber>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ type: "radialGradient";
97
+ stops: {
98
+ offset: number;
99
+ color: string;
100
+ opacity?: number | undefined;
101
+ }[];
102
+ radius?: number | undefined;
103
+ center?: [number, number] | undefined;
104
+ }, {
105
+ type: "radialGradient";
106
+ stops: {
107
+ offset: number;
108
+ color: string;
109
+ opacity?: number | undefined;
110
+ }[];
111
+ radius?: number | undefined;
112
+ center?: [number, number] | undefined;
113
+ }>, z.ZodObject<{
114
+ type: z.ZodLiteral<"pattern">;
115
+ shape: z.ZodString;
116
+ color: z.ZodOptional<z.ZodString>;
117
+ background: z.ZodOptional<z.ZodString>;
118
+ size: z.ZodOptional<z.ZodNumber>;
119
+ lineWidth: z.ZodOptional<z.ZodNumber>;
120
+ rotation: z.ZodOptional<z.ZodNumber>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ type: "pattern";
123
+ shape: string;
124
+ size?: number | undefined;
125
+ color?: string | undefined;
126
+ background?: string | undefined;
127
+ lineWidth?: number | undefined;
128
+ rotation?: number | undefined;
129
+ }, {
130
+ type: "pattern";
131
+ shape: string;
132
+ size?: number | undefined;
133
+ color?: string | undefined;
134
+ background?: string | undefined;
135
+ lineWidth?: number | undefined;
136
+ rotation?: number | undefined;
137
+ }>, z.ZodObject<{
138
+ type: z.ZodLiteral<"image">;
139
+ href: z.ZodString;
140
+ fit: z.ZodOptional<z.ZodEnum<["fill", "contain", "cover"]>>;
141
+ }, "strip", z.ZodTypeAny, {
142
+ type: "image";
143
+ href: string;
144
+ fit?: "fill" | "contain" | "cover" | undefined;
145
+ }, {
146
+ type: "image";
147
+ href: string;
148
+ fit?: "fill" | "contain" | "cover" | undefined;
149
+ }>]>;
150
+ /** 渐变 stop 类型 */
151
+ export type IRGradientStop = z.infer<typeof GradientStopSchema>;
152
+ /** Paint server 规格类型(渐变 / 图案 / 图片) */
153
+ export type IRPaintSpec = z.infer<typeof PaintSpecSchema>;
154
+ //# sourceMappingURL=paint.d.ts.map
@@ -0,0 +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"}
@@ -33,14 +33,14 @@ var ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH = 1.5;
33
33
  * @description 顶层 8 字段全 optional;fill 在空心 shape 上 silent no-op(schema 不拒绝、compile/render 丢字段);start/end 子对象用相同字段集(无 start/end 递归)
34
34
  */
35
35
  var ArrowEndDetailSchema = zod.z.object({
36
- shape: zod.z.nativeEnum(ARROW_SHAPES).optional().describe("Arrow tip shape. Defaults to `stealth` (sharp barb). Other values: `normal` (filled triangle), `open` (hollow triangle), `diamond`, `openDiamond`, `circle`, `openCircle`."),
37
- scale: zod.z.number().positive().optional().describe("Uniform tip scale factor; multiplies `length` and `width` (e.g. `length=10, scale=1.5` → effective 15). Defaults to 1."),
38
- length: zod.z.number().nonnegative().optional().describe("Tip length in user units (the dimension along the path direction). Defaults to ~6."),
39
- width: zod.z.number().nonnegative().optional().describe("Tip width in user units (perpendicular to the path). Defaults to ~6."),
36
+ shape: zod.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`."),
37
+ scale: zod.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
+ length: zod.z.number().finite().nonnegative().optional().describe("Tip length in user units (the dimension along the path direction). Defaults to ~6."),
39
+ width: zod.z.number().finite().nonnegative().optional().describe("Tip width in user units (perpendicular to the path). Defaults to ~6."),
40
40
  color: zod.z.string().optional().describe("Stroke color override. When omitted, the renderer should inherit the path stroke."),
41
41
  fill: zod.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."),
42
42
  opacity: zod.z.number().min(0).max(1).optional().describe("Arrow opacity 0..1, independent from the path opacity. When omitted, inherits the path opacity."),
43
- lineWidth: zod.z.number().nonnegative().optional().describe("Stroke width for hollow shapes (user units). Defaults to 1.5. Solid shapes ignore this field.")
43
+ lineWidth: zod.z.number().finite().nonnegative().optional().describe("Stroke width for hollow shapes (user units). Defaults to 1.5. Solid shapes ignore this field.")
44
44
  }).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.");
45
45
  /**
46
46
  * Path 级箭头详细配置 schema