@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
@@ -1,45 +1,171 @@
1
1
  import { z } from 'zod';
2
+ /**
3
+ * 边标注(ADR-0004):挂在画线 step 上的 label,渲染时按段几何 + side 偏移
4
+ * 翻译为一个 TextPrim。`move` / `cycle` 不挂 label——前者不画线、后者是闭合
5
+ * 标记,标签语义不清。
6
+ */
7
+ export declare const StepLabelSchema: z.ZodObject<{
8
+ text: z.ZodString;
9
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
10
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ text: string;
13
+ position?: "midway" | "near-start" | "near-end" | undefined;
14
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
15
+ }, {
16
+ text: string;
17
+ position?: "midway" | "near-start" | "near-end" | undefined;
18
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
19
+ }>;
20
+ /** 边标注:单段 step 的位置 + side 修饰,编译期变成 TextPrim */
21
+ export type IRStepLabel = z.infer<typeof StepLabelSchema>;
2
22
  export declare const MoveStepSchema: z.ZodObject<{
3
23
  type: z.ZodLiteral<"step">;
4
24
  kind: z.ZodLiteral<"move">;
5
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString]>;
25
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
26
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ rel: [number, number];
29
+ }, {
30
+ rel: [number, number];
31
+ }>, z.ZodObject<{
32
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ relAccumulate: [number, number];
35
+ }, {
36
+ relAccumulate: [number, number];
37
+ }>]>;
6
38
  }, "strip", z.ZodTypeAny, {
7
39
  type: "step";
8
40
  kind: "move";
9
- to: string | [number, number] | import('..').PolarPosition;
41
+ to: string | [number, number] | import('..').PolarPosition | {
42
+ rel: [number, number];
43
+ } | {
44
+ relAccumulate: [number, number];
45
+ };
10
46
  }, {
11
47
  type: "step";
12
48
  kind: "move";
13
- to: string | [number, number] | import('..').PolarPosition;
49
+ to: string | [number, number] | import('..').PolarPosition | {
50
+ rel: [number, number];
51
+ } | {
52
+ relAccumulate: [number, number];
53
+ };
14
54
  }>;
15
55
  export declare const LineStepSchema: z.ZodObject<{
16
56
  type: z.ZodLiteral<"step">;
17
57
  kind: z.ZodLiteral<"line">;
18
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString]>;
58
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
59
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
60
+ }, "strip", z.ZodTypeAny, {
61
+ rel: [number, number];
62
+ }, {
63
+ rel: [number, number];
64
+ }>, z.ZodObject<{
65
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
66
+ }, "strip", z.ZodTypeAny, {
67
+ relAccumulate: [number, number];
68
+ }, {
69
+ relAccumulate: [number, number];
70
+ }>]>;
71
+ label: z.ZodOptional<z.ZodObject<{
72
+ text: z.ZodString;
73
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
74
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
75
+ }, "strip", z.ZodTypeAny, {
76
+ text: string;
77
+ position?: "midway" | "near-start" | "near-end" | undefined;
78
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
79
+ }, {
80
+ text: string;
81
+ position?: "midway" | "near-start" | "near-end" | undefined;
82
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
83
+ }>>;
19
84
  }, "strip", z.ZodTypeAny, {
20
85
  type: "step";
21
86
  kind: "line";
22
- to: string | [number, number] | import('..').PolarPosition;
87
+ to: string | [number, number] | import('..').PolarPosition | {
88
+ rel: [number, number];
89
+ } | {
90
+ relAccumulate: [number, number];
91
+ };
92
+ label?: {
93
+ text: string;
94
+ position?: "midway" | "near-start" | "near-end" | undefined;
95
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
96
+ } | undefined;
23
97
  }, {
24
98
  type: "step";
25
99
  kind: "line";
26
- to: string | [number, number] | import('..').PolarPosition;
100
+ to: string | [number, number] | import('..').PolarPosition | {
101
+ rel: [number, number];
102
+ } | {
103
+ relAccumulate: [number, number];
104
+ };
105
+ label?: {
106
+ text: string;
107
+ position?: "midway" | "near-start" | "near-end" | undefined;
108
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
109
+ } | undefined;
27
110
  }>;
