@retikz/core 0.1.0-alpha.1 → 0.1.0-alpha.3

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 (107) hide show
  1. package/dist/es/compile/compile.js +3 -3
  2. package/dist/es/compile/node.d.ts +32 -6
  3. package/dist/es/compile/node.d.ts.map +1 -1
  4. package/dist/es/compile/node.js +112 -28
  5. package/dist/es/compile/path.d.ts +3 -2
  6. package/dist/es/compile/path.d.ts.map +1 -1
  7. package/dist/es/compile/path.js +333 -14
  8. package/dist/es/compile/text-metrics.d.ts +2 -2
  9. package/dist/es/compile/text-metrics.d.ts.map +1 -1
  10. package/dist/es/geometry/arc.d.ts +34 -0
  11. package/dist/es/geometry/arc.d.ts.map +1 -0
  12. package/dist/es/geometry/arc.js +53 -0
  13. package/dist/es/geometry/bend.d.ts +18 -0
  14. package/dist/es/geometry/bend.d.ts.map +1 -0
  15. package/dist/es/geometry/bend.js +29 -0
  16. package/dist/es/geometry/index.d.ts +3 -0
  17. package/dist/es/geometry/index.d.ts.map +1 -1
  18. package/dist/es/geometry/segment.d.ts +38 -0
  19. package/dist/es/geometry/segment.d.ts.map +1 -0
  20. package/dist/es/geometry/segment.js +82 -0
  21. package/dist/es/index.d.ts +6 -6
  22. package/dist/es/index.d.ts.map +1 -1
  23. package/dist/es/index.js +5 -4
  24. package/dist/es/ir/node.d.ts +286 -6
  25. package/dist/es/ir/node.d.ts.map +1 -1
  26. package/dist/es/ir/node.js +71 -5
  27. package/dist/es/ir/path/path.d.ts +625 -15
  28. package/dist/es/ir/path/path.d.ts.map +1 -1
  29. package/dist/es/ir/path/path.js +22 -0
  30. package/dist/es/ir/path/step.d.ts +872 -20
  31. package/dist/es/ir/path/step.d.ts.map +1 -1
  32. package/dist/es/ir/path/step.js +86 -4
  33. package/dist/es/ir/path/target.d.ts +32 -2
  34. package/dist/es/ir/path/target.d.ts.map +1 -1
  35. package/dist/es/ir/path/target.js +7 -3
  36. package/dist/es/ir/scene.d.ts +1836 -52
  37. package/dist/es/ir/scene.d.ts.map +1 -1
  38. package/dist/es/parsers/index.d.ts +1 -0
  39. package/dist/es/parsers/index.d.ts.map +1 -1
  40. package/dist/es/parsers/parseTargetSugar.d.ts +3 -0
  41. package/dist/es/parsers/parseTargetSugar.d.ts.map +1 -0
  42. package/dist/es/parsers/parseTargetSugar.js +31 -0
  43. package/dist/es/parsers/parseWay.d.ts +131 -22
  44. package/dist/es/parsers/parseWay.d.ts.map +1 -1
  45. package/dist/es/parsers/parseWay.js +149 -17
  46. package/dist/es/primitive/ellipse.d.ts +2 -0
  47. package/dist/es/primitive/ellipse.d.ts.map +1 -1
  48. package/dist/es/primitive/path.d.ts +4 -0
  49. package/dist/es/primitive/path.d.ts.map +1 -1
  50. package/dist/es/primitive/rect.d.ts +2 -0
  51. package/dist/es/primitive/rect.d.ts.map +1 -1
  52. package/dist/es/primitive/text.d.ts +43 -13
  53. package/dist/es/primitive/text.d.ts.map +1 -1
  54. package/dist/lib/compile/compile.cjs +3 -3
  55. package/dist/lib/compile/node.cjs +112 -28
  56. package/dist/lib/compile/node.d.ts +32 -6
  57. package/dist/lib/compile/node.d.ts.map +1 -1
  58. package/dist/lib/compile/path.cjs +333 -14
  59. package/dist/lib/compile/path.d.ts +3 -2
  60. package/dist/lib/compile/path.d.ts.map +1 -1
  61. package/dist/lib/compile/text-metrics.d.ts +2 -2
  62. package/dist/lib/compile/text-metrics.d.ts.map +1 -1
  63. package/dist/lib/geometry/arc.cjs +55 -0
  64. package/dist/lib/geometry/arc.d.ts +34 -0
  65. package/dist/lib/geometry/arc.d.ts.map +1 -0
  66. package/dist/lib/geometry/bend.cjs +29 -0
  67. package/dist/lib/geometry/bend.d.ts +18 -0
  68. package/dist/lib/geometry/bend.d.ts.map +1 -0
  69. package/dist/lib/geometry/index.d.ts +3 -0
  70. package/dist/lib/geometry/index.d.ts.map +1 -1
  71. package/dist/lib/geometry/segment.cjs +88 -0
  72. package/dist/lib/geometry/segment.d.ts +38 -0
  73. package/dist/lib/geometry/segment.d.ts.map +1 -0
  74. package/dist/lib/index.cjs +16 -0
  75. package/dist/lib/index.d.ts +6 -6
  76. package/dist/lib/index.d.ts.map +1 -1
  77. package/dist/lib/ir/node.cjs +74 -4
  78. package/dist/lib/ir/node.d.ts +286 -6
  79. package/dist/lib/ir/node.d.ts.map +1 -1
  80. package/dist/lib/ir/path/path.cjs +22 -0
  81. package/dist/lib/ir/path/path.d.ts +625 -15
  82. package/dist/lib/ir/path/path.d.ts.map +1 -1
  83. package/dist/lib/ir/path/step.cjs +93 -3
  84. package/dist/lib/ir/path/step.d.ts +872 -20
  85. package/dist/lib/ir/path/step.d.ts.map +1 -1
  86. package/dist/lib/ir/path/target.cjs +8 -2
  87. package/dist/lib/ir/path/target.d.ts +32 -2
  88. package/dist/lib/ir/path/target.d.ts.map +1 -1
  89. package/dist/lib/ir/scene.d.ts +1836 -52
  90. package/dist/lib/ir/scene.d.ts.map +1 -1
  91. package/dist/lib/parsers/index.d.ts +1 -0
  92. package/dist/lib/parsers/index.d.ts.map +1 -1
  93. package/dist/lib/parsers/parseTargetSugar.cjs +31 -0
  94. package/dist/lib/parsers/parseTargetSugar.d.ts +3 -0
  95. package/dist/lib/parsers/parseTargetSugar.d.ts.map +1 -0
  96. package/dist/lib/parsers/parseWay.cjs +149 -17
  97. package/dist/lib/parsers/parseWay.d.ts +131 -22
  98. package/dist/lib/parsers/parseWay.d.ts.map +1 -1
  99. package/dist/lib/primitive/ellipse.d.ts +2 -0
  100. package/dist/lib/primitive/ellipse.d.ts.map +1 -1
  101. package/dist/lib/primitive/path.d.ts +4 -0
  102. package/dist/lib/primitive/path.d.ts.map +1 -1
  103. package/dist/lib/primitive/rect.d.ts +2 -0
  104. package/dist/lib/primitive/rect.d.ts.map +1 -1
  105. package/dist/lib/primitive/text.d.ts +43 -13
  106. package/dist/lib/primitive/text.d.ts.map +1 -1
  107. package/package.json +1 -1
@@ -10,39 +10,185 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
10
10
  }>>;
11
11
  position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>]>;
12
12
  rotate: z.ZodOptional<z.ZodNumber>;
13
- text: z.ZodOptional<z.ZodString>;
13
+ text: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
14
+ text: z.ZodString;
15
+ fill: z.ZodOptional<z.ZodString>;
16
+ opacity: z.ZodOptional<z.ZodNumber>;
17
+ font: z.ZodOptional<z.ZodObject<{
18
+ family: z.ZodOptional<z.ZodString>;
19
+ size: z.ZodOptional<z.ZodNumber>;
20
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
21
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ family?: string | undefined;
24
+ size?: number | undefined;
25
+ weight?: number | "normal" | "bold" | undefined;
26
+ style?: "normal" | "italic" | "oblique" | undefined;
27
+ }, {
28
+ family?: string | undefined;
29
+ size?: number | undefined;
30
+ weight?: number | "normal" | "bold" | undefined;
31
+ style?: "normal" | "italic" | "oblique" | undefined;
32
+ }>>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ text: string;
35
+ fill?: string | undefined;
36
+ opacity?: number | undefined;
37
+ font?: {
38
+ family?: string | undefined;
39
+ size?: number | undefined;
40
+ weight?: number | "normal" | "bold" | undefined;
41
+ style?: "normal" | "italic" | "oblique" | undefined;
42
+ } | undefined;
43
+ }, {
44
+ text: string;
45
+ fill?: string | undefined;
46
+ opacity?: number | undefined;
47
+ font?: {
48
+ family?: string | undefined;
49
+ size?: number | undefined;
50
+ weight?: number | "normal" | "bold" | undefined;
51
+ style?: "normal" | "italic" | "oblique" | undefined;
52
+ } | undefined;
53
+ }>]>, "many">]>>;
54
+ align: z.ZodOptional<z.ZodNativeEnum<{
55
+ readonly left: "left";
56
+ readonly center: "center";
57
+ readonly right: "right";
58
+ }>>;
59
+ lineHeight: z.ZodOptional<z.ZodNumber>;
14
60
  fill: z.ZodOptional<z.ZodString>;
61
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
15
62
  stroke: z.ZodOptional<z.ZodString>;
63
+ drawOpacity: z.ZodOptional<z.ZodNumber>;
16
64
  strokeWidth: z.ZodOptional<z.ZodNumber>;
65
+ dashed: z.ZodOptional<z.ZodBoolean>;
66
+ dotted: z.ZodOptional<z.ZodBoolean>;
67
+ dashArray: z.ZodOptional<z.ZodString>;
68
+ roundedCorners: z.ZodOptional<z.ZodNumber>;
69
+ minimumWidth: z.ZodOptional<z.ZodNumber>;
70
+ minimumHeight: z.ZodOptional<z.ZodNumber>;
71
+ minimumSize: z.ZodOptional<z.ZodNumber>;
72
+ scale: z.ZodOptional<z.ZodNumber>;
73
+ xScale: z.ZodOptional<z.ZodNumber>;
74
+ yScale: z.ZodOptional<z.ZodNumber>;
75
+ textColor: z.ZodOptional<z.ZodString>;
76
+ opacity: z.ZodOptional<z.ZodNumber>;
77
+ innerXSep: z.ZodOptional<z.ZodNumber>;
78
+ innerYSep: z.ZodOptional<z.ZodNumber>;
79
+ outerSep: z.ZodOptional<z.ZodNumber>;
17
80
  padding: z.ZodOptional<z.ZodNumber>;
18
81
  margin: z.ZodOptional<z.ZodNumber>;
