@retikz/core 0.2.0-alpha.4 → 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 (49) hide show
  1. package/dist/es/compile/path/index.d.ts.map +1 -1
  2. package/dist/es/compile/path/index.js +91 -12
  3. package/dist/es/compile/path/relative.d.ts.map +1 -1
  4. package/dist/es/compile/path/relative.js +5 -1
  5. package/dist/es/geometry/arc.d.ts +11 -0
  6. package/dist/es/geometry/arc.d.ts.map +1 -1
  7. package/dist/es/geometry/arc.js +27 -1
  8. package/dist/es/geometry/rect.d.ts +23 -0
  9. package/dist/es/geometry/rect.d.ts.map +1 -1
  10. package/dist/es/geometry/rect.js +84 -1
  11. package/dist/es/geometry/segment.d.ts +2 -0
  12. package/dist/es/geometry/segment.d.ts.map +1 -1
  13. package/dist/es/geometry/segment.js +12 -1
  14. package/dist/es/index.d.ts +2 -2
  15. package/dist/es/index.d.ts.map +1 -1
  16. package/dist/es/index.js +2 -2
  17. package/dist/es/ir/node.d.ts +2 -2
  18. package/dist/es/ir/path/path.d.ts +227 -5
  19. package/dist/es/ir/path/path.d.ts.map +1 -1
  20. package/dist/es/ir/path/step.d.ts +311 -8
  21. package/dist/es/ir/path/step.d.ts.map +1 -1
  22. package/dist/es/ir/path/step.js +36 -11
  23. package/dist/es/ir/scope.d.ts +312 -12
  24. package/dist/es/ir/scope.d.ts.map +1 -1
  25. package/dist/lib/compile/path/index.cjs +89 -10
  26. package/dist/lib/compile/path/index.d.ts.map +1 -1
  27. package/dist/lib/compile/path/relative.cjs +5 -1
  28. package/dist/lib/compile/path/relative.d.ts.map +1 -1
  29. package/dist/lib/geometry/arc.cjs +28 -0
  30. package/dist/lib/geometry/arc.d.ts +11 -0
  31. package/dist/lib/geometry/arc.d.ts.map +1 -1
  32. package/dist/lib/geometry/rect.cjs +84 -0
  33. package/dist/lib/geometry/rect.d.ts +23 -0
  34. package/dist/lib/geometry/rect.d.ts.map +1 -1
  35. package/dist/lib/geometry/segment.cjs +12 -0
  36. package/dist/lib/geometry/segment.d.ts +2 -0
  37. package/dist/lib/geometry/segment.d.ts.map +1 -1
  38. package/dist/lib/index.cjs +1 -0
  39. package/dist/lib/index.d.ts +2 -2
  40. package/dist/lib/index.d.ts.map +1 -1
  41. package/dist/lib/ir/node.d.ts +2 -2
  42. package/dist/lib/ir/path/path.d.ts +227 -5
  43. package/dist/lib/ir/path/path.d.ts.map +1 -1
  44. package/dist/lib/ir/path/step.cjs +36 -10
  45. package/dist/lib/ir/path/step.d.ts +311 -8
  46. package/dist/lib/ir/path/step.d.ts.map +1 -1
  47. package/dist/lib/ir/scope.d.ts +312 -12
  48. package/dist/lib/ir/scope.d.ts.map +1 -1
  49. package/package.json +1 -1
@@ -843,7 +843,31 @@ export declare const PathSchema: z.ZodObject<{
843
843
  kind: z.ZodLiteral<"arc">;
844
844
  startAngle: z.ZodNumber;
845
845
  endAngle: z.ZodNumber;
846
- 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
+ }>]>>;
847
871
  label: z.ZodOptional<z.ZodObject<{
848
872
  text: z.ZodString;
849
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]>>;
@@ -893,10 +917,10 @@ export declare const PathSchema: z.ZodObject<{
893
917
  }>>;