28
111
  export declare const FoldStepSchema: z.ZodObject<{
29
112
  type: z.ZodLiteral<"step">;
30
113
  kind: z.ZodLiteral<"step">;
31
114
  via: z.ZodEnum<["-|", "|-"]>;
32
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString]>;
115
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
116
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ rel: [number, number];
119
+ }, {
120
+ rel: [number, number];
121
+ }>, z.ZodObject<{
122
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
123
+ }, "strip", z.ZodTypeAny, {
124
+ relAccumulate: [number, number];
125
+ }, {
126
+ relAccumulate: [number, number];
127
+ }>]>;
128
+ label: z.ZodOptional<z.ZodObject<{
129
+ text: z.ZodString;
130
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
131
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
132
+ }, "strip", z.ZodTypeAny, {
133
+ text: string;
134
+ position?: "midway" | "near-start" | "near-end" | undefined;
135
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
136
+ }, {
137
+ text: string;
138
+ position?: "midway" | "near-start" | "near-end" | undefined;
139
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
140
+ }>>;
33
141
  }, "strip", z.ZodTypeAny, {
34
142
  type: "step";
35
143
  kind: "step";
36
- to: string | [number, number] | import('..').PolarPosition;
144
+ to: string | [number, number] | import('..').PolarPosition | {
145
+ rel: [number, number];
146
+ } | {
147
+ relAccumulate: [number, number];
148
+ };
37
149
  via: "-|" | "|-";
150
+ label?: {
151
+ text: string;
152
+ position?: "midway" | "near-start" | "near-end" | undefined;
153
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
154
+ } | undefined;
38
155
  }, {
39
156
  type: "step";
40
157
  kind: "step";
41
- to: string | [number, number] | import('..').PolarPosition;
158
+ to: string | [number, number] | import('..').PolarPosition | {
159
+ rel: [number, number];
160
+ } | {
161
+ relAccumulate: [number, number];
162
+ };
42
163
  via: "-|" | "|-";
164
+ label?: {
165
+ text: string;
166
+ position?: "midway" | "near-start" | "near-end" | undefined;
167
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
168
+ } | undefined;
43
169
  }>;