19
- fontSize: z.ZodOptional<z.ZodNumber>;
82
+ font: z.ZodOptional<z.ZodObject<{
83
+ family: z.ZodOptional<z.ZodString>;
84
+ size: z.ZodOptional<z.ZodNumber>;
85
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
86
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ family?: string | undefined;
89
+ size?: number | undefined;
90
+ weight?: number | "normal" | "bold" | undefined;
91
+ style?: "normal" | "italic" | "oblique" | undefined;
92
+ }, {
93
+ family?: string | undefined;
94
+ size?: number | undefined;
95
+ weight?: number | "normal" | "bold" | undefined;
96
+ style?: "normal" | "italic" | "oblique" | undefined;
97
+ }>>;
20
98
  }, "strip", z.ZodTypeAny, {
21
99
  type: "node";
22
100
  position: [number, number] | import('./position').PolarPosition;
23
101
  fill?: string | undefined;
102
+ text?: string | (string | {
103
+ text: string;
104
+ fill?: string | undefined;
105
+ opacity?: number | undefined;
106
+ font?: {
107
+ family?: string | undefined;
108
+ size?: number | undefined;
109
+ weight?: number | "normal" | "bold" | undefined;
110
+ style?: "normal" | "italic" | "oblique" | undefined;
111
+ } | undefined;
112
+ })[] | undefined;
24
113
  shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
25
114
  stroke?: string | undefined;
26
115
  strokeWidth?: number | undefined;
116
+ opacity?: number | undefined;
117
+ fillOpacity?: number | undefined;
118
+ drawOpacity?: number | undefined;
119
+ font?: {
120
+ family?: string | undefined;
121
+ size?: number | undefined;
122
+ weight?: number | "normal" | "bold" | undefined;
123
+ style?: "normal" | "italic" | "oblique" | undefined;
124
+ } | undefined;
27
125
  id?: string | undefined;
28
126
  rotate?: number | undefined;
29
- text?: string | undefined;
127
+ align?: "left" | "right" | "center" | undefined;
128
+ lineHeight?: number | undefined;
129
+ dashed?: boolean | undefined;
130
+ dotted?: boolean | undefined;
131
+ dashArray?: string | undefined;
132
+ roundedCorners?: number | undefined;
133
+ minimumWidth?: number | undefined;
134
+ minimumHeight?: number | undefined;
135
+ minimumSize?: number | undefined;
136
+ scale?: number | undefined;
137
+ xScale?: number | undefined;
138
+ yScale?: number | undefined;
139
+ textColor?: string | undefined;
140
+ innerXSep?: number | undefined;
141
+ innerYSep?: number | undefined;
142
+ outerSep?: number | undefined;
30
143
  padding?: number | undefined;
31
144
  margin?: number | undefined;
32
- fontSize?: number | undefined;
33
145
  }, {
34
146
  type: "node";
35
147
  position: [number, number] | import('./position').PolarPosition;
36
148
  fill?: string | undefined;
149
+ text?: string | (string | {
150
+ text: string;
151
+ fill?: string | undefined;
152
+ opacity?: number | undefined;
153
+ font?: {
154
+ family?: string | undefined;
155
+ size?: number | undefined;
156
+ weight?: number | "normal" | "bold" | undefined;
157
+ style?: "normal" | "italic" | "oblique" | undefined;
158
+ } | undefined;
159
+ })[] | undefined;
37
160
  shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
38
161
  stroke?: string | undefined;
39
162
  strokeWidth?: number | undefined;
163
+ opacity?: number | undefined;
164
+ fillOpacity?: number | undefined;
165
+ drawOpacity?: number | undefined;
166
+ font?: {
167
+ family?: string | undefined;
168
+ size?: number | undefined;
169
+ weight?: number | "normal" | "bold" | undefined;
170
+ style?: "normal" | "italic" | "oblique" | undefined;
171
+ } | undefined;
40
172
  id?: string | undefined;
41
173
  rotate?: number | undefined;
42
- text?: string | undefined;
174
+ align?: "left" | "right" | "center" | undefined;
175
+ lineHeight?: number | undefined;
176
+ dashed?: boolean | undefined;
177
+ dotted?: boolean | undefined;
178
+ dashArray?: string | undefined;
179
+ roundedCorners?: number | undefined;
180
+ minimumWidth?: number | undefined;
181
+ minimumHeight?: number | undefined;
182
+ minimumSize?: number | undefined;
183
+ scale?: number | undefined;
184
+ xScale?: number | undefined;
185
+ yScale?: number | undefined;
186
+ textColor?: string | undefined;
187
+ innerXSep?: number | undefined;
188
+ innerYSep?: number | undefined;
189
+ outerSep?: number | undefined;
43
190
  padding?: number | undefined;
44
191
  margin?: number | undefined;
45
- fontSize?: number | undefined;
46
192
  }>, z.ZodObject<{
47
193
  type: z.ZodLiteral<"path">;
48
194
  stroke: z.ZodOptional<z.ZodString>;
@@ -60,45 +206,157 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
60
206
  }>>;
61
207
  fill: z.ZodOptional<z.ZodString>;
62
208
  fillRule: z.ZodOptional<z.ZodEnum<["nonzero", "evenodd"]>>;
209
+ lineCap: z.ZodOptional<z.ZodEnum<["butt", "round", "square"]>>;
210
+ lineJoin: z.ZodOptional<z.ZodEnum<["miter", "round", "bevel"]>>;
211
+ thickness: z.ZodOptional<z.ZodEnum<["ultraThin", "veryThin", "thin", "semithick", "thick", "veryThick", "ultraThick"]>>;
212
+ opacity: z.ZodOptional<z.ZodNumber>;
213
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
214
+ drawOpacity: z.ZodOptional<z.ZodNumber>;
63
215
  children: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
64
216
  type: z.ZodLiteral<"step">;
65
217
  kind: z.ZodLiteral<"move">;
