@retikz/core 0.2.0-alpha.3 → 0.2.0-alpha.5

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 (67) hide show
  1. package/dist/es/compile/compile.d.ts.map +1 -1
  2. package/dist/es/compile/compile.js +74 -12
  3. package/dist/es/compile/node.d.ts +4 -0
  4. package/dist/es/compile/node.d.ts.map +1 -1
  5. package/dist/es/compile/node.js +83 -32
  6. package/dist/es/compile/path/index.d.ts.map +1 -1
  7. package/dist/es/compile/path/index.js +91 -12
  8. package/dist/es/compile/path/relative.d.ts.map +1 -1
  9. package/dist/es/compile/path/relative.js +5 -1
  10. package/dist/es/geometry/arc.d.ts +11 -0
  11. package/dist/es/geometry/arc.d.ts.map +1 -1
  12. package/dist/es/geometry/arc.js +27 -1
  13. package/dist/es/geometry/rect.d.ts +23 -0
  14. package/dist/es/geometry/rect.d.ts.map +1 -1
  15. package/dist/es/geometry/rect.js +84 -1
  16. package/dist/es/geometry/segment.d.ts +2 -0
  17. package/dist/es/geometry/segment.d.ts.map +1 -1
  18. package/dist/es/geometry/segment.js +12 -1
  19. package/dist/es/index.d.ts +2 -2
  20. package/dist/es/index.d.ts.map +1 -1
  21. package/dist/es/index.js +2 -2
  22. package/dist/es/ir/node.d.ts +33 -4
  23. package/dist/es/ir/node.d.ts.map +1 -1
  24. package/dist/es/ir/node.js +9 -2
  25. package/dist/es/ir/path/path.d.ts +230 -5
  26. package/dist/es/ir/path/path.d.ts.map +1 -1
  27. package/dist/es/ir/path/path.js +1 -0
  28. package/dist/es/ir/path/step.d.ts +311 -8
  29. package/dist/es/ir/path/step.d.ts.map +1 -1
  30. package/dist/es/ir/path/step.js +36 -11
  31. package/dist/es/ir/scope.d.ts +348 -16
  32. package/dist/es/ir/scope.d.ts.map +1 -1
  33. package/dist/es/ir/scope.js +5 -2
  34. package/dist/lib/compile/compile.cjs +74 -12
  35. package/dist/lib/compile/compile.d.ts.map +1 -1
  36. package/dist/lib/compile/node.cjs +83 -32
  37. package/dist/lib/compile/node.d.ts +4 -0
  38. package/dist/lib/compile/node.d.ts.map +1 -1
  39. package/dist/lib/compile/path/index.cjs +89 -10
  40. package/dist/lib/compile/path/index.d.ts.map +1 -1
  41. package/dist/lib/compile/path/relative.cjs +5 -1
  42. package/dist/lib/compile/path/relative.d.ts.map +1 -1
  43. package/dist/lib/geometry/arc.cjs +28 -0
  44. package/dist/lib/geometry/arc.d.ts +11 -0
  45. package/dist/lib/geometry/arc.d.ts.map +1 -1
  46. package/dist/lib/geometry/rect.cjs +84 -0
  47. package/dist/lib/geometry/rect.d.ts +23 -0
  48. package/dist/lib/geometry/rect.d.ts.map +1 -1
  49. package/dist/lib/geometry/segment.cjs +12 -0
  50. package/dist/lib/geometry/segment.d.ts +2 -0
  51. package/dist/lib/geometry/segment.d.ts.map +1 -1
  52. package/dist/lib/index.cjs +1 -0
  53. package/dist/lib/index.d.ts +2 -2
  54. package/dist/lib/index.d.ts.map +1 -1
  55. package/dist/lib/ir/node.cjs +9 -2
  56. package/dist/lib/ir/node.d.ts +33 -4
  57. package/dist/lib/ir/node.d.ts.map +1 -1
  58. package/dist/lib/ir/path/path.cjs +1 -0
  59. package/dist/lib/ir/path/path.d.ts +230 -5
  60. package/dist/lib/ir/path/path.d.ts.map +1 -1
  61. package/dist/lib/ir/path/step.cjs +36 -10
  62. package/dist/lib/ir/path/step.d.ts +311 -8
  63. package/dist/lib/ir/path/step.d.ts.map +1 -1
  64. package/dist/lib/ir/scope.cjs +5 -2
  65. package/dist/lib/ir/scope.d.ts +348 -16
  66. package/dist/lib/ir/scope.d.ts.map +1 -1
  67. package/package.json +1 -1
