@retikz/core 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (119) hide show
  1. package/dist/es/compile/compile.d.ts +6 -0
  2. package/dist/es/compile/compile.d.ts.map +1 -1
  3. package/dist/es/compile/compile.js +33 -4
  4. package/dist/es/compile/node.d.ts +23 -2
  5. package/dist/es/compile/node.d.ts.map +1 -1
  6. package/dist/es/compile/node.js +94 -4
  7. package/dist/es/compile/path.d.ts +3 -2
  8. package/dist/es/compile/path.d.ts.map +1 -1
  9. package/dist/es/compile/path.js +333 -14
  10. package/dist/es/compile/position.d.ts +8 -5
  11. package/dist/es/compile/position.d.ts.map +1 -1
  12. package/dist/es/compile/position.js +32 -5
  13. package/dist/es/geometry/arc.d.ts +34 -0
  14. package/dist/es/geometry/arc.d.ts.map +1 -0
  15. package/dist/es/geometry/arc.js +53 -0
  16. package/dist/es/geometry/bend.d.ts +18 -0
  17. package/dist/es/geometry/bend.d.ts.map +1 -0
  18. package/dist/es/geometry/bend.js +29 -0
  19. package/dist/es/geometry/index.d.ts +3 -0
  20. package/dist/es/geometry/index.d.ts.map +1 -1
  21. package/dist/es/geometry/segment.d.ts +38 -0
  22. package/dist/es/geometry/segment.d.ts.map +1 -0
  23. package/dist/es/geometry/segment.js +82 -0
  24. package/dist/es/index.d.ts +4 -4
  25. package/dist/es/index.d.ts.map +1 -1
  26. package/dist/es/index.js +7 -4
  27. package/dist/es/ir/coordinate.d.ts +57 -0
  28. package/dist/es/ir/coordinate.d.ts.map +1 -0
  29. package/dist/es/ir/coordinate.js +27 -0
  30. package/dist/es/ir/index.d.ts +1 -0
  31. package/dist/es/ir/index.d.ts.map +1 -1
  32. package/dist/es/ir/node.d.ts +276 -17
  33. package/dist/es/ir/node.d.ts.map +1 -1
  34. package/dist/es/ir/node.js +28 -3
  35. package/dist/es/ir/path/path.d.ts +625 -15
  36. package/dist/es/ir/path/path.d.ts.map +1 -1
  37. package/dist/es/ir/path/path.js +22 -0
  38. package/dist/es/ir/path/step.d.ts +872 -20
  39. package/dist/es/ir/path/step.d.ts.map +1 -1
  40. package/dist/es/ir/path/step.js +86 -4
  41. package/dist/es/ir/path/target.d.ts +32 -2
  42. package/dist/es/ir/path/target.d.ts.map +1 -1
  43. package/dist/es/ir/path/target.js +7 -3
  44. package/dist/es/ir/position/at-position.d.ts +50 -0
  45. package/dist/es/ir/position/at-position.d.ts.map +1 -0
  46. package/dist/es/ir/position/at-position.js +30 -0
  47. package/dist/es/ir/position/index.d.ts +1 -0
  48. package/dist/es/ir/position/index.d.ts.map +1 -1
  49. package/dist/es/ir/scene.d.ts +2072 -112
  50. package/dist/es/ir/scene.d.ts.map +1 -1
  51. package/dist/es/ir/scene.js +6 -1
  52. package/dist/es/parsers/index.d.ts +1 -0
  53. package/dist/es/parsers/index.d.ts.map +1 -1
  54. package/dist/es/parsers/parseTargetSugar.d.ts +3 -0
  55. package/dist/es/parsers/parseTargetSugar.d.ts.map +1 -0
  56. package/dist/es/parsers/parseTargetSugar.js +31 -0
  57. package/dist/es/parsers/parseWay.d.ts +131 -22
  58. package/dist/es/parsers/parseWay.d.ts.map +1 -1
  59. package/dist/es/parsers/parseWay.js +149 -17
  60. package/dist/lib/compile/compile.cjs +33 -4
  61. package/dist/lib/compile/compile.d.ts +6 -0
  62. package/dist/lib/compile/compile.d.ts.map +1 -1
  63. package/dist/lib/compile/node.cjs +94 -4
  64. package/dist/lib/compile/node.d.ts +23 -2
  65. package/dist/lib/compile/node.d.ts.map +1 -1
  66. package/dist/lib/compile/path.cjs +333 -14
  67. package/dist/lib/compile/path.d.ts +3 -2
  68. package/dist/lib/compile/path.d.ts.map +1 -1
  69. package/dist/lib/compile/position.cjs +32 -5
  70. package/dist/lib/compile/position.d.ts +8 -5
  71. package/dist/lib/compile/position.d.ts.map +1 -1
  72. package/dist/lib/geometry/arc.cjs +55 -0
  73. package/dist/lib/geometry/arc.d.ts +34 -0
  74. package/dist/lib/geometry/arc.d.ts.map +1 -0
  75. package/dist/lib/geometry/bend.cjs +29 -0
  76. package/dist/lib/geometry/bend.d.ts +18 -0
  77. package/dist/lib/geometry/bend.d.ts.map +1 -0
  78. package/dist/lib/geometry/index.d.ts +3 -0
  79. package/dist/lib/geometry/index.d.ts.map +1 -1
  80. package/dist/lib/geometry/segment.cjs +88 -0
  81. package/dist/lib/geometry/segment.d.ts +38 -0
  82. package/dist/lib/geometry/segment.d.ts.map +1 -0
  83. package/dist/lib/index.cjs +18 -0
  84. package/dist/lib/index.d.ts +4 -4
  85. package/dist/lib/index.d.ts.map +1 -1
  86. package/dist/lib/ir/coordinate.cjs +27 -0
  87. package/dist/lib/ir/coordinate.d.ts +57 -0
  88. package/dist/lib/ir/coordinate.d.ts.map +1 -0
  89. package/dist/lib/ir/index.d.ts +1 -0
  90. package/dist/lib/ir/index.d.ts.map +1 -1
  91. package/dist/lib/ir/node.cjs +28 -2
  92. package/dist/lib/ir/node.d.ts +276 -17
  93. package/dist/lib/ir/node.d.ts.map +1 -1
  94. package/dist/lib/ir/path/path.cjs +22 -0
  95. package/dist/lib/ir/path/path.d.ts +625 -15
  96. package/dist/lib/ir/path/path.d.ts.map +1 -1
  97. package/dist/lib/ir/path/step.cjs +93 -3
  98. package/dist/lib/ir/path/step.d.ts +872 -20
  99. package/dist/lib/ir/path/step.d.ts.map +1 -1
  100. package/dist/lib/ir/path/target.cjs +8 -2
  101. package/dist/lib/ir/path/target.d.ts +32 -2
  102. package/dist/lib/ir/path/target.d.ts.map +1 -1
  103. package/dist/lib/ir/position/at-position.cjs +31 -0
  104. package/dist/lib/ir/position/at-position.d.ts +50 -0
  105. package/dist/lib/ir/position/at-position.d.ts.map +1 -0
  106. package/dist/lib/ir/position/index.d.ts +1 -0
  107. package/dist/lib/ir/position/index.d.ts.map +1 -1
  108. package/dist/lib/ir/scene.cjs +6 -1
  109. package/dist/lib/ir/scene.d.ts +2072 -112
  110. package/dist/lib/ir/scene.d.ts.map +1 -1
  111. package/dist/lib/parsers/index.d.ts +1 -0
  112. package/dist/lib/parsers/index.d.ts.map +1 -1
  113. package/dist/lib/parsers/parseTargetSugar.cjs +31 -0
  114. package/dist/lib/parsers/parseTargetSugar.d.ts +3 -0
  115. package/dist/lib/parsers/parseTargetSugar.d.ts.map +1 -0
  116. package/dist/lib/parsers/parseWay.cjs +149 -17
  117. package/dist/lib/parsers/parseWay.d.ts +131 -22
  118. package/dist/lib/parsers/parseWay.d.ts.map +1 -1
  119. package/package.json +1 -1
@@ -8,7 +8,28 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
8
8
  readonly ellipse: "ellipse";
9
9
  readonly diamond: "diamond";
10
10
  }>>;
11
- position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>]>;
11
+ position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodObject<{
12
+ direction: z.ZodNativeEnum<{
13
+ readonly above: "above";
14
+ readonly below: "below";
15
+ readonly left: "left";
16
+ readonly right: "right";
17
+ readonly 'above-left': "above-left";
18
+ readonly 'above-right': "above-right";
19
+ readonly 'below-left': "below-left";
20
+ readonly 'below-right': "below-right";
21
+ }>;
22
+ of: z.ZodString;
23
+ distance: z.ZodOptional<z.ZodNumber>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
26
+ of: string;
27
+ distance?: number | undefined;
28
+ }, {
29
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
30
+ of: string;
31
+ distance?: number | undefined;
32
+ }>]>;
12
33
  rotate: z.ZodOptional<z.ZodNumber>;
13
34
  text: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
14
35
  text: z.ZodString;
@@ -95,13 +116,125 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
95
116
  weight?: number | "normal" | "bold" | undefined;
96
117
  style?: "normal" | "italic" | "oblique" | undefined;
97
118
  }>>;
119
+ label: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
120
+ text: z.ZodString;
121
+ position: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
122
+ readonly above: "above";
123
+ readonly below: "below";
124
+ readonly left: "left";
125
+ readonly right: "right";
126
+ readonly 'above-left': "above-left";
127
+ readonly 'above-right': "above-right";
128
+ readonly 'below-left': "below-left";
129
+ readonly 'below-right': "below-right";
130
+ }>, z.ZodNumber]>>;
131
+ distance: z.ZodOptional<z.ZodNumber>;
132
+ textColor: z.ZodOptional<z.ZodString>;
133
+ opacity: z.ZodOptional<z.ZodNumber>;
134
+ font: z.ZodOptional<z.ZodObject<{
135
+ family: z.ZodOptional<z.ZodString>;
136
+ size: z.ZodOptional<z.ZodNumber>;
137
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
138
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
139
+ }, "strip", z.ZodTypeAny, {
140
+ family?: string | undefined;
141
+ size?: number | undefined;
142
+ weight?: number | "normal" | "bold" | undefined;
143
+ style?: "normal" | "italic" | "oblique" | undefined;
144
+ }, {
145
+ family?: string | undefined;
146
+ size?: number | undefined;
147
+ weight?: number | "normal" | "bold" | undefined;
148
+ style?: "normal" | "italic" | "oblique" | undefined;
149
+ }>>;
150
+ }, "strip", z.ZodTypeAny, {
151
+ text: string;
152
+ distance?: number | undefined;
153
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
154
+ opacity?: number | undefined;
155
+ font?: {
156
+ family?: string | undefined;
157
+ size?: number | undefined;
158
+ weight?: number | "normal" | "bold" | undefined;
159
+ style?: "normal" | "italic" | "oblique" | undefined;
160
+ } | undefined;
161
+ textColor?: string | undefined;
162
+ }, {
163
+ text: string;
164
+ distance?: number | undefined;
165
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
166
+ opacity?: number | undefined;
167
+ font?: {
168
+ family?: string | undefined;
169
+ size?: number | undefined;
170
+ weight?: number | "normal" | "bold" | undefined;
171
+ style?: "normal" | "italic" | "oblique" | undefined;
172
+ } | undefined;
173
+ textColor?: string | undefined;
174
+ }>, z.ZodArray<z.ZodObject<{
175
+ text: z.ZodString;
176
+ position: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
177
+ readonly above: "above";
178
+ readonly below: "below";
179
+ readonly left: "left";
180
+ readonly right: "right";
181
+ readonly 'above-left': "above-left";
182
+ readonly 'above-right': "above-right";
183
+ readonly 'below-left': "below-left";
184
+ readonly 'below-right': "below-right";
185
+ }>, z.ZodNumber]>>;
186
+ distance: z.ZodOptional<z.ZodNumber>;
187
+ textColor: z.ZodOptional<z.ZodString>;
188
+ opacity: z.ZodOptional<z.ZodNumber>;
189
+ font: z.ZodOptional<z.ZodObject<{
190
+ family: z.ZodOptional<z.ZodString>;
191
+ size: z.ZodOptional<z.ZodNumber>;
192
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
193
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
194
+ }, "strip", z.ZodTypeAny, {
195
+ family?: string | undefined;
196
+ size?: number | undefined;
197
+ weight?: number | "normal" | "bold" | undefined;
198
+ style?: "normal" | "italic" | "oblique" | undefined;
199
+ }, {
200
+ family?: string | undefined;
201
+ size?: number | undefined;
202
+ weight?: number | "normal" | "bold" | undefined;
203
+ style?: "normal" | "italic" | "oblique" | undefined;
204
+ }>>;
205
+ }, "strip", z.ZodTypeAny, {
206
+ text: string;
207
+ distance?: number | undefined;
208
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
209
+ opacity?: number | undefined;
210
+ font?: {
211
+ family?: string | undefined;
212
+ size?: number | undefined;
213
+ weight?: number | "normal" | "bold" | undefined;
214
+ style?: "normal" | "italic" | "oblique" | undefined;
215
+ } | undefined;
216
+ textColor?: string | undefined;
217
+ }, {
218
+ text: string;
219
+ distance?: number | undefined;
220
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
221
+ opacity?: number | undefined;
222
+ font?: {
223
+ family?: string | undefined;
224
+ size?: number | undefined;
225
+ weight?: number | "normal" | "bold" | undefined;
226
+ style?: "normal" | "italic" | "oblique" | undefined;
227
+ } | undefined;
228
+ textColor?: string | undefined;
229
+ }>, "many">]>>;
98
230
  }, "strip", z.ZodTypeAny, {
99
231
  type: "node";
100
- position: [number, number] | import('./position').PolarPosition;
232
+ position: [number, number] | import('./position').PolarPosition | {
233
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
234
+ of: string;
235
+ distance?: number | undefined;
236
+ };
101
237
  fill?: string | undefined;
102
- shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
103
- stroke?: string | undefined;
104
- strokeWidth?: number | undefined;
105
238
  text?: string | (string | {
106
239
  text: string;
107
240
  fill?: string | undefined;
@@ -113,19 +246,48 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
113
246
  style?: "normal" | "italic" | "oblique" | undefined;
114
247
  } | undefined;
115
248
  })[] | undefined;