66
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
218
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
219
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
220
+ }, "strip", z.ZodTypeAny, {
221
+ rel: [number, number];
222
+ }, {
223
+ rel: [number, number];
224
+ }>, z.ZodObject<{
225
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
226
+ }, "strip", z.ZodTypeAny, {
227
+ relAccumulate: [number, number];
228
+ }, {
229
+ relAccumulate: [number, number];
230
+ }>]>;
67
231
  }, "strip", z.ZodTypeAny, {
68
232
  type: "step";
69
233
  kind: "move";
70
- to: string | [number, number] | import('./position').PolarPosition;
234
+ to: string | [number, number] | import('./position').PolarPosition | {
235
+ rel: [number, number];
236
+ } | {
237
+ relAccumulate: [number, number];
238
+ };
71
239
  }, {
72
240
  type: "step";
73
241
  kind: "move";
74
- to: string | [number, number] | import('./position').PolarPosition;
242
+ to: string | [number, number] | import('./position').PolarPosition | {
243
+ rel: [number, number];
244
+ } | {
245
+ relAccumulate: [number, number];
246
+ };
75
247
  }>, z.ZodObject<{
76
248
  type: z.ZodLiteral<"step">;
77
249
  kind: z.ZodLiteral<"line">;
78
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
250
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
251
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
252
+ }, "strip", z.ZodTypeAny, {
253
+ rel: [number, number];
254
+ }, {
255
+ rel: [number, number];
256
+ }>, z.ZodObject<{
257
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
258
+ }, "strip", z.ZodTypeAny, {
259
+ relAccumulate: [number, number];
260
+ }, {
261
+ relAccumulate: [number, number];
262
+ }>]>;
263
+ label: z.ZodOptional<z.ZodObject<{
264
+ text: z.ZodString;
265
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
266
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
267
+ }, "strip", z.ZodTypeAny, {
268
+ text: string;
269
+ position?: "midway" | "near-start" | "near-end" | undefined;
270
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
271
+ }, {
272
+ text: string;
273
+ position?: "midway" | "near-start" | "near-end" | undefined;
274
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
275
+ }>>;
79
276
  }, "strip", z.ZodTypeAny, {
80
277
  type: "step";
81
278
  kind: "line";
82
- to: string | [number, number] | import('./position').PolarPosition;
279
+ to: string | [number, number] | import('./position').PolarPosition | {
280
+ rel: [number, number];
281
+ } | {
282
+ relAccumulate: [number, number];
283
+ };
284
+ label?: {
285
+ text: string;
286
+ position?: "midway" | "near-start" | "near-end" | undefined;
287
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
288
+ } | undefined;
83
289
  }, {
84
290
  type: "step";
85
291
  kind: "line";
86
- to: string | [number, number] | import('./position').PolarPosition;
292
+ to: string | [number, number] | import('./position').PolarPosition | {
293
+ rel: [number, number];
294
+ } | {
295
+ relAccumulate: [number, number];
296
+ };
297
+ label?: {
298
+ text: string;
299
+ position?: "midway" | "near-start" | "near-end" | undefined;
300
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
301
+ } | undefined;
87
302
  }>, z.ZodObject<{
88
303
  type: z.ZodLiteral<"step">;
89
304
  kind: z.ZodLiteral<"step">;
90
305
  via: z.ZodEnum<["-|", "|-"]>;
91
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
306
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
307
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
308
+ }, "strip", z.ZodTypeAny, {
309
+ rel: [number, number];
310
+ }, {
311
+ rel: [number, number];
312
+ }>, z.ZodObject<{
313
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
314
+ }, "strip", z.ZodTypeAny, {
315
+ relAccumulate: [number, number];
316
+ }, {
317
+ relAccumulate: [number, number];
318
+ }>]>;
319
+ label: z.ZodOptional<z.ZodObject<{
320
+ text: z.ZodString;
321
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
322
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
323
+ }, "strip", z.ZodTypeAny, {
324
+ text: string;
325
+ position?: "midway" | "near-start" | "near-end" | undefined;
326
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
327
+ }, {
328
+ text: string;
329
+ position?: "midway" | "near-start" | "near-end" | undefined;
330
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
331
+ }>>;
92
332
  }, "strip", z.ZodTypeAny, {
93
333
  type: "step";
94
334
  kind: "step";
95
- to: string | [number, number] | import('./position').PolarPosition;
335
+ to: string | [number, number] | import('./position').PolarPosition | {
336
+ rel: [number, number];
337
+ } | {
338
+ relAccumulate: [number, number];
339
+ };
96
340
  via: "-|" | "|-";
341
+ label?: {
342
+ text: string;
343
+ position?: "midway" | "near-start" | "near-end" | undefined;
344
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
345
+ } | undefined;
97
346
  }, {
98
347
  type: "step";
99
348
  kind: "step";
100
- to: string | [number, number] | import('./position').PolarPosition;
349
+ to: string | [number, number] | import('./position').PolarPosition | {
350
+ rel: [number, number];
351
+ } | {
352
+ relAccumulate: [number, number];
353
+ };
101
354
  via: "-|" | "|-";
355
+ label?: {
356
+ text: string;
357
+ position?: "midway" | "near-start" | "near-end" | undefined;
358
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
359
+ } | undefined;
102
360
  }>, z.ZodObject<{
103
361
  type: z.ZodLiteral<"step">;
104
362
  kind: z.ZodLiteral<"cycle">;
@@ -108,25 +366,415 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
108
366
  }, {
109
367
  type: "step";
110
368
  kind: "cycle";
369
+ }>, z.ZodObject<{
370
+ type: z.ZodLiteral<"step">;
371
+ kind: z.ZodLiteral<"curve">;
372
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
373
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
374
+ }, "strip", z.ZodTypeAny, {
375
+ rel: [number, number];
376
+ }, {
377
+ rel: [number, number];
378
+ }>, z.ZodObject<{
379
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
380
+ }, "strip", z.ZodTypeAny, {
381
+ relAccumulate: [number, number];
382
+ }, {
383
+ relAccumulate: [number, number];
384
+ }>]>;
385
+ control: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
386
+ label: z.ZodOptional<z.ZodObject<{
387
+ text: z.ZodString;
388
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
389
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
390
+ }, "strip", z.ZodTypeAny, {
391
+ text: string;
392
+ position?: "midway" | "near-start" | "near-end" | undefined;
393
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
394
+ }, {
395
+ text: string;
396
+ position?: "midway" | "near-start" | "near-end" | undefined;
397
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
398
+ }>>;
399
+ }, "strip", z.ZodTypeAny, {
400
+ type: "step";
401
+ kind: "curve";
402
+ to: string | [number, number] | import('./position').PolarPosition | {
403
+ rel: [number, number];
404
+ } | {
405
+ relAccumulate: [number, number];
406
+ };
407
+ control: [number, number];
408
+ label?: {
409
+ text: string;
410
+ position?: "midway" | "near-start" | "near-end" | undefined;
411
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
412
+ } | undefined;
413
+ }, {
414
+ type: "step";
415
+ kind: "curve";
416
+ to: string | [number, number] | import('./position').PolarPosition | {
417
+ rel: [number, number];
418
+ } | {
419
+ relAccumulate: [number, number];
420
+ };
421
+ control: [number, number];
422
+ label?: {
423
+ text: string;
424
+ position?: "midway" | "near-start" | "near-end" | undefined;
425
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
426
+ } | undefined;
427
+ }>, z.ZodObject<{
428
+ type: z.ZodLiteral<"step">;
429
+ kind: z.ZodLiteral<"cubic">;
430
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
431
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
432
+ }, "strip", z.ZodTypeAny, {
433
+ rel: [number, number];
434
+ }, {
435
+ rel: [number, number];
436
+ }>, z.ZodObject<{
437
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
438
+ }, "strip", z.ZodTypeAny, {
439
+ relAccumulate: [number, number];
440
+ }, {
441
+ relAccumulate: [number, number];
442
+ }>]>;
443
+ control1: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
444
+ control2: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
445
+ label: z.ZodOptional<z.ZodObject<{
446
+ text: z.ZodString;
447
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
448
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
449
+ }, "strip", z.ZodTypeAny, {
450
+ text: string;
451
+ position?: "midway" | "near-start" | "near-end" | undefined;
452
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
453
+ }, {
454
+ text: string;
455
+ position?: "midway" | "near-start" | "near-end" | undefined;
456
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
457
+ }>>;
458
+ }, "strip", z.ZodTypeAny, {
459
+ type: "step";
460
+ kind: "cubic";
461
+ to: string | [number, number] | import('./position').PolarPosition | {
462
+ rel: [number, number];
463
+ } | {
464
+ relAccumulate: [number, number];
465
+ };
466
+ control1: [number, number];
467
+ control2: [number, number];
468
+ label?: {
469
+ text: string;
470
+ position?: "midway" | "near-start" | "near-end" | undefined;
471
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
472
+ } | undefined;
473
+ }, {
474
+ type: "step";
475
+ kind: "cubic";
476
+ to: string | [number, number] | import('./position').PolarPosition | {
477
+ rel: [number, number];
478
+ } | {
479
+ relAccumulate: [number, number];
480
+ };
481
+ control1: [number, number];
482
+ control2: [number, number];
483
+ label?: {
484
+ text: string;
485
+ position?: "midway" | "near-start" | "near-end" | undefined;
486
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
487
+ } | undefined;
488
+ }>, z.ZodObject<{
489
+ type: z.ZodLiteral<"step">;
490
+ kind: z.ZodLiteral<"bend">;
491
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
492
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
493
+ }, "strip", z.ZodTypeAny, {
494
+ rel: [number, number];
495
+ }, {
496
+ rel: [number, number];
497
+ }>, z.ZodObject<{
498
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
499
+ }, "strip", z.ZodTypeAny, {
500
+ relAccumulate: [number, number];
501
+ }, {
502
+ relAccumulate: [number, number];
503
+ }>]>;
504
+ bendDirection: z.ZodEnum<["left", "right"]>;
505
+ bendAngle: z.ZodOptional<z.ZodNumber>;
506
+ label: z.ZodOptional<z.ZodObject<{
507
+ text: z.ZodString;
508
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
509
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
510
+ }, "strip", z.ZodTypeAny, {
511
+ text: string;
512
+ position?: "midway" | "near-start" | "near-end" | undefined;
513
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
514
+ }, {
515
+ text: string;
516
+ position?: "midway" | "near-start" | "near-end" | undefined;
517
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
518
+ }>>;
519
+ }, "strip", z.ZodTypeAny, {
520
+ type: "step";
521
+ kind: "bend";
522
+ to: string | [number, number] | import('./position').PolarPosition | {
523
+ rel: [number, number];
524
+ } | {
525
+ relAccumulate: [number, number];
526
+ };
527
+ bendDirection: "left" | "right";
528
+ label?: {
529
+ text: string;
530
+ position?: "midway" | "near-start" | "near-end" | undefined;
531
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
532
+ } | undefined;
533
+ bendAngle?: number | undefined;
534
+ }, {
535
+ type: "step";
536
+ kind: "bend";
537
+ to: string | [number, number] | import('./position').PolarPosition | {
538
+ rel: [number, number];
539
+ } | {
540
+ relAccumulate: [number, number];
541
+ };
542
+ bendDirection: "left" | "right";
543
+ label?: {
544
+ text: string;
545
+ position?: "midway" | "near-start" | "near-end" | undefined;
546
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
547
+ } | undefined;
548
+ bendAngle?: number | undefined;
549
+ }>, z.ZodObject<{
550
+ type: z.ZodLiteral<"step">;
551
+ kind: z.ZodLiteral<"arc">;
552
+ startAngle: z.ZodNumber;
553
+ endAngle: z.ZodNumber;
554
+ radius: z.ZodNumber;
555
+ label: z.ZodOptional<z.ZodObject<{
556
+ text: z.ZodString;
557
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
558
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
559
+ }, "strip", z.ZodTypeAny, {
560
+ text: string;
561
+ position?: "midway" | "near-start" | "near-end" | undefined;
562
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
563
+ }, {
564
+ text: string;
565
+ position?: "midway" | "near-start" | "near-end" | undefined;
566
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
567
+ }>>;
568
+ }, "strip", z.ZodTypeAny, {
569
+ type: "step";
570
+ radius: number;
571
+ kind: "arc";
572
+ startAngle: number;
573
+ endAngle: number;
574
+ label?: {
575
+ text: string;
576
+ position?: "midway" | "near-start" | "near-end" | undefined;
577
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
578
+ } | undefined;
579
+ }, {
580
+ type: "step";
581
+ radius: number;
582
+ kind: "arc";
583
+ startAngle: number;
584
+ endAngle: number;
585
+ label?: {
586
+ text: string;
587
+ position?: "midway" | "near-start" | "near-end" | undefined;
588
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
589
+ } | undefined;
590
+ }>, z.ZodObject<{
591
+ type: z.ZodLiteral<"step">;
592
+ kind: z.ZodLiteral<"circlePath">;
593
+ radius: z.ZodNumber;
594
+ label: z.ZodOptional<z.ZodObject<{
595
+ text: z.ZodString;
596
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
597
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
598
+ }, "strip", z.ZodTypeAny, {
599
+ text: string;
600
+ position?: "midway" | "near-start" | "near-end" | undefined;
601
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
602
+ }, {
603
+ text: string;
604
+ position?: "midway" | "near-start" | "near-end" | undefined;
605
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
606
+ }>>;
607
+ }, "strip", z.ZodTypeAny, {
608
+ type: "step";
609
+ radius: number;
610
+ kind: "circlePath";
611
+ label?: {
612
+ text: string;
613
+ position?: "midway" | "near-start" | "near-end" | undefined;
614
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
615
+ } | undefined;
616
+ }, {
617
+ type: "step";
618
+ radius: number;
619
+ kind: "circlePath";
620
+ label?: {
621
+ text: string;
622
+ position?: "midway" | "near-start" | "near-end" | undefined;
623
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
624
+ } | undefined;
625
+ }>, z.ZodObject<{
626
+ type: z.ZodLiteral<"step">;
627
+ kind: z.ZodLiteral<"ellipsePath">;
628
+ radiusX: z.ZodNumber;
629
+ radiusY: z.ZodNumber;
630
+ label: z.ZodOptional<z.ZodObject<{
631
+ text: z.ZodString;
632
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
633
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
634
+ }, "strip", z.ZodTypeAny, {
635
+ text: string;
636
+ position?: "midway" | "near-start" | "near-end" | undefined;
637
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
638
+ }, {
639
+ text: string;
640
+ position?: "midway" | "near-start" | "near-end" | undefined;
641
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
642
+ }>>;
643
+ }, "strip", z.ZodTypeAny, {
644
+ type: "step";
645
+ kind: "ellipsePath";
646
+ radiusX: number;
647
+ radiusY: number;
648
+ label?: {
649
+ text: string;
650
+ position?: "midway" | "near-start" | "near-end" | undefined;
651
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
652
+ } | undefined;
653
+ }, {
654
+ type: "step";
655
+ kind: "ellipsePath";
656
+ radiusX: number;
657
+ radiusY: number;
658
+ label?: {
659
+ text: string;
660
+ position?: "midway" | "near-start" | "near-end" | undefined;
661
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
662
+ } | undefined;
111
663
  }>]>, "many">;