44
170
  export declare const CycleStepSchema: z.ZodObject<{
45
171
  type: z.ZodLiteral<"step">;
@@ -51,45 +177,462 @@ export declare const CycleStepSchema: z.ZodObject<{
51
177
  type: "step";
52
178
  kind: "cycle";
53
179
  }>;
180
+ /**
181
+ * 控制点的 schema 别名。
182
+ *
183
+ * alpha.3:仅支持笛卡尔 `[x, y]`(与 ADR-0001 字面一致)。
184
+ * 未来扩展点:要支持节点 ref / 极坐标作为控制点(如 TikZ `controls (B)`)时,
185
+ * 只把这里改成 `z.union([PositionSchema, PolarPositionSchema, z.string().min(1)])`,
186
+ * curve / cubic schema 与下游消费侧不变。
187
+ */
188
+ export declare const ControlPointSchema: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
189
+ /** 控制点类型(曲线 step 用);alpha.3 = `[number, number]`,未来可能扩展 */
190
+ export type IRControlPoint = z.infer<typeof ControlPointSchema>;
191
+ export declare const CurveStepSchema: z.ZodObject<{
192
+ type: z.ZodLiteral<"step">;
193
+ kind: z.ZodLiteral<"curve">;
194
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
195
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
196
+ }, "strip", z.ZodTypeAny, {
197
+ rel: [number, number];
198
+ }, {
199
+ rel: [number, number];
200
+ }>, z.ZodObject<{
201
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
202
+ }, "strip", z.ZodTypeAny, {
203
+ relAccumulate: [number, number];
204
+ }, {
205
+ relAccumulate: [number, number];
206
+ }>]>;
207
+ control: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
208
+ label: z.ZodOptional<z.ZodObject<{
209
+ text: z.ZodString;
210
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
211
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
212
+ }, "strip", z.ZodTypeAny, {
213
+ text: string;
214
+ position?: "midway" | "near-start" | "near-end" | undefined;
215
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
216
+ }, {
217
+ text: string;
218
+ position?: "midway" | "near-start" | "near-end" | undefined;
219
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
220
+ }>>;
221
+ }, "strip", z.ZodTypeAny, {
222
+ type: "step";
223
+ kind: "curve";
224
+ to: string | [number, number] | import('..').PolarPosition | {
225
+ rel: [number, number];
226
+ } | {
227
+ relAccumulate: [number, number];
228
+ };
229
+ control: [number, number];
230
+ label?: {
231
+ text: string;
232
+ position?: "midway" | "near-start" | "near-end" | undefined;
233
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
234
+ } | undefined;
235
+ }, {
236
+ type: "step";
237
+ kind: "curve";
238
+ to: string | [number, number] | import('..').PolarPosition | {
239
+ rel: [number, number];
240
+ } | {
241
+ relAccumulate: [number, number];
242
+ };
243
+ control: [number, number];
244
+ label?: {
245
+ text: string;
246
+ position?: "midway" | "near-start" | "near-end" | undefined;
247
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
248
+ } | undefined;
249
+ }>;
250
+ export declare const CubicStepSchema: z.ZodObject<{
251
+ type: z.ZodLiteral<"step">;
252
+ kind: z.ZodLiteral<"cubic">;
253
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
254
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ rel: [number, number];
257
+ }, {
258
+ rel: [number, number];
259
+ }>, z.ZodObject<{
260
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
261
+ }, "strip", z.ZodTypeAny, {
262
+ relAccumulate: [number, number];
263
+ }, {
264
+ relAccumulate: [number, number];
265
+ }>]>;
266
+ control1: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
267
+ control2: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
268
+ label: z.ZodOptional<z.ZodObject<{
269
+ text: z.ZodString;
270
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
271
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
272
+ }, "strip", z.ZodTypeAny, {
273
+ text: string;
274
+ position?: "midway" | "near-start" | "near-end" | undefined;
275
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
276
+ }, {
277
+ text: string;
278
+ position?: "midway" | "near-start" | "near-end" | undefined;
279
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
280
+ }>>;
281
+ }, "strip", z.ZodTypeAny, {
282
+ type: "step";
283
+ kind: "cubic";
284
+ to: string | [number, number] | import('..').PolarPosition | {
285
+ rel: [number, number];
286
+ } | {
287
+ relAccumulate: [number, number];
288
+ };
289
+ control1: [number, number];
290
+ control2: [number, number];
291
+ label?: {
292
+ text: string;
293
+ position?: "midway" | "near-start" | "near-end" | undefined;
294
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
295
+ } | undefined;
296
+ }, {
297
+ type: "step";
298
+ kind: "cubic";
299
+ to: string | [number, number] | import('..').PolarPosition | {
300
+ rel: [number, number];
301
+ } | {
302
+ relAccumulate: [number, number];
303
+ };
304
+ control1: [number, number];
305
+ control2: [number, number];
306
+ label?: {
307
+ text: string;
308
+ position?: "midway" | "near-start" | "near-end" | undefined;
309
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
310
+ } | undefined;
311
+ }>;
312
+ export declare const BendStepSchema: z.ZodObject<{
313
+ type: z.ZodLiteral<"step">;
314
+ kind: z.ZodLiteral<"bend">;
315
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
316
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
317
+ }, "strip", z.ZodTypeAny, {
318
+ rel: [number, number];
319
+ }, {
320
+ rel: [number, number];
321
+ }>, z.ZodObject<{
322
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
323
+ }, "strip", z.ZodTypeAny, {
324
+ relAccumulate: [number, number];
325
+ }, {
326
+ relAccumulate: [number, number];
327
+ }>]>;
328
+ bendDirection: z.ZodEnum<["left", "right"]>;
329
+ bendAngle: z.ZodOptional<z.ZodNumber>;
330
+ label: z.ZodOptional<z.ZodObject<{
331
+ text: z.ZodString;
332
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
333
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
334
+ }, "strip", z.ZodTypeAny, {
335
+ text: string;
336
+ position?: "midway" | "near-start" | "near-end" | undefined;
337
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
338
+ }, {
339
+ text: string;
340
+ position?: "midway" | "near-start" | "near-end" | undefined;
341
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
342
+ }>>;
343
+ }, "strip", z.ZodTypeAny, {
344
+ type: "step";
345
+ kind: "bend";
346
+ to: string | [number, number] | import('..').PolarPosition | {
347
+ rel: [number, number];
348
+ } | {
349
+ relAccumulate: [number, number];
350
+ };
351
+ bendDirection: "left" | "right";
352
+ label?: {
353
+ text: string;
354
+ position?: "midway" | "near-start" | "near-end" | undefined;
355
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
356
+ } | undefined;
357
+ bendAngle?: number | undefined;
358
+ }, {
359
+ type: "step";
360
+ kind: "bend";
361
+ to: string | [number, number] | import('..').PolarPosition | {
362
+ rel: [number, number];
363
+ } | {
364
+ relAccumulate: [number, number];
365
+ };
366
+ bendDirection: "left" | "right";
367
+ label?: {
368
+ text: string;
369
+ position?: "midway" | "near-start" | "near-end" | undefined;
370
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
371
+ } | undefined;
372
+ bendAngle?: number | undefined;
373
+ }>;
374
+ export declare const ArcStepSchema: z.ZodObject<{
375
+ type: z.ZodLiteral<"step">;
376
+ kind: z.ZodLiteral<"arc">;
377
+ startAngle: z.ZodNumber;
378
+ endAngle: z.ZodNumber;
379
+ radius: z.ZodNumber;
380
+ label: z.ZodOptional<z.ZodObject<{
381
+ text: z.ZodString;
382
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
383
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
384
+ }, "strip", z.ZodTypeAny, {
385
+ text: string;
386
+ position?: "midway" | "near-start" | "near-end" | undefined;
387
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
388
+ }, {
389
+ text: string;
390
+ position?: "midway" | "near-start" | "near-end" | undefined;
391
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
392
+ }>>;
393
+ }, "strip", z.ZodTypeAny, {
394
+ type: "step";
395
+ radius: number;
396
+ kind: "arc";
397
+ startAngle: number;
398
+ endAngle: number;
399
+ label?: {
400
+ text: string;
401
+ position?: "midway" | "near-start" | "near-end" | undefined;
402
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
403
+ } | undefined;
404
+ }, {
405
+ type: "step";
406
+ radius: number;
407
+ kind: "arc";
408
+ startAngle: number;
409
+ endAngle: number;
410
+ label?: {
411
+ text: string;
412
+ position?: "midway" | "near-start" | "near-end" | undefined;
413
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
414
+ } | undefined;
415
+ }>;
416
+ export declare const CirclePathStepSchema: z.ZodObject<{
417
+ type: z.ZodLiteral<"step">;
418
+ kind: z.ZodLiteral<"circlePath">;
419
+ radius: z.ZodNumber;
420
+ label: z.ZodOptional<z.ZodObject<{
421
+ text: z.ZodString;
422
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
423
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
424
+ }, "strip", z.ZodTypeAny, {
425
+ text: string;
426
+ position?: "midway" | "near-start" | "near-end" | undefined;
427
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
428
+ }, {
429
+ text: string;
430
+ position?: "midway" | "near-start" | "near-end" | undefined;
431
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
432
+ }>>;
433
+ }, "strip", z.ZodTypeAny, {
434
+ type: "step";
435
+ radius: number;
436
+ kind: "circlePath";
437
+ label?: {
438
+ text: string;
439
+ position?: "midway" | "near-start" | "near-end" | undefined;
440
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
441
+ } | undefined;
442
+ }, {
443
+ type: "step";
444
+ radius: number;
445
+ kind: "circlePath";
446
+ label?: {
447
+ text: string;
448
+ position?: "midway" | "near-start" | "near-end" | undefined;
449
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
450
+ } | undefined;
451
+ }>;
452
+ export declare const EllipsePathStepSchema: z.ZodObject<{
453
+ type: z.ZodLiteral<"step">;
454
+ kind: z.ZodLiteral<"ellipsePath">;
455
+ radiusX: z.ZodNumber;
456
+ radiusY: z.ZodNumber;
457
+ label: z.ZodOptional<z.ZodObject<{
458
+ text: z.ZodString;
459
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
460
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
461
+ }, "strip", z.ZodTypeAny, {
462
+ text: string;
463
+ position?: "midway" | "near-start" | "near-end" | undefined;
464
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
465
+ }, {
466
+ text: string;
467
+ position?: "midway" | "near-start" | "near-end" | undefined;
468
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
469
+ }>>;
470
+ }, "strip", z.ZodTypeAny, {
471
+ type: "step";
472
+ kind: "ellipsePath";
473
+ radiusX: number;
474
+ radiusY: number;
475
+ label?: {
476
+ text: string;
477
+ position?: "midway" | "near-start" | "near-end" | undefined;
478
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
479
+ } | undefined;
480
+ }, {
481
+ type: "step";
482
+ kind: "ellipsePath";
483
+ radiusX: number;
484
+ radiusY: number;
485
+ label?: {
486
+ text: string;
487
+ position?: "midway" | "near-start" | "near-end" | undefined;
488
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
489
+ } | undefined;
490
+ }>;
54
491
  export declare const StepSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