249
+ label?: {
250
+ text: string;
251
+ distance?: number | undefined;
252
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
253
+ opacity?: number | undefined;
254
+ font?: {
255
+ family?: string | undefined;
256
+ size?: number | undefined;
257
+ weight?: number | "normal" | "bold" | undefined;
258
+ style?: "normal" | "italic" | "oblique" | undefined;
259
+ } | undefined;
260
+ textColor?: string | undefined;
261
+ } | {
262
+ text: string;
263
+ distance?: number | undefined;
264
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
265
+ opacity?: number | undefined;
266
+ font?: {
267
+ family?: string | undefined;
268
+ size?: number | undefined;
269
+ weight?: number | "normal" | "bold" | undefined;
270
+ style?: "normal" | "italic" | "oblique" | undefined;
271
+ } | undefined;
272
+ textColor?: string | undefined;
273
+ }[] | undefined;
274
+ shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
275
+ stroke?: string | undefined;
276
+ strokeWidth?: number | undefined;
116
277
  opacity?: number | undefined;
278
+ fillOpacity?: number | undefined;
279
+ drawOpacity?: number | undefined;
117
280
  font?: {
118
281
  family?: string | undefined;
119
282
  size?: number | undefined;
120
283
  weight?: number | "normal" | "bold" | undefined;
121
284
  style?: "normal" | "italic" | "oblique" | undefined;
122
285
  } | undefined;
286
+ textColor?: string | undefined;
123
287
  id?: string | undefined;
124
288
  rotate?: number | undefined;
125
- align?: "left" | "center" | "right" | undefined;
289
+ align?: "left" | "right" | "center" | undefined;
126
290
  lineHeight?: number | undefined;
127
- fillOpacity?: number | undefined;
128
- drawOpacity?: number | undefined;
129
291
  dashed?: boolean | undefined;
130
292
  dotted?: boolean | undefined;
131
293
  dashArray?: string | undefined;
@@ -136,7 +298,6 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
136
298
  scale?: number | undefined;
137
299
  xScale?: number | undefined;
138
300
  yScale?: number | undefined;
139
- textColor?: string | undefined;
140
301
  innerXSep?: number | undefined;
141
302
  innerYSep?: number | undefined;
142
303
  outerSep?: number | undefined;
@@ -144,11 +305,12 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
144
305
  margin?: number | undefined;
145
306
  }, {
146
307
  type: "node";
147
- position: [number, number] | import('./position').PolarPosition;
308
+ position: [number, number] | import('./position').PolarPosition | {
309
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
310
+ of: string;
311
+ distance?: number | undefined;
312
+ };
148
313
  fill?: string | undefined;
149
- shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
150
- stroke?: string | undefined;
151
- strokeWidth?: number | undefined;
152
314
  text?: string | (string | {
153
315
  text: string;
154
316
  fill?: string | undefined;
@@ -160,19 +322,48 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
160
322
  style?: "normal" | "italic" | "oblique" | undefined;
161
323
  } | undefined;
162
324
  })[] | undefined;
325
+ label?: {
326
+ text: string;
327
+ distance?: number | undefined;
328
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
329
+ opacity?: number | undefined;
330
+ font?: {
331
+ family?: string | undefined;
332
+ size?: number | undefined;
333
+ weight?: number | "normal" | "bold" | undefined;
334
+ style?: "normal" | "italic" | "oblique" | undefined;
335
+ } | undefined;
336
+ textColor?: string | undefined;
337
+ } | {
338
+ text: string;
339
+ distance?: number | undefined;
340
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
341
+ opacity?: number | undefined;
342
+ font?: {
343
+ family?: string | undefined;
344
+ size?: number | undefined;
345
+ weight?: number | "normal" | "bold" | undefined;
346
+ style?: "normal" | "italic" | "oblique" | undefined;
347
+ } | undefined;
348
+ textColor?: string | undefined;
349
+ }[] | undefined;
350
+ shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
351
+ stroke?: string | undefined;
352
+ strokeWidth?: number | undefined;
163
353
  opacity?: number | undefined;
354
+ fillOpacity?: number | undefined;
355
+ drawOpacity?: number | undefined;
164
356
  font?: {
165
357
  family?: string | undefined;
166
358
  size?: number | undefined;
167
359
  weight?: number | "normal" | "bold" | undefined;
168
360
  style?: "normal" | "italic" | "oblique" | undefined;
169
361
  } | undefined;
362
+ textColor?: string | undefined;
170
363
  id?: string | undefined;
171
364
  rotate?: number | undefined;
172
- align?: "left" | "center" | "right" | undefined;
365
+ align?: "left" | "right" | "center" | undefined;
173
366
  lineHeight?: number | undefined;
174
- fillOpacity?: number | undefined;
175
- drawOpacity?: number | undefined;
176
367
  dashed?: boolean | undefined;
177
368
  dotted?: boolean | undefined;
178
369
  dashArray?: string | undefined;
@@ -183,7 +374,6 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
183
374
  scale?: number | undefined;
184
375
  xScale?: number | undefined;
185
376
  yScale?: number | undefined;
186
- textColor?: string | undefined;
187
377
  innerXSep?: number | undefined;
188
378
  innerYSep?: number | undefined;
189
379
  outerSep?: number | undefined;
@@ -206,45 +396,157 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
206
396
  }>>;
207
397
  fill: z.ZodOptional<z.ZodString>;
208
398
  fillRule: z.ZodOptional<z.ZodEnum<["nonzero", "evenodd"]>>;
399
+ lineCap: z.ZodOptional<z.ZodEnum<["butt", "round", "square"]>>;
400
+ lineJoin: z.ZodOptional<z.ZodEnum<["miter", "round", "bevel"]>>;
401
+ thickness: z.ZodOptional<z.ZodEnum<["ultraThin", "veryThin", "thin", "semithick", "thick", "veryThick", "ultraThick"]>>;
402
+ opacity: z.ZodOptional<z.ZodNumber>;
403
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
404
+ drawOpacity: z.ZodOptional<z.ZodNumber>;
209
405
  children: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
210
406
  type: z.ZodLiteral<"step">;
211
407
  kind: z.ZodLiteral<"move">;
