circuit-json 0.0.302 → 0.0.304

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/README.md CHANGED
@@ -873,6 +873,7 @@ interface PcbBoard {
873
873
  num_layers: number
874
874
  center: Point
875
875
  outline?: Point[]
876
+ shape?: "rect" | "polygon"
876
877
  material: "fr4" | "fr1"
877
878
  }
878
879
  ```
@@ -1319,16 +1320,16 @@ interface PcbGroup {
1319
1320
 
1320
1321
  [Source](https://github.com/tscircuit/circuit-json/blob/main/src/pcb/pcb_hole.ts)
1321
1322
 
1322
- Defines a circular or square hole on the PCB
1323
+ Defines a circular hole on the PCB
1323
1324
 
1324
1325
  ```typescript
1325
- /** Defines a circular or square hole on the PCB */
1326
- interface PcbHoleCircleOrSquare {
1326
+ /** Defines a circular hole on the PCB */
1327
+ interface PcbHoleCircle {
1327
1328
  type: "pcb_hole"
1328
1329
  pcb_hole_id: string
1329
1330
  pcb_group_id?: string
1330
1331
  subcircuit_id?: string
1331
- hole_shape: "circle" | "square"
1332
+ hole_shape: "circle"
1332
1333
  hole_diameter: number
1333
1334
  x: Distance
1334
1335
  y: Distance
package/dist/index.d.mts CHANGED
@@ -473,6 +473,153 @@ interface PcbComponent {
473
473
  */
474
474
  type PCBComponent = PcbComponent;
475
475
 
476
+ declare const pcb_hole_circle: z.ZodObject<{
477
+ type: z.ZodLiteral<"pcb_hole">;
478
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
479
+ pcb_group_id: z.ZodOptional<z.ZodString>;
480
+ subcircuit_id: z.ZodOptional<z.ZodString>;
481
+ hole_shape: z.ZodLiteral<"circle">;
482
+ hole_diameter: z.ZodNumber;
483
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
484
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
485
+ }, "strip", z.ZodTypeAny, {
486
+ x: number;
487
+ y: number;
488
+ type: "pcb_hole";
489
+ pcb_hole_id: string;
490
+ hole_shape: "circle";
491
+ hole_diameter: number;
492
+ subcircuit_id?: string | undefined;
493
+ pcb_group_id?: string | undefined;
494
+ }, {
495
+ x: string | number;
496
+ y: string | number;
497
+ type: "pcb_hole";
498
+ hole_shape: "circle";
499
+ hole_diameter: number;
500
+ subcircuit_id?: string | undefined;
501
+ pcb_group_id?: string | undefined;
502
+ pcb_hole_id?: string | undefined;
503
+ }>;
504
+ declare const pcb_hole_circle_shape: z.ZodObject<{
505
+ type: z.ZodLiteral<"pcb_hole">;
506
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
507
+ pcb_group_id: z.ZodOptional<z.ZodString>;
508
+ subcircuit_id: z.ZodOptional<z.ZodString>;
509
+ hole_shape: z.ZodLiteral<"circle">;
510
+ hole_diameter: z.ZodNumber;
511
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
512
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
513
+ }, "strip", z.ZodTypeAny, {
514
+ x: number;
515
+ y: number;
516
+ type: "pcb_hole";
517
+ pcb_hole_id: string;
518
+ hole_shape: "circle";
519
+ hole_diameter: number;
520
+ subcircuit_id?: string | undefined;
521
+ pcb_group_id?: string | undefined;
522
+ }, {
523
+ x: string | number;
524
+ y: string | number;
525
+ type: "pcb_hole";
526
+ hole_shape: "circle";
527
+ hole_diameter: number;
528
+ subcircuit_id?: string | undefined;
529
+ pcb_group_id?: string | undefined;
530
+ pcb_hole_id?: string | undefined;
531
+ }>;
532
+ type PcbHoleCircleInput = z.input<typeof pcb_hole_circle>;
533
+ /**
534
+ * Defines a circular hole on the PCB
535
+ */
536
+ interface PcbHoleCircle {
537
+ type: "pcb_hole";
538
+ pcb_hole_id: string;
539
+ pcb_group_id?: string;
540
+ subcircuit_id?: string;
541
+ hole_shape: "circle";
542
+ hole_diameter: number;
543
+ x: Distance;
544
+ y: Distance;
545
+ }
546
+ declare const pcb_hole_rect: z.ZodObject<{
547
+ type: z.ZodLiteral<"pcb_hole">;
548
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
549
+ pcb_group_id: z.ZodOptional<z.ZodString>;
550
+ subcircuit_id: z.ZodOptional<z.ZodString>;
551
+ hole_shape: z.ZodLiteral<"rect">;
552
+ hole_width: z.ZodNumber;
553
+ hole_height: z.ZodNumber;
554
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
555
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
556
+ }, "strip", z.ZodTypeAny, {
557
+ x: number;
558
+ y: number;
559
+ type: "pcb_hole";
560
+ pcb_hole_id: string;
561
+ hole_shape: "rect";
562
+ hole_width: number;
563
+ hole_height: number;
564
+ subcircuit_id?: string | undefined;
565
+ pcb_group_id?: string | undefined;
566
+ }, {
567
+ x: string | number;
568
+ y: string | number;
569
+ type: "pcb_hole";
570
+ hole_shape: "rect";
571
+ hole_width: number;
572
+ hole_height: number;
573
+ subcircuit_id?: string | undefined;
574
+ pcb_group_id?: string | undefined;
575
+ pcb_hole_id?: string | undefined;
576
+ }>;
577
+ declare const pcb_hole_rect_shape: z.ZodObject<{
578
+ type: z.ZodLiteral<"pcb_hole">;
579
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
580
+ pcb_group_id: z.ZodOptional<z.ZodString>;
581
+ subcircuit_id: z.ZodOptional<z.ZodString>;
582
+ hole_shape: z.ZodLiteral<"rect">;
583
+ hole_width: z.ZodNumber;
584
+ hole_height: z.ZodNumber;
585
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
586
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
587
+ }, "strip", z.ZodTypeAny, {
588
+ x: number;
589
+ y: number;
590
+ type: "pcb_hole";
591
+ pcb_hole_id: string;
592
+ hole_shape: "rect";
593
+ hole_width: number;
594
+ hole_height: number;
595
+ subcircuit_id?: string | undefined;
596
+ pcb_group_id?: string | undefined;
597
+ }, {
598
+ x: string | number;
599
+ y: string | number;
600
+ type: "pcb_hole";
601
+ hole_shape: "rect";
602
+ hole_width: number;
603
+ hole_height: number;
604
+ subcircuit_id?: string | undefined;
605
+ pcb_group_id?: string | undefined;
606
+ pcb_hole_id?: string | undefined;
607
+ }>;
608
+ type PcbHoleRectInput = z.input<typeof pcb_hole_rect>;
609
+ /**
610
+ * Defines a rectangular (or square) hole on the PCB
611
+ */
612
+ interface PcbHoleRect {
613
+ type: "pcb_hole";
614
+ pcb_hole_id: string;
615
+ pcb_group_id?: string;
616
+ subcircuit_id?: string;
617
+ hole_shape: "rect";
618
+ hole_width: number;
619
+ hole_height: number;
620
+ x: Distance;
621
+ y: Distance;
622
+ }
476
623
  declare const pcb_hole_circle_or_square: z.ZodObject<{
477
624
  type: z.ZodLiteral<"pcb_hole">;
478
625
  pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
@@ -533,6 +680,9 @@ type PcbHoleCircleOrSquareInput = z.input<typeof pcb_hole_circle_or_square>;
533
680
  /**
534
681
  * Defines a circular or square hole on the PCB
535
682
  */
683
+ /**
684
+ * @deprecated Use `PcbHoleCircle` for circular holes or `PcbHoleRect` for square holes.
685
+ */
536
686
  interface PcbHoleCircleOrSquare {
537
687
  type: "pcb_hole";
538
688
  pcb_hole_id: string;
@@ -781,7 +931,7 @@ interface PcbHoleRotatedPill {
781
931
  y: Distance;
782
932
  ccw_rotation: Rotation;
783
933
  }
784
- declare const pcb_hole: z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
934
+ declare const pcb_hole: z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
785
935
  type: z.ZodLiteral<"pcb_hole">;
786
936
  pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
787
937
  pcb_group_id: z.ZodOptional<z.ZodString>;
@@ -901,16 +1051,73 @@ declare const pcb_hole: z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
901
1051
  subcircuit_id?: string | undefined;
902
1052
  pcb_group_id?: string | undefined;
903
1053
  pcb_hole_id?: string | undefined;
1054
+ }>]>, z.ZodObject<{
1055
+ type: z.ZodLiteral<"pcb_hole">;
1056
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1057
+ pcb_group_id: z.ZodOptional<z.ZodString>;
1058
+ subcircuit_id: z.ZodOptional<z.ZodString>;
1059
+ hole_shape: z.ZodLiteral<"circle">;
1060
+ hole_diameter: z.ZodNumber;
1061
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1062
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1063
+ }, "strip", z.ZodTypeAny, {
1064
+ x: number;
1065
+ y: number;
1066
+ type: "pcb_hole";
1067
+ pcb_hole_id: string;
1068
+ hole_shape: "circle";
1069
+ hole_diameter: number;
1070
+ subcircuit_id?: string | undefined;
1071
+ pcb_group_id?: string | undefined;
1072
+ }, {
1073
+ x: string | number;
1074
+ y: string | number;
1075
+ type: "pcb_hole";
1076
+ hole_shape: "circle";
1077
+ hole_diameter: number;
1078
+ subcircuit_id?: string | undefined;
1079
+ pcb_group_id?: string | undefined;
1080
+ pcb_hole_id?: string | undefined;
1081
+ }>]>, z.ZodObject<{
1082
+ type: z.ZodLiteral<"pcb_hole">;
1083
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1084
+ pcb_group_id: z.ZodOptional<z.ZodString>;
1085
+ subcircuit_id: z.ZodOptional<z.ZodString>;
1086
+ hole_shape: z.ZodLiteral<"rect">;
1087
+ hole_width: z.ZodNumber;
1088
+ hole_height: z.ZodNumber;
1089
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1090
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1091
+ }, "strip", z.ZodTypeAny, {
1092
+ x: number;
1093
+ y: number;
1094
+ type: "pcb_hole";
1095
+ pcb_hole_id: string;
1096
+ hole_shape: "rect";
1097
+ hole_width: number;
1098
+ hole_height: number;
1099
+ subcircuit_id?: string | undefined;
1100
+ pcb_group_id?: string | undefined;
1101
+ }, {
1102
+ x: string | number;
1103
+ y: string | number;
1104
+ type: "pcb_hole";
1105
+ hole_shape: "rect";
1106
+ hole_width: number;
1107
+ hole_height: number;
1108
+ subcircuit_id?: string | undefined;
1109
+ pcb_group_id?: string | undefined;
1110
+ pcb_hole_id?: string | undefined;
904
1111
  }>]>;
905
1112
  /**
906
- * @deprecated Use PcbHoleCircleOrSquare, PcbHoleOval, PcbHolePill, or PcbHoleRotatedPill
1113
+ * @deprecated Use PcbHoleCircleOrSquare, PcbHoleCircle, PcbHoleRect, PcbHoleOval, PcbHolePill, or PcbHoleRotatedPill
907
1114
  */
908
1115
  type PCBHoleInput = z.input<typeof pcb_hole>;
909
1116
  /**
910
- * @deprecated Use PcbHoleCircleOrSquare, PcbHoleOval, PcbHolePill, or PcbHoleRotatedPill
1117
+ * @deprecated Use PcbHoleCircleOrSquare, PcbHoleCircle, PcbHoleRect, PcbHoleOval, PcbHolePill, or PcbHoleRotatedPill
911
1118
  */
912
1119
  type PCBHole = z.infer<typeof pcb_hole>;
913
- type PcbHole = PcbHoleCircleOrSquare | PcbHoleOval | PcbHolePill | PcbHoleRotatedPill;
1120
+ type PcbHole = PcbHoleCircleOrSquare | PcbHoleOval | PcbHolePill | PcbHoleRotatedPill | PcbHoleCircle | PcbHoleRect;
914
1121
 
915
1122
  /**
916
1123
  * Defines a circular plated hole on the PCB
@@ -3077,6 +3284,7 @@ declare const pcb_board: z.ZodObject<{
3077
3284
  x: string | number;
3078
3285
  y: string | number;
3079
3286
  }>, "many">>;
3287
+ shape: z.ZodOptional<z.ZodEnum<["rect", "polygon"]>>;
3080
3288
  material: z.ZodDefault<z.ZodEnum<["fr4", "fr1"]>>;
3081
3289
  }, "strip", z.ZodTypeAny, {
3082
3290
  type: "pcb_board";
@@ -3091,6 +3299,7 @@ declare const pcb_board: z.ZodObject<{
3091
3299
  width?: number | undefined;
3092
3300
  height?: number | undefined;
3093
3301
  subcircuit_id?: string | undefined;
3302
+ shape?: "rect" | "polygon" | undefined;
3094
3303
  pcb_panel_id?: string | undefined;
3095
3304
  is_subcircuit?: boolean | undefined;
3096
3305
  outline?: {
@@ -3106,6 +3315,7 @@ declare const pcb_board: z.ZodObject<{
3106
3315
  width?: string | number | undefined;
3107
3316
  height?: string | number | undefined;
3108
3317
  subcircuit_id?: string | undefined;
3318
+ shape?: "rect" | "polygon" | undefined;
3109
3319
  pcb_board_id?: string | undefined;
3110
3320
  pcb_panel_id?: string | undefined;
3111
3321
  is_subcircuit?: boolean | undefined;
@@ -3132,6 +3342,7 @@ interface PcbBoard {
3132
3342
  num_layers: number;
3133
3343
  center: Point;
3134
3344
  outline?: Point[];
3345
+ shape?: "rect" | "polygon";
3135
3346
  material: "fr4" | "fr1";
3136
3347
  }
3137
3348
  type PcbBoardInput = z.input<typeof pcb_board>;
@@ -13950,7 +14161,7 @@ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
13950
14161
  position_mode?: "packed" | "relative_to_group_anchor" | "none" | undefined;
13951
14162
  positioned_relative_to_pcb_group_id?: string | undefined;
13952
14163
  obstructs_within_bounds?: boolean | undefined;
13953
- }>, z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
14164
+ }>, z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
13954
14165
  type: z.ZodLiteral<"pcb_hole">;
13955
14166
  pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
13956
14167
  pcb_group_id: z.ZodOptional<z.ZodString>;
@@ -14070,6 +14281,63 @@ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
14070
14281
  subcircuit_id?: string | undefined;
14071
14282
  pcb_group_id?: string | undefined;
14072
14283
  pcb_hole_id?: string | undefined;
14284
+ }>]>, z.ZodObject<{
14285
+ type: z.ZodLiteral<"pcb_hole">;
14286
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
14287
+ pcb_group_id: z.ZodOptional<z.ZodString>;
14288
+ subcircuit_id: z.ZodOptional<z.ZodString>;
14289
+ hole_shape: z.ZodLiteral<"circle">;
14290
+ hole_diameter: z.ZodNumber;
14291
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
14292
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
14293
+ }, "strip", z.ZodTypeAny, {
14294
+ x: number;
14295
+ y: number;
14296
+ type: "pcb_hole";
14297
+ pcb_hole_id: string;
14298
+ hole_shape: "circle";
14299
+ hole_diameter: number;
14300
+ subcircuit_id?: string | undefined;
14301
+ pcb_group_id?: string | undefined;
14302
+ }, {
14303
+ x: string | number;
14304
+ y: string | number;
14305
+ type: "pcb_hole";
14306
+ hole_shape: "circle";
14307
+ hole_diameter: number;
14308
+ subcircuit_id?: string | undefined;
14309
+ pcb_group_id?: string | undefined;
14310
+ pcb_hole_id?: string | undefined;
14311
+ }>]>, z.ZodObject<{
14312
+ type: z.ZodLiteral<"pcb_hole">;
14313
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
14314
+ pcb_group_id: z.ZodOptional<z.ZodString>;
14315
+ subcircuit_id: z.ZodOptional<z.ZodString>;
14316
+ hole_shape: z.ZodLiteral<"rect">;
14317
+ hole_width: z.ZodNumber;
14318
+ hole_height: z.ZodNumber;
14319
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
14320
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
14321
+ }, "strip", z.ZodTypeAny, {
14322
+ x: number;
14323
+ y: number;
14324
+ type: "pcb_hole";
14325
+ pcb_hole_id: string;
14326
+ hole_shape: "rect";
14327
+ hole_width: number;
14328
+ hole_height: number;
14329
+ subcircuit_id?: string | undefined;
14330
+ pcb_group_id?: string | undefined;
14331
+ }, {
14332
+ x: string | number;
14333
+ y: string | number;
14334
+ type: "pcb_hole";
14335
+ hole_shape: "rect";
14336
+ hole_width: number;
14337
+ hole_height: number;
14338
+ subcircuit_id?: string | undefined;
14339
+ pcb_group_id?: string | undefined;
14340
+ pcb_hole_id?: string | undefined;
14073
14341
  }>]>, z.ZodObject<{
14074
14342
  type: z.ZodLiteral<"pcb_missing_footprint_error">;
14075
14343
  pcb_missing_footprint_error_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
@@ -15569,6 +15837,7 @@ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
15569
15837
  x: string | number;
15570
15838
  y: string | number;
15571
15839
  }>, "many">>;
15840
+ shape: z.ZodOptional<z.ZodEnum<["rect", "polygon"]>>;
15572
15841
  material: z.ZodDefault<z.ZodEnum<["fr4", "fr1"]>>;
15573
15842
  }, "strip", z.ZodTypeAny, {
15574
15843
  type: "pcb_board";
@@ -15583,6 +15852,7 @@ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
15583
15852
  width?: number | undefined;
15584
15853
  height?: number | undefined;
15585
15854
  subcircuit_id?: string | undefined;
15855
+ shape?: "rect" | "polygon" | undefined;
15586
15856
  pcb_panel_id?: string | undefined;
15587
15857
  is_subcircuit?: boolean | undefined;
15588
15858
  outline?: {
@@ -15598,6 +15868,7 @@ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
15598
15868
  width?: string | number | undefined;
15599
15869
  height?: string | number | undefined;
15600
15870
  subcircuit_id?: string | undefined;
15871
+ shape?: "rect" | "polygon" | undefined;
15601
15872
  pcb_board_id?: string | undefined;
15602
15873
  pcb_panel_id?: string | undefined;
15603
15874
  is_subcircuit?: boolean | undefined;
@@ -21475,7 +21746,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
21475
21746
  position_mode?: "packed" | "relative_to_group_anchor" | "none" | undefined;
21476
21747
  positioned_relative_to_pcb_group_id?: string | undefined;
21477
21748
  obstructs_within_bounds?: boolean | undefined;
21478
- }>, z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
21749
+ }>, z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
21479
21750
  type: z.ZodLiteral<"pcb_hole">;
21480
21751
  pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
21481
21752
  pcb_group_id: z.ZodOptional<z.ZodString>;
@@ -21595,6 +21866,63 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
21595
21866
  subcircuit_id?: string | undefined;
21596
21867
  pcb_group_id?: string | undefined;
21597
21868
  pcb_hole_id?: string | undefined;
21869
+ }>]>, z.ZodObject<{
21870
+ type: z.ZodLiteral<"pcb_hole">;
21871
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
21872
+ pcb_group_id: z.ZodOptional<z.ZodString>;
21873
+ subcircuit_id: z.ZodOptional<z.ZodString>;
21874
+ hole_shape: z.ZodLiteral<"circle">;
21875
+ hole_diameter: z.ZodNumber;
21876
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
21877
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
21878
+ }, "strip", z.ZodTypeAny, {
21879
+ x: number;
21880
+ y: number;
21881
+ type: "pcb_hole";
21882
+ pcb_hole_id: string;
21883
+ hole_shape: "circle";
21884
+ hole_diameter: number;
21885
+ subcircuit_id?: string | undefined;
21886
+ pcb_group_id?: string | undefined;
21887
+ }, {
21888
+ x: string | number;
21889
+ y: string | number;
21890
+ type: "pcb_hole";
21891
+ hole_shape: "circle";
21892
+ hole_diameter: number;
21893
+ subcircuit_id?: string | undefined;
21894
+ pcb_group_id?: string | undefined;
21895
+ pcb_hole_id?: string | undefined;
21896
+ }>]>, z.ZodObject<{
21897
+ type: z.ZodLiteral<"pcb_hole">;
21898
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
21899
+ pcb_group_id: z.ZodOptional<z.ZodString>;
21900
+ subcircuit_id: z.ZodOptional<z.ZodString>;
21901
+ hole_shape: z.ZodLiteral<"rect">;
21902
+ hole_width: z.ZodNumber;
21903
+ hole_height: z.ZodNumber;
21904
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
21905
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
21906
+ }, "strip", z.ZodTypeAny, {
21907
+ x: number;
21908
+ y: number;
21909
+ type: "pcb_hole";
21910
+ pcb_hole_id: string;
21911
+ hole_shape: "rect";
21912
+ hole_width: number;
21913
+ hole_height: number;
21914
+ subcircuit_id?: string | undefined;
21915
+ pcb_group_id?: string | undefined;
21916
+ }, {
21917
+ x: string | number;
21918
+ y: string | number;
21919
+ type: "pcb_hole";
21920
+ hole_shape: "rect";
21921
+ hole_width: number;
21922
+ hole_height: number;
21923
+ subcircuit_id?: string | undefined;
21924
+ pcb_group_id?: string | undefined;
21925
+ pcb_hole_id?: string | undefined;
21598
21926
  }>]>, z.ZodObject<{
21599
21927
  type: z.ZodLiteral<"pcb_missing_footprint_error">;
21600
21928
  pcb_missing_footprint_error_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
@@ -23094,6 +23422,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
23094
23422
  x: string | number;
23095
23423
  y: string | number;
23096
23424
  }>, "many">>;
23425
+ shape: z.ZodOptional<z.ZodEnum<["rect", "polygon"]>>;
23097
23426
  material: z.ZodDefault<z.ZodEnum<["fr4", "fr1"]>>;
23098
23427
  }, "strip", z.ZodTypeAny, {
23099
23428
  type: "pcb_board";
@@ -23108,6 +23437,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
23108
23437
  width?: number | undefined;
23109
23438
  height?: number | undefined;
23110
23439
  subcircuit_id?: string | undefined;
23440
+ shape?: "rect" | "polygon" | undefined;
23111
23441
  pcb_panel_id?: string | undefined;
23112
23442
  is_subcircuit?: boolean | undefined;
23113
23443
  outline?: {
@@ -23123,6 +23453,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
23123
23453
  width?: string | number | undefined;
23124
23454
  height?: string | number | undefined;
23125
23455
  subcircuit_id?: string | undefined;
23456
+ shape?: "rect" | "polygon" | undefined;
23126
23457
  pcb_board_id?: string | undefined;
23127
23458
  pcb_panel_id?: string | undefined;
23128
23459
  is_subcircuit?: boolean | undefined;
@@ -26944,4 +27275,4 @@ type AnySoupElementInput = AnyCircuitElementInput;
26944
27275
  */
26945
27276
  type CircuitJson = AnyCircuitElement[];
26946
27277
 
26947
- export { type AnyCircuitElement, type AnyCircuitElementInput, type AnySoupElement, type AnySoupElementInput, type AnySourceComponent, type AnySourceElement, type BRepShape, type CadComponent, type CadComponentInput, type CircuitJson, type CircuitJsonError, type CircuitJsonFootprintLoadError, type CircuitJsonFootprintLoadErrorInput, type Distance, type ExperimentType, type ExternalFootprintLoadError, type ExternalFootprintLoadErrorInput, type InferredProjectMetadata, type InferredSchematicNetLabel, type InputPoint, type InputPosition, type InputRotation, type LayerRef, type LayerRefInput, type Length, type NinePointAnchor, type PCBBoard, type PCBComponent, type PCBCopperText, type PCBCourtyardOutline, type PCBCourtyardPolygon, type PCBCourtyardRect, type PCBFabricationNoteDimension, type PCBFabricationNotePath, type PCBFabricationNoteRect, type PCBFabricationNoteText, type PCBHole, type PCBHoleInput, type PCBKeepout, type PCBKeepoutCircle, type PCBKeepoutInput, type PCBKeepoutRect, type PCBMissingFootprintError, type PCBPanel, type PCBPlacementError, type PCBPlatedHole, type PCBPlatedHoleInput, type PCBPort, type PCBPortInput, type PCBPortNotMatchedError, type PCBSMTPad, type PCBSMTPadInput, type PCBSilkscreenLine, type PCBSilkscreenText, type PCBSolderPasteInput, type PCBText, type PCBTrace, type PCBTraceError, type PCBTraceHint, type PCBTraceInput, type PCBTraceMissingError, type PCBVia, type PcbAutoroutingError, type PcbAutoroutingErrorInput, type PcbAutoroutingErrorInterface, type PcbBoard, type PcbBoardInput, type PcbBreakoutPoint, type PcbBreakoutPointInput, type PcbCircuitElement, type PcbComponent, type PcbComponentInput, type PcbComponentInvalidLayerError, type PcbComponentInvalidLayerErrorInput, type PcbComponentOutsideBoardError, type PcbComponentOutsideBoardErrorInput, type PcbCopperPour, type PcbCopperPourBRep, type PcbCopperPourBRepInput, type PcbCopperPourInput, type PcbCopperPourPolygon, type PcbCopperPourPolygonInput, type PcbCopperPourRect, type PcbCopperPourRectInput, type PcbCopperText, type PcbCopperTextInput, type PcbCourtyardOutline, type PcbCourtyardOutlineInput, type PcbCourtyardPolygon, type PcbCourtyardPolygonInput, type PcbCourtyardRect, type PcbCourtyardRectInput, type PcbCutout, type PcbCutoutCircle, type PcbCutoutCircleInput, type PcbCutoutInput, type PcbCutoutPolygon, type PcbCutoutPolygonInput, type PcbCutoutRect, type PcbCutoutRectInput, type PcbFabricationNoteDimension, type PcbFabricationNoteDimensionInput, type PcbFabricationNotePath, type PcbFabricationNotePathInput, type PcbFabricationNoteRect, type PcbFabricationNoteRectInput, type PcbFabricationNoteText, type PcbFabricationNoteTextInput, type PcbFootprintOverlapError, type PcbFootprintOverlapErrorInput, type PcbGroundPlane, type PcbGroundPlaneInput, type PcbGroundPlaneRegion, type PcbGroundPlaneRegionInput, type PcbGroup, type PcbGroupInput, type PcbHole, type PcbHoleCircleOrSquare, type PcbHoleCircleOrSquareInput, type PcbHoleCircularWithRectPad, type PcbHoleOval, type PcbHoleOvalInput, type PcbHolePill, type PcbHolePillInput, type PcbHolePillWithRectPad, type PcbHoleRotatedPill, type PcbHoleRotatedPillInput, type PcbHoleRotatedPillWithRectPad, type PcbManualEditConflictWarning, type PcbManualEditConflictWarningInput, type PcbMissingFootprintError, type PcbMissingFootprintErrorInput, type PcbNet, type PcbNetInput, type PcbNoteDimension, type PcbNoteDimensionInput, type PcbNoteLine, type PcbNoteLineInput, type PcbNotePath, type PcbNotePathInput, type PcbNoteRect, type PcbNoteRectInput, type PcbNoteText, type PcbNoteTextInput, type PcbPanel, type PcbPanelInput, type PcbPlacementError, type PcbPlacementErrorInput, type PcbPlatedHole, type PcbPlatedHoleCircle, type PcbPlatedHoleInput, type PcbPlatedHoleOval, type PcbPort, type PcbPortInput, type PcbPortNotConnectedError, type PcbPortNotConnectedErrorInput, type PcbPortNotMatchedError, type PcbPortNotMatchedErrorInput, type PcbRouteHint, type PcbRouteHintInput, type PcbRouteHints, type PcbRouteHintsInput, type PcbSilkscreenCircle, type PcbSilkscreenCircleInput, type PcbSilkscreenLine, type PcbSilkscreenLineInput, type PcbSilkscreenOval, type PcbSilkscreenOvalDeprecated, type PcbSilkscreenOvalInput, type PcbSilkscreenPath, type PcbSilkscreenPathDeprecated, type PcbSilkscreenPathInput, type PcbSilkscreenRect, type PcbSilkscreenRectInput, type PcbSilkscreenRectOld, type PcbSilkscreenText, type PcbSilkscreenTextInput, type PcbSmtPad, type PcbSmtPadCircle, type PcbSmtPadPill, type PcbSmtPadPolygon, type PcbSmtPadRect, type PcbSmtPadRotatedPill, type PcbSmtPadRotatedRect, type PcbSolderPaste, type PcbSolderPasteCircle, type PcbSolderPasteOval, type PcbSolderPastePill, type PcbSolderPasteRect, type PcbSolderPasteRotatedRect, type PcbText, type PcbTextInput, type PcbThermalSpoke, type PcbThermalSpokeInput, type PcbTrace, type PcbTraceError, type PcbTraceErrorInput, type PcbTraceHint, type PcbTraceHintInput, type PcbTraceInput, type PcbTraceMissingError, type PcbTraceMissingErrorInput, type PcbTraceRoutePoint, type PcbTraceRoutePointVia, type PcbTraceRoutePointWire, type PcbVia, type PcbViaClearanceError, type PcbViaClearanceErrorInput, type PcbViaInput, type Point, type Point3, type PointWithBulge, type Position, type Ring, type Rotation, type RouteHintPoint, type RouteHintPointInput, type SchematicArc, type SchematicArcInput, type SchematicBox, type SchematicBoxInput, type SchematicCircle, type SchematicCircleInput, type SchematicComponent, type SchematicComponentInput, type SchematicDebugLine, type SchematicDebugObject, type SchematicDebugObjectInput, type SchematicDebugPoint, type SchematicDebugRect, type SchematicError, type SchematicErrorInput, type SchematicGroup, type SchematicGroupInput, type SchematicLayoutError, type SchematicLayoutErrorInput, type SchematicLine, type SchematicLineInput, type SchematicManualEditConflictWarning, type SchematicManualEditConflictWarningInput, type SchematicNetLabel, type SchematicNetLabelInput, type SchematicPath, type SchematicPathInput, type SchematicPort, type SchematicPortArrangement, type SchematicPortArrangementBySides, type SchematicPortArrangementBySize, type SchematicPortInput, type SchematicRect, type SchematicRectInput, type SchematicSheet, type SchematicSheetInput, type SchematicTable, type SchematicTableCell, type SchematicTableCellInput, type SchematicTableInput, type SchematicText, type SchematicTextInput, type SchematicTrace, type SchematicTraceEdge, type SchematicTraceInput, type SchematicVoltageProbe, type SchematicVoltageProbeInput, type SimulationAcVoltageSource, type SimulationAcVoltageSourceInput, type SimulationDcVoltageSource, type SimulationExperiment, type SimulationExperimentInput, type SimulationSwitch, type SimulationSwitchInput, type SimulationTransientVoltageGraph, type SimulationTransientVoltageGraphInput, type SimulationUnknownExperimentError, type SimulationUnknownExperimentErrorInput, type SimulationVoltageProbe, type SimulationVoltageProbeInput, type SimulationVoltageSource, type SimulationVoltageSourceInput, type Size, type SizeInput, type SourceBoard, type SourceBoardInput, type SourceComponentBase, type SourceFailedToCreateComponentError, type SourceFailedToCreateComponentErrorInput, type SourceGroup, type SourceGroupInput, type SourceManuallyPlacedVia, type SourceManuallyPlacedViaInput, type SourceMissingPropertyError, type SourceMissingPropertyErrorInput, type SourceNet, type SourceNetInput, type SourcePcbGroundPlane, type SourcePcbGroundPlaneInput, type SourcePinMissingTraceWarning, type SourcePinMissingTraceWarningInput, type SourcePort, type SourcePortInput, type SourceProjectMetadata, type SourcePropertyIgnoredWarning, type SourcePropertyIgnoredWarningInput, type SourceSimpleBattery, type SourceSimpleBatteryInput, type SourceSimpleCapacitor, type SourceSimpleCapacitorInput, type SourceSimpleChip, type SourceSimpleChipInput, type SourceSimpleCrystal, type SourceSimpleCrystalInput, type SourceSimpleDiode, type SourceSimpleDiodeInput, type SourceSimpleGround, type SourceSimpleGroundInput, type SourceSimpleInductor, type SourceSimpleInductorInput, type SourceSimpleLed, type SourceSimpleLedInput, type SourceSimpleMosfet, type SourceSimpleMosfetInput, type SourceSimplePinHeader, type SourceSimplePinHeaderInput, type SourceSimplePinout, type SourceSimplePinoutInput, type SourceSimplePotentiometer, type SourceSimplePotentiometerInput, type SourceSimplePowerSource, type SourceSimplePowerSourceInput, type SourceSimplePushButton, type SourceSimplePushButtonInput, type SourceSimpleResistor, type SourceSimpleResistorInput, type SourceSimpleResonator, type SourceSimpleResonatorInput, type SourceSimpleSwitch, type SourceSimpleSwitchInput, type SourceSimpleTestPoint, type SourceSimpleTestPointInput, type SourceSimpleTransistor, type SourceSimpleTransistorInput, type SourceTrace, type SourceTraceNotConnectedError, type SourceTraceNotConnectedErrorInput, type SupplierName, type UnknownErrorFindingPart, type UnknownErrorFindingPartInput, type VisibleLayer, type VisibleLayerRef, type WaveShape, all_layers, any_circuit_element, any_soup_element, any_source_component, battery_capacity, brep_shape, cad_component, capacitance, circuit_json_footprint_load_error, current, distance, duration_ms, experiment_type, external_footprint_load_error, frequency, getZodPrefixedIdWithDefault, inductance, layer_ref, layer_string, length, ms, ninePointAnchor, pcb_autorouting_error, pcb_board, pcb_breakout_point, pcb_component, pcb_component_invalid_layer_error, pcb_component_outside_board_error, pcb_copper_pour, pcb_copper_pour_brep, pcb_copper_pour_polygon, pcb_copper_pour_rect, pcb_copper_text, pcb_courtyard_outline, pcb_courtyard_polygon, pcb_courtyard_rect, pcb_cutout, pcb_cutout_circle, pcb_cutout_polygon, pcb_cutout_rect, pcb_fabrication_note_dimension, pcb_fabrication_note_path, pcb_fabrication_note_rect, pcb_fabrication_note_text, pcb_footprint_overlap_error, pcb_ground_plane, pcb_ground_plane_region, pcb_group, pcb_hole, pcb_hole_circle_or_square_shape, pcb_hole_oval_shape, pcb_hole_pill_shape, pcb_hole_rotated_pill_shape, pcb_keepout, pcb_manual_edit_conflict_warning, pcb_missing_footprint_error, pcb_net, pcb_note_dimension, pcb_note_line, pcb_note_path, pcb_note_rect, pcb_note_text, pcb_panel, pcb_placement_error, pcb_plated_hole, pcb_port, pcb_port_not_connected_error, pcb_port_not_matched_error, pcb_route_hint, pcb_route_hints, pcb_silkscreen_circle, pcb_silkscreen_line, pcb_silkscreen_oval, pcb_silkscreen_path, pcb_silkscreen_rect, pcb_silkscreen_text, pcb_smtpad, pcb_smtpad_pill, pcb_solder_paste, pcb_text, pcb_thermal_spoke, pcb_trace, pcb_trace_error, pcb_trace_hint, pcb_trace_missing_error, pcb_trace_route_point, pcb_trace_route_point_via, pcb_trace_route_point_wire, pcb_via, pcb_via_clearance_error, point, point3, point_with_bulge, port_arrangement, position, position3, resistance, ring, rotation, route_hint_point, schematic_arc, schematic_box, schematic_circle, schematic_component, schematic_component_port_arrangement_by_sides, schematic_component_port_arrangement_by_size, schematic_debug_line, schematic_debug_object, schematic_debug_object_base, schematic_debug_point, schematic_debug_rect, schematic_error, schematic_group, schematic_layout_error, schematic_line, schematic_manual_edit_conflict_warning, schematic_net_label, schematic_path, schematic_pin_styles, schematic_port, schematic_rect, schematic_sheet, schematic_table, schematic_table_cell, schematic_text, schematic_trace, schematic_voltage_probe, simulation_ac_voltage_source, simulation_dc_voltage_source, simulation_experiment, simulation_switch, simulation_transient_voltage_graph, simulation_unknown_experiment_error, simulation_voltage_probe, simulation_voltage_source, size, source_board, source_component_base, source_failed_to_create_component_error, source_group, source_manually_placed_via, source_missing_property_error, source_net, source_pcb_ground_plane, source_pin_missing_trace_warning, source_port, source_project_metadata, source_property_ignored_warning, source_simple_battery, source_simple_capacitor, source_simple_chip, source_simple_crystal, source_simple_diode, source_simple_ground, source_simple_inductor, source_simple_led, source_simple_mosfet, source_simple_pin_header, source_simple_pinout, source_simple_potentiometer, source_simple_power_source, source_simple_push_button, source_simple_resistor, source_simple_resonator, source_simple_switch, source_simple_test_point, source_simple_transistor, source_trace, source_trace_not_connected_error, supplier_name, time, timestamp, unknown_error_finding_part, visible_layer, voltage, wave_shape };
27278
+ export { type AnyCircuitElement, type AnyCircuitElementInput, type AnySoupElement, type AnySoupElementInput, type AnySourceComponent, type AnySourceElement, type BRepShape, type CadComponent, type CadComponentInput, type CircuitJson, type CircuitJsonError, type CircuitJsonFootprintLoadError, type CircuitJsonFootprintLoadErrorInput, type Distance, type ExperimentType, type ExternalFootprintLoadError, type ExternalFootprintLoadErrorInput, type InferredProjectMetadata, type InferredSchematicNetLabel, type InputPoint, type InputPosition, type InputRotation, type LayerRef, type LayerRefInput, type Length, type NinePointAnchor, type PCBBoard, type PCBComponent, type PCBCopperText, type PCBCourtyardOutline, type PCBCourtyardPolygon, type PCBCourtyardRect, type PCBFabricationNoteDimension, type PCBFabricationNotePath, type PCBFabricationNoteRect, type PCBFabricationNoteText, type PCBHole, type PCBHoleInput, type PCBKeepout, type PCBKeepoutCircle, type PCBKeepoutInput, type PCBKeepoutRect, type PCBMissingFootprintError, type PCBPanel, type PCBPlacementError, type PCBPlatedHole, type PCBPlatedHoleInput, type PCBPort, type PCBPortInput, type PCBPortNotMatchedError, type PCBSMTPad, type PCBSMTPadInput, type PCBSilkscreenLine, type PCBSilkscreenText, type PCBSolderPasteInput, type PCBText, type PCBTrace, type PCBTraceError, type PCBTraceHint, type PCBTraceInput, type PCBTraceMissingError, type PCBVia, type PcbAutoroutingError, type PcbAutoroutingErrorInput, type PcbAutoroutingErrorInterface, type PcbBoard, type PcbBoardInput, type PcbBreakoutPoint, type PcbBreakoutPointInput, type PcbCircuitElement, type PcbComponent, type PcbComponentInput, type PcbComponentInvalidLayerError, type PcbComponentInvalidLayerErrorInput, type PcbComponentOutsideBoardError, type PcbComponentOutsideBoardErrorInput, type PcbCopperPour, type PcbCopperPourBRep, type PcbCopperPourBRepInput, type PcbCopperPourInput, type PcbCopperPourPolygon, type PcbCopperPourPolygonInput, type PcbCopperPourRect, type PcbCopperPourRectInput, type PcbCopperText, type PcbCopperTextInput, type PcbCourtyardOutline, type PcbCourtyardOutlineInput, type PcbCourtyardPolygon, type PcbCourtyardPolygonInput, type PcbCourtyardRect, type PcbCourtyardRectInput, type PcbCutout, type PcbCutoutCircle, type PcbCutoutCircleInput, type PcbCutoutInput, type PcbCutoutPolygon, type PcbCutoutPolygonInput, type PcbCutoutRect, type PcbCutoutRectInput, type PcbFabricationNoteDimension, type PcbFabricationNoteDimensionInput, type PcbFabricationNotePath, type PcbFabricationNotePathInput, type PcbFabricationNoteRect, type PcbFabricationNoteRectInput, type PcbFabricationNoteText, type PcbFabricationNoteTextInput, type PcbFootprintOverlapError, type PcbFootprintOverlapErrorInput, type PcbGroundPlane, type PcbGroundPlaneInput, type PcbGroundPlaneRegion, type PcbGroundPlaneRegionInput, type PcbGroup, type PcbGroupInput, type PcbHole, type PcbHoleCircle, type PcbHoleCircleInput, type PcbHoleCircleOrSquare, type PcbHoleCircleOrSquareInput, type PcbHoleCircularWithRectPad, type PcbHoleOval, type PcbHoleOvalInput, type PcbHolePill, type PcbHolePillInput, type PcbHolePillWithRectPad, type PcbHoleRect, type PcbHoleRectInput, type PcbHoleRotatedPill, type PcbHoleRotatedPillInput, type PcbHoleRotatedPillWithRectPad, type PcbManualEditConflictWarning, type PcbManualEditConflictWarningInput, type PcbMissingFootprintError, type PcbMissingFootprintErrorInput, type PcbNet, type PcbNetInput, type PcbNoteDimension, type PcbNoteDimensionInput, type PcbNoteLine, type PcbNoteLineInput, type PcbNotePath, type PcbNotePathInput, type PcbNoteRect, type PcbNoteRectInput, type PcbNoteText, type PcbNoteTextInput, type PcbPanel, type PcbPanelInput, type PcbPlacementError, type PcbPlacementErrorInput, type PcbPlatedHole, type PcbPlatedHoleCircle, type PcbPlatedHoleInput, type PcbPlatedHoleOval, type PcbPort, type PcbPortInput, type PcbPortNotConnectedError, type PcbPortNotConnectedErrorInput, type PcbPortNotMatchedError, type PcbPortNotMatchedErrorInput, type PcbRouteHint, type PcbRouteHintInput, type PcbRouteHints, type PcbRouteHintsInput, type PcbSilkscreenCircle, type PcbSilkscreenCircleInput, type PcbSilkscreenLine, type PcbSilkscreenLineInput, type PcbSilkscreenOval, type PcbSilkscreenOvalDeprecated, type PcbSilkscreenOvalInput, type PcbSilkscreenPath, type PcbSilkscreenPathDeprecated, type PcbSilkscreenPathInput, type PcbSilkscreenRect, type PcbSilkscreenRectInput, type PcbSilkscreenRectOld, type PcbSilkscreenText, type PcbSilkscreenTextInput, type PcbSmtPad, type PcbSmtPadCircle, type PcbSmtPadPill, type PcbSmtPadPolygon, type PcbSmtPadRect, type PcbSmtPadRotatedPill, type PcbSmtPadRotatedRect, type PcbSolderPaste, type PcbSolderPasteCircle, type PcbSolderPasteOval, type PcbSolderPastePill, type PcbSolderPasteRect, type PcbSolderPasteRotatedRect, type PcbText, type PcbTextInput, type PcbThermalSpoke, type PcbThermalSpokeInput, type PcbTrace, type PcbTraceError, type PcbTraceErrorInput, type PcbTraceHint, type PcbTraceHintInput, type PcbTraceInput, type PcbTraceMissingError, type PcbTraceMissingErrorInput, type PcbTraceRoutePoint, type PcbTraceRoutePointVia, type PcbTraceRoutePointWire, type PcbVia, type PcbViaClearanceError, type PcbViaClearanceErrorInput, type PcbViaInput, type Point, type Point3, type PointWithBulge, type Position, type Ring, type Rotation, type RouteHintPoint, type RouteHintPointInput, type SchematicArc, type SchematicArcInput, type SchematicBox, type SchematicBoxInput, type SchematicCircle, type SchematicCircleInput, type SchematicComponent, type SchematicComponentInput, type SchematicDebugLine, type SchematicDebugObject, type SchematicDebugObjectInput, type SchematicDebugPoint, type SchematicDebugRect, type SchematicError, type SchematicErrorInput, type SchematicGroup, type SchematicGroupInput, type SchematicLayoutError, type SchematicLayoutErrorInput, type SchematicLine, type SchematicLineInput, type SchematicManualEditConflictWarning, type SchematicManualEditConflictWarningInput, type SchematicNetLabel, type SchematicNetLabelInput, type SchematicPath, type SchematicPathInput, type SchematicPort, type SchematicPortArrangement, type SchematicPortArrangementBySides, type SchematicPortArrangementBySize, type SchematicPortInput, type SchematicRect, type SchematicRectInput, type SchematicSheet, type SchematicSheetInput, type SchematicTable, type SchematicTableCell, type SchematicTableCellInput, type SchematicTableInput, type SchematicText, type SchematicTextInput, type SchematicTrace, type SchematicTraceEdge, type SchematicTraceInput, type SchematicVoltageProbe, type SchematicVoltageProbeInput, type SimulationAcVoltageSource, type SimulationAcVoltageSourceInput, type SimulationDcVoltageSource, type SimulationExperiment, type SimulationExperimentInput, type SimulationSwitch, type SimulationSwitchInput, type SimulationTransientVoltageGraph, type SimulationTransientVoltageGraphInput, type SimulationUnknownExperimentError, type SimulationUnknownExperimentErrorInput, type SimulationVoltageProbe, type SimulationVoltageProbeInput, type SimulationVoltageSource, type SimulationVoltageSourceInput, type Size, type SizeInput, type SourceBoard, type SourceBoardInput, type SourceComponentBase, type SourceFailedToCreateComponentError, type SourceFailedToCreateComponentErrorInput, type SourceGroup, type SourceGroupInput, type SourceManuallyPlacedVia, type SourceManuallyPlacedViaInput, type SourceMissingPropertyError, type SourceMissingPropertyErrorInput, type SourceNet, type SourceNetInput, type SourcePcbGroundPlane, type SourcePcbGroundPlaneInput, type SourcePinMissingTraceWarning, type SourcePinMissingTraceWarningInput, type SourcePort, type SourcePortInput, type SourceProjectMetadata, type SourcePropertyIgnoredWarning, type SourcePropertyIgnoredWarningInput, type SourceSimpleBattery, type SourceSimpleBatteryInput, type SourceSimpleCapacitor, type SourceSimpleCapacitorInput, type SourceSimpleChip, type SourceSimpleChipInput, type SourceSimpleCrystal, type SourceSimpleCrystalInput, type SourceSimpleDiode, type SourceSimpleDiodeInput, type SourceSimpleGround, type SourceSimpleGroundInput, type SourceSimpleInductor, type SourceSimpleInductorInput, type SourceSimpleLed, type SourceSimpleLedInput, type SourceSimpleMosfet, type SourceSimpleMosfetInput, type SourceSimplePinHeader, type SourceSimplePinHeaderInput, type SourceSimplePinout, type SourceSimplePinoutInput, type SourceSimplePotentiometer, type SourceSimplePotentiometerInput, type SourceSimplePowerSource, type SourceSimplePowerSourceInput, type SourceSimplePushButton, type SourceSimplePushButtonInput, type SourceSimpleResistor, type SourceSimpleResistorInput, type SourceSimpleResonator, type SourceSimpleResonatorInput, type SourceSimpleSwitch, type SourceSimpleSwitchInput, type SourceSimpleTestPoint, type SourceSimpleTestPointInput, type SourceSimpleTransistor, type SourceSimpleTransistorInput, type SourceTrace, type SourceTraceNotConnectedError, type SourceTraceNotConnectedErrorInput, type SupplierName, type UnknownErrorFindingPart, type UnknownErrorFindingPartInput, type VisibleLayer, type VisibleLayerRef, type WaveShape, all_layers, any_circuit_element, any_soup_element, any_source_component, battery_capacity, brep_shape, cad_component, capacitance, circuit_json_footprint_load_error, current, distance, duration_ms, experiment_type, external_footprint_load_error, frequency, getZodPrefixedIdWithDefault, inductance, layer_ref, layer_string, length, ms, ninePointAnchor, pcb_autorouting_error, pcb_board, pcb_breakout_point, pcb_component, pcb_component_invalid_layer_error, pcb_component_outside_board_error, pcb_copper_pour, pcb_copper_pour_brep, pcb_copper_pour_polygon, pcb_copper_pour_rect, pcb_copper_text, pcb_courtyard_outline, pcb_courtyard_polygon, pcb_courtyard_rect, pcb_cutout, pcb_cutout_circle, pcb_cutout_polygon, pcb_cutout_rect, pcb_fabrication_note_dimension, pcb_fabrication_note_path, pcb_fabrication_note_rect, pcb_fabrication_note_text, pcb_footprint_overlap_error, pcb_ground_plane, pcb_ground_plane_region, pcb_group, pcb_hole, pcb_hole_circle_or_square_shape, pcb_hole_circle_shape, pcb_hole_oval_shape, pcb_hole_pill_shape, pcb_hole_rect_shape, pcb_hole_rotated_pill_shape, pcb_keepout, pcb_manual_edit_conflict_warning, pcb_missing_footprint_error, pcb_net, pcb_note_dimension, pcb_note_line, pcb_note_path, pcb_note_rect, pcb_note_text, pcb_panel, pcb_placement_error, pcb_plated_hole, pcb_port, pcb_port_not_connected_error, pcb_port_not_matched_error, pcb_route_hint, pcb_route_hints, pcb_silkscreen_circle, pcb_silkscreen_line, pcb_silkscreen_oval, pcb_silkscreen_path, pcb_silkscreen_rect, pcb_silkscreen_text, pcb_smtpad, pcb_smtpad_pill, pcb_solder_paste, pcb_text, pcb_thermal_spoke, pcb_trace, pcb_trace_error, pcb_trace_hint, pcb_trace_missing_error, pcb_trace_route_point, pcb_trace_route_point_via, pcb_trace_route_point_wire, pcb_via, pcb_via_clearance_error, point, point3, point_with_bulge, port_arrangement, position, position3, resistance, ring, rotation, route_hint_point, schematic_arc, schematic_box, schematic_circle, schematic_component, schematic_component_port_arrangement_by_sides, schematic_component_port_arrangement_by_size, schematic_debug_line, schematic_debug_object, schematic_debug_object_base, schematic_debug_point, schematic_debug_rect, schematic_error, schematic_group, schematic_layout_error, schematic_line, schematic_manual_edit_conflict_warning, schematic_net_label, schematic_path, schematic_pin_styles, schematic_port, schematic_rect, schematic_sheet, schematic_table, schematic_table_cell, schematic_text, schematic_trace, schematic_voltage_probe, simulation_ac_voltage_source, simulation_dc_voltage_source, simulation_experiment, simulation_switch, simulation_transient_voltage_graph, simulation_unknown_experiment_error, simulation_voltage_probe, simulation_voltage_source, size, source_board, source_component_base, source_failed_to_create_component_error, source_group, source_manually_placed_via, source_missing_property_error, source_net, source_pcb_ground_plane, source_pin_missing_trace_warning, source_port, source_project_metadata, source_property_ignored_warning, source_simple_battery, source_simple_capacitor, source_simple_chip, source_simple_crystal, source_simple_diode, source_simple_ground, source_simple_inductor, source_simple_led, source_simple_mosfet, source_simple_pin_header, source_simple_pinout, source_simple_potentiometer, source_simple_power_source, source_simple_push_button, source_simple_resistor, source_simple_resonator, source_simple_switch, source_simple_test_point, source_simple_transistor, source_trace, source_trace_not_connected_error, supplier_name, time, timestamp, unknown_error_finding_part, visible_layer, voltage, wave_shape };
package/dist/index.mjs CHANGED
@@ -1281,6 +1281,35 @@ expectTypesMatch(true);
1281
1281
 
1282
1282
  // src/pcb/pcb_hole.ts
1283
1283
  import { z as z70 } from "zod";
1284
+ var pcb_hole_circle = z70.object({
1285
+ type: z70.literal("pcb_hole"),
1286
+ pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1287
+ pcb_group_id: z70.string().optional(),
1288
+ subcircuit_id: z70.string().optional(),
1289
+ hole_shape: z70.literal("circle"),
1290
+ hole_diameter: z70.number(),
1291
+ x: distance,
1292
+ y: distance
1293
+ });
1294
+ var pcb_hole_circle_shape = pcb_hole_circle.describe(
1295
+ "Defines a circular hole on the PCB"
1296
+ );
1297
+ expectTypesMatch(true);
1298
+ var pcb_hole_rect = z70.object({
1299
+ type: z70.literal("pcb_hole"),
1300
+ pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1301
+ pcb_group_id: z70.string().optional(),
1302
+ subcircuit_id: z70.string().optional(),
1303
+ hole_shape: z70.literal("rect"),
1304
+ hole_width: z70.number(),
1305
+ hole_height: z70.number(),
1306
+ x: distance,
1307
+ y: distance
1308
+ });
1309
+ var pcb_hole_rect_shape = pcb_hole_rect.describe(
1310
+ "Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
1311
+ );
1312
+ expectTypesMatch(true);
1284
1313
  var pcb_hole_circle_or_square = z70.object({
1285
1314
  type: z70.literal("pcb_hole"),
1286
1315
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
@@ -1341,7 +1370,7 @@ var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
1341
1370
  "Defines a rotated pill-shaped hole on the PCB"
1342
1371
  );
1343
1372
  expectTypesMatch(true);
1344
- var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill);
1373
+ var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill).or(pcb_hole_circle).or(pcb_hole_rect);
1345
1374
 
1346
1375
  // src/pcb/pcb_plated_hole.ts
1347
1376
  import { z as z71 } from "zod";
@@ -1850,6 +1879,7 @@ var pcb_board = z83.object({
1850
1879
  thickness: length.optional().default(1.4),
1851
1880
  num_layers: z83.number().optional().default(4),
1852
1881
  outline: z83.array(point).optional(),
1882
+ shape: z83.enum(["rect", "polygon"]).optional(),
1853
1883
  material: z83.enum(["fr4", "fr1"]).default("fr4")
1854
1884
  }).describe("Defines the board outline of the PCB");
1855
1885
  expectTypesMatch(true);
@@ -2952,8 +2982,10 @@ export {
2952
2982
  pcb_group,
2953
2983
  pcb_hole,
2954
2984
  pcb_hole_circle_or_square_shape,
2985
+ pcb_hole_circle_shape,
2955
2986
  pcb_hole_oval_shape,
2956
2987
  pcb_hole_pill_shape,
2988
+ pcb_hole_rect_shape,
2957
2989
  pcb_hole_rotated_pill_shape,
2958
2990
  pcb_keepout,
2959
2991
  pcb_manual_edit_conflict_warning,