55
492
  type: z.ZodLiteral<"step">;
56
493
  kind: z.ZodLiteral<"move">;
57
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString]>;
494
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
495
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
496
+ }, "strip", z.ZodTypeAny, {
497
+ rel: [number, number];
498
+ }, {
499
+ rel: [number, number];
500
+ }>, z.ZodObject<{
501
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
502
+ }, "strip", z.ZodTypeAny, {
503
+ relAccumulate: [number, number];
504
+ }, {
505
+ relAccumulate: [number, number];
506
+ }>]>;
58
507
  }, "strip", z.ZodTypeAny, {
59
508
  type: "step";
60
509
  kind: "move";
61
- to: string | [number, number] | import('..').PolarPosition;
510
+ to: string | [number, number] | import('..').PolarPosition | {
511
+ rel: [number, number];
512
+ } | {
513
+ relAccumulate: [number, number];
514
+ };
62
515
  }, {
63
516
  type: "step";
64
517
  kind: "move";
65
- to: string | [number, number] | import('..').PolarPosition;
518
+ to: string | [number, number] | import('..').PolarPosition | {
519
+ rel: [number, number];
520
+ } | {
521
+ relAccumulate: [number, number];
522
+ };
66
523
  }>, z.ZodObject<{
67
524
  type: z.ZodLiteral<"step">;
68
525
  kind: z.ZodLiteral<"line">;
69
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString]>;
526
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
527
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
528
+ }, "strip", z.ZodTypeAny, {
529
+ rel: [number, number];
530
+ }, {
531
+ rel: [number, number];
532
+ }>, z.ZodObject<{
533
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
534
+ }, "strip", z.ZodTypeAny, {
535
+ relAccumulate: [number, number];
536
+ }, {
537
+ relAccumulate: [number, number];
538
+ }>]>;
539
+ label: z.ZodOptional<z.ZodObject<{
540
+ text: z.ZodString;
541
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
542
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
543
+ }, "strip", z.ZodTypeAny, {
544
+ text: string;
545
+ position?: "midway" | "near-start" | "near-end" | undefined;
546
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
547
+ }, {
548
+ text: string;
549
+ position?: "midway" | "near-start" | "near-end" | undefined;
550
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
551
+ }>>;
70
552
  }, "strip", z.ZodTypeAny, {
71
553
  type: "step";
72
554
  kind: "line";
73
- to: string | [number, number] | import('..').PolarPosition;
555
+ to: string | [number, number] | import('..').PolarPosition | {
556
+ rel: [number, number];
557
+ } | {
558
+ relAccumulate: [number, number];
559
+ };
560
+ label?: {
561
+ text: string;
562
+ position?: "midway" | "near-start" | "near-end" | undefined;
563
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
564
+ } | undefined;
74
565
  }, {
75
566
  type: "step";
76
567
  kind: "line";
77
- to: string | [number, number] | import('..').PolarPosition;
568
+ to: string | [number, number] | import('..').PolarPosition | {
569
+ rel: [number, number];
570
+ } | {
571
+ relAccumulate: [number, number];
572
+ };
573
+ label?: {
574
+ text: string;
575
+ position?: "midway" | "near-start" | "near-end" | undefined;
576
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
577
+ } | undefined;
78
578
  }>, z.ZodObject<{
79
579
  type: z.ZodLiteral<"step">;
80
580
  kind: z.ZodLiteral<"step">;
81
581
  via: z.ZodEnum<["-|", "|-"]>;
82
- to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString]>;
582
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
583
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
584
+ }, "strip", z.ZodTypeAny, {
585
+ rel: [number, number];
586
+ }, {
587
+ rel: [number, number];
588
+ }>, z.ZodObject<{
589
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
590
+ }, "strip", z.ZodTypeAny, {
591
+ relAccumulate: [number, number];
592
+ }, {
593
+ relAccumulate: [number, number];
594
+ }>]>;
595
+ label: z.ZodOptional<z.ZodObject<{
596
+ text: z.ZodString;
597
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
598
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
599
+ }, "strip", z.ZodTypeAny, {
600
+ text: string;
601
+ position?: "midway" | "near-start" | "near-end" | undefined;
602
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
603
+ }, {
604
+ text: string;
605
+ position?: "midway" | "near-start" | "near-end" | undefined;
606
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
607
+ }>>;
83
608
  }, "strip", z.ZodTypeAny, {
84
609
  type: "step";
85
610
  kind: "step";
86
- to: string | [number, number] | import('..').PolarPosition;
611
+ to: string | [number, number] | import('..').PolarPosition | {
612
+ rel: [number, number];
613
+ } | {
614
+ relAccumulate: [number, number];
615
+ };
87
616
  via: "-|" | "|-";
617
+ label?: {
618
+ text: string;
619
+ position?: "midway" | "near-start" | "near-end" | undefined;
620
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
621
+ } | undefined;
88
622
  }, {
89
623
  type: "step";
90
624
  kind: "step";
91
- to: string | [number, number] | import('..').PolarPosition;
625
+ to: string | [number, number] | import('..').PolarPosition | {
626
+ rel: [number, number];
627
+ } | {
628
+ relAccumulate: [number, number];
629
+ };
92
630
  via: "-|" | "|-";
631
+ label?: {
632
+ text: string;
633
+ position?: "midway" | "near-start" | "near-end" | undefined;
634
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
635
+ } | undefined;
93
636
  }>, z.ZodObject<{
94
637
  type: z.ZodLiteral<"step">;
95
638
  kind: z.ZodLiteral<"cycle">;
@@ -99,6 +642,300 @@ export declare const StepSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
99
642
  }, {
100
643
  type: "step";
101
644
  kind: "cycle";
645
+ }>, z.ZodObject<{
646
+ type: z.ZodLiteral<"step">;
647
+ kind: z.ZodLiteral<"curve">;
648
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
649
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
650
+ }, "strip", z.ZodTypeAny, {
651
+ rel: [number, number];
652
+ }, {
653
+ rel: [number, number];
654
+ }>, z.ZodObject<{
655
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
656
+ }, "strip", z.ZodTypeAny, {
657
+ relAccumulate: [number, number];
658
+ }, {
659
+ relAccumulate: [number, number];
660
+ }>]>;
661
+ control: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
662
+ label: z.ZodOptional<z.ZodObject<{
663
+ text: z.ZodString;
664
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
665
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
666
+ }, "strip", z.ZodTypeAny, {
667
+ text: string;
668
+ position?: "midway" | "near-start" | "near-end" | undefined;
669
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
670
+ }, {
671
+ text: string;
672
+ position?: "midway" | "near-start" | "near-end" | undefined;
673
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
674
+ }>>;
675
+ }, "strip", z.ZodTypeAny, {
676
+ type: "step";
677
+ kind: "curve";
678
+ to: string | [number, number] | import('..').PolarPosition | {
679
+ rel: [number, number];
680
+ } | {
681
+ relAccumulate: [number, number];
682
+ };
683
+ control: [number, number];
684
+ label?: {
685
+ text: string;
686
+ position?: "midway" | "near-start" | "near-end" | undefined;
687
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
688
+ } | undefined;
689
+ }, {
690
+ type: "step";
691
+ kind: "curve";
692
+ to: string | [number, number] | import('..').PolarPosition | {
693
+ rel: [number, number];
694
+ } | {
695
+ relAccumulate: [number, number];
696
+ };
697
+ control: [number, number];
698
+ label?: {
699
+ text: string;
700
+ position?: "midway" | "near-start" | "near-end" | undefined;
701
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
702
+ } | undefined;
703
+ }>, z.ZodObject<{
704
+ type: z.ZodLiteral<"step">;
705
+ kind: z.ZodLiteral<"cubic">;
706
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
707
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
708
+ }, "strip", z.ZodTypeAny, {
709
+ rel: [number, number];
710
+ }, {
711
+ rel: [number, number];
712
+ }>, z.ZodObject<{
713
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
714
+ }, "strip", z.ZodTypeAny, {
715
+ relAccumulate: [number, number];
716
+ }, {
717
+ relAccumulate: [number, number];
718
+ }>]>;
719
+ control1: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
720
+ control2: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
721
+ label: z.ZodOptional<z.ZodObject<{
722
+ text: z.ZodString;
723
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
724
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
725
+ }, "strip", z.ZodTypeAny, {
726
+ text: string;
727
+ position?: "midway" | "near-start" | "near-end" | undefined;
728
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
729
+ }, {
730
+ text: string;
731
+ position?: "midway" | "near-start" | "near-end" | undefined;
732
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
733
+ }>>;
734
+ }, "strip", z.ZodTypeAny, {
735
+ type: "step";
736
+ kind: "cubic";
737
+ to: string | [number, number] | import('..').PolarPosition | {
738
+ rel: [number, number];
739
+ } | {
740
+ relAccumulate: [number, number];
741
+ };
742
+ control1: [number, number];
743
+ control2: [number, number];
744
+ label?: {
745
+ text: string;
746
+ position?: "midway" | "near-start" | "near-end" | undefined;
747
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
748
+ } | undefined;
749
+ }, {
750
+ type: "step";
751
+ kind: "cubic";
752
+ to: string | [number, number] | import('..').PolarPosition | {
753
+ rel: [number, number];
754
+ } | {
755
+ relAccumulate: [number, number];
756
+ };
757
+ control1: [number, number];
758
+ control2: [number, number];
759
+ label?: {
760
+ text: string;
761
+ position?: "midway" | "near-start" | "near-end" | undefined;
762
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
763
+ } | undefined;
764
+ }>, z.ZodObject<{
765
+ type: z.ZodLiteral<"step">;
766
+ kind: z.ZodLiteral<"bend">;
767
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
768
+ rel: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
769
+ }, "strip", z.ZodTypeAny, {
770
+ rel: [number, number];
771
+ }, {
772
+ rel: [number, number];
773
+ }>, z.ZodObject<{
774
+ relAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
775
+ }, "strip", z.ZodTypeAny, {
776
+ relAccumulate: [number, number];
777
+ }, {
778
+ relAccumulate: [number, number];
779
+ }>]>;
780
+ bendDirection: z.ZodEnum<["left", "right"]>;
781
+ bendAngle: z.ZodOptional<z.ZodNumber>;
782
+ label: z.ZodOptional<z.ZodObject<{
783
+ text: z.ZodString;
784
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
785
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
786
+ }, "strip", z.ZodTypeAny, {
787
+ text: string;
788
+ position?: "midway" | "near-start" | "near-end" | undefined;
789
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
790
+ }, {
791
+ text: string;
792
+ position?: "midway" | "near-start" | "near-end" | undefined;
793
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
794
+ }>>;
795
+ }, "strip", z.ZodTypeAny, {
796
+ type: "step";
797
+ kind: "bend";
798
+ to: string | [number, number] | import('..').PolarPosition | {
799
+ rel: [number, number];
800
+ } | {
801
+ relAccumulate: [number, number];
802
+ };
803
+ bendDirection: "left" | "right";
804
+ label?: {
805
+ text: string;
806
+ position?: "midway" | "near-start" | "near-end" | undefined;
807
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
808
+ } | undefined;
809
+ bendAngle?: number | undefined;
810
+ }, {
811
+ type: "step";
812
+ kind: "bend";
813
+ to: string | [number, number] | import('..').PolarPosition | {
814
+ rel: [number, number];
815
+ } | {
816
+ relAccumulate: [number, number];
817
+ };
818
+ bendDirection: "left" | "right";
819
+ label?: {
820
+ text: string;
821
+ position?: "midway" | "near-start" | "near-end" | undefined;
822
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
823
+ } | undefined;
824
+ bendAngle?: number | undefined;
825
+ }>, z.ZodObject<{
826
+ type: z.ZodLiteral<"step">;
827
+ kind: z.ZodLiteral<"arc">;
828
+ startAngle: z.ZodNumber;
829
+ endAngle: z.ZodNumber;
830
+ radius: z.ZodNumber;
831
+ label: z.ZodOptional<z.ZodObject<{
832
+ text: z.ZodString;
833
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
834
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
835
+ }, "strip", z.ZodTypeAny, {
836
+ text: string;
837
+ position?: "midway" | "near-start" | "near-end" | undefined;
838
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
839
+ }, {
840
+ text: string;
841
+ position?: "midway" | "near-start" | "near-end" | undefined;
842
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
843
+ }>>;
844
+ }, "strip", z.ZodTypeAny, {
845
+ type: "step";
846
+ radius: number;
847
+ kind: "arc";
848
+ startAngle: number;
849
+ endAngle: number;
850
+ label?: {
851
+ text: string;
852
+ position?: "midway" | "near-start" | "near-end" | undefined;
853
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
854
+ } | undefined;
855
+ }, {
856
+ type: "step";
857
+ radius: number;
858
+ kind: "arc";
859
+ startAngle: number;
860
+ endAngle: number;
861
+ label?: {
862
+ text: string;
863
+ position?: "midway" | "near-start" | "near-end" | undefined;
864
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
865
+ } | undefined;
866
+ }>, z.ZodObject<{
867
+ type: z.ZodLiteral<"step">;
868
+ kind: z.ZodLiteral<"circlePath">;
869
+ radius: z.ZodNumber;
870
+ label: z.ZodOptional<z.ZodObject<{
871
+ text: z.ZodString;
872
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
873
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
874
+ }, "strip", z.ZodTypeAny, {
875
+ text: string;
876
+ position?: "midway" | "near-start" | "near-end" | undefined;
877
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
878
+ }, {
879
+ text: string;
880
+ position?: "midway" | "near-start" | "near-end" | undefined;
881
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
882
+ }>>;
883
+ }, "strip", z.ZodTypeAny, {
884
+ type: "step";
885
+ radius: number;
886
+ kind: "circlePath";
887
+ label?: {
888
+ text: string;
889
+ position?: "midway" | "near-start" | "near-end" | undefined;
890
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
891
+ } | undefined;
892
+ }, {
893
+ type: "step";
894
+ radius: number;
895
+ kind: "circlePath";
896
+ label?: {
897
+ text: string;
898
+ position?: "midway" | "near-start" | "near-end" | undefined;
899
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
900
+ } | undefined;
901
+ }>, z.ZodObject<{
902
+ type: z.ZodLiteral<"step">;
903
+ kind: z.ZodLiteral<"ellipsePath">;
904
+ radiusX: z.ZodNumber;
905
+ radiusY: z.ZodNumber;
906
+ label: z.ZodOptional<z.ZodObject<{
907
+ text: z.ZodString;
908
+ position: z.ZodOptional<z.ZodEnum<["midway", "near-start", "near-end"]>>;
909
+ side: z.ZodOptional<z.ZodEnum<["above", "below", "left", "right", "sloped"]>>;
910
+ }, "strip", z.ZodTypeAny, {
911
+ text: string;
912
+ position?: "midway" | "near-start" | "near-end" | undefined;
913
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
914
+ }, {
915
+ text: string;
916
+ position?: "midway" | "near-start" | "near-end" | undefined;
917
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
918
+ }>>;
919
+ }, "strip", z.ZodTypeAny, {
920
+ type: "step";
921
+ kind: "ellipsePath";
922
+ radiusX: number;
923
+ radiusY: number;
924
+ label?: {
925
+ text: string;
926
+ position?: "midway" | "near-start" | "near-end" | undefined;
927
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
928
+ } | undefined;
929
+ }, {
930
+ type: "step";
931
+ kind: "ellipsePath";
932
+ radiusX: number;
933
+ radiusY: number;
934
+ label?: {
935
+ text: string;
936
+ position?: "midway" | "near-start" | "near-end" | undefined;
937
+ side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
938
+ } | undefined;
102
939
  }>]>;