212
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
408
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
409
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
410
+ }, "strip", z.ZodTypeAny, {
411
+ rel: [number, number];
412
+ }, {
413
+ rel: [number, number];
414
+ }>, z.ZodObject<{
415
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
416
+ }, "strip", z.ZodTypeAny, {
417
+ relAccumulate: [number, number];
418
+ }, {
419
+ relAccumulate: [number, number];
420
+ }>]>;
213
421
  }, "strip", z.ZodTypeAny, {
214
422
  type: "step";
215
423
  kind: "move";
216
- to: string | [number, number] | import('./position').PolarPosition;
424
+ to: string | [number, number] | import('./position').PolarPosition | {
425
+ rel: [number, number];
426
+ } | {
427
+ relAccumulate: [number, number];
428
+ };
217
429
  }, {
218
430
  type: "step";
219
431
  kind: "move";
220
- to: string | [number, number] | import('./position').PolarPosition;
432
+ to: string | [number, number] | import('./position').PolarPosition | {
433
+ rel: [number, number];
434
+ } | {
435
+ relAccumulate: [number, number];
436
+ };
221
437
  }>, z.ZodObject<{
222
438
  type: z.ZodLiteral<"step">;
223
439
  kind: z.ZodLiteral<"line">;
224
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
440
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
441
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
442
+ }, "strip", z.ZodTypeAny, {
443
+ rel: [number, number];
444
+ }, {
445
+ rel: [number, number];
446
+ }>, z.ZodObject<{
447
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
448
+ }, "strip", z.ZodTypeAny, {
449
+ relAccumulate: [number, number];
450
+ }, {
451
+ relAccumulate: [number, number];
452
+ }>]>;
453
+ label: z.ZodOptional<z.ZodObject<{
454
+ text: z.ZodString;
455
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
456
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
457
+ }, "strip", z.ZodTypeAny, {
458
+ text: string;
459
+ position?: "midway" | "near-start" | "near-end" | undefined;
460
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
461
+ }, {
462
+ text: string;
463
+ position?: "midway" | "near-start" | "near-end" | undefined;
464
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
465
+ }>>;
225
466
  }, "strip", z.ZodTypeAny, {
226
467
  type: "step";
227
468
  kind: "line";
228
- to: string | [number, number] | import('./position').PolarPosition;
469
+ to: string | [number, number] | import('./position').PolarPosition | {
470
+ rel: [number, number];
471
+ } | {
472
+ relAccumulate: [number, number];
473
+ };
474
+ label?: {
475
+ text: string;
476
+ position?: "midway" | "near-start" | "near-end" | undefined;
477
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
478
+ } | undefined;
229
479
  }, {
230
480
  type: "step";
231
481
  kind: "line";
232
- to: string | [number, number] | import('./position').PolarPosition;
482
+ to: string | [number, number] | import('./position').PolarPosition | {
483
+ rel: [number, number];
484
+ } | {
485
+ relAccumulate: [number, number];
486
+ };
487
+ label?: {
488
+ text: string;
489
+ position?: "midway" | "near-start" | "near-end" | undefined;
490
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
491
+ } | undefined;
233
492
  }>, z.ZodObject<{
234
493
  type: z.ZodLiteral<"step">;
235
494
  kind: z.ZodLiteral<"step">;
236
495
  via: z.ZodEnum<["-|", "|-"]>;
237
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
496
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
497
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
498
+ }, "strip", z.ZodTypeAny, {
499
+ rel: [number, number];
500
+ }, {
501
+ rel: [number, number];
502
+ }>, z.ZodObject<{
503
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
504
+ }, "strip", z.ZodTypeAny, {
505
+ relAccumulate: [number, number];
506
+ }, {
507
+ relAccumulate: [number, number];
508
+ }>]>;
509
+ label: z.ZodOptional<z.ZodObject<{
510
+ text: z.ZodString;
511
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
512
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
513
+ }, "strip", z.ZodTypeAny, {
514
+ text: string;
515
+ position?: "midway" | "near-start" | "near-end" | undefined;
516
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
517
+ }, {
518
+ text: string;
519
+ position?: "midway" | "near-start" | "near-end" | undefined;
520
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
521
+ }>>;
238
522
  }, "strip", z.ZodTypeAny, {
239
523
  type: "step";
240
524
  kind: "step";
241
- to: string | [number, number] | import('./position').PolarPosition;
525
+ to: string | [number, number] | import('./position').PolarPosition | {
526
+ rel: [number, number];
527
+ } | {
528
+ relAccumulate: [number, number];
529
+ };
242
530
  via: "-|" | "|-";
531
+ label?: {
532
+ text: string;
533
+ position?: "midway" | "near-start" | "near-end" | undefined;
534
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
535
+ } | undefined;
243
536
  }, {
244
537
  type: "step";
245
538
  kind: "step";
246
- to: string | [number, number] | import('./position').PolarPosition;
539
+ to: string | [number, number] | import('./position').PolarPosition | {
540
+ rel: [number, number];
541
+ } | {
542
+ relAccumulate: [number, number];
543
+ };
247
544
  via: "-|" | "|-";
545
+ label?: {
546
+ text: string;
547
+ position?: "midway" | "near-start" | "near-end" | undefined;
548
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
549
+ } | undefined;
248
550
  }>, z.ZodObject<{
249
551
  type: z.ZodLiteral<"step">;
250
552
  kind: z.ZodLiteral<"cycle">;
@@ -254,51 +556,543 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
254
556
  }, {
255
557
  type: "step";
256
558
  kind: "cycle";
257
- }>]>, "many">;
258
- }, "strip", z.ZodTypeAny, {
259
- type: "path";
260
- children: ({
261
- type: "step";
262
- kind: "move";
263
- to: string | [number, number] | import('./position').PolarPosition;
264
- } | {
559
+ }>, z.ZodObject<{
560
+ type: z.ZodLiteral<"step">;
561
+ kind: z.ZodLiteral<"curve">;
562
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
563
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
564
+ }, "strip", z.ZodTypeAny, {
565
+ rel: [number, number];
566
+ }, {
567
+ rel: [number, number];
568
+ }>, z.ZodObject<{
569
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
570
+ }, "strip", z.ZodTypeAny, {
571
+ relAccumulate: [number, number];
572
+ }, {
573
+ relAccumulate: [number, number];
574
+ }>]>;
575
+ control: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
576
+ label: z.ZodOptional<z.ZodObject<{
577
+ text: z.ZodString;
578
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
579
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
580
+ }, "strip", z.ZodTypeAny, {
581
+ text: string;
582
+ position?: "midway" | "near-start" | "near-end" | undefined;
583
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
584
+ }, {
585
+ text: string;
586
+ position?: "midway" | "near-start" | "near-end" | undefined;
587
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
588
+ }>>;
589
+ }, "strip", z.ZodTypeAny, {
265
590
  type: "step";
266
- kind: "line";
267
- to: string | [number, number] | import('./position').PolarPosition;
268
- } | {
591
+ kind: "curve";
592
+ to: string | [number, number] | import('./position').PolarPosition | {
593
+ rel: [number, number];
594
+ } | {
595
+ relAccumulate: [number, number];
596
+ };
597
+ control: [number, number];
598
+ label?: {
599
+ text: string;
600
+ position?: "midway" | "near-start" | "near-end" | undefined;
601
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
602
+ } | undefined;
603
+ }, {
269
604
  type: "step";
270
- kind: "step";
271
- to: string | [number, number] | import('./position').PolarPosition;
272
- via: "-|" | "|-";
273
- } | {
605
+ kind: "curve";
606
+ to: string | [number, number] | import('./position').PolarPosition | {
607
+ rel: [number, number];
608
+ } | {
609
+ relAccumulate: [number, number];
610
+ };
611
+ control: [number, number];
612
+ label?: {
613
+ text: string;
614
+ position?: "midway" | "near-start" | "near-end" | undefined;
615
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
616
+ } | undefined;
617
+ }>, z.ZodObject<{
618
+ type: z.ZodLiteral<"step">;
619
+ kind: z.ZodLiteral<"cubic">;
620
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
621
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
622
+ }, "strip", z.ZodTypeAny, {
623
+ rel: [number, number];
624
+ }, {
625
+ rel: [number, number];
626
+ }>, z.ZodObject<{
627
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
628
+ }, "strip", z.ZodTypeAny, {
629
+ relAccumulate: [number, number];
630
+ }, {
631
+ relAccumulate: [number, number];
632
+ }>]>;
633
+ control1: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
634
+ control2: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
635
+ label: z.ZodOptional<z.ZodObject<{
636
+ text: z.ZodString;
637
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
638
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
639
+ }, "strip", z.ZodTypeAny, {
640
+ text: string;
641
+ position?: "midway" | "near-start" | "near-end" | undefined;
642
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
643
+ }, {
644
+ text: string;
645
+ position?: "midway" | "near-start" | "near-end" | undefined;
646
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
647
+ }>>;
648
+ }, "strip", z.ZodTypeAny, {
274
649
  type: "step";
275
- kind: "cycle";
276
- })[];
277
- fill?: string | undefined;
278
- stroke?: string | undefined;
279
- strokeWidth?: number | undefined;
280
- strokeDasharray?: string | undefined;
281
- arrow?: "none" | "->" | "<-" | "<->" | undefined;
282
- arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
283
- fillRule?: "nonzero" | "evenodd" | undefined;
284
- }, {
285
- type: "path";
286
- children: ({
650
+ kind: "cubic";
651
+ to: string | [number, number] | import('./position').PolarPosition | {
652
+ rel: [number, number];
653
+ } | {
654
+ relAccumulate: [number, number];
655
+ };
656
+ control1: [number, number];
657
+ control2: [number, number];
658
+ label?: {
659
+ text: string;
660
+ position?: "midway" | "near-start" | "near-end" | undefined;
661
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
662
+ } | undefined;
663
+ }, {
287
664
  type: "step";
288
- kind: "move";
289
- to: string | [number, number] | import('./position').PolarPosition;
665
+ kind: "cubic";
666
+ to: string | [number, number] | import('./position').PolarPosition | {
667
+ rel: [number, number];
668
+ } | {
669
+ relAccumulate: [number, number];
670
+ };
671
+ control1: [number, number];
672
+ control2: [number, number];
673
+ label?: {
674
+ text: string;
675
+ position?: "midway" | "near-start" | "near-end" | undefined;
676
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
677
+ } | undefined;
678
+ }>, z.ZodObject<{
679
+ type: z.ZodLiteral<"step">;
680
+ kind: z.ZodLiteral<"bend">;
681
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
682
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
683
+ }, "strip", z.ZodTypeAny, {
684
+ rel: [number, number];
685
+ }, {
686
+ rel: [number, number];
687
+ }>, z.ZodObject<{
688
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
689
+ }, "strip", z.ZodTypeAny, {
690
+ relAccumulate: [number, number];
691
+ }, {
692
+ relAccumulate: [number, number];
693
+ }>]>;
694
+ bendDirection: z.ZodEnum<["left", "right"]>;
695
+ bendAngle: z.ZodOptional<z.ZodNumber>;
696
+ label: z.ZodOptional<z.ZodObject<{
697
+ text: z.ZodString;
698
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
699
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
700
+ }, "strip", z.ZodTypeAny, {
701
+ text: string;
702
+ position?: "midway" | "near-start" | "near-end" | undefined;
703
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
704
+ }, {
705
+ text: string;
706
+ position?: "midway" | "near-start" | "near-end" | undefined;
707
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
708
+ }>>;
709
+ }, "strip", z.ZodTypeAny, {
710
+ type: "step";
711
+ kind: "bend";
712
+ to: string | [number, number] | import('./position').PolarPosition | {
713
+ rel: [number, number];
714
+ } | {
715
+ relAccumulate: [number, number];
716
+ };
717
+ bendDirection: "left" | "right";
718
+ label?: {
719
+ text: string;
720
+ position?: "midway" | "near-start" | "near-end" | undefined;
721
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
722
+ } | undefined;
723
+ bendAngle?: number | undefined;
724
+ }, {
725
+ type: "step";
726
+ kind: "bend";
727
+ to: string | [number, number] | import('./position').PolarPosition | {
728
+ rel: [number, number];
729
+ } | {
730
+ relAccumulate: [number, number];
731
+ };
732
+ bendDirection: "left" | "right";
733
+ label?: {
734
+ text: string;
735
+ position?: "midway" | "near-start" | "near-end" | undefined;
736
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
737
+ } | undefined;
738
+ bendAngle?: number | undefined;
739
+ }>, z.ZodObject<{
740
+ type: z.ZodLiteral<"step">;
741
+ kind: z.ZodLiteral<"arc">;
742
+ startAngle: z.ZodNumber;
743
+ endAngle: z.ZodNumber;
744
+ radius: z.ZodNumber;
745
+ label: z.ZodOptional<z.ZodObject<{
746
+ text: z.ZodString;
747
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
748
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
749
+ }, "strip", z.ZodTypeAny, {
750
+ text: string;
751
+ position?: "midway" | "near-start" | "near-end" | undefined;
752
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
753
+ }, {
754
+ text: string;
755
+ position?: "midway" | "near-start" | "near-end" | undefined;
756
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
757
+ }>>;
758
+ }, "strip", z.ZodTypeAny, {
759
+ type: "step";
760
+ radius: number;
761
+ kind: "arc";
762
+ startAngle: number;
763
+ endAngle: number;
764
+ label?: {
765
+ text: string;
766
+ position?: "midway" | "near-start" | "near-end" | undefined;
767
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
768
+ } | undefined;
769
+ }, {
770
+ type: "step";
771
+ radius: number;
772
+ kind: "arc";
773
+ startAngle: number;
774
+ endAngle: number;
775
+ label?: {
776
+ text: string;
777
+ position?: "midway" | "near-start" | "near-end" | undefined;
778
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
779
+ } | undefined;
780
+ }>, z.ZodObject<{
781
+ type: z.ZodLiteral<"step">;
782
+ kind: z.ZodLiteral<"circlePath">;
783
+ radius: z.ZodNumber;
784
+ label: z.ZodOptional<z.ZodObject<{
785
+ text: z.ZodString;
786
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
787
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
788
+ }, "strip", z.ZodTypeAny, {
789
+ text: string;
790
+ position?: "midway" | "near-start" | "near-end" | undefined;
791
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
792
+ }, {
793
+ text: string;
794
+ position?: "midway" | "near-start" | "near-end" | undefined;
795
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
796
+ }>>;
797
+ }, "strip", z.ZodTypeAny, {
798
+ type: "step";
799
+ radius: number;
800
+ kind: "circlePath";
801
+ label?: {
802
+ text: string;
803
+ position?: "midway" | "near-start" | "near-end" | undefined;
804
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
805
+ } | undefined;
806
+ }, {
807
+ type: "step";
808
+ radius: number;
809
+ kind: "circlePath";
810
+ label?: {
811
+ text: string;
812
+ position?: "midway" | "near-start" | "near-end" | undefined;
813
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
814
+ } | undefined;
815
+ }>, z.ZodObject<{
816
+ type: z.ZodLiteral<"step">;
817
+ kind: z.ZodLiteral<"ellipsePath">;
818
+ radiusX: z.ZodNumber;
819
+ radiusY: z.ZodNumber;
820
+ label: z.ZodOptional<z.ZodObject<{
821
+ text: z.ZodString;
822
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
823
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
824
+ }, "strip", z.ZodTypeAny, {
825
+ text: string;
826
+ position?: "midway" | "near-start" | "near-end" | undefined;
827
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
828
+ }, {
829
+ text: string;
830
+ position?: "midway" | "near-start" | "near-end" | undefined;
831
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
832
+ }>>;
833
+ }, "strip", z.ZodTypeAny, {
834
+ type: "step";
835
+ kind: "ellipsePath";
836
+ radiusX: number;
837
+ radiusY: number;
838
+ label?: {
839
+ text: string;
840
+ position?: "midway" | "near-start" | "near-end" | undefined;
841
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
842
+ } | undefined;
843
+ }, {
844
+ type: "step";
845
+ kind: "ellipsePath";
846
+ radiusX: number;
847
+ radiusY: number;
848
+ label?: {
849
+ text: string;
850
+ position?: "midway" | "near-start" | "near-end" | undefined;
851
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
852
+ } | undefined;
853
+ }>]>, "many">;
854
+ }, "strip", z.ZodTypeAny, {
855
+ type: "path";
856
+ children: ({
857
+ type: "step";
858
+ kind: "move";
859
+ to: string | [number, number] | import('./position').PolarPosition | {
860
+ rel: [number, number];
861
+ } | {
862
+ relAccumulate: [number, number];
863
+ };
864
+ } | {
865
+ type: "step";
866
+ kind: "line";
867
+ to: string | [number, number] | import('./position').PolarPosition | {
868
+ rel: [number, number];
869
+ } | {
870
+ relAccumulate: [number, number];
871
+ };
872
+ label?: {
873
+ text: string;
874
+ position?: "midway" | "near-start" | "near-end" | undefined;
875
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
876
+ } | undefined;
877
+ } | {
878
+ type: "step";
879
+ kind: "step";
880
+ to: string | [number, number] | import('./position').PolarPosition | {
881
+ rel: [number, number];
882
+ } | {
883
+ relAccumulate: [number, number];
884
+ };
885
+ via: "-|" | "|-";
886
+ label?: {
887
+ text: string;
888
+ position?: "midway" | "near-start" | "near-end" | undefined;
889
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
890
+ } | undefined;
891
+ } | {
892
+ type: "step";
893
+ kind: "cycle";
894
+ } | {
895
+ type: "step";
896
+ kind: "curve";
897
+ to: string | [number, number] | import('./position').PolarPosition | {
898
+ rel: [number, number];
899
+ } | {
900
+ relAccumulate: [number, number];
901
+ };
902
+ control: [number, number];
903
+ label?: {
904
+ text: string;
905
+ position?: "midway" | "near-start" | "near-end" | undefined;
906
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
907
+ } | undefined;
908
+ } | {
909
+ type: "step";
910
+ kind: "cubic";
911
+ to: string | [number, number] | import('./position').PolarPosition | {
912
+ rel: [number, number];
913
+ } | {
914
+ relAccumulate: [number, number];
915
+ };
916
+ control1: [number, number];
917
+ control2: [number, number];
918
+ label?: {
919
+ text: string;
920
+ position?: "midway" | "near-start" | "near-end" | undefined;
921
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
922
+ } | undefined;
923
+ } | {
924
+ type: "step";
925
+ kind: "bend";
926
+ to: string | [number, number] | import('./position').PolarPosition | {
927
+ rel: [number, number];
928
+ } | {
929
+ relAccumulate: [number, number];
930
+ };
931
+ bendDirection: "left" | "right";
932
+ label?: {
933
+ text: string;
934
+ position?: "midway" | "near-start" | "near-end" | undefined;
935
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
936
+ } | undefined;
937
+ bendAngle?: number | undefined;
938
+ } | {
939
+ type: "step";
940
+ radius: number;
941
+ kind: "arc";
942
+ startAngle: number;
943
+ endAngle: number;
944
+ label?: {
945
+ text: string;
946
+ position?: "midway" | "near-start" | "near-end" | undefined;
947
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
948
+ } | undefined;
949
+ } | {
950
+ type: "step";
951
+ radius: number;
952
+ kind: "circlePath";
953
+ label?: {
954
+ text: string;
955
+ position?: "midway" | "near-start" | "near-end" | undefined;
956
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
957
+ } | undefined;
958
+ } | {
959
+ type: "step";
960
+ kind: "ellipsePath";
961
+ radiusX: number;
962
+ radiusY: number;
963
+ label?: {
964
+ text: string;
965
+ position?: "midway" | "near-start" | "near-end" | undefined;
966
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
967
+ } | undefined;
968
+ })[];
969
+ fill?: string | undefined;
970
+ stroke?: string | undefined;
971
+ strokeWidth?: number | undefined;
972
+ strokeDasharray?: string | undefined;
973
+ arrow?: "none" | "->" | "<-" | "<->" | undefined;
974
+ arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
975
+ fillRule?: "nonzero" | "evenodd" | undefined;
976
+ lineCap?: "butt" | "round" | "square" | undefined;
977
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
978
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
979
+ opacity?: number | undefined;
980
+ fillOpacity?: number | undefined;
981
+ drawOpacity?: number | undefined;
982
+ }, {
983
+ type: "path";
984
+ children: ({
985
+ type: "step";
986
+ kind: "move";
987
+ to: string | [number, number] | import('./position').PolarPosition | {
988
+ rel: [number, number];
989
+ } | {
990
+ relAccumulate: [number, number];
991
+ };
290
992
  } | {
291
993
  type: "step";
292
994
  kind: "line";
293
- to: string | [number, number] | import('./position').PolarPosition;
995
+ to: string | [number, number] | import('./position').PolarPosition | {
996
+ rel: [number, number];
997
+ } | {
998
+ relAccumulate: [number, number];
999
+ };
1000
+ label?: {
1001
+ text: string;
1002
+ position?: "midway" | "near-start" | "near-end" | undefined;
1003
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1004
+ } | undefined;
294
1005
  } | {
295
1006
  type: "step";
296
1007
  kind: "step";
297
- to: string | [number, number] | import('./position').PolarPosition;
1008
+ to: string | [number, number] | import('./position').PolarPosition | {
1009
+ rel: [number, number];
1010
+ } | {
1011
+ relAccumulate: [number, number];
1012
+ };
298
1013
  via: "-|" | "|-";
1014
+ label?: {
1015
+ text: string;
1016
+ position?: "midway" | "near-start" | "near-end" | undefined;
1017
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1018
+ } | undefined;
299
1019
  } | {
300
1020
  type: "step";
301
1021
  kind: "cycle";
1022
+ } | {
1023
+ type: "step";
1024
+ kind: "curve";
1025
+ to: string | [number, number] | import('./position').PolarPosition | {
1026
+ rel: [number, number];
1027
+ } | {
1028
+ relAccumulate: [number, number];
1029
+ };
1030
+ control: [number, number];
1031
+ label?: {
1032
+ text: string;
1033
+ position?: "midway" | "near-start" | "near-end" | undefined;
1034
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1035
+ } | undefined;
1036
+ } | {
1037
+ type: "step";
1038
+ kind: "cubic";
1039
+ to: string | [number, number] | import('./position').PolarPosition | {
1040
+ rel: [number, number];
1041
+ } | {
1042
+ relAccumulate: [number, number];
1043
+ };
1044
+ control1: [number, number];
1045
+ control2: [number, number];
1046
+ label?: {
1047
+ text: string;
1048
+ position?: "midway" | "near-start" | "near-end" | undefined;
1049
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1050
+ } | undefined;
1051
+ } | {
1052
+ type: "step";
1053
+ kind: "bend";
1054
+ to: string | [number, number] | import('./position').PolarPosition | {
1055
+ rel: [number, number];
1056
+ } | {
1057
+ relAccumulate: [number, number];
1058
+ };
1059
+ bendDirection: "left" | "right";
1060
+ label?: {
1061
+ text: string;
1062
+ position?: "midway" | "near-start" | "near-end" | undefined;
1063
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1064
+ } | undefined;
1065
+ bendAngle?: number | undefined;
1066
+ } | {
1067
+ type: "step";
1068
+ radius: number;
1069
+ kind: "arc";
1070
+ startAngle: number;
1071
+ endAngle: number;
1072
+ label?: {
1073
+ text: string;
1074
+ position?: "midway" | "near-start" | "near-end" | undefined;
1075
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1076
+ } | undefined;
1077
+ } | {
1078
+ type: "step";
1079
+ radius: number;
1080
+ kind: "circlePath";
1081
+ label?: {
1082
+ text: string;
1083
+ position?: "midway" | "near-start" | "near-end" | undefined;
1084
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1085
+ } | undefined;
1086
+ } | {
1087
+ type: "step";
1088
+ kind: "ellipsePath";
1089
+ radiusX: number;
1090
+ radiusY: number;
1091
+ label?: {
1092
+ text: string;
1093
+ position?: "midway" | "near-start" | "near-end" | undefined;
1094
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1095
+ } | undefined;
302
1096
  })[];
303
1097
  fill?: string | undefined;
304
1098
  stroke?: string | undefined;
@@ -307,8 +1101,55 @@ export declare const ChildSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
307
1101
  arrow?: "none" | "->" | "<-" | "<->" | undefined;
308
1102
  arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
309
1103
  fillRule?: "nonzero" | "evenodd" | undefined;
1104
+ lineCap?: "butt" | "round" | "square" | undefined;
1105
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
1106
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
1107
+ opacity?: number | undefined;
1108
+ fillOpacity?: number | undefined;
1109
+ drawOpacity?: number | undefined;
1110
+ }>, z.ZodObject<{
1111
+ type: z.ZodLiteral<"coordinate">;
1112
+ id: z.ZodString;
1113
+ position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodObject<{
1114
+ direction: z.ZodNativeEnum<{
1115
+ readonly above: "above";
1116
+ readonly below: "below";
1117
+ readonly left: "left";
1118
+ readonly right: "right";
1119
+ readonly 'above-left': "above-left";
1120
+ readonly 'above-right': "above-right";
1121
+ readonly 'below-left': "below-left";
1122
+ readonly 'below-right': "below-right";
1123
+ }>;
1124
+ of: z.ZodString;
1125
+ distance: z.ZodOptional<z.ZodNumber>;
1126
+ }, "strip", z.ZodTypeAny, {
1127
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
1128
+ of: string;
1129
+ distance?: number | undefined;
1130
+ }, {
1131
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
1132
+ of: string;
1133
+ distance?: number | undefined;
1134
+ }>]>;
1135
+ }, "strip", z.ZodTypeAny, {
1136
+ type: "coordinate";
1137
+ position: [number, number] | import('./position').PolarPosition | {
1138
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
1139
+ of: string;
1140
+ distance?: number | undefined;
1141
+ };
1142
+ id: string;
1143
+ }, {
1144
+ type: "coordinate";
1145
+ position: [number, number] | import('./position').PolarPosition | {
1146
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
1147
+ of: string;
1148
+ distance?: number | undefined;
1149
+ };
1150
+ id: string;
310
1151
  }>]>;