@@ -163,6 +163,7 @@ export declare const PathSchema: z.ZodObject<{
163
163
  opacity: z.ZodOptional<z.ZodNumber>;
164
164
  fillOpacity: z.ZodOptional<z.ZodNumber>;
165
165
  drawOpacity: z.ZodOptional<z.ZodNumber>;
166
+ zIndex: z.ZodOptional<z.ZodNumber>;
166
167
  children: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
167
168
  type: z.ZodLiteral<"step">;
168
169
  kind: z.ZodLiteral<"move">;
@@ -842,7 +843,31 @@ export declare const PathSchema: z.ZodObject<{
842
843
  kind: z.ZodLiteral<"arc">;
843
844
  startAngle: z.ZodNumber;
844
845
  endAngle: z.ZodNumber;
845
- radius: z.ZodNumber;
846
+ radius: z.ZodOptional<z.ZodNumber>;
847
+ radiusX: z.ZodOptional<z.ZodNumber>;
848
+ radiusY: z.ZodOptional<z.ZodNumber>;
849
+ center: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
850
+ relative: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
851
+ }, "strip", z.ZodTypeAny, {
852
+ relative: [number, number];
853
+ }, {
854
+ relative: [number, number];
855
+ }>, z.ZodObject<{
856
+ relativeAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
857
+ }, "strip", z.ZodTypeAny, {
858
+ relativeAccumulate: [number, number];
859
+ }, {
860
+ relativeAccumulate: [number, number];
861
+ }>, z.ZodObject<{
862
+ of: z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>]>;
863
+ offset: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
864
+ }, "strip", z.ZodTypeAny, {
865
+ of: string | [number, number] | import('..').PolarPosition;
866
+ offset: [number, number];
867
+ }, {
868
+ of: string | [number, number] | import('..').PolarPosition;
869
+ offset: [number, number];
870
+ }>]>>;
846
871
  label: z.ZodOptional<z.ZodObject<{
847
872
  text: z.ZodString;
848
873
  position: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["at-start", "very-near-start", "near-start", "midway", "near-end", "very-near-end", "at-end"]>, z.ZodNumber]>>;
@@ -892,10 +917,10 @@ export declare const PathSchema: z.ZodObject<{
892
917
  }>>;
