@tscircuit/core 0.0.593 → 0.0.594

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.
package/dist/index.d.ts CHANGED
@@ -1141,6 +1141,22 @@ declare class Board extends Group<typeof boardProps> {
1141
1141
  relative: zod.ZodOptional<zod.ZodBoolean>;
1142
1142
  schRelative: zod.ZodOptional<zod.ZodBoolean>;
1143
1143
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
1144
+ grid: zod.ZodOptional<zod.ZodBoolean>;
1145
+ flex: zod.ZodOptional<zod.ZodUnion<[zod.ZodBoolean, zod.ZodString]>>;
1146
+ pcbGrid: zod.ZodOptional<zod.ZodBoolean>;
1147
+ pcbGridCols: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
1148
+ pcbGridRows: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
1149
+ pcbGridTemplateRows: zod.ZodOptional<zod.ZodString>;
1150
+ pcbGridTemplateColumns: zod.ZodOptional<zod.ZodString>;
1151
+ pcbGridTemplate: zod.ZodOptional<zod.ZodString>;
1152
+ pcbGridGap: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
1153
+ pcbFlex: zod.ZodOptional<zod.ZodUnion<[zod.ZodBoolean, zod.ZodString]>>;
1154
+ pcbFlexDirection: zod.ZodOptional<zod.ZodEnum<["row", "column"]>>;
1155
+ pcbAlignItems: zod.ZodOptional<zod.ZodEnum<["start", "center", "end", "stretch"]>>;
1156
+ pcbJustifyContent: zod.ZodOptional<zod.ZodEnum<["start", "center", "end", "stretch", "space-between", "space-around", "space-evenly"]>>;
1157
+ pcbFlexRow: zod.ZodOptional<zod.ZodBoolean>;
1158
+ pcbFlexColumn: zod.ZodOptional<zod.ZodBoolean>;
1159
+ pcbGap: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
1144
1160
  pcbWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1145
1161
  pcbHeight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1146
1162
  schWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -1163,7 +1179,7 @@ declare class Board extends Group<typeof boardProps> {
1163
1179
  flexColumn: zod.ZodOptional<zod.ZodBoolean>;
1164
1180
  gap: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
1165
1181
  pack: zod.ZodOptional<zod.ZodBoolean>;
1166
- packOrderStrategy: zod.ZodOptional<zod.ZodEnum<["largest_to_smallest"]>>;
1182
+ packOrderStrategy: zod.ZodOptional<zod.ZodEnum<["largest_to_smallest", "first_to_last", "highest_to_lowest_pin_count"]>>;
1167
1183
  packPlacementStrategy: zod.ZodOptional<zod.ZodEnum<["shortest_connection_along_outline"]>>;
1168
1184
  padding: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1169
1185
  paddingLeft: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -1194,7 +1210,7 @@ declare class Board extends Group<typeof boardProps> {
1194
1210
  flexColumn?: boolean | undefined;
1195
1211
  gap?: string | number | undefined;
1196
1212
  pack?: boolean | undefined;
1197
- packOrderStrategy?: "largest_to_smallest" | undefined;
1213
+ packOrderStrategy?: "largest_to_smallest" | "first_to_last" | "highest_to_lowest_pin_count" | undefined;
1198
1214
  packPlacementStrategy?: "shortest_connection_along_outline" | undefined;
1199
1215
  padding?: number | undefined;
1200
1216
  paddingLeft?: number | undefined;
@@ -1225,7 +1241,7 @@ declare class Board extends Group<typeof boardProps> {
1225
1241
  flexColumn?: boolean | undefined;
1226
1242
  gap?: string | number | undefined;
1227
1243
  pack?: boolean | undefined;
1228
- packOrderStrategy?: "largest_to_smallest" | undefined;
1244
+ packOrderStrategy?: "largest_to_smallest" | "first_to_last" | "highest_to_lowest_pin_count" | undefined;
1229
1245
  packPlacementStrategy?: "shortest_connection_along_outline" | undefined;
1230
1246
  padding?: string | number | undefined;
1231
1247
  paddingLeft?: string | number | undefined;
@@ -1257,7 +1273,7 @@ declare class Board extends Group<typeof boardProps> {
1257
1273
  flexColumn: zod.ZodOptional<zod.ZodBoolean>;
1258
1274
  gap: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
1259
1275
  pack: zod.ZodOptional<zod.ZodBoolean>;
1260
- packOrderStrategy: zod.ZodOptional<zod.ZodEnum<["largest_to_smallest"]>>;
1276
+ packOrderStrategy: zod.ZodOptional<zod.ZodEnum<["largest_to_smallest", "first_to_last", "highest_to_lowest_pin_count"]>>;
1261
1277
  packPlacementStrategy: zod.ZodOptional<zod.ZodEnum<["shortest_connection_along_outline"]>>;
1262
1278
  padding: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1263
1279
  paddingLeft: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -1288,7 +1304,7 @@ declare class Board extends Group<typeof boardProps> {
1288
1304
  flexColumn?: boolean | undefined;
1289
1305
  gap?: string | number | undefined;
1290
1306
  pack?: boolean | undefined;
1291
- packOrderStrategy?: "largest_to_smallest" | undefined;
1307
+ packOrderStrategy?: "largest_to_smallest" | "first_to_last" | "highest_to_lowest_pin_count" | undefined;
1292
1308
  packPlacementStrategy?: "shortest_connection_along_outline" | undefined;
1293
1309
  padding?: number | undefined;
1294
1310
  paddingLeft?: number | undefined;
@@ -1319,7 +1335,7 @@ declare class Board extends Group<typeof boardProps> {
1319
1335
  flexColumn?: boolean | undefined;
1320
1336
  gap?: string | number | undefined;
1321
1337
  pack?: boolean | undefined;
1322
- packOrderStrategy?: "largest_to_smallest" | undefined;
1338
+ packOrderStrategy?: "largest_to_smallest" | "first_to_last" | "highest_to_lowest_pin_count" | undefined;
1323
1339
  packPlacementStrategy?: "shortest_connection_along_outline" | undefined;
1324
1340
  padding?: string | number | undefined;
1325
1341
  paddingLeft?: string | number | undefined;
@@ -1366,14 +1382,12 @@ declare class Board extends Group<typeof boardProps> {
1366
1382
  schPaddingBottom: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1367
1383
  layoutMode: zod.ZodOptional<zod.ZodEnum<["grid", "flex", "match-adapt", "relative", "none"]>>;
1368
1384
  position: zod.ZodOptional<zod.ZodEnum<["absolute", "relative"]>>;
1369
- grid: zod.ZodOptional<zod.ZodBoolean>;
1370
1385
  gridCols: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
1371
1386
  gridRows: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
1372
1387
  gridTemplateRows: zod.ZodOptional<zod.ZodString>;
1373
1388
  gridTemplateColumns: zod.ZodOptional<zod.ZodString>;
1374
1389
  gridTemplate: zod.ZodOptional<zod.ZodString>;
1375
1390
  gridGap: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
1376
- flex: zod.ZodOptional<zod.ZodUnion<[zod.ZodBoolean, zod.ZodString]>>;
1377
1391
  flexDirection: zod.ZodOptional<zod.ZodEnum<["row", "column"]>>;
1378
1392
  alignItems: zod.ZodOptional<zod.ZodEnum<["start", "center", "end", "stretch"]>>;
1379
1393
  justifyContent: zod.ZodOptional<zod.ZodEnum<["start", "center", "end", "stretch", "space-between", "space-around", "space-evenly"]>>;
@@ -1381,7 +1395,7 @@ declare class Board extends Group<typeof boardProps> {
1381
1395
  flexColumn: zod.ZodOptional<zod.ZodBoolean>;
1382
1396
  gap: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
1383
1397
  pack: zod.ZodOptional<zod.ZodBoolean>;
1384
- packOrderStrategy: zod.ZodOptional<zod.ZodEnum<["largest_to_smallest"]>>;
1398
+ packOrderStrategy: zod.ZodOptional<zod.ZodEnum<["largest_to_smallest", "first_to_last", "highest_to_lowest_pin_count"]>>;
1385
1399
  packPlacementStrategy: zod.ZodOptional<zod.ZodEnum<["shortest_connection_along_outline"]>>;
1386
1400
  padding: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1387
1401
  paddingLeft: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -1658,7 +1672,7 @@ declare class Board extends Group<typeof boardProps> {
1658
1672
  flexColumn?: boolean | undefined;
1659
1673
  gap?: string | number | undefined;
1660
1674
  pack?: boolean | undefined;
1661
- packOrderStrategy?: "largest_to_smallest" | undefined;
1675
+ packOrderStrategy?: "largest_to_smallest" | "first_to_last" | "highest_to_lowest_pin_count" | undefined;
1662
1676
  packPlacementStrategy?: "shortest_connection_along_outline" | undefined;
1663
1677
  padding?: number | undefined;
1664
1678
  paddingLeft?: number | undefined;
@@ -1694,7 +1708,7 @@ declare class Board extends Group<typeof boardProps> {
1694
1708
  flexColumn?: boolean | undefined;
1695
1709
  gap?: string | number | undefined;
1696
1710
  pack?: boolean | undefined;
1697
- packOrderStrategy?: "largest_to_smallest" | undefined;
1711
+ packOrderStrategy?: "largest_to_smallest" | "first_to_last" | "highest_to_lowest_pin_count" | undefined;
1698
1712
  packPlacementStrategy?: "shortest_connection_along_outline" | undefined;
1699
1713
  padding?: number | undefined;
1700
1714
  paddingLeft?: number | undefined;
@@ -1726,7 +1740,7 @@ declare class Board extends Group<typeof boardProps> {
1726
1740
  flexColumn?: boolean | undefined;
1727
1741
  gap?: string | number | undefined;
1728
1742
  pack?: boolean | undefined;
1729
- packOrderStrategy?: "largest_to_smallest" | undefined;
1743
+ packOrderStrategy?: "largest_to_smallest" | "first_to_last" | "highest_to_lowest_pin_count" | undefined;
1730
1744
  packPlacementStrategy?: "shortest_connection_along_outline" | undefined;
1731
1745
  padding?: number | undefined;
1732
1746
  paddingLeft?: number | undefined;
@@ -1755,6 +1769,20 @@ declare class Board extends Group<typeof boardProps> {
1755
1769
  schPaddingRight?: number | undefined;
1756
1770
  schPaddingTop?: number | undefined;
1757
1771
  schPaddingBottom?: number | undefined;
1772
+ pcbGrid?: boolean | undefined;
1773
+ pcbGridCols?: string | number | undefined;
1774
+ pcbGridRows?: string | number | undefined;
1775
+ pcbGridTemplateRows?: string | undefined;
1776
+ pcbGridTemplateColumns?: string | undefined;
1777
+ pcbGridTemplate?: string | undefined;
1778
+ pcbGridGap?: string | number | undefined;
1779
+ pcbFlex?: string | boolean | undefined;
1780
+ pcbFlexDirection?: "row" | "column" | undefined;
1781
+ pcbAlignItems?: "center" | "start" | "end" | "stretch" | undefined;
1782
+ pcbJustifyContent?: "center" | "start" | "end" | "stretch" | "space-between" | "space-around" | "space-evenly" | undefined;
1783
+ pcbFlexRow?: boolean | undefined;
1784
+ pcbFlexColumn?: boolean | undefined;
1785
+ pcbGap?: string | number | undefined;
1758
1786
  manualEdits?: {
1759
1787
  pcb_placements?: {
1760
1788
  selector: string;
@@ -1845,7 +1873,7 @@ declare class Board extends Group<typeof boardProps> {
1845
1873
  flexColumn?: boolean | undefined;
1846
1874
  gap?: string | number | undefined;
1847
1875
  pack?: boolean | undefined;
1848
- packOrderStrategy?: "largest_to_smallest" | undefined;
1876
+ packOrderStrategy?: "largest_to_smallest" | "first_to_last" | "highest_to_lowest_pin_count" | undefined;
1849
1877
  packPlacementStrategy?: "shortest_connection_along_outline" | undefined;
1850
1878
  padding?: string | number | undefined;
1851
1879
  paddingLeft?: string | number | undefined;
@@ -1881,7 +1909,7 @@ declare class Board extends Group<typeof boardProps> {
1881
1909
  flexColumn?: boolean | undefined;
1882
1910
  gap?: string | number | undefined;
1883
1911
  pack?: boolean | undefined;
1884
- packOrderStrategy?: "largest_to_smallest" | undefined;
1912
+ packOrderStrategy?: "largest_to_smallest" | "first_to_last" | "highest_to_lowest_pin_count" | undefined;
1885
1913
  packPlacementStrategy?: "shortest_connection_along_outline" | undefined;
1886
1914
  padding?: string | number | undefined;
1887
1915
  paddingLeft?: string | number | undefined;
@@ -1913,7 +1941,7 @@ declare class Board extends Group<typeof boardProps> {
1913
1941
  flexColumn?: boolean | undefined;
1914
1942
  gap?: string | number | undefined;
1915
1943
  pack?: boolean | undefined;
1916
- packOrderStrategy?: "largest_to_smallest" | undefined;
1944
+ packOrderStrategy?: "largest_to_smallest" | "first_to_last" | "highest_to_lowest_pin_count" | undefined;
1917
1945
  packPlacementStrategy?: "shortest_connection_along_outline" | undefined;
1918
1946
  padding?: string | number | undefined;
1919
1947
  paddingLeft?: string | number | undefined;
@@ -1942,6 +1970,20 @@ declare class Board extends Group<typeof boardProps> {
1942
1970
  schPaddingRight?: string | number | undefined;
1943
1971
  schPaddingTop?: string | number | undefined;
1944
1972
  schPaddingBottom?: string | number | undefined;
1973
+ pcbGrid?: boolean | undefined;
1974
+ pcbGridCols?: string | number | undefined;
1975
+ pcbGridRows?: string | number | undefined;
1976
+ pcbGridTemplateRows?: string | undefined;
1977
+ pcbGridTemplateColumns?: string | undefined;
1978
+ pcbGridTemplate?: string | undefined;
1979
+ pcbGridGap?: string | number | undefined;
1980
+ pcbFlex?: string | boolean | undefined;
1981
+ pcbFlexDirection?: "row" | "column" | undefined;
1982
+ pcbAlignItems?: "center" | "start" | "end" | "stretch" | undefined;
1983
+ pcbJustifyContent?: "center" | "start" | "end" | "stretch" | "space-between" | "space-around" | "space-evenly" | undefined;
1984
+ pcbFlexRow?: boolean | undefined;
1985
+ pcbFlexColumn?: boolean | undefined;
1986
+ pcbGap?: string | number | undefined;
1945
1987
  manualEdits?: {
1946
1988
  pcb_placements?: {
1947
1989
  selector: string;
@@ -10485,7 +10527,7 @@ declare class PinHeader extends NormalComponent<typeof pinHeaderProps> {
10485
10527
  pinCount: zod.ZodNumber;
10486
10528
  pitch: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
10487
10529
  schFacingDirection: zod.ZodOptional<zod.ZodEnum<["up", "down", "left", "right"]>>;
10488
- gender: zod.ZodDefault<zod.ZodOptional<zod.ZodEnum<["male", "female"]>>>;
10530
+ gender: zod.ZodDefault<zod.ZodOptional<zod.ZodEnum<["male", "female", "unpopulated"]>>>;
10489
10531
  showSilkscreenPinLabels: zod.ZodOptional<zod.ZodBoolean>;
10490
10532
  pcbPinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodString>>;
10491
10533
  doubleRow: zod.ZodOptional<zod.ZodBoolean>;
@@ -10627,7 +10669,7 @@ declare class PinHeader extends NormalComponent<typeof pinHeaderProps> {
10627
10669
  schHeight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
10628
10670
  }, "strip", zod.ZodTypeAny, {
10629
10671
  name: string;
10630
- gender: "male" | "female";
10672
+ gender: "male" | "female" | "unpopulated";
10631
10673
  pinCount: number;
10632
10674
  pcbX?: number | undefined;
10633
10675
  pcbY?: number | undefined;
@@ -10839,7 +10881,7 @@ declare class PinHeader extends NormalComponent<typeof pinHeaderProps> {
10839
10881
  doNotPlace?: boolean | undefined;
10840
10882
  schWidth?: string | number | undefined;
10841
10883
  schHeight?: string | number | undefined;
10842
- gender?: "male" | "female" | undefined;
10884
+ gender?: "male" | "female" | "unpopulated" | undefined;
10843
10885
  pinLabels?: string[] | undefined;
10844
10886
  pcbPinLabels?: Record<string, string> | undefined;
10845
10887
  schPinArrangement?: {
package/dist/index.js CHANGED
@@ -7951,9 +7951,9 @@ function Group_doInitialPcbLayoutGrid(group) {
7951
7951
  }
7952
7952
  if (maxCellWidth === 0 && pcbChildren.length > 0) maxCellWidth = 1;
7953
7953
  if (maxCellHeight === 0 && pcbChildren.length > 0) maxCellHeight = 1;
7954
- let gridColsOption = props.gridCols;
7955
- let gridRowsOption = void 0;
7956
- let gridGapOption = props.gridGap;
7954
+ let gridColsOption = props.pcbGridCols ?? props.gridCols;
7955
+ let gridRowsOption = props.pcbGridRows;
7956
+ let gridGapOption = props.pcbGridGap ?? props.gridGap;
7957
7957
  if (props.pcbLayout?.grid) {
7958
7958
  gridColsOption = props.pcbLayout.grid.cols ?? gridColsOption;
7959
7959
  gridRowsOption = props.pcbLayout.grid.rows;
@@ -8167,8 +8167,11 @@ var Group_doInitialPcbLayoutFlex = (group) => {
8167
8167
  const circuitJson = group.lowercaseComponentName === "board" ? db.toArray() : buildSubtree3(db.toArray(), {
8168
8168
  source_group_id: group.source_group_id
8169
8169
  });
8170
+ const justify = props.pcbJustifyContent ?? props.justifyContent;
8171
+ const align = props.pcbAlignItems ?? props.alignItems;
8170
8172
  const modifiedCircuitJson = layoutCircuitJsonWithFlex(circuitJson, {
8171
- justifyContent: props.justifyContent === "start" ? "flex-start" : props.justifyContent === "end" ? "flex-end" : props.justifyContent === "stretch" ? "space-between" : props.justifyContent
8173
+ justifyContent: justify === "start" ? "flex-start" : justify === "end" ? "flex-end" : justify === "stretch" ? "space-between" : justify,
8174
+ alignItems: align === "start" ? "flex-start" : align === "end" ? "flex-end" : align ?? "center"
8172
8175
  });
8173
8176
  const pcbSmtPads = db.pcb_smtpad.list();
8174
8177
  for (const smtpad of pcbSmtPads) {
@@ -8744,10 +8747,12 @@ var Group = class extends NormalComponent {
8744
8747
  if (props.pcbLayout?.flex) return "flex";
8745
8748
  if (props.pcbLayout?.grid) return "grid";
8746
8749
  if (props.pcbLayout?.pack) return "pack";
8750
+ if (props.pcbFlex) return "flex";
8751
+ if (props.pcbGrid) return "grid";
8752
+ if (props.pack) return "pack";
8747
8753
  if (props.matchAdapt) return "match-adapt";
8748
8754
  if (props.flex) return "flex";
8749
8755
  if (props.grid) return "grid";
8750
- if (props.pack) return "pack";
8751
8756
  return "none";
8752
8757
  }
8753
8758
  doInitialPcbLayout() {
@@ -11223,7 +11228,7 @@ import { identity as identity5 } from "transformation-matrix";
11223
11228
  var package_default = {
11224
11229
  name: "@tscircuit/core",
11225
11230
  type: "module",
11226
- version: "0.0.592",
11231
+ version: "0.0.593",
11227
11232
  types: "dist/index.d.ts",
11228
11233
  main: "dist/index.js",
11229
11234
  module: "dist/index.js",
@@ -11255,7 +11260,7 @@ var package_default = {
11255
11260
  "@tscircuit/infgrid-ijump-astar": "^0.0.33",
11256
11261
  "@tscircuit/log-soup": "^1.0.2",
11257
11262
  "@tscircuit/math-utils": "^0.0.18",
11258
- "@tscircuit/props": "^0.0.268",
11263
+ "@tscircuit/props": "^0.0.271",
11259
11264
  "@tscircuit/schematic-autolayout": "^0.0.6",
11260
11265
  "@tscircuit/schematic-corpus": "^0.0.52",
11261
11266
  "@tscircuit/schematic-match-adapt": "^0.0.16",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.593",
4
+ "version": "0.0.594",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "@tscircuit/infgrid-ijump-astar": "^0.0.33",
34
34
  "@tscircuit/log-soup": "^1.0.2",
35
35
  "@tscircuit/math-utils": "^0.0.18",
36
- "@tscircuit/props": "^0.0.268",
36
+ "@tscircuit/props": "^0.0.271",
37
37
  "@tscircuit/schematic-autolayout": "^0.0.6",
38
38
  "@tscircuit/schematic-corpus": "^0.0.52",
39
39
  "@tscircuit/schematic-match-adapt": "^0.0.16",