311
- /** 顶层 Scene 的子节点:node path */
1152
+ /** 顶层 Scene 的子节点:node / path / coordinate */
312
1153
  export type IRChild = z.infer<typeof ChildSchema>;
313
1154
  export declare const SceneSchema: z.ZodObject<{
314
1155
  version: z.ZodLiteral<1>;
@@ -322,7 +1163,28 @@ export declare const SceneSchema: z.ZodObject<{
322
1163
  readonly ellipse: "ellipse";
323
1164
  readonly diamond: "diamond";
324
1165
  }>>;
325
- position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>]>;
1166
+ position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodObject<{
1167
+ direction: z.ZodNativeEnum<{
1168
+ readonly above: "above";
1169
+ readonly below: "below";
1170
+ readonly left: "left";
1171
+ readonly right: "right";
1172
+ readonly 'above-left': "above-left";
1173
+ readonly 'above-right': "above-right";
1174
+ readonly 'below-left': "below-left";
1175
+ readonly 'below-right': "below-right";
1176
+ }>;
1177
+ of: z.ZodString;
1178
+ distance: z.ZodOptional<z.ZodNumber>;
1179
+ }, "strip", z.ZodTypeAny, {
1180
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
1181
+ of: string;
1182
+ distance?: number | undefined;
1183
+ }, {
1184
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
1185
+ of: string;
1186
+ distance?: number | undefined;
1187
+ }>]>;
326
1188
  rotate: z.ZodOptional<z.ZodNumber>;
327
1189
  text: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
328
1190
  text: z.ZodString;
@@ -409,13 +1271,125 @@ export declare const SceneSchema: z.ZodObject<{
409
1271
  weight?: number | "normal" | "bold" | undefined;
410
1272
  style?: "normal" | "italic" | "oblique" | undefined;
411
1273
  }>>;