893
918
  }, "strip", z.ZodTypeAny, {
894
919
  type: "step";
895
- radius: number;
896
920
  kind: "arc";
897
921
  startAngle: number;
898
922
  endAngle: number;
923
+ radius?: number | undefined;
899
924
  label?: {
900
925
  text: string;
901
926
  opacity?: number | undefined;
@@ -909,12 +934,22 @@ export declare const PathSchema: z.ZodObject<{
909
934
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
910
935
  textColor?: string | undefined;
911
936
  } | undefined;
937
+ radiusX?: number | undefined;
938
+ radiusY?: number | undefined;
939
+ center?: string | [number, number] | import('..').PolarPosition | {
940
+ of: string | [number, number] | import('..').PolarPosition;
941
+ offset: [number, number];
942
+ } | {
943
+ relative: [number, number];
944
+ } | {
945
+ relativeAccumulate: [number, number];
946
+ } | undefined;
912
947
  }, {
913
948
  type: "step";
914
- radius: number;
915
949
  kind: "arc";
916
950
  startAngle: number;
917
951
  endAngle: number;
952
+ radius?: number | undefined;
918
953
  label?: {
919
954
  text: string;
920
955
  opacity?: number | undefined;
@@ -928,10 +963,23 @@ export declare const PathSchema: z.ZodObject<{
928
963
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
929
964
  textColor?: string | undefined;
930
965
  } | undefined;
966
+ radiusX?: number | undefined;
967
+ radiusY?: number | undefined;
968
+ center?: string | [number, number] | import('..').PolarPosition | {
969
+ of: string | [number, number] | import('..').PolarPosition;
970
+ offset: [number, number];
971
+ } | {
972
+ relative: [number, number];
973
+ } | {
974
+ relativeAccumulate: [number, number];
975
+ } | undefined;
931
976
  }>, z.ZodObject<{
932
977
  type: z.ZodLiteral<"step">;
933
978
  kind: z.ZodLiteral<"circlePath">;
934
979
  radius: z.ZodNumber;
980
+ startAngle: z.ZodOptional<z.ZodNumber>;
981
+ endAngle: z.ZodOptional<z.ZodNumber>;
982
+ closed: z.ZodOptional<z.ZodEnum<["closed", "chord", "open"]>>;
935
983
  label: z.ZodOptional<z.ZodObject<{
936
984
  text: z.ZodString;
937
985
  position: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["at-start", "very-near-start", "near-start", "midway", "near-end", "very-near-end", "at-end"]>, z.ZodNumber]>>;
@@ -996,6 +1044,9 @@ export declare const PathSchema: z.ZodObject<{
996
1044
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
997
1045
  textColor?: string | undefined;
998
1046
  } | undefined;
1047
+ startAngle?: number | undefined;
1048
+ endAngle?: number | undefined;
1049
+ closed?: "open" | "closed" | "chord" | undefined;
999
1050
  }, {
1000
1051
  type: "step";
1001
1052
  radius: number;
@@ -1013,11 +1064,17 @@ export declare const PathSchema: z.ZodObject<{
1013
1064
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1014
1065
  textColor?: string | undefined;
1015
1066
  } | undefined;
1067
+ startAngle?: number | undefined;
1068
+ endAngle?: number | undefined;
1069
+ closed?: "open" | "closed" | "chord" | undefined;
1016
1070
  }>, z.ZodObject<{
1017
1071
  type: z.ZodLiteral<"step">;
1018
1072
  kind: z.ZodLiteral<"ellipsePath">;
1019
1073
  radiusX: z.ZodNumber;
1020
1074
  radiusY: z.ZodNumber;
1075
+ startAngle: z.ZodOptional<z.ZodNumber>;
1076
+ endAngle: z.ZodOptional<z.ZodNumber>;
1077
+ closed: z.ZodOptional<z.ZodEnum<["closed", "chord", "open"]>>;
1021
1078
  label: z.ZodOptional<z.ZodObject<{
1022
1079
  text: z.ZodString;
1023
1080
  position: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["at-start", "very-near-start", "near-start", "midway", "near-end", "very-near-end", "at-end"]>, z.ZodNumber]>>;
@@ -1083,6 +1140,9 @@ export declare const PathSchema: z.ZodObject<{
1083
1140
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1084
1141
  textColor?: string | undefined;
1085
1142
  } | undefined;
1143
+ startAngle?: number | undefined;
1144
+ endAngle?: number | undefined;
1145
+ closed?: "open" | "closed" | "chord" | undefined;
1086
1146
  }, {
1087
1147
  type: "step";
1088
1148
  kind: "ellipsePath";
@@ -1101,6 +1161,97 @@ export declare const PathSchema: z.ZodObject<{
1101
1161
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1102
1162
  textColor?: string | undefined;
1103
1163
  } | undefined;
1164
+ startAngle?: number | undefined;
1165
+ endAngle?: number | undefined;
1166
+ closed?: "open" | "closed" | "chord" | undefined;
1167
+ }>, z.ZodObject<{
1168
+ type: z.ZodLiteral<"step">;
1169
+ kind: z.ZodLiteral<"rectangle">;
1170
+ from: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
1171
+ relative: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1172
+ }, "strip", z.ZodTypeAny, {
1173
+ relative: [number, number];
1174
+ }, {
1175
+ relative: [number, number];
1176
+ }>, z.ZodObject<{
1177
+ relativeAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1178
+ }, "strip", z.ZodTypeAny, {
1179
+ relativeAccumulate: [number, number];
1180
+ }, {
1181
+ relativeAccumulate: [number, number];
1182
+ }>, z.ZodObject<{
1183
+ of: z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>]>;
1184
+ offset: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1185
+ }, "strip", z.ZodTypeAny, {
1186
+ of: string | [number, number] | import('..').PolarPosition;
1187
+ offset: [number, number];
1188
+ }, {
1189
+ of: string | [number, number] | import('..').PolarPosition;
1190
+ offset: [number, number];
1191
+ }>]>;
1192
+ to: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>, z.ZodString, z.ZodObject<{
1193
+ relative: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1194
+ }, "strip", z.ZodTypeAny, {
1195
+ relative: [number, number];
1196
+ }, {
1197
+ relative: [number, number];
1198
+ }>, z.ZodObject<{
1199
+ relativeAccumulate: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1200
+ }, "strip", z.ZodTypeAny, {
1201
+ relativeAccumulate: [number, number];
1202
+ }, {
1203
+ relativeAccumulate: [number, number];
1204
+ }>, z.ZodObject<{
1205
+ of: z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('..').PolarPosition, z.ZodTypeDef, import('..').PolarPosition>]>;
1206
+ offset: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1207
+ }, "strip", z.ZodTypeAny, {
1208
+ of: string | [number, number] | import('..').PolarPosition;
1209
+ offset: [number, number];
1210
+ }, {
1211
+ of: string | [number, number] | import('..').PolarPosition;
1212
+ offset: [number, number];
1213
+ }>]>;
1214
+ roundedCorners: z.ZodOptional<z.ZodNumber>;
1215
+ }, "strip", z.ZodTypeAny, {
1216
+ type: "step";
1217
+ kind: "rectangle";
1218
+ to: string | [number, number] | import('..').PolarPosition | {
1219
+ of: string | [number, number] | import('..').PolarPosition;
1220
+ offset: [number, number];
1221
+ } | {
1222
+ relative: [number, number];
1223
+ } | {
1224
+ relativeAccumulate: [number, number];
1225
+ };
1226
+ from: string | [number, number] | import('..').PolarPosition | {
1227
+ of: string | [number, number] | import('..').PolarPosition;
1228
+ offset: [number, number];
1229
+ } | {
1230
+ relative: [number, number];
1231
+ } | {
1232
+ relativeAccumulate: [number, number];
1233
+ };
1234
+ roundedCorners?: number | undefined;
1235
+ }, {
1236
+ type: "step";
1237
+ kind: "rectangle";
1238
+ to: string | [number, number] | import('..').PolarPosition | {
1239
+ of: string | [number, number] | import('..').PolarPosition;
1240
+ offset: [number, number];
1241
+ } | {
1242
+ relative: [number, number];
1243
+ } | {
1244
+ relativeAccumulate: [number, number];
1245
+ };
1246
+ from: string | [number, number] | import('..').PolarPosition | {
1247
+ of: string | [number, number] | import('..').PolarPosition;
1248
+ offset: [number, number];
1249
+ } | {
1250
+ relative: [number, number];
1251
+ } | {
1252
+ relativeAccumulate: [number, number];
1253
+ };
1254
+ roundedCorners?: number | undefined;
1104
1255
  }>]>, "many">;