103
940
  /** Move step:移动游标但不绘制 */
104
941
  export type IRMoveStep = z.infer<typeof MoveStepSchema>;
@@ -108,9 +945,24 @@ export type IRLineStep = z.infer<typeof LineStepSchema>;
108
945
  export type IRFoldStep = z.infer<typeof FoldStepSchema>;
109
946
  /** Cycle step:把当前子路径闭合回起点(TikZ `cycle` / SVG `Z`) */
110
947
  export type IRCycleStep = z.infer<typeof CycleStepSchema>;
948
+ /** Curve step:二次贝塞尔,一个控制点 */
949
+ export type IRCurveStep = z.infer<typeof CurveStepSchema>;
950
+ /** Cubic step:三次贝塞尔,两控制点 */
951
+ export type IRCubicStep = z.infer<typeof CubicStepSchema>;
952
+ /** Bend step:弧形简记,按方向 + 角度生成 */
953
+ export type IRBendStep = z.infer<typeof BendStepSchema>;
954
+ /** Arc step:以游标为圆心的圆弧段,按起末角度 + 半径定 */
955
+ export type IRArcStep = z.infer<typeof ArcStepSchema>;
956
+ /** CirclePath step:以游标为圆心的整圆 */
957
+ export type IRCirclePathStep = z.infer<typeof CirclePathStepSchema>;
958
+ /** EllipsePath step:以游标为圆心的整椭圆 */
959
+ export type IREllipsePathStep = z.infer<typeof EllipsePathStepSchema>;
111
960
  /**
112
- * 路径上的一个动作。v0.1.0-alpha.1 支持 'move' / 'line' / 'step'(折角)/ 'cycle'(闭合)。
113
- * 后续会加 'curve''cubic''rel' 等。
961
+ * 路径上的一个动作。alpha.3 起支持十种 kind:'move' / 'line' / 'step'(折角)/
962
+ * 'cycle' / 'curve' / 'cubic' / 'bend'(曲线三件套,ADR-0001)/
963
+ * 'arc' / 'circlePath' / 'ellipsePath'(path-level 形状,ADR-0002)。
964
+ * ADR-0003 引入 `to` 字段的 rel / relAccumulate 变体。
965
+ * ADR-0004 给除 move/cycle 外八种 kind 加 `label?` 字段(边标注)。
114
966
  */
115
967
  export type IRStep = z.infer<typeof StepSchema>;
116
968
  //# sourceMappingURL=step.d.ts.map