1274
+ label: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
1275
+ text: z.ZodString;
1276
+ position: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
1277
+ readonly above: "above";
1278
+ readonly below: "below";
1279
+ readonly left: "left";
1280
+ readonly right: "right";
1281
+ readonly 'above-left': "above-left";
1282
+ readonly 'above-right': "above-right";
1283
+ readonly 'below-left': "below-left";
1284
+ readonly 'below-right': "below-right";
1285
+ }>, z.ZodNumber]>>;
1286
+ distance: z.ZodOptional<z.ZodNumber>;
1287
+ textColor: z.ZodOptional<z.ZodString>;
1288
+ opacity: z.ZodOptional<z.ZodNumber>;
1289
+ font: z.ZodOptional<z.ZodObject<{
1290
+ family: z.ZodOptional<z.ZodString>;
1291
+ size: z.ZodOptional<z.ZodNumber>;
1292
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
1293
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
1294
+ }, "strip", z.ZodTypeAny, {
1295
+ family?: string | undefined;
1296
+ size?: number | undefined;
1297
+ weight?: number | "normal" | "bold" | undefined;
1298
+ style?: "normal" | "italic" | "oblique" | undefined;
1299
+ }, {
1300
+ family?: string | undefined;
1301
+ size?: number | undefined;
1302
+ weight?: number | "normal" | "bold" | undefined;
1303
+ style?: "normal" | "italic" | "oblique" | undefined;
1304
+ }>>;
1305
+ }, "strip", z.ZodTypeAny, {
1306
+ text: string;
1307
+ distance?: number | undefined;
1308
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
1309
+ opacity?: number | undefined;
1310
+ font?: {
1311
+ family?: string | undefined;
1312
+ size?: number | undefined;
1313
+ weight?: number | "normal" | "bold" | undefined;
1314
+ style?: "normal" | "italic" | "oblique" | undefined;
1315
+ } | undefined;
1316
+ textColor?: string | undefined;
1317
+ }, {
1318
+ text: string;
1319
+ distance?: number | undefined;
1320
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
1321
+ opacity?: number | undefined;
1322
+ font?: {
1323
+ family?: string | undefined;
1324
+ size?: number | undefined;
1325
+ weight?: number | "normal" | "bold" | undefined;
1326
+ style?: "normal" | "italic" | "oblique" | undefined;
1327
+ } | undefined;
1328
+ textColor?: string | undefined;
1329
+ }>, z.ZodArray<z.ZodObject<{
1330
+ text: z.ZodString;
1331
+ position: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
1332
+ readonly above: "above";
1333
+ readonly below: "below";
1334
+ readonly left: "left";
1335
+ readonly right: "right";
1336
+ readonly 'above-left': "above-left";
1337
+ readonly 'above-right': "above-right";
1338
+ readonly 'below-left': "below-left";
1339
+ readonly 'below-right': "below-right";
1340
+ }>, z.ZodNumber]>>;
1341
+ distance: z.ZodOptional<z.ZodNumber>;
1342
+ textColor: z.ZodOptional<z.ZodString>;
1343
+ opacity: z.ZodOptional<z.ZodNumber>;
1344
+ font: z.ZodOptional<z.ZodObject<{
1345
+ family: z.ZodOptional<z.ZodString>;
1346
+ size: z.ZodOptional<z.ZodNumber>;
1347
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
1348
+ style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
1349
+ }, "strip", z.ZodTypeAny, {
1350
+ family?: string | undefined;
1351
+ size?: number | undefined;
1352
+ weight?: number | "normal" | "bold" | undefined;
1353
+ style?: "normal" | "italic" | "oblique" | undefined;
1354
+ }, {
1355
+ family?: string | undefined;
1356
+ size?: number | undefined;
1357
+ weight?: number | "normal" | "bold" | undefined;
1358
+ style?: "normal" | "italic" | "oblique" | undefined;
1359
+ }>>;
1360
+ }, "strip", z.ZodTypeAny, {
1361
+ text: string;
1362
+ distance?: number | undefined;
1363
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
1364
+ opacity?: number | undefined;
1365
+ font?: {
1366
+ family?: string | undefined;
1367
+ size?: number | undefined;
1368
+ weight?: number | "normal" | "bold" | undefined;
1369
+ style?: "normal" | "italic" | "oblique" | undefined;
1370
+ } | undefined;
1371
+ textColor?: string | undefined;
1372
+ }, {
1373
+ text: string;
1374
+ distance?: number | undefined;
1375
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
1376
+ opacity?: number | undefined;
1377
+ font?: {
1378
+ family?: string | undefined;
1379
+ size?: number | undefined;
1380
+ weight?: number | "normal" | "bold" | undefined;
1381
+ style?: "normal" | "italic" | "oblique" | undefined;
1382
+ } | undefined;
1383
+ textColor?: string | undefined;
1384
+ }>, "many">]>>;
412
1385
  }, "strip", z.ZodTypeAny, {
413
1386
  type: "node";
414
- position: [number, number] | import('./position').PolarPosition;
1387
+ position: [number, number] | import('./position').PolarPosition | {
1388
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
1389
+ of: string;
1390
+ distance?: number | undefined;
1391
+ };
415
1392
  fill?: string | undefined;
416
- shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
417
- stroke?: string | undefined;
418
- strokeWidth?: number | undefined;
419
1393
  text?: string | (string | {
420
1394
  text: string;
421
1395
  fill?: string | undefined;
@@ -427,19 +1401,48 @@ export declare const SceneSchema: z.ZodObject<{
427
1401
  style?: "normal" | "italic" | "oblique" | undefined;
428
1402
  } | undefined;
429
1403
  })[] | undefined;
1404
+ label?: {
1405
+ text: string;
1406
+ distance?: number | undefined;
1407
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
1408
+ opacity?: number | undefined;
1409
+ font?: {
1410
+ family?: string | undefined;
1411
+ size?: number | undefined;
1412
+ weight?: number | "normal" | "bold" | undefined;
1413
+ style?: "normal" | "italic" | "oblique" | undefined;
1414
+ } | undefined;
1415
+ textColor?: string | undefined;
1416
+ } | {
1417
+ text: string;
1418
+ distance?: number | undefined;
1419
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
1420
+ opacity?: number | undefined;
1421
+ font?: {
1422
+ family?: string | undefined;
1423
+ size?: number | undefined;
1424
+ weight?: number | "normal" | "bold" | undefined;
1425
+ style?: "normal" | "italic" | "oblique" | undefined;
1426
+ } | undefined;
1427
+ textColor?: string | undefined;
1428
+ }[] | undefined;
1429
+ shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
1430
+ stroke?: string | undefined;
1431
+ strokeWidth?: number | undefined;
430
1432
  opacity?: number | undefined;
1433
+ fillOpacity?: number | undefined;
1434
+ drawOpacity?: number | undefined;
431
1435
  font?: {
432
1436
  family?: string | undefined;
433
1437
  size?: number | undefined;
434
1438
  weight?: number | "normal" | "bold" | undefined;
435
1439
  style?: "normal" | "italic" | "oblique" | undefined;
436
1440
  } | undefined;
1441
+ textColor?: string | undefined;
437
1442
  id?: string | undefined;
438
1443
  rotate?: number | undefined;
439
- align?: "left" | "center" | "right" | undefined;
1444
+ align?: "left" | "right" | "center" | undefined;
440
1445
  lineHeight?: number | undefined;
441
- fillOpacity?: number | undefined;
442
- drawOpacity?: number | undefined;
443
1446
  dashed?: boolean | undefined;
444
1447
  dotted?: boolean | undefined;
445
1448
  dashArray?: string | undefined;
@@ -450,7 +1453,6 @@ export declare const SceneSchema: z.ZodObject<{
450
1453
  scale?: number | undefined;
451
1454
  xScale?: number | undefined;
452
1455
  yScale?: number | undefined;
453
- textColor?: string | undefined;
454
1456
  innerXSep?: number | undefined;
455
1457
  innerYSep?: number | undefined;
456
1458
  outerSep?: number | undefined;
@@ -458,11 +1460,12 @@ export declare const SceneSchema: z.ZodObject<{
458
1460
  margin?: number | undefined;
459
1461
  }, {
460
1462
  type: "node";
461
- position: [number, number] | import('./position').PolarPosition;
1463
+ position: [number, number] | import('./position').PolarPosition | {
1464
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
1465
+ of: string;
1466
+ distance?: number | undefined;
1467
+ };
462
1468
  fill?: string | undefined;
463
- shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
464
- stroke?: string | undefined;
465
- strokeWidth?: number | undefined;
466
1469
  text?: string | (string | {
467
1470
  text: string;
468
1471
  fill?: string | undefined;
@@ -474,19 +1477,48 @@ export declare const SceneSchema: z.ZodObject<{
474
1477
  style?: "normal" | "italic" | "oblique" | undefined;
475
1478
  } | undefined;
476
1479
  })[] | undefined;
1480
+ label?: {
1481
+ text: string;
1482
+ distance?: number | undefined;
1483
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
1484
+ opacity?: number | undefined;
1485
+ font?: {
1486
+ family?: string | undefined;
1487
+ size?: number | undefined;
1488
+ weight?: number | "normal" | "bold" | undefined;
1489
+ style?: "normal" | "italic" | "oblique" | undefined;
1490
+ } | undefined;
1491
+ textColor?: string | undefined;
1492
+ } | {
1493
+ text: string;
1494
+ distance?: number | undefined;
1495
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
1496
+ opacity?: number | undefined;
1497
+ font?: {
1498
+ family?: string | undefined;
1499
+ size?: number | undefined;
1500
+ weight?: number | "normal" | "bold" | undefined;
1501
+ style?: "normal" | "italic" | "oblique" | undefined;
1502
+ } | undefined;
1503
+ textColor?: string | undefined;
1504
+ }[] | undefined;
1505
+ shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
1506
+ stroke?: string | undefined;
1507
+ strokeWidth?: number | undefined;
477
1508
  opacity?: number | undefined;
1509
+ fillOpacity?: number | undefined;
1510
+ drawOpacity?: number | undefined;
478
1511
  font?: {
479
1512
  family?: string | undefined;
480
1513
  size?: number | undefined;
481
1514
  weight?: number | "normal" | "bold" | undefined;
482
1515
  style?: "normal" | "italic" | "oblique" | undefined;
483
1516
  } | undefined;
1517
+ textColor?: string | undefined;
484
1518
  id?: string | undefined;
485
1519
  rotate?: number | undefined;
486
- align?: "left" | "center" | "right" | undefined;
1520
+ align?: "left" | "right" | "center" | undefined;
487
1521
  lineHeight?: number | undefined;
488
- fillOpacity?: number | undefined;
489
- drawOpacity?: number | undefined;
490
1522
  dashed?: boolean | undefined;
491
1523
  dotted?: boolean | undefined;
492
1524
  dashArray?: string | undefined;
@@ -497,7 +1529,6 @@ export declare const SceneSchema: z.ZodObject<{
497
1529
  scale?: number | undefined;
498
1530
  xScale?: number | undefined;
499
1531
  yScale?: number | undefined;
500
- textColor?: string | undefined;
501
1532
  innerXSep?: number | undefined;
502
1533
  innerYSep?: number | undefined;
503
1534
  outerSep?: number | undefined;
@@ -520,45 +1551,157 @@ export declare const SceneSchema: z.ZodObject<{
520
1551
  }>>;
521
1552
  fill: z.ZodOptional<z.ZodString>;
522
1553
  fillRule: z.ZodOptional<z.ZodEnum<["nonzero", "evenodd"]>>;
1554
+ lineCap: z.ZodOptional<z.ZodEnum<["butt", "round", "square"]>>;
1555
+ lineJoin: z.ZodOptional<z.ZodEnum<["miter", "round", "bevel"]>>;
1556
+ thickness: z.ZodOptional<z.ZodEnum<["ultraThin", "veryThin", "thin", "semithick", "thick", "veryThick", "ultraThick"]>>;
1557
+ opacity: z.ZodOptional<z.ZodNumber>;
1558
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
1559
+ drawOpacity: z.ZodOptional<z.ZodNumber>;
523
1560
  children: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
524
1561
  type: z.ZodLiteral<"step">;
525
1562
  kind: z.ZodLiteral<"move">;
526
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
1563
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1564
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1565
+ }, "strip", z.ZodTypeAny, {
1566
+ rel: [number, number];
1567
+ }, {
1568
+ rel: [number, number];
1569
+ }>, z.ZodObject<{
1570
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1571
+ }, "strip", z.ZodTypeAny, {
1572
+ relAccumulate: [number, number];
1573
+ }, {
1574
+ relAccumulate: [number, number];
1575
+ }>]>;
527
1576
  }, "strip", z.ZodTypeAny, {
528
1577
  type: "step";
529
1578
  kind: "move";
530
- to: string | [number, number] | import('./position').PolarPosition;
1579
+ to: string | [number, number] | import('./position').PolarPosition | {
1580
+ rel: [number, number];
1581
+ } | {
1582
+ relAccumulate: [number, number];
1583
+ };
531
1584
  }, {
532
1585
  type: "step";
533
1586
  kind: "move";
534
- to: string | [number, number] | import('./position').PolarPosition;
1587
+ to: string | [number, number] | import('./position').PolarPosition | {
1588
+ rel: [number, number];
1589
+ } | {
1590
+ relAccumulate: [number, number];
1591
+ };
535
1592
  }>, z.ZodObject<{
536
1593
  type: z.ZodLiteral<"step">;
537
1594
  kind: z.ZodLiteral<"line">;
538
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
1595
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1596
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1597
+ }, "strip", z.ZodTypeAny, {
1598
+ rel: [number, number];
1599
+ }, {
1600
+ rel: [number, number];
1601
+ }>, z.ZodObject<{
1602
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1603
+ }, "strip", z.ZodTypeAny, {
1604
+ relAccumulate: [number, number];
1605
+ }, {
1606
+ relAccumulate: [number, number];
1607
+ }>]>;
1608
+ label: z.ZodOptional<z.ZodObject<{
1609
+ text: z.ZodString;
1610
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1611
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1612
+ }, "strip", z.ZodTypeAny, {
1613
+ text: string;
1614
+ position?: "midway" | "near-start" | "near-end" | undefined;
1615
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1616
+ }, {
1617
+ text: string;
1618
+ position?: "midway" | "near-start" | "near-end" | undefined;
1619
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1620
+ }>>;
539
1621
  }, "strip", z.ZodTypeAny, {
540
1622
  type: "step";
541
1623
  kind: "line";
542
- to: string | [number, number] | import('./position').PolarPosition;
1624
+ to: string | [number, number] | import('./position').PolarPosition | {
1625
+ rel: [number, number];
1626
+ } | {
1627
+ relAccumulate: [number, number];
1628
+ };
1629
+ label?: {
1630
+ text: string;
1631
+ position?: "midway" | "near-start" | "near-end" | undefined;
1632
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1633
+ } | undefined;
543
1634
  }, {
544
1635
  type: "step";
545
1636
  kind: "line";
546
- to: string | [number, number] | import('./position').PolarPosition;
1637
+ to: string | [number, number] | import('./position').PolarPosition | {
1638
+ rel: [number, number];
1639
+ } | {
1640
+ relAccumulate: [number, number];
1641
+ };
1642
+ label?: {
1643
+ text: string;
1644
+ position?: "midway" | "near-start" | "near-end" | undefined;
1645
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1646
+ } | undefined;
547
1647
  }>, z.ZodObject<{
548
1648
  type: z.ZodLiteral<"step">;
549
1649
  kind: z.ZodLiteral<"step">;
550
1650
  via: z.ZodEnum<["-|", "|-"]>;
551
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString]>;
1651
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1652
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1653
+ }, "strip", z.ZodTypeAny, {
1654
+ rel: [number, number];
1655
+ }, {
1656
+ rel: [number, number];
1657
+ }>, z.ZodObject<{
1658
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1659
+ }, "strip", z.ZodTypeAny, {
1660
+ relAccumulate: [number, number];
1661
+ }, {
1662
+ relAccumulate: [number, number];
1663
+ }>]>;
1664
+ label: z.ZodOptional<z.ZodObject<{
1665
+ text: z.ZodString;
1666
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1667
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1668
+ }, "strip", z.ZodTypeAny, {
1669
+ text: string;
1670
+ position?: "midway" | "near-start" | "near-end" | undefined;
1671
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1672
+ }, {
1673
+ text: string;
1674
+ position?: "midway" | "near-start" | "near-end" | undefined;
1675
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1676
+ }>>;
552
1677
  }, "strip", z.ZodTypeAny, {
553
1678
  type: "step";
554
1679
  kind: "step";
555
- to: string | [number, number] | import('./position').PolarPosition;
1680
+ to: string | [number, number] | import('./position').PolarPosition | {
1681
+ rel: [number, number];
1682
+ } | {
1683
+ relAccumulate: [number, number];
1684
+ };
556
1685
  via: "-|" | "|-";
1686
+ label?: {
1687
+ text: string;
1688
+ position?: "midway" | "near-start" | "near-end" | undefined;
1689
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1690
+ } | undefined;
557
1691
  }, {
558
1692
  type: "step";
559
1693
  kind: "step";
560
- to: string | [number, number] | import('./position').PolarPosition;
1694
+ to: string | [number, number] | import('./position').PolarPosition | {
1695
+ rel: [number, number];
1696
+ } | {
1697
+ relAccumulate: [number, number];
1698
+ };
561
1699
  via: "-|" | "|-";
1700
+ label?: {
1701
+ text: string;
1702
+ position?: "midway" | "near-start" | "near-end" | undefined;
1703
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1704
+ } | undefined;
562
1705
  }>, z.ZodObject<{
563
1706
  type: z.ZodLiteral<"step">;
564
1707
  kind: z.ZodLiteral<"cycle">;
@@ -568,25 +1711,415 @@ export declare const SceneSchema: z.ZodObject<{
568
1711
  }, {
569
1712
  type: "step";
570
1713
  kind: "cycle";
1714
+ }>, z.ZodObject<{
1715
+ type: z.ZodLiteral<"step">;
1716
+ kind: z.ZodLiteral<"curve">;
1717
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1718
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1719
+ }, "strip", z.ZodTypeAny, {
1720
+ rel: [number, number];
1721
+ }, {
1722
+ rel: [number, number];
1723
+ }>, z.ZodObject<{
1724
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1725
+ }, "strip", z.ZodTypeAny, {
1726
+ relAccumulate: [number, number];
1727
+ }, {
1728
+ relAccumulate: [number, number];
1729
+ }>]>;
1730
+ control: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1731
+ label: z.ZodOptional<z.ZodObject<{
1732
+ text: z.ZodString;
1733
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1734
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1735
+ }, "strip", z.ZodTypeAny, {
1736
+ text: string;
1737
+ position?: "midway" | "near-start" | "near-end" | undefined;
1738
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1739
+ }, {
1740
+ text: string;
1741
+ position?: "midway" | "near-start" | "near-end" | undefined;
1742
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1743
+ }>>;
1744
+ }, "strip", z.ZodTypeAny, {
1745
+ type: "step";
1746
+ kind: "curve";
1747
+ to: string | [number, number] | import('./position').PolarPosition | {
1748
+ rel: [number, number];
1749
+ } | {
1750
+ relAccumulate: [number, number];
1751
+ };
1752
+ control: [number, number];
1753
+ label?: {
1754
+ text: string;
1755
+ position?: "midway" | "near-start" | "near-end" | undefined;
1756
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1757
+ } | undefined;
1758
+ }, {
1759
+ type: "step";
1760
+ kind: "curve";
1761
+ to: string | [number, number] | import('./position').PolarPosition | {
1762
+ rel: [number, number];
1763
+ } | {
1764
+ relAccumulate: [number, number];
1765
+ };
1766
+ control: [number, number];
1767
+ label?: {
1768
+ text: string;
1769
+ position?: "midway" | "near-start" | "near-end" | undefined;
1770
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1771
+ } | undefined;
1772
+ }>, z.ZodObject<{
1773
+ type: z.ZodLiteral<"step">;
1774
+ kind: z.ZodLiteral<"cubic">;
1775
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1776
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1777
+ }, "strip", z.ZodTypeAny, {
1778
+ rel: [number, number];
1779
+ }, {
1780
+ rel: [number, number];
1781
+ }>, z.ZodObject<{
1782
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1783
+ }, "strip", z.ZodTypeAny, {
1784
+ relAccumulate: [number, number];
1785
+ }, {
1786
+ relAccumulate: [number, number];
1787
+ }>]>;
1788
+ control1: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1789
+ control2: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1790
+ label: z.ZodOptional<z.ZodObject<{
1791
+ text: z.ZodString;
1792
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1793
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1794
+ }, "strip", z.ZodTypeAny, {
1795
+ text: string;
1796
+ position?: "midway" | "near-start" | "near-end" | undefined;
1797
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1798
+ }, {
1799
+ text: string;
1800
+ position?: "midway" | "near-start" | "near-end" | undefined;
1801
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1802
+ }>>;
1803
+ }, "strip", z.ZodTypeAny, {
1804
+ type: "step";
1805
+ kind: "cubic";
1806
+ to: string | [number, number] | import('./position').PolarPosition | {
1807
+ rel: [number, number];
1808
+ } | {
1809
+ relAccumulate: [number, number];
1810
+ };
1811
+ control1: [number, number];
1812
+ control2: [number, number];
1813
+ label?: {
1814
+ text: string;
1815
+ position?: "midway" | "near-start" | "near-end" | undefined;
1816
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1817
+ } | undefined;
1818
+ }, {
1819
+ type: "step";
1820
+ kind: "cubic";
1821
+ to: string | [number, number] | import('./position').PolarPosition | {
1822
+ rel: [number, number];
1823
+ } | {
1824
+ relAccumulate: [number, number];
1825
+ };
1826
+ control1: [number, number];
1827
+ control2: [number, number];
1828
+ label?: {
1829
+ text: string;
1830
+ position?: "midway" | "near-start" | "near-end" | undefined;
1831
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1832
+ } | undefined;
1833
+ }>, z.ZodObject<{
1834
+ type: z.ZodLiteral<"step">;
1835
+ kind: z.ZodLiteral<"bend">;
1836
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodString, z.ZodObject<{
1837
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1838
+ }, "strip", z.ZodTypeAny, {
1839
+ rel: [number, number];
1840
+ }, {
1841
+ rel: [number, number];
1842
+ }>, z.ZodObject<{
1843
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1844
+ }, "strip", z.ZodTypeAny, {
1845
+ relAccumulate: [number, number];
1846
+ }, {
1847
+ relAccumulate: [number, number];
1848
+ }>]>;
1849
+ bendDirection: z.ZodEnum<["left", "right"]>;
1850
+ bendAngle: z.ZodOptional<z.ZodNumber>;
1851
+ label: z.ZodOptional<z.ZodObject<{
1852
+ text: z.ZodString;
1853
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1854
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1855
+ }, "strip", z.ZodTypeAny, {
1856
+ text: string;
1857
+ position?: "midway" | "near-start" | "near-end" | undefined;
1858
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1859
+ }, {
1860
+ text: string;
1861
+ position?: "midway" | "near-start" | "near-end" | undefined;
1862
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1863
+ }>>;
1864
+ }, "strip", z.ZodTypeAny, {
1865
+ type: "step";
1866
+ kind: "bend";
1867
+ to: string | [number, number] | import('./position').PolarPosition | {
1868
+ rel: [number, number];
1869
+ } | {
1870
+ relAccumulate: [number, number];
1871
+ };
1872
+ bendDirection: "left" | "right";
1873
+ label?: {
1874
+ text: string;
1875
+ position?: "midway" | "near-start" | "near-end" | undefined;
1876
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1877
+ } | undefined;
1878
+ bendAngle?: number | undefined;
1879
+ }, {
1880
+ type: "step";
1881
+ kind: "bend";
1882
+ to: string | [number, number] | import('./position').PolarPosition | {
1883
+ rel: [number, number];
1884
+ } | {
1885
+ relAccumulate: [number, number];
1886
+ };
1887
+ bendDirection: "left" | "right";
1888
+ label?: {
1889
+ text: string;
1890
+ position?: "midway" | "near-start" | "near-end" | undefined;
1891
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1892
+ } | undefined;
1893
+ bendAngle?: number | undefined;
1894
+ }>, z.ZodObject<{
1895
+ type: z.ZodLiteral<"step">;
1896
+ kind: z.ZodLiteral<"arc">;
1897
+ startAngle: z.ZodNumber;
1898
+ endAngle: z.ZodNumber;
1899
+ radius: z.ZodNumber;
1900
+ label: z.ZodOptional<z.ZodObject<{
1901
+ text: z.ZodString;
1902
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1903
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1904
+ }, "strip", z.ZodTypeAny, {
1905
+ text: string;
1906
+ position?: "midway" | "near-start" | "near-end" | undefined;
1907
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1908
+ }, {
1909
+ text: string;
1910
+ position?: "midway" | "near-start" | "near-end" | undefined;
1911
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1912
+ }>>;
1913
+ }, "strip", z.ZodTypeAny, {
1914
+ type: "step";
1915
+ radius: number;
1916
+ kind: "arc";
1917
+ startAngle: number;
1918
+ endAngle: number;
1919
+ label?: {
1920
+ text: string;
1921
+ position?: "midway" | "near-start" | "near-end" | undefined;
1922
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1923
+ } | undefined;
1924
+ }, {
1925
+ type: "step";
1926
+ radius: number;
1927
+ kind: "arc";
1928
+ startAngle: number;
1929
+ endAngle: number;
1930
+ label?: {
1931
+ text: string;
1932
+ position?: "midway" | "near-start" | "near-end" | undefined;
1933
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1934
+ } | undefined;
1935
+ }>, z.ZodObject<{
1936
+ type: z.ZodLiteral<"step">;
1937
+ kind: z.ZodLiteral<"circlePath">;
1938
+ radius: z.ZodNumber;
1939
+ label: z.ZodOptional<z.ZodObject<{
1940
+ text: z.ZodString;
1941
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1942
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1943
+ }, "strip", z.ZodTypeAny, {
1944
+ text: string;
1945
+ position?: "midway" | "near-start" | "near-end" | undefined;
1946
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1947
+ }, {
1948
+ text: string;
1949
+ position?: "midway" | "near-start" | "near-end" | undefined;
1950
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1951
+ }>>;
1952
+ }, "strip", z.ZodTypeAny, {
1953
+ type: "step";
1954
+ radius: number;
1955
+ kind: "circlePath";
1956
+ label?: {
1957
+ text: string;
1958
+ position?: "midway" | "near-start" | "near-end" | undefined;
1959
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1960
+ } | undefined;
1961
+ }, {
1962
+ type: "step";
1963
+ radius: number;
1964
+ kind: "circlePath";
1965
+ label?: {
1966
+ text: string;
1967
+ position?: "midway" | "near-start" | "near-end" | undefined;
1968
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1969
+ } | undefined;
1970
+ }>, z.ZodObject<{
1971
+ type: z.ZodLiteral<"step">;
1972
+ kind: z.ZodLiteral<"ellipsePath">;
1973
+ radiusX: z.ZodNumber;
1974
+ radiusY: z.ZodNumber;
1975
+ label: z.ZodOptional<z.ZodObject<{
1976
+ text: z.ZodString;
1977
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
1978
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
1979
+ }, "strip", z.ZodTypeAny, {
1980
+ text: string;
1981
+ position?: "midway" | "near-start" | "near-end" | undefined;
1982
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1983
+ }, {
1984
+ text: string;
1985
+ position?: "midway" | "near-start" | "near-end" | undefined;
1986
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1987
+ }>>;
1988
+ }, "strip", z.ZodTypeAny, {
1989
+ type: "step";
1990
+ kind: "ellipsePath";
1991
+ radiusX: number;
1992
+ radiusY: number;
1993
+ label?: {
1994
+ text: string;
1995
+ position?: "midway" | "near-start" | "near-end" | undefined;
1996
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1997
+ } | undefined;
1998
+ }, {
1999
+ type: "step";
2000
+ kind: "ellipsePath";
2001
+ radiusX: number;
2002
+ radiusY: number;
2003
+ label?: {
2004
+ text: string;
2005
+ position?: "midway" | "near-start" | "near-end" | undefined;
2006
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2007
+ } | undefined;
571
2008
  }>]>, "many">;