894
918
  }, "strip", z.ZodTypeAny, {
895
919
  type: "step";
896
- radius: number;
897
920
  kind: "arc";
898
921
  startAngle: number;
899
922
  endAngle: number;
923
+ radius?: number | undefined;
900
924
  label?: {
901
925
  text: string;
902
926
  opacity?: number | undefined;
@@ -910,12 +934,22 @@ export declare const PathSchema: z.ZodObject<{
910
934
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
911
935
  textColor?: string | undefined;
912
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;
913
947
  }, {
914
948
  type: "step";
915
- radius: number;
916
949
  kind: "arc";
917
950
  startAngle: number;
918
951
  endAngle: number;
952
+ radius?: number | undefined;
919
953
  label?: {
920
954
  text: string;
921
955
  opacity?: number | undefined;
@@ -929,10 +963,23 @@ export declare const PathSchema: z.ZodObject<{
929
963
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
930
964
  textColor?: string | undefined;
931
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;
932
976
  }>, z.ZodObject<{
933
977
  type: z.ZodLiteral<"step">;
934
978
  kind: z.ZodLiteral<"circlePath">;
935
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"]>>;
936
983
  label: z.ZodOptional<z.ZodObject<{
937
984
  text: z.ZodString;
938
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]>>;
@@ -997,6 +1044,9 @@ export declare const PathSchema: z.ZodObject<{
997
1044
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
998
1045
  textColor?: string | undefined;
999
1046
  } | undefined;
1047
+ startAngle?: number | undefined;
1048
+ endAngle?: number | undefined;
1049
+ closed?: "open" | "closed" | "chord" | undefined;
1000
1050
  }, {
1001
1051
  type: "step";
1002
1052
  radius: number;
@@ -1014,11 +1064,17 @@ export declare const PathSchema: z.ZodObject<{
1014
1064
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1015
1065
  textColor?: string | undefined;
1016
1066
  } | undefined;
1067
+ startAngle?: number | undefined;
1068
+ endAngle?: number | undefined;
1069
+ closed?: "open" | "closed" | "chord" | undefined;
1017
1070
  }>, z.ZodObject<{
1018
1071
  type: z.ZodLiteral<"step">;
1019
1072
  kind: z.ZodLiteral<"ellipsePath">;
1020
1073
  radiusX: z.ZodNumber;
1021
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"]>>;
1022
1078
  label: z.ZodOptional<z.ZodObject<{
1023
1079
  text: z.ZodString;
1024
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]>>;
@@ -1084,6 +1140,9 @@ export declare const PathSchema: z.ZodObject<{
1084
1140
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1085
1141
  textColor?: string | undefined;
1086
1142
  } | undefined;
1143
+ startAngle?: number | undefined;
1144
+ endAngle?: number | undefined;
1145
+ closed?: "open" | "closed" | "chord" | undefined;
1087
1146
  }, {
1088
1147
  type: "step";
1089
1148
  kind: "ellipsePath";
@@ -1102,6 +1161,97 @@ export declare const PathSchema: z.ZodObject<{
1102
1161
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1103
1162
  textColor?: string | undefined;
1104
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;
1105
1255
  }>]>, "many">;
1106
1256
  }, "strip", z.ZodTypeAny, {
1107
1257
  type: "path";
@@ -1247,10 +1397,10 @@ export declare const PathSchema: z.ZodObject<{
1247
1397
  bendAngle?: number | undefined;
1248
1398
  } | {
1249
1399
  type: "step";
1250
- radius: number;
1251
1400
  kind: "arc";
1252
1401
  startAngle: number;
1253
1402
  endAngle: number;
1403
+ radius?: number | undefined;
1254
1404
  label?: {
1255
1405
  text: string;
1256
1406
  opacity?: number | undefined;
@@ -1264,6 +1414,16 @@ export declare const PathSchema: z.ZodObject<{
1264
1414
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1265
1415
  textColor?: string | undefined;
1266
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;
1267
1427
  } | {
1268
1428
  type: "step";
1269
1429
  radius: number;
@@ -1281,6 +1441,9 @@ export declare const PathSchema: z.ZodObject<{
1281
1441
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1282
1442
  textColor?: string | undefined;
1283
1443
  } | undefined;
1444
+ startAngle?: number | undefined;
1445
+ endAngle?: number | undefined;
1446
+ closed?: "open" | "closed" | "chord" | undefined;
1284
1447
  } | {
1285
1448
  type: "step";
1286
1449
  kind: "ellipsePath";
@@ -1299,6 +1462,29 @@ export declare const PathSchema: z.ZodObject<{
1299
1462
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1300
1463
  textColor?: string | undefined;
1301
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;
1302
1488
  })[];
1303
1489
  fill?: string | undefined;
1304
1490
  opacity?: number | undefined;
@@ -1488,10 +1674,10 @@ export declare const PathSchema: z.ZodObject<{
1488
1674
  bendAngle?: number | undefined;
1489
1675
  } | {
1490
1676
  type: "step";
1491
- radius: number;
1492
1677
  kind: "arc";
1493
1678
  startAngle: number;
1494
1679
  endAngle: number;
1680
+ radius?: number | undefined;
1495
1681
  label?: {
1496
1682
  text: string;
1497
1683
  opacity?: number | undefined;
@@ -1505,6 +1691,16 @@ export declare const PathSchema: z.ZodObject<{
1505
1691
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1506
1692
  textColor?: string | undefined;
1507
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;
1508
1704
  } | {
1509
1705
  type: "step";
1510
1706
  radius: number;
@@ -1522,6 +1718,9 @@ export declare const PathSchema: z.ZodObject<{
1522
1718
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1523
1719
  textColor?: string | undefined;
1524
1720
  } | undefined;
1721
+ startAngle?: number | undefined;
1722
+ endAngle?: number | undefined;
1723
+ closed?: "open" | "closed" | "chord" | undefined;
1525
1724
  } | {
1526
1725
  type: "step";
1527
1726
  kind: "ellipsePath";
@@ -1540,6 +1739,29 @@ export declare const PathSchema: z.ZodObject<{
1540
1739
  side?: "above" | "below" | "left" | "right" | "sloped" | undefined;
1541
1740
  textColor?: string | undefined;
1542
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;
1543
1765
  })[];
1544
1766
  fill?: string | undefined;
1545
1767
  opacity?: number | undefined;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgHpB,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;