1105
1256
  }, "strip", z.ZodTypeAny, {
1106
1257
  type: "path";
@@ -1246,10 +1397,10 @@ export declare const PathSchema: z.ZodObject<{
1246
1397
  bendAngle?: number | undefined;
1247
1398
  } | {
1248
1399
  type: "step";
1249
- radius: number;
1250
1400
  kind: "arc";
1251
1401
  startAngle: number;
1252
1402
  endAngle: number;
1403
+ radius?: number | undefined;
1253
1404
  label?: {
1254
1405
  text: string;
1255
1406
  opacity?: number | undefined;
@@ -1263,6 +1414,16 @@ export declare const PathSchema: z.ZodObject<{
1263
1414
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1264
1415
  textColor?: string | undefined;
1265
1416
  } | undefined;
1417
+ radiusX?: number | undefined;
1418
+ radiusY?: number | undefined;
1419
+ center?: string | [number, number] | import('..').PolarPosition | {
1420
+ of: string | [number, number] | import('..').PolarPosition;
1421
+ offset: [number, number];
1422
+ } | {
1423
+ relative: [number, number];
1424
+ } | {
1425
+ relativeAccumulate: [number, number];
1426
+ } | undefined;
1266
1427
  } | {
1267
1428
  type: "step";
1268
1429
  radius: number;
@@ -1280,6 +1441,9 @@ export declare const PathSchema: z.ZodObject<{
1280
1441
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1281
1442
  textColor?: string | undefined;
1282
1443
  } | undefined;
1444
+ startAngle?: number | undefined;
1445
+ endAngle?: number | undefined;
1446
+ closed?: "open" | "closed" | "chord" | undefined;
1283
1447
  } | {
1284
1448
  type: "step";
1285
1449
  kind: "ellipsePath";
@@ -1298,6 +1462,29 @@ export declare const PathSchema: z.ZodObject<{
1298
1462
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1299
1463
  textColor?: string | undefined;
1300
1464
  } | undefined;
1465
+ startAngle?: number | undefined;
1466
+ endAngle?: number | undefined;
1467
+ closed?: "open" | "closed" | "chord" | undefined;
1468
+ } | {
1469
+ type: "step";
1470
+ kind: "rectangle";
1471
+ to: string | [number, number] | import('..').PolarPosition | {
1472
+ of: string | [number, number] | import('..').PolarPosition;
1473
+ offset: [number, number];
1474
+ } | {
1475
+ relative: [number, number];
1476
+ } | {
1477
+ relativeAccumulate: [number, number];
1478
+ };
1479
+ from: string | [number, number] | import('..').PolarPosition | {
1480
+ of: string | [number, number] | import('..').PolarPosition;
1481
+ offset: [number, number];
1482
+ } | {
1483
+ relative: [number, number];
1484
+ } | {
1485
+ relativeAccumulate: [number, number];
1486
+ };
1487
+ roundedCorners?: number | undefined;
1301
1488
  })[];
1302
1489
  fill?: string | undefined;
1303
1490
  opacity?: number | undefined;
@@ -1342,6 +1529,7 @@ export declare const PathSchema: z.ZodObject<{
1342
1529
  thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
1343
1530
  fillOpacity?: number | undefined;
1344
1531
  drawOpacity?: number | undefined;
1532
+ zIndex?: number | undefined;
1345
1533
  }, {
1346
1534
  type: "path";
1347
1535
  children: ({
@@ -1486,10 +1674,10 @@ export declare const PathSchema: z.ZodObject<{
1486
1674
  bendAngle?: number | undefined;
1487
1675
  } | {
1488
1676
  type: "step";
1489
- radius: number;
1490
1677
  kind: "arc";
1491
1678
  startAngle: number;
1492
1679
  endAngle: number;
1680
+ radius?: number | undefined;
1493
1681
  label?: {
1494
1682
  text: string;
1495
1683
  opacity?: number | undefined;
@@ -1503,6 +1691,16 @@ export declare const PathSchema: z.ZodObject<{
1503
1691
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1504
1692
  textColor?: string | undefined;
1505
1693
  } | undefined;
1694
+ radiusX?: number | undefined;
1695
+ radiusY?: number | undefined;
1696
+ center?: string | [number, number] | import('..').PolarPosition | {
1697
+ of: string | [number, number] | import('..').PolarPosition;
1698
+ offset: [number, number];
1699
+ } | {
1700
+ relative: [number, number];
1701
+ } | {
1702
+ relativeAccumulate: [number, number];
1703
+ } | undefined;
1506
1704
  } | {
1507
1705
  type: "step";
1508
1706
  radius: number;
@@ -1520,6 +1718,9 @@ export declare const PathSchema: z.ZodObject<{
1520
1718
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1521
1719
  textColor?: string | undefined;
1522
1720
  } | undefined;
1721
+ startAngle?: number | undefined;
1722
+ endAngle?: number | undefined;
1723
+ closed?: "open" | "closed" | "chord" | undefined;
1523
1724
  } | {
1524
1725
  type: "step";
1525
1726
  kind: "ellipsePath";
@@ -1538,6 +1739,29 @@ export declare const PathSchema: z.ZodObject<{
1538
1739
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1539
1740
  textColor?: string | undefined;
1540
1741
  } | undefined;
1742
+ startAngle?: number | undefined;
1743
+ endAngle?: number | undefined;
1744
+ closed?: "open" | "closed" | "chord" | undefined;
1745
+ } | {
1746
+ type: "step";
1747
+ kind: "rectangle";
1748
+ to: string | [number, number] | import('..').PolarPosition | {
1749
+ of: string | [number, number] | import('..').PolarPosition;
1750
+ offset: [number, number];
1751
+ } | {
1752
+ relative: [number, number];
1753
+ } | {
1754
+ relativeAccumulate: [number, number];
1755
+ };
1756
+ from: string | [number, number] | import('..').PolarPosition | {
1757
+ of: string | [number, number] | import('..').PolarPosition;
1758
+ offset: [number, number];
1759
+ } | {
1760
+ relative: [number, number];
1761
+ } | {
1762
+ relativeAccumulate: [number, number];
1763
+ };
1764
+ roundedCorners?: number | undefined;
1541
1765
  })[];
1542
1766
  fill?: string | undefined;
1543
1767
  opacity?: number | undefined;
@@ -1582,6 +1806,7 @@ export declare const PathSchema: z.ZodObject<{
1582
1806
  thickness?: "ultraThin" | "veryThin" | "thin" | "semithick" | "thick" | "veryThick" | "ultraThick" | undefined;
1583
1807
  fillOpacity?: number | undefined;
1584
1808
  drawOpacity?: number | undefined;
1809
+ zIndex?: number | undefined;
1585
1810
  }>;
1586
1811
  /** 路径:由若干 step 动作(move/line/...)组成 */
1587
1812
  export type IRPath = z.infer<typeof PathSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../../src/ir/path/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwGpB,CAAC;AAEJ,sCAAsC;AACtC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../../src/ir/path/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgHpB,CAAC;AAEJ,sCAAsC;AACtC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -81,25 +81,49 @@ var BendStepSchema = zod.z.object({
81
81
  }).describe("Bend action: shorthand for an arc-like cubic; control points computed at compile time");
82
82
  var ArcStepSchema = zod.z.object({
83
83
  type: zod.z.literal("step").describe("Discriminator marking this as a path step node"),
84
- kind: zod.z.literal("arc").describe("Arc segment from cursor as center, sweeping startAngle → endAngle on a circle of given radius (TikZ `arc[start angle=…, end angle=…, radius=…]`); pen ends at the arc endpoint, not the center"),
84
+ kind: zod.z.literal("arc").describe("Arc segment sweeping startAngle → endAngle around a center. Circular (radius) or elliptical (radiusX/radiusY). Center defaults to the cursor but can be set explicitly. Pen ends at the arc endpoint, not the center (TikZ `arc[start angle=…, end angle=…, radius=…]`)."),
85
85
  startAngle: zod.z.number().describe("Arc start angle in degrees, measured from +x axis. 0° = +x, 90° = +y = screen-down (visual clockwise under screen y-down); matches polar / Node label angle convention."),
86
86
  endAngle: zod.z.number().describe("Arc end angle in degrees; sweep direction inferred from startAngle vs endAngle"),
87
- radius: zod.z.number().positive().describe("Arc radius in user units"),
87
+ radius: zod.z.number().positive().optional().describe("Circular arc radius in user units. Give EITHER radius (circular) OR both radiusX and radiusY (elliptical), never both — enforced by the sugar/compile layer, not schema."),
88
+ radiusX: zod.z.number().positive().optional().describe("Elliptical arc x-axis radius; requires radiusX and radiusY together (mutually exclusive with radius)."),
89
+ radiusY: zod.z.number().positive().optional().describe("Elliptical arc y-axis radius; requires radiusX and radiusY together (mutually exclusive with radius)."),
90
+ center: require_target.TargetSchema.optional().describe("Explicit arc center. Defaults to the cursor (previous step anchor) for backward compatibility; set it to anchor the arc independently of the cursor (used by <Sector> to draw a correct wedge)."),
88
91
  label: StepLabelSchema.optional().describe("Edge label attached to this arc")
89
- }).describe("Arc action: TikZ-style arc with implicit center at the cursor; startAngle / endAngle / radius give the geometry. Pen is left at the arc endpoint.");
92
+ }).describe("Arc action: circular (radius) or elliptical (radiusX/radiusY) arc around a center (cursor by default, or explicit). Pen is left at the arc endpoint.");
90
93
  var CirclePathStepSchema = zod.z.object({
91
94
  type: zod.z.literal("step").describe("Discriminator marking this as a path step node"),
92
- kind: zod.z.literal("circlePath").describe("Full circle centered at the cursor with given radius (TikZ `circle[radius=…]`); compiled to a single full-sweep ellipse arc command. Pen returns to the center."),
95
+ kind: zod.z.literal("circlePath").describe("Circle centered at the cursor. Without angles: a full circle (TikZ `circle[radius=…]`), pen returns to center. With startAngle + endAngle: a partial arc closed per `closed` (half circle / segment)."),
93
96
  radius: zod.z.number().positive().describe("Circle radius in user units"),
94
- label: StepLabelSchema.optional().describe("Edge label attached to this full circle")
95
- }).describe("CirclePath action: full closed circle around the cursor as center; pen returns to center after.");
97
+ startAngle: zod.z.number().optional().describe("Partial-circle start angle in degrees (same convention as arc: 0°=+x, 90°=+y screen-down). Give both startAngle and endAngle for a partial circle, or neither for a full circle (enforced by the sugar/compile layer, not schema)."),
98
+ endAngle: zod.z.number().optional().describe("Partial-circle end angle in degrees; sweep direction inferred from startAngle vs endAngle."),
99
+ closed: zod.z.enum([
100
+ "closed",
101
+ "chord",
102
+ "open"
103
+ ]).optional().describe("Closing mode. 'closed' = full circle (only valid with no angles; the default then). With angles: 'chord' (straight chord between the two arc ends → half circle / segment; default) or 'open' (pure unclosed arc)."),
104
+ label: StepLabelSchema.optional().describe("Edge label attached to this circle")
105
+ }).describe("CirclePath action: full circle (no angles, pen returns to center) or partial arc (with angles, closed per chord/open).");
96
106
  var EllipsePathStepSchema = zod.z.object({
97
107
  type: zod.z.literal("step").describe("Discriminator marking this as a path step node"),
98
- kind: zod.z.literal("ellipsePath").describe("Full ellipse centered at the cursor with given x/y radii (TikZ `ellipse[x radius=…, y radius=…]`); compiled to a single full-sweep ellipse arc command. Pen returns to the center."),
108
+ kind: zod.z.literal("ellipsePath").describe("Ellipse centered at the cursor. Without angles: a full ellipse (TikZ `ellipse[x radius=…, y radius=…]`), pen returns to center. With startAngle + endAngle: a partial elliptical arc closed per `closed`."),
99
109
  radiusX: zod.z.number().positive().describe("Ellipse x-axis radius (semi-major or semi-minor on x)"),
100
110
  radiusY: zod.z.number().positive().describe("Ellipse y-axis radius (semi-major or semi-minor on y)"),
101
- label: StepLabelSchema.optional().describe("Edge label attached to this full ellipse")
102
- }).describe("EllipsePath action: full closed ellipse around the cursor; pen returns to center.");
111
+ startAngle: zod.z.number().optional().describe("Partial-ellipse start angle in degrees (parametric, same convention as arc). Give both startAngle and endAngle for a partial ellipse, or neither for a full ellipse."),
112
+ endAngle: zod.z.number().optional().describe("Partial-ellipse end angle in degrees."),
113
+ closed: zod.z.enum([
114
+ "closed",
115
+ "chord",
116
+ "open"
117
+ ]).optional().describe("Closing mode. 'closed' = full ellipse (only valid with no angles; default then). With angles: 'chord' (chord between arc ends; default) or 'open' (pure unclosed arc)."),
118
+ label: StepLabelSchema.optional().describe("Edge label attached to this ellipse")
119
+ }).describe("EllipsePath action: full ellipse (no angles, pen returns to center) or partial elliptical arc (with angles, closed per chord/open).");
120
+ var RectangleStepSchema = zod.z.object({
121
+ type: zod.z.literal("step").describe("Discriminator marking this as a path step node"),
122
+ kind: zod.z.literal("rectangle").describe("Axis-aligned rectangle between two opposite corners (TikZ `(a) rectangle (b)`); compiled to path commands (4 lines + close, or rounded corners via quarter arcs). Self-contained: corners come from from/to, not the cursor."),
123
+ from: require_target.TargetSchema.describe("One corner of the rectangle"),
124
+ to: require_target.TargetSchema.describe("The opposite corner; order is irrelevant (compile normalizes to min/max)"),
125
+ roundedCorners: zod.z.number().nonnegative().optional().describe("Single corner radius applied to all four corners; omitted = sharp corners. Clamped to half the smaller side at compile time.")
126
+ }).describe("Rectangle action: closed axis-aligned rectangle (optionally rounded) drawn between two opposite corners.");
103
127
  var StepSchema = zod.z.discriminatedUnion("kind", [
104
128
  MoveStepSchema,
105
129
  LineStepSchema,
@@ -110,7 +134,8 @@ var StepSchema = zod.z.discriminatedUnion("kind", [
110
134
  BendStepSchema,
111
135
  ArcStepSchema,
112
136
  CirclePathStepSchema,
113
- EllipsePathStepSchema
137
+ EllipsePathStepSchema,
138
+ RectangleStepSchema
114
139
  ]).describe("A single path action; the discriminator field is `kind`");
115
140
  //#endregion
116
141
  exports.ArcStepSchema = ArcStepSchema;
@@ -124,5 +149,6 @@ exports.EllipsePathStepSchema = EllipsePathStepSchema;
124
149
  exports.FoldStepSchema = FoldStepSchema;
125
150
  exports.LineStepSchema = LineStepSchema;
126
151
  exports.MoveStepSchema = MoveStepSchema;
152
+ exports.RectangleStepSchema = RectangleStepSchema;
127
153
  exports.StepLabelSchema = StepLabelSchema;
128
154
  exports.StepSchema = StepSchema;