572
2009
  }, "strip", z.ZodTypeAny, {
573
2010
  type: "path";
574
2011
  children: ({
575
2012
  type: "step";
576
2013
  kind: "move";
577
- to: string | [number, number] | import('./position').PolarPosition;
2014
+ to: string | [number, number] | import('./position').PolarPosition | {
2015
+ rel: [number, number];
2016
+ } | {
2017
+ relAccumulate: [number, number];
2018
+ };
578
2019
  } | {
579
2020
  type: "step";
580
2021
  kind: "line";
581
- to: string | [number, number] | import('./position').PolarPosition;
2022
+ to: string | [number, number] | import('./position').PolarPosition | {
2023
+ rel: [number, number];
2024
+ } | {
2025
+ relAccumulate: [number, number];
2026
+ };
2027
+ label?: {
2028
+ text: string;
2029
+ position?: "midway" | "near-start" | "near-end" | undefined;
2030
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2031
+ } | undefined;
582
2032
  } | {
583
2033
  type: "step";
584
2034
  kind: "step";
585
- to: string | [number, number] | import('./position').PolarPosition;
2035
+ to: string | [number, number] | import('./position').PolarPosition | {
2036
+ rel: [number, number];
2037
+ } | {
2038
+ relAccumulate: [number, number];
2039
+ };
586
2040
  via: "-|" | "|-";
2041
+ label?: {
2042
+ text: string;
2043
+ position?: "midway" | "near-start" | "near-end" | undefined;
2044
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2045
+ } | undefined;
587
2046
  } | {
588
2047
  type: "step";
589
2048
  kind: "cycle";
2049
+ } | {
2050
+ type: "step";
2051
+ kind: "curve";
2052
+ to: string | [number, number] | import('./position').PolarPosition | {
2053
+ rel: [number, number];
2054
+ } | {
2055
+ relAccumulate: [number, number];
2056
+ };
2057
+ control: [number, number];
2058
+ label?: {
2059
+ text: string;
2060
+ position?: "midway" | "near-start" | "near-end" | undefined;
2061
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2062
+ } | undefined;
2063
+ } | {
2064
+ type: "step";
2065
+ kind: "cubic";
2066
+ to: string | [number, number] | import('./position').PolarPosition | {
2067
+ rel: [number, number];
2068
+ } | {
2069
+ relAccumulate: [number, number];
2070
+ };
2071
+ control1: [number, number];
2072
+ control2: [number, number];
2073
+ label?: {
2074
+ text: string;
2075
+ position?: "midway" | "near-start" | "near-end" | undefined;
2076
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2077
+ } | undefined;
2078
+ } | {
2079
+ type: "step";
2080
+ kind: "bend";
2081
+ to: string | [number, number] | import('./position').PolarPosition | {
2082
+ rel: [number, number];
2083
+ } | {
2084
+ relAccumulate: [number, number];
2085
+ };
2086
+ bendDirection: "left" | "right";
2087
+ label?: {
2088
+ text: string;
2089
+ position?: "midway" | "near-start" | "near-end" | undefined;
2090
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2091
+ } | undefined;
2092
+ bendAngle?: number | undefined;
2093
+ } | {
2094
+ type: "step";
2095
+ radius: number;
2096
+ kind: "arc";
2097
+ startAngle: number;
2098
+ endAngle: number;
2099
+ label?: {
2100
+ text: string;
2101
+ position?: "midway" | "near-start" | "near-end" | undefined;
2102
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2103
+ } | undefined;
2104
+ } | {
2105
+ type: "step";
2106
+ radius: number;
2107
+ kind: "circlePath";
2108
+ label?: {
2109
+ text: string;
2110
+ position?: "midway" | "near-start" | "near-end" | undefined;
2111
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2112
+ } | undefined;
2113
+ } | {
2114
+ type: "step";
2115
+ kind: "ellipsePath";
2116
+ radiusX: number;
2117
+ radiusY: number;
2118
+ label?: {
2119
+ text: string;
2120
+ position?: "midway" | "near-start" | "near-end" | undefined;
2121
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2122
+ } | undefined;
590
2123
  })[];
591
2124
  fill?: string | undefined;
592
2125
  stroke?: string | undefined;
@@ -595,24 +2128,126 @@ export declare const SceneSchema: z.ZodObject<{
595
2128
  arrow?: "none" | "->" | "<-" | "<->" | undefined;
596
2129
  arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
597
2130
  fillRule?: "nonzero" | "evenodd" | undefined;
2131
+ lineCap?: "butt" | "round" | "square" | undefined;
2132
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
2133
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
2134
+ opacity?: number | undefined;
2135
+ fillOpacity?: number | undefined;
2136
+ drawOpacity?: number | undefined;
598
2137
  }, {
599
2138
  type: "path";
600
2139
  children: ({
601
2140
  type: "step";
602
2141
  kind: "move";
603
- to: string | [number, number] | import('./position').PolarPosition;
2142
+ to: string | [number, number] | import('./position').PolarPosition | {
2143
+ rel: [number, number];
2144
+ } | {
2145
+ relAccumulate: [number, number];
2146
+ };
604
2147
  } | {
605
2148
  type: "step";
606
2149
  kind: "line";
607
- to: string | [number, number] | import('./position').PolarPosition;
2150
+ to: string | [number, number] | import('./position').PolarPosition | {
2151
+ rel: [number, number];
2152
+ } | {
2153
+ relAccumulate: [number, number];
2154
+ };
2155
+ label?: {
2156
+ text: string;
2157
+ position?: "midway" | "near-start" | "near-end" | undefined;
2158
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2159
+ } | undefined;
608
2160
  } | {
609
2161
  type: "step";
610
2162
  kind: "step";
611
- to: string | [number, number] | import('./position').PolarPosition;
2163
+ to: string | [number, number] | import('./position').PolarPosition | {
2164
+ rel: [number, number];
2165
+ } | {
2166
+ relAccumulate: [number, number];
2167
+ };
612
2168
  via: "-|" | "|-";
2169
+ label?: {
2170
+ text: string;
2171
+ position?: "midway" | "near-start" | "near-end" | undefined;
2172
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2173
+ } | undefined;
613
2174
  } | {
614
2175
  type: "step";
615
2176
  kind: "cycle";
2177
+ } | {
2178
+ type: "step";
2179
+ kind: "curve";
2180
+ to: string | [number, number] | import('./position').PolarPosition | {
2181
+ rel: [number, number];
2182
+ } | {
2183
+ relAccumulate: [number, number];
2184
+ };
2185
+ control: [number, number];
2186
+ label?: {
2187
+ text: string;
2188
+ position?: "midway" | "near-start" | "near-end" | undefined;
2189
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2190
+ } | undefined;
2191
+ } | {
2192
+ type: "step";
2193
+ kind: "cubic";
2194
+ to: string | [number, number] | import('./position').PolarPosition | {
2195
+ rel: [number, number];
2196
+ } | {
2197
+ relAccumulate: [number, number];
2198
+ };
2199
+ control1: [number, number];
2200
+ control2: [number, number];
2201
+ label?: {
2202
+ text: string;
2203
+ position?: "midway" | "near-start" | "near-end" | undefined;
2204
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2205
+ } | undefined;
2206
+ } | {
2207
+ type: "step";
2208
+ kind: "bend";
2209
+ to: string | [number, number] | import('./position').PolarPosition | {
2210
+ rel: [number, number];
2211
+ } | {
2212
+ relAccumulate: [number, number];
2213
+ };
2214
+ bendDirection: "left" | "right";
2215
+ label?: {
2216
+ text: string;
2217
+ position?: "midway" | "near-start" | "near-end" | undefined;
2218
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2219
+ } | undefined;
2220
+ bendAngle?: number | undefined;
2221
+ } | {
2222
+ type: "step";
2223
+ radius: number;
2224
+ kind: "arc";
2225
+ startAngle: number;
2226
+ endAngle: number;
2227
+ label?: {
2228
+ text: string;
2229
+ position?: "midway" | "near-start" | "near-end" | undefined;
2230
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2231
+ } | undefined;
2232
+ } | {
2233
+ type: "step";
2234
+ radius: number;
2235
+ kind: "circlePath";
2236
+ label?: {
2237
+ text: string;
2238
+ position?: "midway" | "near-start" | "near-end" | undefined;
2239
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2240
+ } | undefined;
2241
+ } | {
2242
+ type: "step";
2243
+ kind: "ellipsePath";
2244
+ radiusX: number;
2245
+ radiusY: number;
2246
+ label?: {
2247
+ text: string;
2248
+ position?: "midway" | "near-start" | "near-end" | undefined;
2249
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2250
+ } | undefined;
616
2251
  })[];
617
2252
  fill?: string | undefined;
618
2253
  stroke?: string | undefined;
@@ -621,6 +2256,53 @@ export declare const SceneSchema: z.ZodObject<{
621
2256
  arrow?: "none" | "->" | "<-" | "<->" | undefined;
622
2257
  arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
623
2258
  fillRule?: "nonzero" | "evenodd" | undefined;
2259
+ lineCap?: "butt" | "round" | "square" | undefined;
2260
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
2261
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
2262
+ opacity?: number | undefined;
2263
+ fillOpacity?: number | undefined;
2264
+ drawOpacity?: number | undefined;
2265
+ }>, z.ZodObject<{
2266
+ type: z.ZodLiteral<"coordinate">;
2267
+ id: z.ZodString;
2268
+ position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodObject<{
2269
+ direction: z.ZodNativeEnum<{
2270
+ readonly above: "above";
2271
+ readonly below: "below";
2272
+ readonly left: "left";
2273
+ readonly right: "right";
2274
+ readonly 'above-left': "above-left";
2275
+ readonly 'above-right': "above-right";
2276
+ readonly 'below-left': "below-left";
2277
+ readonly 'below-right': "below-right";
2278
+ }>;
2279
+ of: z.ZodString;
2280
+ distance: z.ZodOptional<z.ZodNumber>;
2281
+ }, "strip", z.ZodTypeAny, {
2282
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
2283
+ of: string;
2284
+ distance?: number | undefined;
2285
+ }, {
2286
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
2287
+ of: string;
2288
+ distance?: number | undefined;
2289
+ }>]>;
2290
+ }, "strip", z.ZodTypeAny, {
2291
+ type: "coordinate";
2292
+ position: [number, number] | import('./position').PolarPosition | {
2293
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
2294
+ of: string;
2295
+ distance?: number | undefined;
2296
+ };
2297
+ id: string;
2298
+ }, {
2299
+ type: "coordinate";
2300
+ position: [number, number] | import('./position').PolarPosition | {
2301
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
2302
+ of: string;
2303
+ distance?: number | undefined;
2304
+ };
2305
+ id: string;
624
2306
  }>]>, "many">;