112
664
  }, "strip", z.ZodTypeAny, {
113
665
  type: "path";
114
666
  children: ({
115
667
  type: "step";
116
668
  kind: "move";
117
- to: string | [number, number] | import('./position').PolarPosition;
669
+ to: string | [number, number] | import('./position').PolarPosition | {
670
+ rel: [number, number];
671
+ } | {
672
+ relAccumulate: [number, number];
673
+ };
118
674
  } | {
119
675
  type: "step";
120
676
  kind: "line";
121
- to: string | [number, number] | import('./position').PolarPosition;
677
+ to: string | [number, number] | import('./position').PolarPosition | {
678
+ rel: [number, number];
679
+ } | {
680
+ relAccumulate: [number, number];
681
+ };
682
+ label?: {
683
+ text: string;
684
+ position?: "midway" | "near-start" | "near-end" | undefined;
685
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
686
+ } | undefined;
122
687
  } | {
123
688
  type: "step";
124
689
  kind: "step";
125
- to: string | [number, number] | import('./position').PolarPosition;
690
+ to: string | [number, number] | import('./position').PolarPosition | {
691
+ rel: [number, number];
692
+ } | {
693
+ relAccumulate: [number, number];
694
+ };
126
695
  via: "-|" | "|-";
696
+ label?: {
697
+ text: string;
698
+ position?: "midway" | "near-start" | "near-end" | undefined;
699
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
700
+ } | undefined;
127
701
  } | {
128
702
  type: "step";
129
703
  kind: "cycle";
704
+ } | {
705
+ type: "step";
706
+ kind: "curve";
707
+ to: string | [number, number] | import('./position').PolarPosition | {
708
+ rel: [number, number];
709
+ } | {
710
+ relAccumulate: [number, number];
711
+ };
712
+ control: [number, number];
713
+ label?: {
714
+ text: string;
715
+ position?: "midway" | "near-start" | "near-end" | undefined;
716
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
717
+ } | undefined;
718
+ } | {
719
+ type: "step";
720
+ kind: "cubic";
721
+ to: string | [number, number] | import('./position').PolarPosition | {
722
+ rel: [number, number];
723
+ } | {
724
+ relAccumulate: [number, number];
725
+ };
726
+ control1: [number, number];
727
+ control2: [number, number];
728
+ label?: {
729
+ text: string;
730
+ position?: "midway" | "near-start" | "near-end" | undefined;
731
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
732
+ } | undefined;
733
+ } | {
734
+ type: "step";
735
+ kind: "bend";
736
+ to: string | [number, number] | import('./position').PolarPosition | {
737
+ rel: [number, number];
738
+ } | {
739
+ relAccumulate: [number, number];
740
+ };
741
+ bendDirection: "left" | "right";
742
+ label?: {
743
+ text: string;
744
+ position?: "midway" | "near-start" | "near-end" | undefined;
745
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
746
+ } | undefined;
747
+ bendAngle?: number | undefined;
748
+ } | {
749
+ type: "step";
750
+ radius: number;
751
+ kind: "arc";
752
+ startAngle: number;
753
+ endAngle: number;
754
+ label?: {
755
+ text: string;
756
+ position?: "midway" | "near-start" | "near-end" | undefined;
757
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
758
+ } | undefined;
759
+ } | {
760
+ type: "step";
761
+ radius: number;
762
+ kind: "circlePath";
763
+ label?: {
764
+ text: string;
765
+ position?: "midway" | "near-start" | "near-end" | undefined;
766
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
767
+ } | undefined;
768
+ } | {
769
+ type: "step";
770
+ kind: "ellipsePath";
771
+ radiusX: number;
772
+ radiusY: number;
773
+ label?: {
774
+ text: string;
775
+ position?: "midway" | "near-start" | "near-end" | undefined;
776
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
777
+ } | undefined;
130
778
  })[];
131
779
  fill?: string | undefined;
132
780
  stroke?: string | undefined;
@@ -135,24 +783,126 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
135
783
  arrow?: "none" | "->" | "<-" | "<->" | undefined;
136
784
  arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
137
785
  fillRule?: "nonzero" | "evenodd" | undefined;
786
+ lineCap?: "butt" | "round" | "square" | undefined;
787
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
788
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
789
+ opacity?: number | undefined;
790
+ fillOpacity?: number | undefined;
791
+ drawOpacity?: number | undefined;
138
792
  }, {
139
793
  type: "path";
140
794
  children: ({
141
795
  type: "step";
142
796
  kind: "move";
143
- to: string | [number, number] | import('./position').PolarPosition;
797
+ to: string | [number, number] | import('./position').PolarPosition | {
798
+ rel: [number, number];
799
+ } | {
800
+ relAccumulate: [number, number];
801
+ };
144
802
  } | {
145
803
  type: "step";
146
804
  kind: "line";
147
- to: string | [number, number] | import('./position').PolarPosition;
805
+ to: string | [number, number] | import('./position').PolarPosition | {
806
+ rel: [number, number];
807
+ } | {
808
+ relAccumulate: [number, number];
809
+ };
810
+ label?: {
811
+ text: string;
812
+ position?: "midway" | "near-start" | "near-end" | undefined;
813
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
814
+ } | undefined;
148
815
  } | {
149
816
  type: "step";
150
817
  kind: "step";
151
- to: string | [number, number] | import('./position').PolarPosition;
818
+ to: string | [number, number] | import('./position').PolarPosition | {
819
+ rel: [number, number];
820
+ } | {
821
+ relAccumulate: [number, number];
822
+ };
152
823
  via: "-|" | "|-";
824
+ label?: {
825
+ text: string;
826
+ position?: "midway" | "near-start" | "near-end" | undefined;
827
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
828
+ } | undefined;
153
829
  } | {
154
830
  type: "step";
155
831
  kind: "cycle";
832
+ } | {
833
+ type: "step";
834
+ kind: "curve";
835
+ to: string | [number, number] | import('./position').PolarPosition | {
836
+ rel: [number, number];
837
+ } | {
838
+ relAccumulate: [number, number];
839
+ };
840
+ control: [number, number];
841
+ label?: {
842
+ text: string;
843
+ position?: "midway" | "near-start" | "near-end" | undefined;
844
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
845
+ } | undefined;
846
+ } | {
847
+ type: "step";
848
+ kind: "cubic";
849
+ to: string | [number, number] | import('./position').PolarPosition | {
850
+ rel: [number, number];
851
+ } | {
852
+ relAccumulate: [number, number];
853
+ };
854
+ control1: [number, number];
855
+ control2: [number, number];
856
+ label?: {
857
+ text: string;
858
+ position?: "midway" | "near-start" | "near-end" | undefined;
859
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
860
+ } | undefined;
861
+ } | {
862
+ type: "step";
863
+ kind: "bend";
864
+ to: string | [number, number] | import('./position').PolarPosition | {
865
+ rel: [number, number];
866
+ } | {
867
+ relAccumulate: [number, number];
868
+ };
869
+ bendDirection: "left" | "right";
870
+ label?: {
871
+ text: string;
872
+ position?: "midway" | "near-start" | "near-end" | undefined;
873
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
874
+ } | undefined;
875
+ bendAngle?: number | undefined;
876
+ } | {
877
+ type: "step";
878
+ radius: number;
879
+ kind: "arc";
880
+ startAngle: number;
881
+ endAngle: number;
882
+ label?: {
883
+ text: string;
884
+ position?: "midway" | "near-start" | "near-end" | undefined;
885
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
886
+ } | undefined;
887
+ } | {
888
+ type: "step";
889
+ radius: number;
890
+ kind: "circlePath";
891
+ label?: {
892
+ text: string;
893
+ position?: "midway" | "near-start" | "near-end" | undefined;
894
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
895
+ } | undefined;
896
+ } | {
897
+ type: "step";
898
+ kind: "ellipsePath";
899
+ radiusX: number;
900
+ radiusY: number;
901
+ label?: {
902
+ text: string;
903
+ position?: "midway" | "near-start" | "near-end" | undefined;
904
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
905
+ } | undefined;
156
906
  })[];
157
907
  fill?: string | undefined;
158
908
  stroke?: string | undefined;
@@ -161,6 +911,12 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
161
911
  arrow?: "none" | "->" | "<-" | "<->" | undefined;
162
912
  arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
163
913
  fillRule?: "nonzero" | "evenodd" | undefined;
914
+ lineCap?: "butt" | "round" | "square" | undefined;
915
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
916
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
917
+ opacity?: number | undefined;
918
+ fillOpacity?: number | undefined;
919
+ drawOpacity?: number | undefined;
164
920
  }>]>;
165
921
  /** 顶层 Scene 的子节点:node 或 path */
166
922
  export type IRChild = z.infer<typeof ChildSchema>;
@@ -178,39 +934,185 @@ export declare const SceneSchema: z.ZodObject<{
178
934
  }>>;
179
935
  position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>]>;
180
936
  rotate: z.ZodOptional<z.ZodNumber>;
181
- text: z.ZodOptional<z.ZodString>;
937
+ text: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
938
+ text: z.ZodString;
939
+ fill: z.ZodOptional<z.ZodString>;
940
+ opacity: z.ZodOptional<z.ZodNumber>;
941
+ font: z.ZodOptional<z.ZodObject<{
942
+ family: z.ZodOptional<z.ZodString>;
943
+ size: z.ZodOptional<z.ZodNumber>;
944
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
945
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
946
+ }, "strip", z.ZodTypeAny, {
947
+ family?: string | undefined;
948
+ size?: number | undefined;
949
+ weight?: number | "normal" | "bold" | undefined;
950
+ style?: "normal" | "italic" | "oblique" | undefined;
951
+ }, {
952
+ family?: string | undefined;
953
+ size?: number | undefined;
954
+ weight?: number | "normal" | "bold" | undefined;
955
+ style?: "normal" | "italic" | "oblique" | undefined;
956
+ }>>;
957
+ }, "strip", z.ZodTypeAny, {
958
+ text: string;
959
+ fill?: string | undefined;
960
+ opacity?: number | undefined;
961
+ font?: {
962
+ family?: string | undefined;
963
+ size?: number | undefined;
964
+ weight?: number | "normal" | "bold" | undefined;
965
+ style?: "normal" | "italic" | "oblique" | undefined;
966
+ } | undefined;
967
+ }, {
968
+ text: string;
969
+ fill?: string | undefined;
970
+ opacity?: number | undefined;
971
+ font?: {
972
+ family?: string | undefined;
973
+ size?: number | undefined;
974
+ weight?: number | "normal" | "bold" | undefined;
975
+ style?: "normal" | "italic" | "oblique" | undefined;
976
+ } | undefined;
977
+ }>]>, "many">]>>;
978
+ align: z.ZodOptional<z.ZodNativeEnum<{
979
+ readonly left: "left";
980
+ readonly center: "center";
981
+ readonly right: "right";
982
+ }>>;
983
+ lineHeight: z.ZodOptional<z.ZodNumber>;
182
984
  fill: z.ZodOptional<z.ZodString>;
985
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
183
986
  stroke: z.ZodOptional<z.ZodString>;
987
+ drawOpacity: z.ZodOptional<z.ZodNumber>;
184
988
  strokeWidth: z.ZodOptional<z.ZodNumber>;
989
+ dashed: z.ZodOptional<z.ZodBoolean>;
990
+ dotted: z.ZodOptional<z.ZodBoolean>;
991
+ dashArray: z.ZodOptional<z.ZodString>;
992
+ roundedCorners: z.ZodOptional<z.ZodNumber>;
993
+ minimumWidth: z.ZodOptional<z.ZodNumber>;
994
+ minimumHeight: z.ZodOptional<z.ZodNumber>;
995
+ minimumSize: z.ZodOptional<z.ZodNumber>;
996
+ scale: z.ZodOptional<z.ZodNumber>;
997
+ xScale: z.ZodOptional<z.ZodNumber>;
998
+ yScale: z.ZodOptional<z.ZodNumber>;
999
+ textColor: z.ZodOptional<z.ZodString>;
1000
+ opacity: z.ZodOptional<z.ZodNumber>;
1001
+ innerXSep: z.ZodOptional<z.ZodNumber>;
1002
+ innerYSep: z.ZodOptional<z.ZodNumber>;
1003
+ outerSep: z.ZodOptional<z.ZodNumber>;
185
1004
  padding: z.ZodOptional<z.ZodNumber>;
186
1005
  margin: z.ZodOptional<z.ZodNumber>;
