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

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