625
2307
  }, "strip", z.ZodTypeAny, {
626
2308
  type: "scene";
@@ -629,19 +2311,115 @@ export declare const SceneSchema: z.ZodObject<{
629
2311
  children: ({
630
2312
  type: "step";
631
2313
  kind: "move";
632
- to: string | [number, number] | import('./position').PolarPosition;
2314
+ to: string | [number, number] | import('./position').PolarPosition | {
2315
+ rel: [number, number];
2316
+ } | {
2317
+ relAccumulate: [number, number];
2318
+ };
633
2319
  } | {
634
2320
  type: "step";
635
2321
  kind: "line";
636
- to: string | [number, number] | import('./position').PolarPosition;
2322
+ to: string | [number, number] | import('./position').PolarPosition | {
2323
+ rel: [number, number];
2324
+ } | {
2325
+ relAccumulate: [number, number];
2326
+ };
2327
+ label?: {
2328
+ text: string;
2329
+ position?: "midway" | "near-start" | "near-end" | undefined;
2330
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2331
+ } | undefined;
637
2332
  } | {
638
2333
  type: "step";
639
2334
  kind: "step";
640
- to: string | [number, number] | import('./position').PolarPosition;
2335
+ to: string | [number, number] | import('./position').PolarPosition | {
2336
+ rel: [number, number];
2337
+ } | {
2338
+ relAccumulate: [number, number];
2339
+ };
641
2340
  via: "-|" | "|-";
2341
+ label?: {
2342
+ text: string;
2343
+ position?: "midway" | "near-start" | "near-end" | undefined;
2344
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2345
+ } | undefined;
642
2346
  } | {
643
2347
  type: "step";
644
2348
  kind: "cycle";
2349
+ } | {
2350
+ type: "step";
2351
+ kind: "curve";
2352
+ to: string | [number, number] | import('./position').PolarPosition | {
2353
+ rel: [number, number];
2354
+ } | {
2355
+ relAccumulate: [number, number];
2356
+ };
2357
+ control: [number, number];
2358
+ label?: {
2359
+ text: string;
2360
+ position?: "midway" | "near-start" | "near-end" | undefined;
2361
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2362
+ } | undefined;
2363
+ } | {
2364
+ type: "step";
2365
+ kind: "cubic";
2366
+ to: string | [number, number] | import('./position').PolarPosition | {
2367
+ rel: [number, number];
2368
+ } | {
2369
+ relAccumulate: [number, number];
2370
+ };
2371
+ control1: [number, number];
2372
+ control2: [number, number];
2373
+ label?: {
2374
+ text: string;
2375
+ position?: "midway" | "near-start" | "near-end" | undefined;
2376
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2377
+ } | undefined;
2378
+ } | {
2379
+ type: "step";
2380
+ kind: "bend";
2381
+ to: string | [number, number] | import('./position').PolarPosition | {
2382
+ rel: [number, number];
2383
+ } | {
2384
+ relAccumulate: [number, number];
2385
+ };
2386
+ bendDirection: "left" | "right";
2387
+ label?: {
2388
+ text: string;
2389
+ position?: "midway" | "near-start" | "near-end" | undefined;
2390
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2391
+ } | undefined;
2392
+ bendAngle?: number | undefined;
2393
+ } | {
2394
+ type: "step";
2395
+ radius: number;
2396
+ kind: "arc";
2397
+ startAngle: number;
2398
+ endAngle: number;
2399
+ label?: {
2400
+ text: string;
2401
+ position?: "midway" | "near-start" | "near-end" | undefined;
2402
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2403
+ } | undefined;
2404
+ } | {
2405
+ type: "step";
2406
+ radius: number;
2407
+ kind: "circlePath";
2408
+ label?: {
2409
+ text: string;
2410
+ position?: "midway" | "near-start" | "near-end" | undefined;
2411
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2412
+ } | undefined;
2413
+ } | {
2414
+ type: "step";
2415
+ kind: "ellipsePath";
2416
+ radiusX: number;
2417
+ radiusY: number;
2418
+ label?: {
2419
+ text: string;
2420
+ position?: "midway" | "near-start" | "near-end" | undefined;
2421
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2422
+ } | undefined;
645
2423
  })[];
646
2424
  fill?: string | undefined;
647
2425
  stroke?: string | undefined;
@@ -650,13 +2428,20 @@ export declare const SceneSchema: z.ZodObject<{
650
2428
  arrow?: "none" | "->" | "<-" | "<->" | undefined;
651
2429
  arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
652
2430
  fillRule?: "nonzero" | "evenodd" | undefined;
2431
+ lineCap?: "butt" | "round" | "square" | undefined;
2432
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
2433
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
2434
+ opacity?: number | undefined;
2435
+ fillOpacity?: number | undefined;
2436
+ drawOpacity?: number | undefined;
653
2437
  } | {
654
2438
  type: "node";
655
- position: [number, number] | import('./position').PolarPosition;
2439
+ position: [number, number] | import('./position').PolarPosition | {
2440
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
2441
+ of: string;
2442
+ distance?: number | undefined;
2443
+ };
656
2444
  fill?: string | undefined;
657
- shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
658
- stroke?: string | undefined;
659
- strokeWidth?: number | undefined;
660
2445
  text?: string | (string | {
661
2446
  text: string;
662
2447
  fill?: string | undefined;
@@ -668,19 +2453,48 @@ export declare const SceneSchema: z.ZodObject<{
668
2453
  style?: "normal" | "italic" | "oblique" | undefined;
669
2454
  } | undefined;
670
2455
  })[] | undefined;
2456
+ label?: {
2457
+ text: string;
2458
+ distance?: number | undefined;
2459
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
2460
+ opacity?: number | undefined;
2461
+ font?: {
2462
+ family?: string | undefined;
2463
+ size?: number | undefined;
2464
+ weight?: number | "normal" | "bold" | undefined;
2465
+ style?: "normal" | "italic" | "oblique" | undefined;
2466
+ } | undefined;
2467
+ textColor?: string | undefined;
2468
+ } | {
2469
+ text: string;
2470
+ distance?: number | undefined;
2471
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
2472
+ opacity?: number | undefined;
2473
+ font?: {
2474
+ family?: string | undefined;
2475
+ size?: number | undefined;
2476
+ weight?: number | "normal" | "bold" | undefined;
2477
+ style?: "normal" | "italic" | "oblique" | undefined;
2478
+ } | undefined;
2479
+ textColor?: string | undefined;
2480
+ }[] | undefined;
2481
+ shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
2482
+ stroke?: string | undefined;
2483
+ strokeWidth?: number | undefined;
671
2484
  opacity?: number | undefined;
2485
+ fillOpacity?: number | undefined;
2486
+ drawOpacity?: number | undefined;
672
2487
  font?: {
673
2488
  family?: string | undefined;
674
2489
  size?: number | undefined;
675
2490
  weight?: number | "normal" | "bold" | undefined;
676
2491
  style?: "normal" | "italic" | "oblique" | undefined;
677
2492
  } | undefined;
2493
+ textColor?: string | undefined;
678
2494
  id?: string | undefined;
679
2495
  rotate?: number | undefined;
680
- align?: "left" | "center" | "right" | undefined;
2496
+ align?: "left" | "right" | "center" | undefined;
681
2497
  lineHeight?: number | undefined;
682
- fillOpacity?: number | undefined;
683
- drawOpacity?: number | undefined;
684
2498
  dashed?: boolean | undefined;
685
2499
  dotted?: boolean | undefined;
686
2500
  dashArray?: string | undefined;
@@ -691,12 +2505,19 @@ export declare const SceneSchema: z.ZodObject<{
691
2505
  scale?: number | undefined;
692
2506
  xScale?: number | undefined;
693
2507
  yScale?: number | undefined;
694
- textColor?: string | undefined;
695
2508
  innerXSep?: number | undefined;
696
2509
  innerYSep?: number | undefined;
697
2510
  outerSep?: number | undefined;
698
2511
  padding?: number | undefined;
699
2512
  margin?: number | undefined;
2513
+ } | {
2514
+ type: "coordinate";
2515
+ position: [number, number] | import('./position').PolarPosition | {
2516
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
2517
+ of: string;
2518
+ distance?: number | undefined;
2519
+ };
2520
+ id: string;
700
2521
  })[];
701
2522
  version: 1;
702
2523
  }, {
@@ -706,19 +2527,115 @@ export declare const SceneSchema: z.ZodObject<{
706
2527
  children: ({
707
2528
  type: "step";
708
2529
  kind: "move";
709
- to: string | [number, number] | import('./position').PolarPosition;
2530
+ to: string | [number, number] | import('./position').PolarPosition | {
2531
+ rel: [number, number];
2532
+ } | {
2533
+ relAccumulate: [number, number];
2534
+ };
710
2535
  } | {
711
2536
  type: "step";
712
2537
  kind: "line";
713
- to: string | [number, number] | import('./position').PolarPosition;
2538
+ to: string | [number, number] | import('./position').PolarPosition | {
2539
+ rel: [number, number];
2540
+ } | {
2541
+ relAccumulate: [number, number];
2542
+ };
2543
+ label?: {
2544
+ text: string;
2545
+ position?: "midway" | "near-start" | "near-end" | undefined;
2546
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2547
+ } | undefined;
714
2548
  } | {
715
2549
  type: "step";
716
2550
  kind: "step";
717
- to: string | [number, number] | import('./position').PolarPosition;
2551
+ to: string | [number, number] | import('./position').PolarPosition | {
2552
+ rel: [number, number];
2553
+ } | {
2554
+ relAccumulate: [number, number];
2555
+ };
718
2556
  via: "-|" | "|-";
2557
+ label?: {
2558
+ text: string;
2559
+ position?: "midway" | "near-start" | "near-end" | undefined;
2560
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2561
+ } | undefined;
719
2562
  } | {
720
2563
  type: "step";
721
2564
  kind: "cycle";
2565
+ } | {
2566
+ type: "step";
2567
+ kind: "curve";
2568
+ to: string | [number, number] | import('./position').PolarPosition | {
2569
+ rel: [number, number];
2570
+ } | {
2571
+ relAccumulate: [number, number];
2572
+ };
2573
+ control: [number, number];
2574
+ label?: {
2575
+ text: string;
2576
+ position?: "midway" | "near-start" | "near-end" | undefined;
2577
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2578
+ } | undefined;
2579
+ } | {
2580
+ type: "step";
2581
+ kind: "cubic";
2582
+ to: string | [number, number] | import('./position').PolarPosition | {
2583
+ rel: [number, number];
2584
+ } | {
2585
+ relAccumulate: [number, number];
2586
+ };
2587
+ control1: [number, number];
2588
+ control2: [number, number];
2589
+ label?: {
2590
+ text: string;
2591
+ position?: "midway" | "near-start" | "near-end" | undefined;
2592
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2593
+ } | undefined;
2594
+ } | {
2595
+ type: "step";
2596
+ kind: "bend";
2597
+ to: string | [number, number] | import('./position').PolarPosition | {
2598
+ rel: [number, number];
2599
+ } | {
2600
+ relAccumulate: [number, number];
2601
+ };
2602
+ bendDirection: "left" | "right";
2603
+ label?: {
2604
+ text: string;
2605
+ position?: "midway" | "near-start" | "near-end" | undefined;
2606
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2607
+ } | undefined;
2608
+ bendAngle?: number | undefined;
2609
+ } | {
2610
+ type: "step";
2611
+ radius: number;
2612
+ kind: "arc";
2613
+ startAngle: number;
2614
+ endAngle: number;
2615
+ label?: {
2616
+ text: string;
2617
+ position?: "midway" | "near-start" | "near-end" | undefined;
2618
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2619
+ } | undefined;
2620
+ } | {
2621
+ type: "step";
2622
+ radius: number;
2623
+ kind: "circlePath";
2624
+ label?: {
2625
+ text: string;
2626
+ position?: "midway" | "near-start" | "near-end" | undefined;
2627
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2628
+ } | undefined;
2629
+ } | {
2630
+ type: "step";
2631
+ kind: "ellipsePath";
2632
+ radiusX: number;
2633
+ radiusY: number;
2634
+ label?: {
2635
+ text: string;
2636
+ position?: "midway" | "near-start" | "near-end" | undefined;
2637
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
2638
+ } | undefined;
722
2639
  })[];
723
2640
  fill?: string | undefined;
724
2641
  stroke?: string | undefined;
@@ -727,13 +2644,20 @@ export declare const SceneSchema: z.ZodObject<{
727
2644
  arrow?: "none" | "->" | "<-" | "<->" | undefined;
728
2645
  arrowShape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
729
2646
  fillRule?: "nonzero" | "evenodd" | undefined;
2647
+ lineCap?: "butt" | "round" | "square" | undefined;
2648
+ lineJoin?: "round" | "miter" | "bevel" | undefined;
2649
+ thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
2650
+ opacity?: number | undefined;
2651
+ fillOpacity?: number | undefined;
2652
+ drawOpacity?: number | undefined;
730
2653
  } | {
731
2654
  type: "node";
732
- position: [number, number] | import('./position').PolarPosition;
2655
+ position: [number, number] | import('./position').PolarPosition | {
2656
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
2657
+ of: string;
2658
+ distance?: number | undefined;
2659
+ };
733
2660
  fill?: string | undefined;
734
- shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
735
- stroke?: string | undefined;
736
- strokeWidth?: number | undefined;
737
2661
  text?: string | (string | {
738
2662
  text: string;
739
2663
  fill?: string | undefined;
@@ -745,19 +2669,48 @@ export declare const SceneSchema: z.ZodObject<{
745
2669
  style?: "normal" | "italic" | "oblique" | undefined;
746
2670
  } | undefined;
747
2671
  })[] | undefined;
2672
+ label?: {
2673
+ text: string;
2674
+ distance?: number | undefined;
2675
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
2676
+ opacity?: number | undefined;
2677
+ font?: {
2678
+ family?: string | undefined;
2679
+ size?: number | undefined;
2680
+ weight?: number | "normal" | "bold" | undefined;
2681
+ style?: "normal" | "italic" | "oblique" | undefined;
2682
+ } | undefined;
2683
+ textColor?: string | undefined;
2684
+ } | {
2685
+ text: string;
2686
+ distance?: number | undefined;
2687
+ position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
2688
+ opacity?: number | undefined;
2689
+ font?: {
2690
+ family?: string | undefined;
2691
+ size?: number | undefined;
2692
+ weight?: number | "normal" | "bold" | undefined;
2693
+ style?: "normal" | "italic" | "oblique" | undefined;
2694
+ } | undefined;
2695
+ textColor?: string | undefined;
2696
+ }[] | undefined;
2697
+ shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
2698
+ stroke?: string | undefined;
2699
+ strokeWidth?: number | undefined;
748
2700
  opacity?: number | undefined;
2701
+ fillOpacity?: number | undefined;
2702
+ drawOpacity?: number | undefined;
749
2703
  font?: {
750
2704
  family?: string | undefined;
751
2705
  size?: number | undefined;
752
2706
  weight?: number | "normal" | "bold" | undefined;
753
2707
  style?: "normal" | "italic" | "oblique" | undefined;
754
2708
  } | undefined;
2709
+ textColor?: string | undefined;
755
2710
  id?: string | undefined;
756
2711
  rotate?: number | undefined;
757
- align?: "left" | "center" | "right" | undefined;
2712
+ align?: "left" | "right" | "center" | undefined;
758
2713
  lineHeight?: number | undefined;
759
- fillOpacity?: number | undefined;
760
- drawOpacity?: number | undefined;
761
2714
  dashed?: boolean | undefined;
762
2715
  dotted?: boolean | undefined;
763
2716
  dashArray?: string | undefined;
@@ -768,12 +2721,19 @@ export declare const SceneSchema: z.ZodObject<{
768
2721
  scale?: number | undefined;
769
2722
  xScale?: number | undefined;
770
2723
  yScale?: number | undefined;
771
- textColor?: string | undefined;
772
2724
  innerXSep?: number | undefined;
773
2725
  innerYSep?: number | undefined;
774
2726
  outerSep?: number | undefined;
775
2727
  padding?: number | undefined;
776
2728
  margin?: number | undefined;
2729
+ } | {
2730
+ type: "coordinate";
2731
+ position: [number, number] | import('./position').PolarPosition | {
2732
+ direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
2733
+ of: string;
2734
+ distance?: number | undefined;
2735
+ };
2736
+ id: string;
777
2737
  })[];
778
2738
  version: 1;
779
2739
  }>;