187
- fontSize: z.ZodOptional<z.ZodNumber>;
1006
+ font: z.ZodOptional<z.ZodObject<{
1007
+ family: z.ZodOptional<z.ZodString>;
1008
+ size: z.ZodOptional<z.ZodNumber>;
1009
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
1010
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
1011
+ }, "strip", z.ZodTypeAny, {
1012
+ family?: string | undefined;
1013
+ size?: number | undefined;
1014
+ weight?: number | "normal" | "bold" | undefined;
1015
+ style?: "normal" | "italic" | "oblique" | undefined;
1016
+ }, {
1017
+ family?: string | undefined;
1018
+ size?: number | undefined;
1019
+ weight?: number | "normal" | "bold" | undefined;
1020
+ style?: "normal" | "italic" | "oblique" | undefined;
1021
+ }>>;
188
1022
  }, "strip", z.ZodTypeAny, {
189
1023
  type: "node";
190
1024
  position: [number, number] | import('./position').PolarPosition;
191
1025
  fill?: string | undefined;
1026
+ text?: string | (string | {
1027
+ text: string;
1028
+ fill?: string | undefined;
1029
+ opacity?: number | undefined;
1030
+ font?: {
1031
+ family?: string | undefined;
1032
+ size?: number | undefined;
1033
+ weight?: number | "normal" | "bold" | undefined;
1034
+ style?: "normal" | "italic" | "oblique" | undefined;
1035
+ } | undefined;
1036
+ })[] | undefined;
192
1037
  shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
193
1038
  stroke?: string | undefined;
194
1039
  strokeWidth?: number | undefined;
1040
+ opacity?: number | undefined;
1041
+ fillOpacity?: number | undefined;
1042
+ drawOpacity?: number | undefined;
1043
+ font?: {
1044
+ family?: string | undefined;
1045
+ size?: number | undefined;
1046
+ weight?: number | "normal" | "bold" | undefined;
1047
+ style?: "normal" | "italic" | "oblique" | undefined;
1048
+ } | undefined;
195
1049
  id?: string | undefined;
196
1050
  rotate?: number | undefined;
197
- text?: string | undefined;
1051
+ align?: "left" | "right" | "center" | undefined;
1052
+ lineHeight?: number | undefined;
1053
+ dashed?: boolean | undefined;
1054
+ dotted?: boolean | undefined;
1055
+ dashArray?: string | undefined;
1056
+ roundedCorners?: number | undefined;
1057
+ minimumWidth?: number | undefined;
1058
+ minimumHeight?: number | undefined;
1059
+ minimumSize?: number | undefined;
1060
+ scale?: number | undefined;
1061
+ xScale?: number | undefined;
1062
+ yScale?: number | undefined;
1063
+ textColor?: string | undefined;
1064
+ innerXSep?: number | undefined;
1065
+ innerYSep?: number | undefined;
1066
+ outerSep?: number | undefined;
198
1067
  padding?: number | undefined;
199
1068
  margin?: number | undefined;
200
- fontSize?: number | undefined;
201
1069
  }, {
202
1070
  type: "node";
203
1071
  position: [number, number] | import('./position').PolarPosition;
204
1072
  fill?: string | undefined;
1073
+ text?: string | (string | {
1074
+ text: string;
1075
+ fill?: string | undefined;
1076
+ opacity?: number | undefined;
1077
+ font?: {
1078
+ family?: string | undefined;
1079
+ size?: number | undefined;
1080
+ weight?: number | "normal" | "bold" | undefined;
1081
+ style?: "normal" | "italic" | "oblique" | undefined;
1082
+ } | undefined;
1083
+ })[] | undefined;
205
1084
  shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
206
1085
  stroke?: string | undefined;
207
1086
  strokeWidth?: number | undefined;
1087
+ opacity?: number | undefined;
1088
+ fillOpacity?: number | undefined;
1089
+ drawOpacity?: number | undefined;
1090
+ font?: {
1091
+ family?: string | undefined;
1092
+ size?: number | undefined;
1093
+ weight?: number | "normal" | "bold" | undefined;
1094
+ style?: "normal" | "italic" | "oblique" | undefined;
1095
+ } | undefined;
208
1096
  id?: string | undefined;
209
1097
  rotate?: number | undefined;
210
- text?: string | undefined;
1098
+ align?: "left" | "right" | "center" | undefined;
1099
+ lineHeight?: number | undefined;
1100
+ dashed?: boolean | undefined;
1101
+ dotted?: boolean | undefined;
1102
+ dashArray?: string | undefined;
1103
+ roundedCorners?: number | undefined;
1104
+ minimumWidth?: number | undefined;
1105
+ minimumHeight?: number | undefined;
1106
+ minimumSize?: number | undefined;
1107
+ scale?: number | undefined;
1108
+ xScale?: number | undefined;
1109
+ yScale?: number | undefined;
1110
+ textColor?: string | undefined;
1111
+ innerXSep?: number | undefined;
1112
+ innerYSep?: number | undefined;
1113
+ outerSep?: number | undefined;
211
1114
  padding?: number | undefined;
212
1115
  margin?: number | undefined;
213
- fontSize?: number | undefined;
214
1116
  }>, z.ZodObject<{
215
1117
  type: z.ZodLiteral<"path">;
216
1118
  stroke: z.ZodOptional<z.ZodString>;
@@ -228,45 +1130,157 @@ export declare const SceneSchema: z.ZodObject<{
228
1130
  }>>;
229
1131
  fill: z.ZodOptional<z.ZodString>;
230
1132
  fillRule: z.ZodOptional<z.ZodEnum<["nonzero", "evenodd"]>>;
1133
+ lineCap: z.ZodOptional<z.ZodEnum<["butt", "round", "square"]>>;
1134
+ lineJoin: z.ZodOptional<z.ZodEnum<["miter", "round", "bevel"]>>;
1135
+ thickness: z.ZodOptional<z.ZodEnum<["ultraThin", "veryThin", "thin", "semithick", "thick", "veryThick", "ultraThick"]>>;
1136
+ opacity: z.ZodOptional<z.ZodNumber>;
1137
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
1138
+ drawOpacity: z.ZodOptional<z.ZodNumber>;
231
1139
  children: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
232
1140
  type: z.ZodLiteral<"step">;
233
1141
  kind: z.ZodLiteral<"move">;
234
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
1142
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1143
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1144
+ }, "strip", z.ZodTypeAny, {
1145
+ rel: [number, number];
1146
+ }, {
1147
+ rel: [number, number];
1148
+ }>, z.ZodObject<{
1149
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1150
+ }, "strip", z.ZodTypeAny, {
1151
+ relAccumulate: [number, number];
1152
+ }, {
1153
+ relAccumulate: [number, number];
1154
+ }>]>;
235
1155
  }, "strip", z.ZodTypeAny, {
236
1156
  type: "step";
237
1157
  kind: "move";
238
- to: string | [number, number] | import('./position').PolarPosition;
1158
+ to: string | [number, number] | import('./position').PolarPosition | {
1159
+ rel: [number, number];
1160
+ } | {
1161
+ relAccumulate: [number, number];
1162
+ };
239
1163
  }, {
240
1164
  type: "step";
241
1165
  kind: "move";
242
- to: string | [number, number] | import('./position').PolarPosition;
1166
+ to: string | [number, number] | import('./position').PolarPosition | {
1167
+ rel: [number, number];
1168
+ } | {
1169
+ relAccumulate: [number, number];
1170
+ };
243
1171
  }>, z.ZodObject<{
244
1172
  type: z.ZodLiteral<"step">;
245
1173
  kind: z.ZodLiteral<"line">;
246
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
1174
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1175
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1176
+ }, "strip", z.ZodTypeAny, {
1177
+ rel: [number, number];
1178
+ }, {
1179
+ rel: [number, number];
1180
+ }>, z.ZodObject<{
1181
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1182
+ }, "strip", z.ZodTypeAny, {
1183
+ relAccumulate: [number, number];
1184
+ }, {
1185
+ relAccumulate: [number, number];
1186
+ }>]>;
1187
+ label: z.ZodOptional<z.ZodObject<{
1188
+ text: z.ZodString;
1189
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1190
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1191
+ }, "strip", z.ZodTypeAny, {
1192
+ text: string;
1193
+ position?: "midway" | "near-start" | "near-end" | undefined;
1194
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1195
+ }, {
1196
+ text: string;
1197
+ position?: "midway" | "near-start" | "near-end" | undefined;
1198
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1199
+ }>>;
247
1200
  }, "strip", z.ZodTypeAny, {
248
1201
  type: "step";
249
1202
  kind: "line";
250
- to: string | [number, number] | import('./position').PolarPosition;
1203
+ to: string | [number, number] | import('./position').PolarPosition | {
1204
+ rel: [number, number];
1205
+ } | {
1206
+ relAccumulate: [number, number];
1207
+ };
1208
+ label?: {
1209
+ text: string;
1210
+ position?: "midway" | "near-start" | "near-end" | undefined;
1211
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1212
+ } | undefined;
251
1213
  }, {
252
1214
  type: "step";
253
1215
  kind: "line";
254
- to: string | [number, number] | import('./position').PolarPosition;
1216
+ to: string | [number, number] | import('./position').PolarPosition | {
1217
+ rel: [number, number];
1218
+ } | {
1219
+ relAccumulate: [number, number];
1220
+ };
1221
+ label?: {
1222
+ text: string;
1223
+ position?: "midway" | "near-start" | "near-end" | undefined;
1224
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1225
+ } | undefined;
255
1226
  }>, z.ZodObject<{
256
1227
  type: z.ZodLiteral<"step">;
257
1228
  kind: z.ZodLiteral<"step">;
258
1229
  via: z.ZodEnum<["-|", "|-"]>;
259
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
1230
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1231
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1232
+ }, "strip", z.ZodTypeAny, {
1233
+ rel: [number, number];
1234
+ }, {
1235
+ rel: [number, number];
1236
+ }>, z.ZodObject<{
1237
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1238
+ }, "strip", z.ZodTypeAny, {
1239
+ relAccumulate: [number, number];
1240
+ }, {
1241
+ relAccumulate: [number, number];
1242
+ }>]>;
1243
+ label: z.ZodOptional<z.ZodObject<{
1244
+ text: z.ZodString;
1245
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1246
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1247
+ }, "strip", z.ZodTypeAny, {
1248
+ text: string;
1249
+ position?: "midway" | "near-start" | "near-end" | undefined;
1250
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1251
+ }, {
1252
+ text: string;
1253
+ position?: "midway" | "near-start" | "near-end" | undefined;
1254
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1255
+ }>>;
260
1256
  }, "strip", z.ZodTypeAny, {
261
1257
  type: "step";
262
1258
  kind: "step";
263
- to: string | [number, number] | import('./position').PolarPosition;
1259
+ to: string | [number, number] | import('./position').PolarPosition | {
1260
+ rel: [number, number];
1261
+ } | {
1262
+ relAccumulate: [number, number];
1263
+ };
264
1264
  via: "-|" | "|-";
1265
+ label?: {
1266
+ text: string;
1267
+ position?: "midway" | "near-start" | "near-end" | undefined;
1268
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1269
+ } | undefined;
265
1270
  }, {
266
1271
  type: "step";
267
1272
  kind: "step";
268
- to: string | [number, number] | import('./position').PolarPosition;
1273
+ to: string | [number, number] | import('./position').PolarPosition | {
1274
+ rel: [number, number];
1275
+ } | {
1276
+ relAccumulate: [number, number];
1277
+ };
269
1278
  via: "-|" | "|-";
1279
+ label?: {
1280
+ text: string;
1281
+ position?: "midway" | "near-start" | "near-end" | undefined;
1282
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1283
+ } | undefined;
270
1284
  }>, z.ZodObject<{
271
1285
  type: z.ZodLiteral<"step">;
272
1286
  kind: z.ZodLiteral<"cycle">;
@@ -276,25 +1290,415 @@ export declare const SceneSchema: z.ZodObject<{
276
1290
  }, {
277
1291
  type: "step";
278
1292
  kind: "cycle";
1293
+ }>, z.ZodObject<{
1294
+ type: z.ZodLiteral<"step">;
1295
+ kind: z.ZodLiteral<"curve">;
1296
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1297
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1298
+ }, "strip", z.ZodTypeAny, {
1299
+ rel: [number, number];
1300
+ }, {
1301
+ rel: [number, number];
1302
+ }>, z.ZodObject<{
1303
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1304
+ }, "strip", z.ZodTypeAny, {
1305
+ relAccumulate: [number, number];
1306
+ }, {
1307
+ relAccumulate: [number, number];
1308
+ }>]>;
1309
+ control: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1310
+ label: z.ZodOptional<z.ZodObject<{
1311
+ text: z.ZodString;
1312
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1313
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1314
+ }, "strip", z.ZodTypeAny, {
1315
+ text: string;
1316
+ position?: "midway" | "near-start" | "near-end" | undefined;
1317
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1318
+ }, {
1319
+ text: string;
1320
+ position?: "midway" | "near-start" | "near-end" | undefined;
1321
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1322
+ }>>;
1323
+ }, "strip", z.ZodTypeAny, {
1324
+ type: "step";
1325
+ kind: "curve";
1326
+ to: string | [number, number] | import('./position').PolarPosition | {
1327
+ rel: [number, number];
1328
+ } | {
1329
+ relAccumulate: [number, number];
1330
+ };
1331
+ control: [number, number];
1332
+ label?: {
1333
+ text: string;
1334
+ position?: "midway" | "near-start" | "near-end" | undefined;
1335
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1336
+ } | undefined;
1337
+ }, {
1338
+ type: "step";
1339
+ kind: "curve";
1340
+ to: string | [number, number] | import('./position').PolarPosition | {
1341
+ rel: [number, number];
1342
+ } | {
1343
+ relAccumulate: [number, number];
1344
+ };
1345
+ control: [number, number];
1346
+ label?: {
1347
+ text: string;
1348
+ position?: "midway" | "near-start" | "near-end" | undefined;
1349
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1350
+ } | undefined;
1351
+ }>, z.ZodObject<{
1352
+ type: z.ZodLiteral<"step">;
1353
+ kind: z.ZodLiteral<"cubic">;
1354
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1355
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1356
+ }, "strip", z.ZodTypeAny, {
1357
+ rel: [number, number];
1358
+ }, {
1359
+ rel: [number, number];
1360
+ }>, z.ZodObject<{
1361
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1362
+ }, "strip", z.ZodTypeAny, {
1363
+ relAccumulate: [number, number];
1364
+ }, {
1365
+ relAccumulate: [number, number];
1366
+ }>]>;
1367
+ control1: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1368
+ control2: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1369
+ label: z.ZodOptional<z.ZodObject<{
1370
+ text: z.ZodString;
1371
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1372
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1373
+ }, "strip", z.ZodTypeAny, {
1374
+ text: string;
1375
+ position?: "midway" | "near-start" | "near-end" | undefined;
1376
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1377
+ }, {
1378
+ text: string;
1379
+ position?: "midway" | "near-start" | "near-end" | undefined;
1380
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1381
+ }>>;
1382
+ }, "strip", z.ZodTypeAny, {
1383
+ type: "step";
1384
+ kind: "cubic";
1385
+ to: string | [number, number] | import('./position').PolarPosition | {
1386
+ rel: [number, number];
1387
+ } | {
1388
+ relAccumulate: [number, number];
1389
+ };
1390
+ control1: [number, number];
1391
+ control2: [number, number];
1392
+ label?: {
1393
+ text: string;
1394
+ position?: "midway" | "near-start" | "near-end" | undefined;
1395
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1396
+ } | undefined;
1397
+ }, {
1398
+ type: "step";
1399
+ kind: "cubic";
1400
+ to: string | [number, number] | import('./position').PolarPosition | {
1401
+ rel: [number, number];
1402
+ } | {
1403
+ relAccumulate: [number, number];
1404
+ };
1405
+ control1: [number, number];
1406
+ control2: [number, number];
1407
+ label?: {
1408
+ text: string;
1409
+ position?: "midway" | "near-start" | "near-end" | undefined;
1410
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1411
+ } | undefined;
1412
+ }>, z.ZodObject<{
1413
+ type: z.ZodLiteral<"step">;
1414
+ kind: z.ZodLiteral<"bend">;
1415
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1416
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1417
+ }, "strip", z.ZodTypeAny, {
1418
+ rel: [number, number];
1419
+ }, {
1420
+ rel: [number, number];
1421
+ }>, z.ZodObject<{
1422
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1423
+ }, "strip", z.ZodTypeAny, {
1424
+ relAccumulate: [number, number];
1425
+ }, {
1426
+ relAccumulate: [number, number];
1427
+ }>]>;
1428
+ bendDirection: z.ZodEnum<["left", "right"]>;
1429
+ bendAngle: z.ZodOptional<z.ZodNumber>;
1430
+ label: z.ZodOptional<z.ZodObject<{
1431
+ text: z.ZodString;
1432
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1433
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1434
+ }, "strip", z.ZodTypeAny, {
1435
+ text: string;
1436
+ position?: "midway" | "near-start" | "near-end" | undefined;
1437
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1438
+ }, {
1439
+ text: string;
1440
+ position?: "midway" | "near-start" | "near-end" | undefined;
1441
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1442
+ }>>;
1443
+ }, "strip", z.ZodTypeAny, {
1444
+ type: "step";
1445
+ kind: "bend";
1446
+ to: string | [number, number] | import('./position').PolarPosition | {
1447
+ rel: [number, number];
1448
+ } | {
1449
+ relAccumulate: [number, number];
1450
+ };
1451
+ bendDirection: "left" | "right";
1452
+ label?: {
1453
+ text: string;
1454
+ position?: "midway" | "near-start" | "near-end" | undefined;
1455
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1456
+ } | undefined;
1457
+ bendAngle?: number | undefined;
1458
+ }, {
1459
+ type: "step";
1460
+ kind: "bend";
1461
+ to: string | [number, number] | import('./position').PolarPosition | {
1462
+ rel: [number, number];
1463
+ } | {
1464
+ relAccumulate: [number, number];
1465
+ };
1466
+ bendDirection: "left" | "right";
1467
+ label?: {
1468
+ text: string;
1469
+ position?: "midway" | "near-start" | "near-end" | undefined;
1470
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1471
+ } | undefined;
1472
+ bendAngle?: number | undefined;
1473
+ }>, z.ZodObject<{
1474
+ type: z.ZodLiteral<"step">;
1475
+ kind: z.ZodLiteral<"arc">;
1476
+ startAngle: z.ZodNumber;
1477
+ endAngle: z.ZodNumber;
1478
+ radius: z.ZodNumber;
1479
+ label: z.ZodOptional<z.ZodObject<{
1480
+ text: z.ZodString;
1481
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1482
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1483
+ }, "strip", z.ZodTypeAny, {
1484
+ text: string;
1485
+ position?: "midway" | "near-start" | "near-end" | undefined;
1486
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1487
+ }, {
1488
+ text: string;
1489
+ position?: "midway" | "near-start" | "near-end" | undefined;
1490
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1491
+ }>>;
1492
+ }, "strip", z.ZodTypeAny, {
1493
+ type: "step";
1494
+ radius: number;
1495
+ kind: "arc";
1496
+ startAngle: number;
1497
+ endAngle: number;
1498
+ label?: {
1499
+ text: string;
1500
+ position?: "midway" | "near-start" | "near-end" | undefined;
1501
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1502
+ } | undefined;
1503
+ }, {
1504
+ type: "step";
1505
+ radius: number;
1506
+ kind: "arc";
1507
+ startAngle: number;
1508
+ endAngle: number;
1509
+ label?: {
1510
+ text: string;
1511
+ position?: "midway" | "near-start" | "near-end" | undefined;
1512
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1513
+ } | undefined;
1514
+ }>, z.ZodObject<{
1515
+ type: z.ZodLiteral<"step">;
1516
+ kind: z.ZodLiteral<"circlePath">;
1517
+ radius: z.ZodNumber;
1518
+ label: z.ZodOptional<z.ZodObject<{
1519
+ text: z.ZodString;
1520
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1521
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1522
+ }, "strip", z.ZodTypeAny, {
1523
+ text: string;
1524
+ position?: "midway" | "near-start" | "near-end" | undefined;
1525
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1526
+ }, {
1527
+ text: string;
1528
+ position?: "midway" | "near-start" | "near-end" | undefined;
1529
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1530
+ }>>;
1531
+ }, "strip", z.ZodTypeAny, {
1532
+ type: "step";
1533
+ radius: number;
1534
+ kind: "circlePath";
1535
+ label?: {
1536
+ text: string;
1537
+ position?: "midway" | "near-start" | "near-end" | undefined;
1538
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1539
+ } | undefined;
1540
+ }, {
1541
+ type: "step";
1542
+ radius: number;
1543
+ kind: "circlePath";
1544
+ label?: {
1545
+ text: string;
1546
+ position?: "midway" | "near-start" | "near-end" | undefined;
1547
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1548
+ } | undefined;
1549
+ }>, z.ZodObject<{
1550
+ type: z.ZodLiteral<"step">;
1551
+ kind: z.ZodLiteral<"ellipsePath">;
1552
+ radiusX: z.ZodNumber;
1553
+ radiusY: z.ZodNumber;
1554
+ label: z.ZodOptional<z.ZodObject<{
1555
+ text: z.ZodString;
1556
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1557
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1558
+ }, "strip", z.ZodTypeAny, {
1559
+ text: string;
1560
+ position?: "midway" | "near-start" | "near-end" | undefined;
1561
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1562
+ }, {
1563
+ text: string;
1564
+ position?: "midway" | "near-start" | "near-end" | undefined;
1565
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1566
+ }>>;
1567
+ }, "strip", z.ZodTypeAny, {
1568
+ type: "step";
1569
+ kind: "ellipsePath";
1570
+ radiusX: number;
1571
+ radiusY: number;
1572
+ label?: {
1573
+ text: string;
1574
+ position?: "midway" | "near-start" | "near-end" | undefined;
1575
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1576
+ } | undefined;
1577
+ }, {
1578
+ type: "step";
1579
+ kind: "ellipsePath";
1580
+ radiusX: number;
1581
+ radiusY: number;
1582
+ label?: {
1583
+ text: string;
1584
+ position?: "midway" | "near-start" | "near-end" | undefined;
1585
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1586
+ } | undefined;
279
1587
  }>]>, "many">;
280
1588
  }, "strip", z.ZodTypeAny, {
281
1589
  type: "path";
282
1590
  children: ({
283
1591
  type: "step";
284
1592
  kind: "move";
285
- to: string | [number, number] | import('./position').PolarPosition;
1593
+ to: string | [number, number] | import('./position').PolarPosition | {
1594
+ rel: [number, number];
1595
+ } | {
1596
+ relAccumulate: [number, number];
1597
+ };
286
1598
  } | {
287
1599
  type: "step";
288
1600
  kind: "line";
289
- to: string | [number, number] | import('./position').PolarPosition;
1601
+ to: string | [number, number] | import('./position').PolarPosition | {
1602
+ rel: [number, number];
1603
+ } | {
1604
+ relAccumulate: [number, number];
1605
+ };
1606
+ label?: {
1607
+ text: string;
1608
+ position?: "midway" | "near-start" | "near-end" | undefined;
1609
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1610
+ } | undefined;
290
1611
  } | {
291
1612
  type: "step";
292
1613
  kind: "step";
293
- to: string | [number, number] | import('./position').PolarPosition;
1614
+ to: string | [number, number] | import('./position').PolarPosition | {
1615
+ rel: [number, number];
1616
+ } | {
1617
+ relAccumulate: [number, number];
1618
+ };
294
1619
  via: "-|" | "|-";
1620
+ label?: {
1621
+ text: string;
1622
+ position?: "midway" | "near-start" | "near-end" | undefined;
1623
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1624
+ } | undefined;
295
1625
  } | {
296
1626
  type: "step";
297
1627
  kind: "cycle";
1628
+ } | {
1629
+ type: "step";
1630
+ kind: "curve";
1631
+ to: string | [number, number] | import('./position').PolarPosition | {
1632
+ rel: [number, number];
1633
+ } | {
1634
+ relAccumulate: [number, number];
1635
+ };
1636
+ control: [number, number];
1637
+ label?: {
1638
+ text: string;
1639
+ position?: "midway" | "near-start" | "near-end" | undefined;
1640
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1641
+ } | undefined;
1642
+ } | {
1643
+ type: "step";
1644
+ kind: "cubic";
1645
+ to: string | [number, number] | import('./position').PolarPosition | {
1646
+ rel: [number, number];
1647
+ } | {
1648
+ relAccumulate: [number, number];
1649
+ };
1650
+ control1: [number, number];
1651
+ control2: [number, number];
1652
+ label?: {
1653
+ text: string;
1654
+ position?: "midway" | "near-start" | "near-end" | undefined;
1655
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1656
+ } | undefined;
1657
+ } | {
1658
+ type: "step";
1659
+ kind: "bend";
1660
+ to: string | [number, number] | import('./position').PolarPosition | {
1661
+ rel: [number, number];
1662
+ } | {
1663
+ relAccumulate: [number, number];
1664
+ };
1665
+ bendDirection: "left" | "right";
1666
+ label?: {
1667
+ text: string;
1668
+ position?: "midway" | "near-start" | "near-end" | undefined;
1669
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1670
+ } | undefined;
1671
+ bendAngle?: number | undefined;
1672
+ } | {
1673
+ type: "step";
1674
+ radius: number;
1675
+ kind: "arc";
1676
+ startAngle: number;
1677
+ endAngle: number;
1678
+ label?: {
1679
+ text: string;
1680
+ position?: "midway" | "near-start" | "near-end" | undefined;
1681
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1682
+ } | undefined;
1683
+ } | {
1684
+ type: "step";
1685
+ radius: number;
1686
+ kind: "circlePath";
1687
+ label?: {
1688
+ text: string;
1689
+ position?: "midway" | "near-start" | "near-end" | undefined;
1690
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1691
+ } | undefined;
1692
+ } | {
1693
+ type: "step";
1694
+ kind: "ellipsePath";
1695
+ radiusX: number;
1696
+ radiusY: number;
1697
+ label?: {
1698
+ text: string;
1699
+ position?: "midway" | "near-start" | "near-end" | undefined;
1700
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1701
+ } | undefined;
298
1702
  })[];
299
1703
  fill?: string | undefined;
300
1704
  stroke?: string | undefined;
@@ -303,24 +1707,126 @@ export declare const SceneSchema: z.ZodObject<{
303
1707
  arrow?: "none" | "->" | "<-" | "<->" | undefined;
304
1708
  arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
305
1709
  fillRule?: "nonzero" | "evenodd" | undefined;
1710
+ lineCap?: "butt" | "round" | "square" | undefined;
1711
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
1712
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
1713
+ opacity?: number | undefined;
1714
+ fillOpacity?: number | undefined;
1715
+ drawOpacity?: number | undefined;
306
1716
  }, {
307
1717
  type: "path";
308
1718
  children: ({
309
1719
  type: "step";
310
1720
  kind: "move";
311
- to: string | [number, number] | import('./position').PolarPosition;
1721
+ to: string | [number, number] | import('./position').PolarPosition | {
1722
+ rel: [number, number];
1723
+ } | {
1724
+ relAccumulate: [number, number];
1725
+ };
312
1726
  } | {
313
1727
  type: "step";
314
1728
  kind: "line";
315
- to: string | [number, number] | import('./position').PolarPosition;
1729
+ to: string | [number, number] | import('./position').PolarPosition | {
1730
+ rel: [number, number];
1731
+ } | {
1732
+ relAccumulate: [number, number];
1733
+ };
1734
+ label?: {
1735
+ text: string;
1736
+ position?: "midway" | "near-start" | "near-end" | undefined;
1737
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1738
+ } | undefined;
316
1739
  } | {
317
1740
  type: "step";
318
1741
  kind: "step";
319
- to: string | [number, number] | import('./position').PolarPosition;
1742
+ to: string | [number, number] | import('./position').PolarPosition | {
1743
+ rel: [number, number];
1744
+ } | {
1745
+ relAccumulate: [number, number];
1746
+ };
320
1747
  via: "-|" | "|-";
1748
+ label?: {
1749
+ text: string;
1750
+ position?: "midway" | "near-start" | "near-end" | undefined;
1751
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1752
+ } | undefined;
321
1753
  } | {
322
1754
  type: "step";
323
1755
  kind: "cycle";
1756
+ } | {
1757
+ type: "step";
1758
+ kind: "curve";
1759
+ to: string | [number, number] | import('./position').PolarPosition | {
1760
+ rel: [number, number];
1761
+ } | {
1762
+ relAccumulate: [number, number];
1763
+ };
1764
+ control: [number, number];
1765
+ label?: {
1766
+ text: string;
1767
+ position?: "midway" | "near-start" | "near-end" | undefined;
1768
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1769
+ } | undefined;
1770
+ } | {
1771
+ type: "step";
1772
+ kind: "cubic";
1773
+ to: string | [number, number] | import('./position').PolarPosition | {
1774
+ rel: [number, number];
1775
+ } | {
1776
+ relAccumulate: [number, number];
1777
+ };
1778
+ control1: [number, number];
1779
+ control2: [number, number];
1780
+ label?: {
1781
+ text: string;
1782
+ position?: "midway" | "near-start" | "near-end" | undefined;
1783
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1784
+ } | undefined;
1785
+ } | {
1786
+ type: "step";
1787
+ kind: "bend";
1788
+ to: string | [number, number] | import('./position').PolarPosition | {
1789
+ rel: [number, number];
1790
+ } | {
1791
+ relAccumulate: [number, number];
1792
+ };
1793
+ bendDirection: "left" | "right";
1794
+ label?: {
1795
+ text: string;
1796
+ position?: "midway" | "near-start" | "near-end" | undefined;
1797
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1798
+ } | undefined;
1799
+ bendAngle?: number | undefined;
1800
+ } | {
1801
+ type: "step";
1802
+ radius: number;
1803
+ kind: "arc";
1804
+ startAngle: number;
1805
+ endAngle: number;
1806
+ label?: {
1807
+ text: string;
1808
+ position?: "midway" | "near-start" | "near-end" | undefined;
1809
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1810
+ } | undefined;
1811
+ } | {
1812
+ type: "step";
1813
+ radius: number;
1814
+ kind: "circlePath";
1815
+ label?: {
1816
+ text: string;
1817
+ position?: "midway" | "near-start" | "near-end" | undefined;
1818
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1819
+ } | undefined;
1820
+ } | {
1821
+ type: "step";
1822
+ kind: "ellipsePath";
1823
+ radiusX: number;
1824
+ radiusY: number;
1825
+ label?: {
1826
+ text: string;
1827
+ position?: "midway" | "near-start" | "near-end" | undefined;
1828
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1829
+ } | undefined;
324
1830
  })[];
325
1831
  fill?: string | undefined;
326
1832
  stroke?: string | undefined;
@@ -329,6 +1835,12 @@ export declare const SceneSchema: z.ZodObject<{
329
1835
  arrow?: "none" | "->" | "<-" | "<->" | undefined;
330
1836
  arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
331
1837
  fillRule?: "nonzero" | "evenodd" | undefined;
1838
+ lineCap?: "butt" | "round" | "square" | undefined;
1839
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
1840
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
1841
+ opacity?: number | undefined;
1842
+ fillOpacity?: number | undefined;
1843
+ drawOpacity?: number | undefined;
332
1844
  }>]>, "many">;
333
1845
  }, "strip", z.ZodTypeAny, {
334
1846
  type: "scene";
@@ -337,19 +1849,115 @@ export declare const SceneSchema: z.ZodObject<{
337
1849
  children: ({
338
1850
  type: "step";
339
1851
  kind: "move";
340
- to: string | [number, number] | import('./position').PolarPosition;
1852
+ to: string | [number, number] | import('./position').PolarPosition | {
1853
+ rel: [number, number];
1854
+ } | {
1855
+ relAccumulate: [number, number];
1856
+ };
341
1857
  } | {
342
1858
  type: "step";
343
1859
  kind: "line";
344
- to: string | [number, number] | import('./position').PolarPosition;
1860
+ to: string | [number, number] | import('./position').PolarPosition | {
1861
+ rel: [number, number];
1862
+ } | {
1863
+ relAccumulate: [number, number];
1864
+ };
1865
+ label?: {
1866
+ text: string;
1867
+ position?: "midway" | "near-start" | "near-end" | undefined;
1868
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1869
+ } | undefined;
345
1870
  } | {
346
1871
  type: "step";
347
1872
  kind: "step";
348
- to: string | [number, number] | import('./position').PolarPosition;
1873
+ to: string | [number, number] | import('./position').PolarPosition | {
1874
+ rel: [number, number];
1875
+ } | {
1876
+ relAccumulate: [number, number];
1877
+ };
349
1878
  via: "-|" | "|-";
1879
+ label?: {
1880
+ text: string;
1881
+ position?: "midway" | "near-start" | "near-end" | undefined;
1882
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1883
+ } | undefined;
350
1884
  } | {
351
1885
  type: "step";
352
1886
  kind: "cycle";
1887
+ } | {
1888
+ type: "step";
1889
+ kind: "curve";
1890
+ to: string | [number, number] | import('./position').PolarPosition | {
1891
+ rel: [number, number];
1892
+ } | {
1893
+ relAccumulate: [number, number];
1894
+ };
1895
+ control: [number, number];
1896
+ label?: {
1897
+ text: string;
1898
+ position?: "midway" | "near-start" | "near-end" | undefined;
1899
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1900
+ } | undefined;
1901
+ } | {
1902
+ type: "step";
1903
+ kind: "cubic";
1904
+ to: string | [number, number] | import('./position').PolarPosition | {
1905
+ rel: [number, number];
1906
+ } | {
1907
+ relAccumulate: [number, number];
1908
+ };
1909
+ control1: [number, number];
1910
+ control2: [number, number];
1911
+ label?: {
1912
+ text: string;
1913
+ position?: "midway" | "near-start" | "near-end" | undefined;
1914
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1915
+ } | undefined;
1916
+ } | {
1917
+ type: "step";
1918
+ kind: "bend";
1919
+ to: string | [number, number] | import('./position').PolarPosition | {
1920
+ rel: [number, number];
1921
+ } | {
1922
+ relAccumulate: [number, number];
1923
+ };
1924
+ bendDirection: "left" | "right";
1925
+ label?: {
1926
+ text: string;
1927
+ position?: "midway" | "near-start" | "near-end" | undefined;
1928
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1929
+ } | undefined;
1930
+ bendAngle?: number | undefined;
1931
+ } | {
1932
+ type: "step";
1933
+ radius: number;
1934
+ kind: "arc";
1935
+ startAngle: number;
1936
+ endAngle: number;
1937
+ label?: {
1938
+ text: string;
1939
+ position?: "midway" | "near-start" | "near-end" | undefined;
1940
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1941
+ } | undefined;
1942
+ } | {
1943
+ type: "step";
1944
+ radius: number;
1945
+ kind: "circlePath";
1946
+ label?: {
1947
+ text: string;
1948
+ position?: "midway" | "near-start" | "near-end" | undefined;
1949
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1950
+ } | undefined;
1951
+ } | {
1952
+ type: "step";
1953
+ kind: "ellipsePath";
1954
+ radiusX: number;
1955
+ radiusY: number;
1956
+ label?: {
1957
+ text: string;
1958
+ position?: "midway" | "near-start" | "near-end" | undefined;
1959
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1960
+ } | undefined;
353
1961
  })[];
354
1962
  fill?: string | undefined;
355
1963
  stroke?: string | undefined;
@@ -358,19 +1966,59 @@ export declare const SceneSchema: z.ZodObject<{
358
1966
  arrow?: "none" | "->" | "<-" | "<->" | undefined;
359
1967
  arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
360
1968
  fillRule?: "nonzero" | "evenodd" | undefined;
1969
+ lineCap?: "butt" | "round" | "square" | undefined;
1970
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
1971
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
1972
+ opacity?: number | undefined;
1973
+ fillOpacity?: number | undefined;
1974
+ drawOpacity?: number | undefined;
361
1975
  } | {
362
1976
  type: "node";
363
1977
  position: [number, number] | import('./position').PolarPosition;
364
1978
  fill?: string | undefined;
1979
+ text?: string | (string | {
1980
+ text: string;
1981
+ fill?: string | undefined;
1982
+ opacity?: number | undefined;
1983
+ font?: {
1984
+ family?: string | undefined;
1985
+ size?: number | undefined;
1986
+ weight?: number | "normal" | "bold" | undefined;
1987
+ style?: "normal" | "italic" | "oblique" | undefined;
1988
+ } | undefined;
1989
+ })[] | undefined;
365
1990
  shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
366
1991
  stroke?: string | undefined;
367
1992
  strokeWidth?: number | undefined;
1993
+ opacity?: number | undefined;
1994
+ fillOpacity?: number | undefined;
1995
+ drawOpacity?: number | undefined;
1996
+ font?: {
1997
+ family?: string | undefined;
1998
+ size?: number | undefined;
1999
+ weight?: number | "normal" | "bold" | undefined;
2000
+ style?: "normal" | "italic" | "oblique" | undefined;
2001
+ } | undefined;
368
2002
  id?: string | undefined;
369
2003
  rotate?: number | undefined;
370
- text?: string | undefined;
2004
+ align?: "left" | "right" | "center" | undefined;
2005
+ lineHeight?: number | undefined;
2006
+ dashed?: boolean | undefined;
2007
+ dotted?: boolean | undefined;
2008
+ dashArray?: string | undefined;
2009
+ roundedCorners?: number | undefined;
2010
+ minimumWidth?: number | undefined;
2011
+ minimumHeight?: number | undefined;
2012
+ minimumSize?: number | undefined;
2013
+ scale?: number | undefined;
2014
+ xScale?: number | undefined;
2015
+ yScale?: number | undefined;
2016
+ textColor?: string | undefined;
2017
+ innerXSep?: number | undefined;
2018
+ innerYSep?: number | undefined;
2019
+ outerSep?: number | undefined;
371
2020
  padding?: number | undefined;
372
2021
  margin?: number | undefined;
373
- fontSize?: number | undefined;
374
2022
  })[];
375
2023
  version: 1;
376
2024
  }, {
@@ -380,19 +2028,115 @@ export declare const SceneSchema: z.ZodObject<{
380
2028
  children: ({
381
2029
  type: "step";
382
2030
  kind: "move";
383
- to: string | [number, number] | import('./position').PolarPosition;
2031
+ to: string | [number, number] | import('./position').PolarPosition | {
2032
+ rel: [number, number];
2033
+ } | {
2034
+ relAccumulate: [number, number];
2035
+ };
384
2036
  } | {
385
2037
  type: "step";
386
2038
  kind: "line";
387
- to: string | [number, number] | import('./position').PolarPosition;
2039
+ to: string | [number, number] | import('./position').PolarPosition | {
2040
+ rel: [number, number];
2041
+ } | {
2042
+ relAccumulate: [number, number];
2043
+ };
2044
+ label?: {
2045
+ text: string;
2046
+ position?: "midway" | "near-start" | "near-end" | undefined;
2047
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2048
+ } | undefined;
388
2049
  } | {
389
2050
  type: "step";
390
2051
  kind: "step";
391
- to: string | [number, number] | import('./position').PolarPosition;
2052
+ to: string | [number, number] | import('./position').PolarPosition | {
2053
+ rel: [number, number];
2054
+ } | {
2055
+ relAccumulate: [number, number];
2056
+ };
392
2057
  via: "-|" | "|-";
2058
+ label?: {
2059
+ text: string;
2060
+ position?: "midway" | "near-start" | "near-end" | undefined;
2061
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2062
+ } | undefined;
393
2063
  } | {
394
2064
  type: "step";
395
2065
  kind: "cycle";
2066
+ } | {
2067
+ type: "step";
2068
+ kind: "curve";
2069
+ to: string | [number, number] | import('./position').PolarPosition | {
2070
+ rel: [number, number];
2071
+ } | {
2072
+ relAccumulate: [number, number];
2073
+ };
2074
+ control: [number, number];
2075
+ label?: {
2076
+ text: string;
2077
+ position?: "midway" | "near-start" | "near-end" | undefined;
2078
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2079
+ } | undefined;
2080
+ } | {
2081
+ type: "step";
2082
+ kind: "cubic";
2083
+ to: string | [number, number] | import('./position').PolarPosition | {
2084
+ rel: [number, number];
2085
+ } | {
2086
+ relAccumulate: [number, number];
2087
+ };
2088
+ control1: [number, number];
2089
+ control2: [number, number];
2090
+ label?: {
2091
+ text: string;
2092
+ position?: "midway" | "near-start" | "near-end" | undefined;
2093
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2094
+ } | undefined;
2095
+ } | {
2096
+ type: "step";
2097
+ kind: "bend";
2098
+ to: string | [number, number] | import('./position').PolarPosition | {
2099
+ rel: [number, number];
2100
+ } | {
2101
+ relAccumulate: [number, number];
2102
+ };
2103
+ bendDirection: "left" | "right";
2104
+ label?: {
2105
+ text: string;
2106
+ position?: "midway" | "near-start" | "near-end" | undefined;
2107
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2108
+ } | undefined;
2109
+ bendAngle?: number | undefined;
2110
+ } | {
2111
+ type: "step";
2112
+ radius: number;
2113
+ kind: "arc";
2114
+ startAngle: number;
2115
+ endAngle: number;
2116
+ label?: {
2117
+ text: string;
2118
+ position?: "midway" | "near-start" | "near-end" | undefined;
2119
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2120
+ } | undefined;
2121
+ } | {
2122
+ type: "step";
2123
+ radius: number;
2124
+ kind: "circlePath";
2125
+ label?: {
2126
+ text: string;
2127
+ position?: "midway" | "near-start" | "near-end" | undefined;
2128
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2129
+ } | undefined;
2130
+ } | {
2131
+ type: "step";
2132
+ kind: "ellipsePath";
2133
+ radiusX: number;
2134
+ radiusY: number;
2135
+ label?: {
2136
+ text: string;
2137
+ position?: "midway" | "near-start" | "near-end" | undefined;
2138
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2139
+ } | undefined;
396
2140
  })[];
397
2141
  fill?: string | undefined;
398
2142
  stroke?: string | undefined;
@@ -401,19 +2145,59 @@ export declare const SceneSchema: z.ZodObject<{
401
2145
  arrow?: "none" | "->" | "<-" | "<->" | undefined;
402
2146
  arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
403
2147
  fillRule?: "nonzero" | "evenodd" | undefined;
2148
+ lineCap?: "butt" | "round" | "square" | undefined;
2149
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
2150
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
2151
+ opacity?: number | undefined;
2152
+ fillOpacity?: number | undefined;
2153
+ drawOpacity?: number | undefined;
404
2154
  } | {
405
2155
  type: "node";
406
2156
  position: [number, number] | import('./position').PolarPosition;
407
2157
  fill?: string | undefined;
2158
+ text?: string | (string | {
2159
+ text: string;
2160
+ fill?: string | undefined;
2161
+ opacity?: number | undefined;
2162
+ font?: {
2163
+ family?: string | undefined;
2164
+ size?: number | undefined;
2165
+ weight?: number | "normal" | "bold" | undefined;
2166
+ style?: "normal" | "italic" | "oblique" | undefined;
2167
+ } | undefined;
2168
+ })[] | undefined;
408
2169
  shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
409
2170
  stroke?: string | undefined;
410
2171
  strokeWidth?: number | undefined;
2172
+ opacity?: number | undefined;
2173
+ fillOpacity?: number | undefined;
2174
+ drawOpacity?: number | undefined;
2175
+ font?: {
2176
+ family?: string | undefined;
2177
+ size?: number | undefined;
2178
+ weight?: number | "normal" | "bold" | undefined;
2179
+ style?: "normal" | "italic" | "oblique" | undefined;
2180
+ } | undefined;
411
2181
  id?: string | undefined;
412
2182
  rotate?: number | undefined;
413
- text?: string | undefined;
2183
+ align?: "left" | "right" | "center" | undefined;
2184
+ lineHeight?: number | undefined;
2185
+ dashed?: boolean | undefined;
2186
+ dotted?: boolean | undefined;
2187
+ dashArray?: string | undefined;
2188
+ roundedCorners?: number | undefined;
2189
+ minimumWidth?: number | undefined;
2190
+ minimumHeight?: number | undefined;
2191
+ minimumSize?: number | undefined;
2192
+ scale?: number | undefined;
2193
+ xScale?: number | undefined;
2194
+ yScale?: number | undefined;
2195
+ textColor?: string | undefined;
2196
+ innerXSep?: number | undefined;
2197
+ innerYSep?: number | undefined;
2198
+ outerSep?: number | undefined;
414
2199
  padding?: number | undefined;
415
2200
  margin?: number | undefined;
416
- fontSize?: number | undefined;
417
2201
  })[];
418
2202
  version: 1;
419
2203
  }>;