circuit-json 0.0.163 → 0.0.164
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 +17 -0
- package/dist/index.d.mts +100 -2
- package/dist/index.mjs +547 -531
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -369,7 +369,7 @@ var source_simple_power_source = source_component_base.extend({
|
|
|
369
369
|
expectTypesMatch(true);
|
|
370
370
|
|
|
371
371
|
// src/source/any_source_component.ts
|
|
372
|
-
import { z as
|
|
372
|
+
import { z as z28 } from "zod";
|
|
373
373
|
|
|
374
374
|
// src/source/source_simple_battery.ts
|
|
375
375
|
import { z as z16 } from "zod";
|
|
@@ -462,8 +462,22 @@ var source_project_metadata = z26.object({
|
|
|
462
462
|
});
|
|
463
463
|
expectTypesMatch(true);
|
|
464
464
|
|
|
465
|
+
// src/source/source_missing_property_error.ts
|
|
466
|
+
import { z as z27 } from "zod";
|
|
467
|
+
var source_missing_property_error = z27.object({
|
|
468
|
+
type: z27.literal("source_missing_property_error"),
|
|
469
|
+
source_missing_property_error_id: getZodPrefixedIdWithDefault(
|
|
470
|
+
"source_missing_property_error"
|
|
471
|
+
),
|
|
472
|
+
source_component_id: z27.string(),
|
|
473
|
+
property_name: z27.string(),
|
|
474
|
+
error_type: z27.literal("source_missing_property_error"),
|
|
475
|
+
message: z27.string()
|
|
476
|
+
}).describe("The source code is missing a property");
|
|
477
|
+
expectTypesMatch(true);
|
|
478
|
+
|
|
465
479
|
// src/source/any_source_component.ts
|
|
466
|
-
var any_source_component =
|
|
480
|
+
var any_source_component = z28.union([
|
|
467
481
|
source_simple_resistor,
|
|
468
482
|
source_simple_capacitor,
|
|
469
483
|
source_simple_diode,
|
|
@@ -482,68 +496,69 @@ var any_source_component = z27.union([
|
|
|
482
496
|
source_simple_switch,
|
|
483
497
|
source_simple_transistor,
|
|
484
498
|
source_simple_mosfet,
|
|
485
|
-
source_project_metadata
|
|
499
|
+
source_project_metadata,
|
|
500
|
+
source_missing_property_error
|
|
486
501
|
]);
|
|
487
502
|
|
|
488
503
|
// src/source/source_port.ts
|
|
489
|
-
import { z as
|
|
490
|
-
var source_port =
|
|
491
|
-
type:
|
|
492
|
-
pin_number:
|
|
493
|
-
port_hints:
|
|
494
|
-
name:
|
|
495
|
-
source_port_id:
|
|
496
|
-
source_component_id:
|
|
497
|
-
subcircuit_id:
|
|
504
|
+
import { z as z29 } from "zod";
|
|
505
|
+
var source_port = z29.object({
|
|
506
|
+
type: z29.literal("source_port"),
|
|
507
|
+
pin_number: z29.number().optional(),
|
|
508
|
+
port_hints: z29.array(z29.string()).optional(),
|
|
509
|
+
name: z29.string(),
|
|
510
|
+
source_port_id: z29.string(),
|
|
511
|
+
source_component_id: z29.string(),
|
|
512
|
+
subcircuit_id: z29.string().optional()
|
|
498
513
|
});
|
|
499
514
|
expectTypesMatch(true);
|
|
500
515
|
|
|
501
516
|
// src/source/source_trace.ts
|
|
502
|
-
import { z as
|
|
503
|
-
var source_trace =
|
|
504
|
-
type:
|
|
505
|
-
source_trace_id:
|
|
506
|
-
connected_source_port_ids:
|
|
507
|
-
connected_source_net_ids:
|
|
508
|
-
subcircuit_id:
|
|
509
|
-
subcircuit_connectivity_map_key:
|
|
510
|
-
max_length:
|
|
511
|
-
min_trace_thickness:
|
|
512
|
-
display_name:
|
|
517
|
+
import { z as z30 } from "zod";
|
|
518
|
+
var source_trace = z30.object({
|
|
519
|
+
type: z30.literal("source_trace"),
|
|
520
|
+
source_trace_id: z30.string(),
|
|
521
|
+
connected_source_port_ids: z30.array(z30.string()),
|
|
522
|
+
connected_source_net_ids: z30.array(z30.string()),
|
|
523
|
+
subcircuit_id: z30.string().optional(),
|
|
524
|
+
subcircuit_connectivity_map_key: z30.string().optional(),
|
|
525
|
+
max_length: z30.number().optional(),
|
|
526
|
+
min_trace_thickness: z30.number().optional(),
|
|
527
|
+
display_name: z30.string().optional()
|
|
513
528
|
});
|
|
514
529
|
expectTypesMatch(true);
|
|
515
530
|
|
|
516
531
|
// src/source/source_group.ts
|
|
517
|
-
import { z as
|
|
518
|
-
var source_group =
|
|
519
|
-
type:
|
|
520
|
-
source_group_id:
|
|
521
|
-
subcircuit_id:
|
|
522
|
-
parent_subcircuit_id:
|
|
523
|
-
is_subcircuit:
|
|
524
|
-
name:
|
|
532
|
+
import { z as z31 } from "zod";
|
|
533
|
+
var source_group = z31.object({
|
|
534
|
+
type: z31.literal("source_group"),
|
|
535
|
+
source_group_id: z31.string(),
|
|
536
|
+
subcircuit_id: z31.string().optional(),
|
|
537
|
+
parent_subcircuit_id: z31.string().optional(),
|
|
538
|
+
is_subcircuit: z31.boolean().optional(),
|
|
539
|
+
name: z31.string().optional()
|
|
525
540
|
});
|
|
526
541
|
|
|
527
542
|
// src/source/source_net.ts
|
|
528
|
-
import { z as
|
|
529
|
-
var source_net =
|
|
530
|
-
type:
|
|
531
|
-
source_net_id:
|
|
532
|
-
name:
|
|
533
|
-
member_source_group_ids:
|
|
534
|
-
is_power:
|
|
535
|
-
is_ground:
|
|
536
|
-
is_digital_signal:
|
|
537
|
-
is_analog_signal:
|
|
538
|
-
trace_width:
|
|
539
|
-
subcircuit_id:
|
|
543
|
+
import { z as z32 } from "zod";
|
|
544
|
+
var source_net = z32.object({
|
|
545
|
+
type: z32.literal("source_net"),
|
|
546
|
+
source_net_id: z32.string(),
|
|
547
|
+
name: z32.string(),
|
|
548
|
+
member_source_group_ids: z32.array(z32.string()),
|
|
549
|
+
is_power: z32.boolean().optional(),
|
|
550
|
+
is_ground: z32.boolean().optional(),
|
|
551
|
+
is_digital_signal: z32.boolean().optional(),
|
|
552
|
+
is_analog_signal: z32.boolean().optional(),
|
|
553
|
+
trace_width: z32.number().optional(),
|
|
554
|
+
subcircuit_id: z32.string().optional()
|
|
540
555
|
});
|
|
541
556
|
|
|
542
557
|
// src/schematic/schematic_box.ts
|
|
543
|
-
import { z as
|
|
544
|
-
var schematic_box =
|
|
545
|
-
type:
|
|
546
|
-
schematic_component_id:
|
|
558
|
+
import { z as z33 } from "zod";
|
|
559
|
+
var schematic_box = z33.object({
|
|
560
|
+
type: z33.literal("schematic_box"),
|
|
561
|
+
schematic_component_id: z33.string(),
|
|
547
562
|
width: distance,
|
|
548
563
|
height: distance,
|
|
549
564
|
x: distance,
|
|
@@ -552,81 +567,81 @@ var schematic_box = z32.object({
|
|
|
552
567
|
expectTypesMatch(true);
|
|
553
568
|
|
|
554
569
|
// src/schematic/schematic_path.ts
|
|
555
|
-
import { z as
|
|
556
|
-
var schematic_path =
|
|
557
|
-
type:
|
|
558
|
-
schematic_component_id:
|
|
559
|
-
fill_color:
|
|
560
|
-
is_filled:
|
|
561
|
-
points:
|
|
570
|
+
import { z as z34 } from "zod";
|
|
571
|
+
var schematic_path = z34.object({
|
|
572
|
+
type: z34.literal("schematic_path"),
|
|
573
|
+
schematic_component_id: z34.string(),
|
|
574
|
+
fill_color: z34.enum(["red", "blue"]).optional(),
|
|
575
|
+
is_filled: z34.boolean().optional(),
|
|
576
|
+
points: z34.array(point)
|
|
562
577
|
});
|
|
563
578
|
expectTypesMatch(true);
|
|
564
579
|
|
|
565
580
|
// src/schematic/schematic_component.ts
|
|
566
|
-
import { z as
|
|
567
|
-
var schematic_pin_styles =
|
|
568
|
-
|
|
581
|
+
import { z as z35 } from "zod";
|
|
582
|
+
var schematic_pin_styles = z35.record(
|
|
583
|
+
z35.object({
|
|
569
584
|
left_margin: length.optional(),
|
|
570
585
|
right_margin: length.optional(),
|
|
571
586
|
top_margin: length.optional(),
|
|
572
587
|
bottom_margin: length.optional()
|
|
573
588
|
})
|
|
574
589
|
);
|
|
575
|
-
var schematic_component_port_arrangement_by_size =
|
|
576
|
-
left_size:
|
|
577
|
-
right_size:
|
|
578
|
-
top_size:
|
|
579
|
-
bottom_size:
|
|
590
|
+
var schematic_component_port_arrangement_by_size = z35.object({
|
|
591
|
+
left_size: z35.number(),
|
|
592
|
+
right_size: z35.number(),
|
|
593
|
+
top_size: z35.number().optional(),
|
|
594
|
+
bottom_size: z35.number().optional()
|
|
580
595
|
});
|
|
581
596
|
expectTypesMatch(true);
|
|
582
|
-
var schematic_component_port_arrangement_by_sides =
|
|
583
|
-
left_side:
|
|
584
|
-
pins:
|
|
597
|
+
var schematic_component_port_arrangement_by_sides = z35.object({
|
|
598
|
+
left_side: z35.object({
|
|
599
|
+
pins: z35.array(z35.number()),
|
|
585
600
|
// @ts-ignore
|
|
586
|
-
direction:
|
|
601
|
+
direction: z35.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
587
602
|
}).optional(),
|
|
588
|
-
right_side:
|
|
589
|
-
pins:
|
|
603
|
+
right_side: z35.object({
|
|
604
|
+
pins: z35.array(z35.number()),
|
|
590
605
|
// @ts-ignore
|
|
591
|
-
direction:
|
|
606
|
+
direction: z35.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
592
607
|
}).optional(),
|
|
593
|
-
top_side:
|
|
594
|
-
pins:
|
|
608
|
+
top_side: z35.object({
|
|
609
|
+
pins: z35.array(z35.number()),
|
|
595
610
|
// @ts-ignore
|
|
596
|
-
direction:
|
|
611
|
+
direction: z35.enum(["left-to-right", "right-to-left"]).optional()
|
|
597
612
|
}).optional(),
|
|
598
|
-
bottom_side:
|
|
599
|
-
pins:
|
|
613
|
+
bottom_side: z35.object({
|
|
614
|
+
pins: z35.array(z35.number()),
|
|
600
615
|
// @ts-ignore
|
|
601
|
-
direction:
|
|
616
|
+
direction: z35.enum(["left-to-right", "right-to-left"]).optional()
|
|
602
617
|
}).optional()
|
|
603
618
|
});
|
|
604
619
|
expectTypesMatch(true);
|
|
605
|
-
var port_arrangement =
|
|
620
|
+
var port_arrangement = z35.union([
|
|
606
621
|
schematic_component_port_arrangement_by_size,
|
|
607
622
|
schematic_component_port_arrangement_by_sides
|
|
608
623
|
]);
|
|
609
|
-
var schematic_component =
|
|
610
|
-
type:
|
|
624
|
+
var schematic_component = z35.object({
|
|
625
|
+
type: z35.literal("schematic_component"),
|
|
611
626
|
size,
|
|
612
627
|
center: point,
|
|
613
|
-
source_component_id:
|
|
614
|
-
schematic_component_id:
|
|
628
|
+
source_component_id: z35.string(),
|
|
629
|
+
schematic_component_id: z35.string(),
|
|
615
630
|
pin_spacing: length.optional(),
|
|
616
631
|
pin_styles: schematic_pin_styles.optional(),
|
|
617
632
|
box_width: length.optional(),
|
|
618
|
-
symbol_name:
|
|
633
|
+
symbol_name: z35.string().optional(),
|
|
619
634
|
port_arrangement: port_arrangement.optional(),
|
|
620
|
-
port_labels:
|
|
621
|
-
symbol_display_value:
|
|
635
|
+
port_labels: z35.record(z35.string()).optional(),
|
|
636
|
+
symbol_display_value: z35.string().optional()
|
|
622
637
|
});
|
|
623
638
|
expectTypesMatch(true);
|
|
624
639
|
|
|
625
640
|
// src/schematic/schematic_line.ts
|
|
626
|
-
import { z as
|
|
627
|
-
var schematic_line =
|
|
628
|
-
type:
|
|
629
|
-
schematic_component_id:
|
|
641
|
+
import { z as z36 } from "zod";
|
|
642
|
+
var schematic_line = z36.object({
|
|
643
|
+
type: z36.literal("schematic_line"),
|
|
644
|
+
schematic_component_id: z36.string(),
|
|
630
645
|
x1: distance,
|
|
631
646
|
x2: distance,
|
|
632
647
|
y1: distance,
|
|
@@ -635,113 +650,113 @@ var schematic_line = z35.object({
|
|
|
635
650
|
expectTypesMatch(true);
|
|
636
651
|
|
|
637
652
|
// src/schematic/schematic_trace.ts
|
|
638
|
-
import { z as
|
|
639
|
-
var schematic_trace =
|
|
640
|
-
type:
|
|
641
|
-
schematic_trace_id:
|
|
642
|
-
source_trace_id:
|
|
643
|
-
junctions:
|
|
644
|
-
|
|
645
|
-
x:
|
|
646
|
-
y:
|
|
653
|
+
import { z as z37 } from "zod";
|
|
654
|
+
var schematic_trace = z37.object({
|
|
655
|
+
type: z37.literal("schematic_trace"),
|
|
656
|
+
schematic_trace_id: z37.string(),
|
|
657
|
+
source_trace_id: z37.string(),
|
|
658
|
+
junctions: z37.array(
|
|
659
|
+
z37.object({
|
|
660
|
+
x: z37.number(),
|
|
661
|
+
y: z37.number()
|
|
647
662
|
})
|
|
648
663
|
),
|
|
649
|
-
edges:
|
|
650
|
-
|
|
651
|
-
from:
|
|
652
|
-
x:
|
|
653
|
-
y:
|
|
664
|
+
edges: z37.array(
|
|
665
|
+
z37.object({
|
|
666
|
+
from: z37.object({
|
|
667
|
+
x: z37.number(),
|
|
668
|
+
y: z37.number()
|
|
654
669
|
}),
|
|
655
|
-
to:
|
|
656
|
-
x:
|
|
657
|
-
y:
|
|
670
|
+
to: z37.object({
|
|
671
|
+
x: z37.number(),
|
|
672
|
+
y: z37.number()
|
|
658
673
|
}),
|
|
659
|
-
is_crossing:
|
|
660
|
-
from_schematic_port_id:
|
|
661
|
-
to_schematic_port_id:
|
|
674
|
+
is_crossing: z37.boolean().optional(),
|
|
675
|
+
from_schematic_port_id: z37.string().optional(),
|
|
676
|
+
to_schematic_port_id: z37.string().optional()
|
|
662
677
|
})
|
|
663
678
|
)
|
|
664
679
|
});
|
|
665
680
|
expectTypesMatch(true);
|
|
666
681
|
|
|
667
682
|
// src/schematic/schematic_text.ts
|
|
668
|
-
import { z as
|
|
669
|
-
var schematic_text =
|
|
670
|
-
type:
|
|
671
|
-
schematic_component_id:
|
|
672
|
-
schematic_text_id:
|
|
673
|
-
text:
|
|
674
|
-
position:
|
|
683
|
+
import { z as z38 } from "zod";
|
|
684
|
+
var schematic_text = z38.object({
|
|
685
|
+
type: z38.literal("schematic_text"),
|
|
686
|
+
schematic_component_id: z38.string(),
|
|
687
|
+
schematic_text_id: z38.string(),
|
|
688
|
+
text: z38.string(),
|
|
689
|
+
position: z38.object({
|
|
675
690
|
x: distance,
|
|
676
691
|
y: distance
|
|
677
692
|
}),
|
|
678
|
-
rotation:
|
|
679
|
-
anchor:
|
|
680
|
-
color:
|
|
693
|
+
rotation: z38.number().default(0),
|
|
694
|
+
anchor: z38.enum(["center", "left", "right", "top", "bottom"]).default("center"),
|
|
695
|
+
color: z38.string().default("#000000")
|
|
681
696
|
});
|
|
682
697
|
expectTypesMatch(true);
|
|
683
698
|
|
|
684
699
|
// src/schematic/schematic_port.ts
|
|
685
|
-
import { z as
|
|
686
|
-
var schematic_port =
|
|
687
|
-
type:
|
|
688
|
-
schematic_port_id:
|
|
689
|
-
source_port_id:
|
|
690
|
-
schematic_component_id:
|
|
700
|
+
import { z as z39 } from "zod";
|
|
701
|
+
var schematic_port = z39.object({
|
|
702
|
+
type: z39.literal("schematic_port"),
|
|
703
|
+
schematic_port_id: z39.string(),
|
|
704
|
+
source_port_id: z39.string(),
|
|
705
|
+
schematic_component_id: z39.string().optional(),
|
|
691
706
|
center: point,
|
|
692
|
-
facing_direction:
|
|
693
|
-
distance_from_component_edge:
|
|
694
|
-
side_of_component:
|
|
695
|
-
true_ccw_index:
|
|
696
|
-
pin_number:
|
|
697
|
-
display_pin_label:
|
|
707
|
+
facing_direction: z39.enum(["up", "down", "left", "right"]).optional(),
|
|
708
|
+
distance_from_component_edge: z39.number().optional(),
|
|
709
|
+
side_of_component: z39.enum(["top", "bottom", "left", "right"]).optional(),
|
|
710
|
+
true_ccw_index: z39.number().optional(),
|
|
711
|
+
pin_number: z39.number().optional(),
|
|
712
|
+
display_pin_label: z39.string().optional()
|
|
698
713
|
}).describe("Defines a port on a schematic component");
|
|
699
714
|
expectTypesMatch(true);
|
|
700
715
|
|
|
701
716
|
// src/schematic/schematic_net_label.ts
|
|
702
|
-
import { z as
|
|
703
|
-
var schematic_net_label =
|
|
704
|
-
type:
|
|
705
|
-
source_net_id:
|
|
717
|
+
import { z as z40 } from "zod";
|
|
718
|
+
var schematic_net_label = z40.object({
|
|
719
|
+
type: z40.literal("schematic_net_label"),
|
|
720
|
+
source_net_id: z40.string(),
|
|
706
721
|
center: point,
|
|
707
722
|
anchor_position: point.optional(),
|
|
708
|
-
anchor_side:
|
|
709
|
-
text:
|
|
710
|
-
symbol_name:
|
|
723
|
+
anchor_side: z40.enum(["top", "bottom", "left", "right"]),
|
|
724
|
+
text: z40.string(),
|
|
725
|
+
symbol_name: z40.string().optional()
|
|
711
726
|
});
|
|
712
727
|
|
|
713
728
|
// src/schematic/schematic_error.ts
|
|
714
|
-
import { z as
|
|
715
|
-
var schematic_error =
|
|
716
|
-
type:
|
|
717
|
-
schematic_error_id:
|
|
729
|
+
import { z as z41 } from "zod";
|
|
730
|
+
var schematic_error = z41.object({
|
|
731
|
+
type: z41.literal("schematic_error"),
|
|
732
|
+
schematic_error_id: z41.string(),
|
|
718
733
|
// eventually each error type should be broken out into a dir of files
|
|
719
|
-
error_type:
|
|
720
|
-
message:
|
|
734
|
+
error_type: z41.literal("schematic_port_not_found"),
|
|
735
|
+
message: z41.string()
|
|
721
736
|
}).describe("Defines a schematic error on the schematic");
|
|
722
737
|
expectTypesMatch(true);
|
|
723
738
|
|
|
724
739
|
// src/schematic/schematic_debug_object.ts
|
|
725
|
-
import { z as
|
|
726
|
-
var schematic_debug_object_base =
|
|
727
|
-
type:
|
|
728
|
-
label:
|
|
740
|
+
import { z as z42 } from "zod";
|
|
741
|
+
var schematic_debug_object_base = z42.object({
|
|
742
|
+
type: z42.literal("schematic_debug_object"),
|
|
743
|
+
label: z42.string().optional()
|
|
729
744
|
});
|
|
730
745
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
731
|
-
shape:
|
|
746
|
+
shape: z42.literal("rect"),
|
|
732
747
|
center: point,
|
|
733
748
|
size
|
|
734
749
|
});
|
|
735
750
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
736
|
-
shape:
|
|
751
|
+
shape: z42.literal("line"),
|
|
737
752
|
start: point,
|
|
738
753
|
end: point
|
|
739
754
|
});
|
|
740
755
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
741
|
-
shape:
|
|
756
|
+
shape: z42.literal("point"),
|
|
742
757
|
center: point
|
|
743
758
|
});
|
|
744
|
-
var schematic_debug_object =
|
|
759
|
+
var schematic_debug_object = z42.discriminatedUnion("shape", [
|
|
745
760
|
schematic_debug_rect,
|
|
746
761
|
schematic_debug_line,
|
|
747
762
|
schematic_debug_point
|
|
@@ -749,35 +764,35 @@ var schematic_debug_object = z41.discriminatedUnion("shape", [
|
|
|
749
764
|
expectTypesMatch(true);
|
|
750
765
|
|
|
751
766
|
// src/schematic/schematic_voltage_probe.ts
|
|
752
|
-
import { z as
|
|
753
|
-
var schematic_voltage_probe =
|
|
754
|
-
type:
|
|
755
|
-
schematic_voltage_probe_id:
|
|
767
|
+
import { z as z43 } from "zod";
|
|
768
|
+
var schematic_voltage_probe = z43.object({
|
|
769
|
+
type: z43.literal("schematic_voltage_probe"),
|
|
770
|
+
schematic_voltage_probe_id: z43.string(),
|
|
756
771
|
position: point,
|
|
757
|
-
schematic_trace_id:
|
|
772
|
+
schematic_trace_id: z43.string(),
|
|
758
773
|
voltage: voltage.optional()
|
|
759
774
|
}).describe("Defines a voltage probe measurement point on a schematic trace");
|
|
760
775
|
expectTypesMatch(true);
|
|
761
776
|
|
|
762
777
|
// src/schematic/schematic_manual_edit_conflict_warning.ts
|
|
763
|
-
import { z as
|
|
764
|
-
var schematic_manual_edit_conflict_warning =
|
|
765
|
-
type:
|
|
778
|
+
import { z as z44 } from "zod";
|
|
779
|
+
var schematic_manual_edit_conflict_warning = z44.object({
|
|
780
|
+
type: z44.literal("schematic_manual_edit_conflict_warning"),
|
|
766
781
|
schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
767
782
|
"schematic_manual_edit_conflict_warning"
|
|
768
783
|
),
|
|
769
|
-
message:
|
|
770
|
-
schematic_component_id:
|
|
771
|
-
schematic_group_id:
|
|
772
|
-
subcircuit_id:
|
|
773
|
-
source_component_id:
|
|
784
|
+
message: z44.string(),
|
|
785
|
+
schematic_component_id: z44.string(),
|
|
786
|
+
schematic_group_id: z44.string().optional(),
|
|
787
|
+
subcircuit_id: z44.string().optional(),
|
|
788
|
+
source_component_id: z44.string()
|
|
774
789
|
}).describe(
|
|
775
790
|
"Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
|
|
776
791
|
);
|
|
777
792
|
expectTypesMatch(true);
|
|
778
793
|
|
|
779
794
|
// src/pcb/properties/layer_ref.ts
|
|
780
|
-
import { z as
|
|
795
|
+
import { z as z45 } from "zod";
|
|
781
796
|
var all_layers = [
|
|
782
797
|
"top",
|
|
783
798
|
"bottom",
|
|
@@ -788,9 +803,9 @@ var all_layers = [
|
|
|
788
803
|
"inner5",
|
|
789
804
|
"inner6"
|
|
790
805
|
];
|
|
791
|
-
var layer_string =
|
|
806
|
+
var layer_string = z45.enum(all_layers);
|
|
792
807
|
var layer_ref = layer_string.or(
|
|
793
|
-
|
|
808
|
+
z45.object({
|
|
794
809
|
name: layer_string
|
|
795
810
|
})
|
|
796
811
|
).transform((layer) => {
|
|
@@ -799,52 +814,52 @@ var layer_ref = layer_string.or(
|
|
|
799
814
|
}
|
|
800
815
|
return layer.name;
|
|
801
816
|
});
|
|
802
|
-
var visible_layer =
|
|
817
|
+
var visible_layer = z45.enum(["top", "bottom"]);
|
|
803
818
|
|
|
804
819
|
// src/pcb/properties/pcb_route_hints.ts
|
|
805
|
-
import { z as
|
|
806
|
-
var pcb_route_hint =
|
|
820
|
+
import { z as z46 } from "zod";
|
|
821
|
+
var pcb_route_hint = z46.object({
|
|
807
822
|
x: distance,
|
|
808
823
|
y: distance,
|
|
809
|
-
via:
|
|
824
|
+
via: z46.boolean().optional(),
|
|
810
825
|
via_to_layer: layer_ref.optional()
|
|
811
826
|
});
|
|
812
|
-
var pcb_route_hints =
|
|
827
|
+
var pcb_route_hints = z46.array(pcb_route_hint);
|
|
813
828
|
|
|
814
829
|
// src/pcb/properties/route_hint_point.ts
|
|
815
|
-
import { z as
|
|
816
|
-
var route_hint_point =
|
|
830
|
+
import { z as z47 } from "zod";
|
|
831
|
+
var route_hint_point = z47.object({
|
|
817
832
|
x: distance,
|
|
818
833
|
y: distance,
|
|
819
|
-
via:
|
|
834
|
+
via: z47.boolean().optional(),
|
|
820
835
|
to_layer: layer_ref.optional(),
|
|
821
836
|
trace_width: distance.optional()
|
|
822
837
|
});
|
|
823
838
|
|
|
824
839
|
// src/pcb/pcb_component.ts
|
|
825
|
-
import { z as
|
|
826
|
-
var pcb_component =
|
|
827
|
-
type:
|
|
840
|
+
import { z as z48 } from "zod";
|
|
841
|
+
var pcb_component = z48.object({
|
|
842
|
+
type: z48.literal("pcb_component"),
|
|
828
843
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
829
|
-
source_component_id:
|
|
844
|
+
source_component_id: z48.string(),
|
|
830
845
|
center: point,
|
|
831
846
|
layer: layer_ref,
|
|
832
847
|
rotation,
|
|
833
848
|
width: length,
|
|
834
849
|
height: length,
|
|
835
|
-
subcircuit_id:
|
|
850
|
+
subcircuit_id: z48.string().optional()
|
|
836
851
|
}).describe("Defines a component on the PCB");
|
|
837
852
|
expectTypesMatch(true);
|
|
838
853
|
|
|
839
854
|
// src/pcb/pcb_hole.ts
|
|
840
|
-
import { z as
|
|
841
|
-
var pcb_hole_circle_or_square =
|
|
842
|
-
type:
|
|
855
|
+
import { z as z49 } from "zod";
|
|
856
|
+
var pcb_hole_circle_or_square = z49.object({
|
|
857
|
+
type: z49.literal("pcb_hole"),
|
|
843
858
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
844
|
-
pcb_group_id:
|
|
845
|
-
subcircuit_id:
|
|
846
|
-
hole_shape:
|
|
847
|
-
hole_diameter:
|
|
859
|
+
pcb_group_id: z49.string().optional(),
|
|
860
|
+
subcircuit_id: z49.string().optional(),
|
|
861
|
+
hole_shape: z49.enum(["circle", "square"]),
|
|
862
|
+
hole_diameter: z49.number(),
|
|
848
863
|
x: distance,
|
|
849
864
|
y: distance
|
|
850
865
|
});
|
|
@@ -852,14 +867,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
852
867
|
"Defines a circular or square hole on the PCB"
|
|
853
868
|
);
|
|
854
869
|
expectTypesMatch(true);
|
|
855
|
-
var pcb_hole_oval =
|
|
856
|
-
type:
|
|
870
|
+
var pcb_hole_oval = z49.object({
|
|
871
|
+
type: z49.literal("pcb_hole"),
|
|
857
872
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
858
|
-
pcb_group_id:
|
|
859
|
-
subcircuit_id:
|
|
860
|
-
hole_shape:
|
|
861
|
-
hole_width:
|
|
862
|
-
hole_height:
|
|
873
|
+
pcb_group_id: z49.string().optional(),
|
|
874
|
+
subcircuit_id: z49.string().optional(),
|
|
875
|
+
hole_shape: z49.literal("oval"),
|
|
876
|
+
hole_width: z49.number(),
|
|
877
|
+
hole_height: z49.number(),
|
|
863
878
|
x: distance,
|
|
864
879
|
y: distance
|
|
865
880
|
});
|
|
@@ -870,77 +885,77 @@ expectTypesMatch(true);
|
|
|
870
885
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
|
|
871
886
|
|
|
872
887
|
// src/pcb/pcb_plated_hole.ts
|
|
873
|
-
import { z as
|
|
874
|
-
var pcb_plated_hole_circle =
|
|
875
|
-
type:
|
|
876
|
-
shape:
|
|
877
|
-
pcb_group_id:
|
|
878
|
-
subcircuit_id:
|
|
879
|
-
outer_diameter:
|
|
880
|
-
hole_diameter:
|
|
888
|
+
import { z as z50 } from "zod";
|
|
889
|
+
var pcb_plated_hole_circle = z50.object({
|
|
890
|
+
type: z50.literal("pcb_plated_hole"),
|
|
891
|
+
shape: z50.literal("circle"),
|
|
892
|
+
pcb_group_id: z50.string().optional(),
|
|
893
|
+
subcircuit_id: z50.string().optional(),
|
|
894
|
+
outer_diameter: z50.number(),
|
|
895
|
+
hole_diameter: z50.number(),
|
|
881
896
|
x: distance,
|
|
882
897
|
y: distance,
|
|
883
|
-
layers:
|
|
884
|
-
port_hints:
|
|
885
|
-
pcb_component_id:
|
|
886
|
-
pcb_port_id:
|
|
898
|
+
layers: z50.array(layer_ref),
|
|
899
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
900
|
+
pcb_component_id: z50.string().optional(),
|
|
901
|
+
pcb_port_id: z50.string().optional(),
|
|
887
902
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
888
903
|
});
|
|
889
|
-
var pcb_plated_hole_oval =
|
|
890
|
-
type:
|
|
891
|
-
shape:
|
|
892
|
-
pcb_group_id:
|
|
893
|
-
subcircuit_id:
|
|
894
|
-
outer_width:
|
|
895
|
-
outer_height:
|
|
896
|
-
hole_width:
|
|
897
|
-
hole_height:
|
|
904
|
+
var pcb_plated_hole_oval = z50.object({
|
|
905
|
+
type: z50.literal("pcb_plated_hole"),
|
|
906
|
+
shape: z50.enum(["oval", "pill"]),
|
|
907
|
+
pcb_group_id: z50.string().optional(),
|
|
908
|
+
subcircuit_id: z50.string().optional(),
|
|
909
|
+
outer_width: z50.number(),
|
|
910
|
+
outer_height: z50.number(),
|
|
911
|
+
hole_width: z50.number(),
|
|
912
|
+
hole_height: z50.number(),
|
|
898
913
|
x: distance,
|
|
899
914
|
y: distance,
|
|
900
|
-
layers:
|
|
901
|
-
port_hints:
|
|
902
|
-
pcb_component_id:
|
|
903
|
-
pcb_port_id:
|
|
915
|
+
layers: z50.array(layer_ref),
|
|
916
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
917
|
+
pcb_component_id: z50.string().optional(),
|
|
918
|
+
pcb_port_id: z50.string().optional(),
|
|
904
919
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
905
920
|
});
|
|
906
|
-
var pcb_circular_hole_with_rect_pad =
|
|
907
|
-
type:
|
|
908
|
-
shape:
|
|
909
|
-
pcb_group_id:
|
|
910
|
-
subcircuit_id:
|
|
911
|
-
hole_shape:
|
|
912
|
-
pad_shape:
|
|
913
|
-
hole_diameter:
|
|
914
|
-
rect_pad_width:
|
|
915
|
-
rect_pad_height:
|
|
921
|
+
var pcb_circular_hole_with_rect_pad = z50.object({
|
|
922
|
+
type: z50.literal("pcb_plated_hole"),
|
|
923
|
+
shape: z50.literal("circular_hole_with_rect_pad"),
|
|
924
|
+
pcb_group_id: z50.string().optional(),
|
|
925
|
+
subcircuit_id: z50.string().optional(),
|
|
926
|
+
hole_shape: z50.literal("circle"),
|
|
927
|
+
pad_shape: z50.literal("rect"),
|
|
928
|
+
hole_diameter: z50.number(),
|
|
929
|
+
rect_pad_width: z50.number(),
|
|
930
|
+
rect_pad_height: z50.number(),
|
|
916
931
|
x: distance,
|
|
917
932
|
y: distance,
|
|
918
|
-
layers:
|
|
919
|
-
port_hints:
|
|
920
|
-
pcb_component_id:
|
|
921
|
-
pcb_port_id:
|
|
933
|
+
layers: z50.array(layer_ref),
|
|
934
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
935
|
+
pcb_component_id: z50.string().optional(),
|
|
936
|
+
pcb_port_id: z50.string().optional(),
|
|
922
937
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
923
938
|
});
|
|
924
|
-
var pcb_pill_hole_with_rect_pad =
|
|
925
|
-
type:
|
|
926
|
-
shape:
|
|
927
|
-
pcb_group_id:
|
|
928
|
-
subcircuit_id:
|
|
929
|
-
hole_shape:
|
|
930
|
-
pad_shape:
|
|
931
|
-
hole_width:
|
|
932
|
-
hole_height:
|
|
933
|
-
rect_pad_width:
|
|
934
|
-
rect_pad_height:
|
|
939
|
+
var pcb_pill_hole_with_rect_pad = z50.object({
|
|
940
|
+
type: z50.literal("pcb_plated_hole"),
|
|
941
|
+
shape: z50.literal("pill_hole_with_rect_pad"),
|
|
942
|
+
pcb_group_id: z50.string().optional(),
|
|
943
|
+
subcircuit_id: z50.string().optional(),
|
|
944
|
+
hole_shape: z50.literal("pill"),
|
|
945
|
+
pad_shape: z50.literal("rect"),
|
|
946
|
+
hole_width: z50.number(),
|
|
947
|
+
hole_height: z50.number(),
|
|
948
|
+
rect_pad_width: z50.number(),
|
|
949
|
+
rect_pad_height: z50.number(),
|
|
935
950
|
x: distance,
|
|
936
951
|
y: distance,
|
|
937
|
-
layers:
|
|
938
|
-
port_hints:
|
|
939
|
-
pcb_component_id:
|
|
940
|
-
pcb_port_id:
|
|
952
|
+
layers: z50.array(layer_ref),
|
|
953
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
954
|
+
pcb_component_id: z50.string().optional(),
|
|
955
|
+
pcb_port_id: z50.string().optional(),
|
|
941
956
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
942
957
|
});
|
|
943
|
-
var pcb_plated_hole =
|
|
958
|
+
var pcb_plated_hole = z50.union([
|
|
944
959
|
pcb_plated_hole_circle,
|
|
945
960
|
pcb_plated_hole_oval,
|
|
946
961
|
pcb_circular_hole_with_rect_pad
|
|
@@ -952,84 +967,84 @@ expectTypesMatch(true);
|
|
|
952
967
|
expectTypesMatch(true);
|
|
953
968
|
|
|
954
969
|
// src/pcb/pcb_port.ts
|
|
955
|
-
import { z as
|
|
956
|
-
var pcb_port =
|
|
957
|
-
type:
|
|
970
|
+
import { z as z51 } from "zod";
|
|
971
|
+
var pcb_port = z51.object({
|
|
972
|
+
type: z51.literal("pcb_port"),
|
|
958
973
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
959
|
-
pcb_group_id:
|
|
960
|
-
subcircuit_id:
|
|
961
|
-
source_port_id:
|
|
962
|
-
pcb_component_id:
|
|
974
|
+
pcb_group_id: z51.string().optional(),
|
|
975
|
+
subcircuit_id: z51.string().optional(),
|
|
976
|
+
source_port_id: z51.string(),
|
|
977
|
+
pcb_component_id: z51.string(),
|
|
963
978
|
x: distance,
|
|
964
979
|
y: distance,
|
|
965
|
-
layers:
|
|
980
|
+
layers: z51.array(layer_ref)
|
|
966
981
|
}).describe("Defines a port on the PCB");
|
|
967
982
|
expectTypesMatch(true);
|
|
968
983
|
|
|
969
984
|
// src/pcb/pcb_smtpad.ts
|
|
970
|
-
import { z as
|
|
971
|
-
var pcb_smtpad_circle =
|
|
972
|
-
type:
|
|
973
|
-
shape:
|
|
985
|
+
import { z as z52 } from "zod";
|
|
986
|
+
var pcb_smtpad_circle = z52.object({
|
|
987
|
+
type: z52.literal("pcb_smtpad"),
|
|
988
|
+
shape: z52.literal("circle"),
|
|
974
989
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
975
|
-
pcb_group_id:
|
|
976
|
-
subcircuit_id:
|
|
990
|
+
pcb_group_id: z52.string().optional(),
|
|
991
|
+
subcircuit_id: z52.string().optional(),
|
|
977
992
|
x: distance,
|
|
978
993
|
y: distance,
|
|
979
|
-
radius:
|
|
994
|
+
radius: z52.number(),
|
|
980
995
|
layer: layer_ref,
|
|
981
|
-
port_hints:
|
|
982
|
-
pcb_component_id:
|
|
983
|
-
pcb_port_id:
|
|
996
|
+
port_hints: z52.array(z52.string()).optional(),
|
|
997
|
+
pcb_component_id: z52.string().optional(),
|
|
998
|
+
pcb_port_id: z52.string().optional()
|
|
984
999
|
});
|
|
985
|
-
var pcb_smtpad_rect =
|
|
986
|
-
type:
|
|
987
|
-
shape:
|
|
1000
|
+
var pcb_smtpad_rect = z52.object({
|
|
1001
|
+
type: z52.literal("pcb_smtpad"),
|
|
1002
|
+
shape: z52.literal("rect"),
|
|
988
1003
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
989
|
-
pcb_group_id:
|
|
990
|
-
subcircuit_id:
|
|
1004
|
+
pcb_group_id: z52.string().optional(),
|
|
1005
|
+
subcircuit_id: z52.string().optional(),
|
|
991
1006
|
x: distance,
|
|
992
1007
|
y: distance,
|
|
993
|
-
width:
|
|
994
|
-
height:
|
|
1008
|
+
width: z52.number(),
|
|
1009
|
+
height: z52.number(),
|
|
995
1010
|
layer: layer_ref,
|
|
996
|
-
port_hints:
|
|
997
|
-
pcb_component_id:
|
|
998
|
-
pcb_port_id:
|
|
1011
|
+
port_hints: z52.array(z52.string()).optional(),
|
|
1012
|
+
pcb_component_id: z52.string().optional(),
|
|
1013
|
+
pcb_port_id: z52.string().optional()
|
|
999
1014
|
});
|
|
1000
|
-
var pcb_smtpad_rotated_rect =
|
|
1001
|
-
type:
|
|
1002
|
-
shape:
|
|
1015
|
+
var pcb_smtpad_rotated_rect = z52.object({
|
|
1016
|
+
type: z52.literal("pcb_smtpad"),
|
|
1017
|
+
shape: z52.literal("rotated_rect"),
|
|
1003
1018
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1004
|
-
pcb_group_id:
|
|
1005
|
-
subcircuit_id:
|
|
1019
|
+
pcb_group_id: z52.string().optional(),
|
|
1020
|
+
subcircuit_id: z52.string().optional(),
|
|
1006
1021
|
x: distance,
|
|
1007
1022
|
y: distance,
|
|
1008
|
-
width:
|
|
1009
|
-
height:
|
|
1023
|
+
width: z52.number(),
|
|
1024
|
+
height: z52.number(),
|
|
1010
1025
|
ccw_rotation: rotation,
|
|
1011
1026
|
layer: layer_ref,
|
|
1012
|
-
port_hints:
|
|
1013
|
-
pcb_component_id:
|
|
1014
|
-
pcb_port_id:
|
|
1027
|
+
port_hints: z52.array(z52.string()).optional(),
|
|
1028
|
+
pcb_component_id: z52.string().optional(),
|
|
1029
|
+
pcb_port_id: z52.string().optional()
|
|
1015
1030
|
});
|
|
1016
|
-
var pcb_smtpad_pill =
|
|
1017
|
-
type:
|
|
1018
|
-
shape:
|
|
1031
|
+
var pcb_smtpad_pill = z52.object({
|
|
1032
|
+
type: z52.literal("pcb_smtpad"),
|
|
1033
|
+
shape: z52.literal("pill"),
|
|
1019
1034
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1020
|
-
pcb_group_id:
|
|
1021
|
-
subcircuit_id:
|
|
1035
|
+
pcb_group_id: z52.string().optional(),
|
|
1036
|
+
subcircuit_id: z52.string().optional(),
|
|
1022
1037
|
x: distance,
|
|
1023
1038
|
y: distance,
|
|
1024
|
-
width:
|
|
1025
|
-
height:
|
|
1026
|
-
radius:
|
|
1039
|
+
width: z52.number(),
|
|
1040
|
+
height: z52.number(),
|
|
1041
|
+
radius: z52.number(),
|
|
1027
1042
|
layer: layer_ref,
|
|
1028
|
-
port_hints:
|
|
1029
|
-
pcb_component_id:
|
|
1030
|
-
pcb_port_id:
|
|
1043
|
+
port_hints: z52.array(z52.string()).optional(),
|
|
1044
|
+
pcb_component_id: z52.string().optional(),
|
|
1045
|
+
pcb_port_id: z52.string().optional()
|
|
1031
1046
|
});
|
|
1032
|
-
var pcb_smtpad =
|
|
1047
|
+
var pcb_smtpad = z52.union([
|
|
1033
1048
|
pcb_smtpad_circle,
|
|
1034
1049
|
pcb_smtpad_rect,
|
|
1035
1050
|
pcb_smtpad_rotated_rect,
|
|
@@ -1041,79 +1056,79 @@ expectTypesMatch(true);
|
|
|
1041
1056
|
expectTypesMatch(true);
|
|
1042
1057
|
|
|
1043
1058
|
// src/pcb/pcb_solder_paste.ts
|
|
1044
|
-
import { z as
|
|
1045
|
-
var pcb_solder_paste_circle =
|
|
1046
|
-
type:
|
|
1047
|
-
shape:
|
|
1059
|
+
import { z as z53 } from "zod";
|
|
1060
|
+
var pcb_solder_paste_circle = z53.object({
|
|
1061
|
+
type: z53.literal("pcb_solder_paste"),
|
|
1062
|
+
shape: z53.literal("circle"),
|
|
1048
1063
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1049
|
-
pcb_group_id:
|
|
1050
|
-
subcircuit_id:
|
|
1064
|
+
pcb_group_id: z53.string().optional(),
|
|
1065
|
+
subcircuit_id: z53.string().optional(),
|
|
1051
1066
|
x: distance,
|
|
1052
1067
|
y: distance,
|
|
1053
|
-
radius:
|
|
1068
|
+
radius: z53.number(),
|
|
1054
1069
|
layer: layer_ref,
|
|
1055
|
-
pcb_component_id:
|
|
1056
|
-
pcb_smtpad_id:
|
|
1070
|
+
pcb_component_id: z53.string().optional(),
|
|
1071
|
+
pcb_smtpad_id: z53.string().optional()
|
|
1057
1072
|
});
|
|
1058
|
-
var pcb_solder_paste_rect =
|
|
1059
|
-
type:
|
|
1060
|
-
shape:
|
|
1073
|
+
var pcb_solder_paste_rect = z53.object({
|
|
1074
|
+
type: z53.literal("pcb_solder_paste"),
|
|
1075
|
+
shape: z53.literal("rect"),
|
|
1061
1076
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1062
|
-
pcb_group_id:
|
|
1063
|
-
subcircuit_id:
|
|
1077
|
+
pcb_group_id: z53.string().optional(),
|
|
1078
|
+
subcircuit_id: z53.string().optional(),
|
|
1064
1079
|
x: distance,
|
|
1065
1080
|
y: distance,
|
|
1066
|
-
width:
|
|
1067
|
-
height:
|
|
1081
|
+
width: z53.number(),
|
|
1082
|
+
height: z53.number(),
|
|
1068
1083
|
layer: layer_ref,
|
|
1069
|
-
pcb_component_id:
|
|
1070
|
-
pcb_smtpad_id:
|
|
1084
|
+
pcb_component_id: z53.string().optional(),
|
|
1085
|
+
pcb_smtpad_id: z53.string().optional()
|
|
1071
1086
|
});
|
|
1072
|
-
var pcb_solder_paste_pill =
|
|
1073
|
-
type:
|
|
1074
|
-
shape:
|
|
1087
|
+
var pcb_solder_paste_pill = z53.object({
|
|
1088
|
+
type: z53.literal("pcb_solder_paste"),
|
|
1089
|
+
shape: z53.literal("pill"),
|
|
1075
1090
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1076
|
-
pcb_group_id:
|
|
1077
|
-
subcircuit_id:
|
|
1091
|
+
pcb_group_id: z53.string().optional(),
|
|
1092
|
+
subcircuit_id: z53.string().optional(),
|
|
1078
1093
|
x: distance,
|
|
1079
1094
|
y: distance,
|
|
1080
|
-
width:
|
|
1081
|
-
height:
|
|
1082
|
-
radius:
|
|
1095
|
+
width: z53.number(),
|
|
1096
|
+
height: z53.number(),
|
|
1097
|
+
radius: z53.number(),
|
|
1083
1098
|
layer: layer_ref,
|
|
1084
|
-
pcb_component_id:
|
|
1085
|
-
pcb_smtpad_id:
|
|
1099
|
+
pcb_component_id: z53.string().optional(),
|
|
1100
|
+
pcb_smtpad_id: z53.string().optional()
|
|
1086
1101
|
});
|
|
1087
|
-
var pcb_solder_paste_rotated_rect =
|
|
1088
|
-
type:
|
|
1089
|
-
shape:
|
|
1102
|
+
var pcb_solder_paste_rotated_rect = z53.object({
|
|
1103
|
+
type: z53.literal("pcb_solder_paste"),
|
|
1104
|
+
shape: z53.literal("rotated_rect"),
|
|
1090
1105
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1091
|
-
pcb_group_id:
|
|
1092
|
-
subcircuit_id:
|
|
1106
|
+
pcb_group_id: z53.string().optional(),
|
|
1107
|
+
subcircuit_id: z53.string().optional(),
|
|
1093
1108
|
x: distance,
|
|
1094
1109
|
y: distance,
|
|
1095
|
-
width:
|
|
1096
|
-
height:
|
|
1110
|
+
width: z53.number(),
|
|
1111
|
+
height: z53.number(),
|
|
1097
1112
|
ccw_rotation: distance,
|
|
1098
1113
|
layer: layer_ref,
|
|
1099
|
-
pcb_component_id:
|
|
1100
|
-
pcb_smtpad_id:
|
|
1114
|
+
pcb_component_id: z53.string().optional(),
|
|
1115
|
+
pcb_smtpad_id: z53.string().optional()
|
|
1101
1116
|
});
|
|
1102
|
-
var pcb_solder_paste_oval =
|
|
1103
|
-
type:
|
|
1104
|
-
shape:
|
|
1117
|
+
var pcb_solder_paste_oval = z53.object({
|
|
1118
|
+
type: z53.literal("pcb_solder_paste"),
|
|
1119
|
+
shape: z53.literal("oval"),
|
|
1105
1120
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1106
|
-
pcb_group_id:
|
|
1107
|
-
subcircuit_id:
|
|
1121
|
+
pcb_group_id: z53.string().optional(),
|
|
1122
|
+
subcircuit_id: z53.string().optional(),
|
|
1108
1123
|
x: distance,
|
|
1109
1124
|
y: distance,
|
|
1110
|
-
width:
|
|
1111
|
-
height:
|
|
1125
|
+
width: z53.number(),
|
|
1126
|
+
height: z53.number(),
|
|
1112
1127
|
layer: layer_ref,
|
|
1113
|
-
pcb_component_id:
|
|
1114
|
-
pcb_smtpad_id:
|
|
1128
|
+
pcb_component_id: z53.string().optional(),
|
|
1129
|
+
pcb_smtpad_id: z53.string().optional()
|
|
1115
1130
|
});
|
|
1116
|
-
var pcb_solder_paste =
|
|
1131
|
+
var pcb_solder_paste = z53.union([
|
|
1117
1132
|
pcb_solder_paste_circle,
|
|
1118
1133
|
pcb_solder_paste_rect,
|
|
1119
1134
|
pcb_solder_paste_pill,
|
|
@@ -1129,95 +1144,95 @@ expectTypesMatch(
|
|
|
1129
1144
|
expectTypesMatch(true);
|
|
1130
1145
|
|
|
1131
1146
|
// src/pcb/pcb_text.ts
|
|
1132
|
-
import { z as
|
|
1133
|
-
var pcb_text =
|
|
1134
|
-
type:
|
|
1147
|
+
import { z as z54 } from "zod";
|
|
1148
|
+
var pcb_text = z54.object({
|
|
1149
|
+
type: z54.literal("pcb_text"),
|
|
1135
1150
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
1136
|
-
pcb_group_id:
|
|
1137
|
-
subcircuit_id:
|
|
1138
|
-
text:
|
|
1151
|
+
pcb_group_id: z54.string().optional(),
|
|
1152
|
+
subcircuit_id: z54.string().optional(),
|
|
1153
|
+
text: z54.string(),
|
|
1139
1154
|
center: point,
|
|
1140
1155
|
layer: layer_ref,
|
|
1141
1156
|
width: length,
|
|
1142
1157
|
height: length,
|
|
1143
|
-
lines:
|
|
1158
|
+
lines: z54.number(),
|
|
1144
1159
|
// @ts-ignore
|
|
1145
|
-
align:
|
|
1160
|
+
align: z54.enum(["bottom-left"])
|
|
1146
1161
|
}).describe("Defines text on the PCB");
|
|
1147
1162
|
expectTypesMatch(true);
|
|
1148
1163
|
|
|
1149
1164
|
// src/pcb/pcb_trace.ts
|
|
1150
|
-
import { z as
|
|
1151
|
-
var pcb_trace_route_point_wire =
|
|
1152
|
-
route_type:
|
|
1165
|
+
import { z as z55 } from "zod";
|
|
1166
|
+
var pcb_trace_route_point_wire = z55.object({
|
|
1167
|
+
route_type: z55.literal("wire"),
|
|
1153
1168
|
x: distance,
|
|
1154
1169
|
y: distance,
|
|
1155
1170
|
width: distance,
|
|
1156
|
-
start_pcb_port_id:
|
|
1157
|
-
end_pcb_port_id:
|
|
1171
|
+
start_pcb_port_id: z55.string().optional(),
|
|
1172
|
+
end_pcb_port_id: z55.string().optional(),
|
|
1158
1173
|
layer: layer_ref
|
|
1159
1174
|
});
|
|
1160
|
-
var pcb_trace_route_point_via =
|
|
1161
|
-
route_type:
|
|
1175
|
+
var pcb_trace_route_point_via = z55.object({
|
|
1176
|
+
route_type: z55.literal("via"),
|
|
1162
1177
|
x: distance,
|
|
1163
1178
|
y: distance,
|
|
1164
1179
|
hole_diameter: distance.optional(),
|
|
1165
1180
|
outer_diameter: distance.optional(),
|
|
1166
|
-
from_layer:
|
|
1167
|
-
to_layer:
|
|
1181
|
+
from_layer: z55.string(),
|
|
1182
|
+
to_layer: z55.string()
|
|
1168
1183
|
});
|
|
1169
|
-
var pcb_trace_route_point =
|
|
1184
|
+
var pcb_trace_route_point = z55.union([
|
|
1170
1185
|
pcb_trace_route_point_wire,
|
|
1171
1186
|
pcb_trace_route_point_via
|
|
1172
1187
|
]);
|
|
1173
|
-
var pcb_trace =
|
|
1174
|
-
type:
|
|
1175
|
-
source_trace_id:
|
|
1176
|
-
pcb_component_id:
|
|
1188
|
+
var pcb_trace = z55.object({
|
|
1189
|
+
type: z55.literal("pcb_trace"),
|
|
1190
|
+
source_trace_id: z55.string().optional(),
|
|
1191
|
+
pcb_component_id: z55.string().optional(),
|
|
1177
1192
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
1178
|
-
pcb_group_id:
|
|
1179
|
-
subcircuit_id:
|
|
1180
|
-
route_thickness_mode:
|
|
1181
|
-
route_order_index:
|
|
1182
|
-
should_round_corners:
|
|
1183
|
-
trace_length:
|
|
1184
|
-
route:
|
|
1193
|
+
pcb_group_id: z55.string().optional(),
|
|
1194
|
+
subcircuit_id: z55.string().optional(),
|
|
1195
|
+
route_thickness_mode: z55.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
1196
|
+
route_order_index: z55.number().optional(),
|
|
1197
|
+
should_round_corners: z55.boolean().optional(),
|
|
1198
|
+
trace_length: z55.number().optional(),
|
|
1199
|
+
route: z55.array(pcb_trace_route_point)
|
|
1185
1200
|
}).describe("Defines a trace on the PCB");
|
|
1186
1201
|
expectTypesMatch(true);
|
|
1187
1202
|
expectTypesMatch(true);
|
|
1188
1203
|
|
|
1189
1204
|
// src/pcb/pcb_trace_error.ts
|
|
1190
|
-
import { z as
|
|
1191
|
-
var pcb_trace_error =
|
|
1192
|
-
type:
|
|
1205
|
+
import { z as z56 } from "zod";
|
|
1206
|
+
var pcb_trace_error = z56.object({
|
|
1207
|
+
type: z56.literal("pcb_trace_error"),
|
|
1193
1208
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
1194
|
-
error_type:
|
|
1195
|
-
message:
|
|
1209
|
+
error_type: z56.literal("pcb_trace_error"),
|
|
1210
|
+
message: z56.string(),
|
|
1196
1211
|
center: point.optional(),
|
|
1197
|
-
pcb_trace_id:
|
|
1198
|
-
source_trace_id:
|
|
1199
|
-
pcb_component_ids:
|
|
1200
|
-
pcb_port_ids:
|
|
1212
|
+
pcb_trace_id: z56.string(),
|
|
1213
|
+
source_trace_id: z56.string(),
|
|
1214
|
+
pcb_component_ids: z56.array(z56.string()),
|
|
1215
|
+
pcb_port_ids: z56.array(z56.string())
|
|
1201
1216
|
}).describe("Defines a trace error on the PCB");
|
|
1202
1217
|
expectTypesMatch(true);
|
|
1203
1218
|
|
|
1204
1219
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
1205
|
-
import { z as
|
|
1206
|
-
var pcb_port_not_matched_error =
|
|
1207
|
-
type:
|
|
1220
|
+
import { z as z57 } from "zod";
|
|
1221
|
+
var pcb_port_not_matched_error = z57.object({
|
|
1222
|
+
type: z57.literal("pcb_port_not_matched_error"),
|
|
1208
1223
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1209
|
-
message:
|
|
1210
|
-
pcb_component_ids:
|
|
1224
|
+
message: z57.string(),
|
|
1225
|
+
pcb_component_ids: z57.array(z57.string())
|
|
1211
1226
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
1212
1227
|
expectTypesMatch(true);
|
|
1213
1228
|
|
|
1214
1229
|
// src/pcb/pcb_via.ts
|
|
1215
|
-
import { z as
|
|
1216
|
-
var pcb_via =
|
|
1217
|
-
type:
|
|
1230
|
+
import { z as z58 } from "zod";
|
|
1231
|
+
var pcb_via = z58.object({
|
|
1232
|
+
type: z58.literal("pcb_via"),
|
|
1218
1233
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
1219
|
-
pcb_group_id:
|
|
1220
|
-
subcircuit_id:
|
|
1234
|
+
pcb_group_id: z58.string().optional(),
|
|
1235
|
+
subcircuit_id: z58.string().optional(),
|
|
1221
1236
|
x: distance,
|
|
1222
1237
|
y: distance,
|
|
1223
1238
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -1226,56 +1241,56 @@ var pcb_via = z57.object({
|
|
|
1226
1241
|
from_layer: layer_ref.optional(),
|
|
1227
1242
|
/** @deprecated */
|
|
1228
1243
|
to_layer: layer_ref.optional(),
|
|
1229
|
-
layers:
|
|
1230
|
-
pcb_trace_id:
|
|
1244
|
+
layers: z58.array(layer_ref),
|
|
1245
|
+
pcb_trace_id: z58.string().optional()
|
|
1231
1246
|
}).describe("Defines a via on the PCB");
|
|
1232
1247
|
expectTypesMatch(true);
|
|
1233
1248
|
|
|
1234
1249
|
// src/pcb/pcb_board.ts
|
|
1235
|
-
import { z as
|
|
1236
|
-
var pcb_board =
|
|
1237
|
-
type:
|
|
1250
|
+
import { z as z59 } from "zod";
|
|
1251
|
+
var pcb_board = z59.object({
|
|
1252
|
+
type: z59.literal("pcb_board"),
|
|
1238
1253
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1239
|
-
is_subcircuit:
|
|
1240
|
-
subcircuit_id:
|
|
1254
|
+
is_subcircuit: z59.boolean().optional(),
|
|
1255
|
+
subcircuit_id: z59.string().optional(),
|
|
1241
1256
|
width: length,
|
|
1242
1257
|
height: length,
|
|
1243
1258
|
center: point,
|
|
1244
1259
|
thickness: length.optional().default(1.4),
|
|
1245
|
-
num_layers:
|
|
1246
|
-
outline:
|
|
1247
|
-
material:
|
|
1260
|
+
num_layers: z59.number().optional().default(4),
|
|
1261
|
+
outline: z59.array(point).optional(),
|
|
1262
|
+
material: z59.enum(["fr4", "fr1"]).default("fr4")
|
|
1248
1263
|
}).describe("Defines the board outline of the PCB");
|
|
1249
1264
|
expectTypesMatch(true);
|
|
1250
1265
|
|
|
1251
1266
|
// src/pcb/pcb_placement_error.ts
|
|
1252
|
-
import { z as
|
|
1253
|
-
var pcb_placement_error =
|
|
1254
|
-
type:
|
|
1267
|
+
import { z as z60 } from "zod";
|
|
1268
|
+
var pcb_placement_error = z60.object({
|
|
1269
|
+
type: z60.literal("pcb_placement_error"),
|
|
1255
1270
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1256
|
-
message:
|
|
1271
|
+
message: z60.string()
|
|
1257
1272
|
}).describe("Defines a placement error on the PCB");
|
|
1258
1273
|
expectTypesMatch(true);
|
|
1259
1274
|
|
|
1260
1275
|
// src/pcb/pcb_trace_hint.ts
|
|
1261
|
-
import { z as
|
|
1262
|
-
var pcb_trace_hint =
|
|
1263
|
-
type:
|
|
1276
|
+
import { z as z61 } from "zod";
|
|
1277
|
+
var pcb_trace_hint = z61.object({
|
|
1278
|
+
type: z61.literal("pcb_trace_hint"),
|
|
1264
1279
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
1265
|
-
pcb_port_id:
|
|
1266
|
-
pcb_component_id:
|
|
1267
|
-
route:
|
|
1280
|
+
pcb_port_id: z61.string(),
|
|
1281
|
+
pcb_component_id: z61.string(),
|
|
1282
|
+
route: z61.array(route_hint_point)
|
|
1268
1283
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
1269
1284
|
expectTypesMatch(true);
|
|
1270
1285
|
|
|
1271
1286
|
// src/pcb/pcb_silkscreen_line.ts
|
|
1272
|
-
import { z as
|
|
1273
|
-
var pcb_silkscreen_line =
|
|
1274
|
-
type:
|
|
1287
|
+
import { z as z62 } from "zod";
|
|
1288
|
+
var pcb_silkscreen_line = z62.object({
|
|
1289
|
+
type: z62.literal("pcb_silkscreen_line"),
|
|
1275
1290
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
1276
|
-
pcb_component_id:
|
|
1277
|
-
pcb_group_id:
|
|
1278
|
-
subcircuit_id:
|
|
1291
|
+
pcb_component_id: z62.string(),
|
|
1292
|
+
pcb_group_id: z62.string().optional(),
|
|
1293
|
+
subcircuit_id: z62.string().optional(),
|
|
1279
1294
|
stroke_width: distance.default("0.1mm"),
|
|
1280
1295
|
x1: distance,
|
|
1281
1296
|
y1: distance,
|
|
@@ -1286,46 +1301,46 @@ var pcb_silkscreen_line = z61.object({
|
|
|
1286
1301
|
expectTypesMatch(true);
|
|
1287
1302
|
|
|
1288
1303
|
// src/pcb/pcb_silkscreen_path.ts
|
|
1289
|
-
import { z as
|
|
1290
|
-
var pcb_silkscreen_path =
|
|
1291
|
-
type:
|
|
1304
|
+
import { z as z63 } from "zod";
|
|
1305
|
+
var pcb_silkscreen_path = z63.object({
|
|
1306
|
+
type: z63.literal("pcb_silkscreen_path"),
|
|
1292
1307
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
1293
|
-
pcb_component_id:
|
|
1294
|
-
pcb_group_id:
|
|
1295
|
-
subcircuit_id:
|
|
1308
|
+
pcb_component_id: z63.string(),
|
|
1309
|
+
pcb_group_id: z63.string().optional(),
|
|
1310
|
+
subcircuit_id: z63.string().optional(),
|
|
1296
1311
|
layer: visible_layer,
|
|
1297
|
-
route:
|
|
1312
|
+
route: z63.array(point),
|
|
1298
1313
|
stroke_width: length
|
|
1299
1314
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1300
1315
|
expectTypesMatch(true);
|
|
1301
1316
|
|
|
1302
1317
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1303
|
-
import { z as
|
|
1304
|
-
var pcb_silkscreen_text =
|
|
1305
|
-
type:
|
|
1318
|
+
import { z as z64 } from "zod";
|
|
1319
|
+
var pcb_silkscreen_text = z64.object({
|
|
1320
|
+
type: z64.literal("pcb_silkscreen_text"),
|
|
1306
1321
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1307
|
-
pcb_group_id:
|
|
1308
|
-
subcircuit_id:
|
|
1309
|
-
font:
|
|
1322
|
+
pcb_group_id: z64.string().optional(),
|
|
1323
|
+
subcircuit_id: z64.string().optional(),
|
|
1324
|
+
font: z64.literal("tscircuit2024").default("tscircuit2024"),
|
|
1310
1325
|
font_size: distance.default("0.2mm"),
|
|
1311
|
-
pcb_component_id:
|
|
1312
|
-
text:
|
|
1313
|
-
ccw_rotation:
|
|
1326
|
+
pcb_component_id: z64.string(),
|
|
1327
|
+
text: z64.string(),
|
|
1328
|
+
ccw_rotation: z64.number().optional(),
|
|
1314
1329
|
layer: layer_ref,
|
|
1315
|
-
is_mirrored:
|
|
1330
|
+
is_mirrored: z64.boolean().default(false).optional(),
|
|
1316
1331
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1317
|
-
anchor_alignment:
|
|
1332
|
+
anchor_alignment: z64.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center")
|
|
1318
1333
|
}).describe("Defines silkscreen text on the PCB");
|
|
1319
1334
|
expectTypesMatch(true);
|
|
1320
1335
|
|
|
1321
1336
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1322
|
-
import { z as
|
|
1323
|
-
var pcb_silkscreen_rect =
|
|
1324
|
-
type:
|
|
1337
|
+
import { z as z65 } from "zod";
|
|
1338
|
+
var pcb_silkscreen_rect = z65.object({
|
|
1339
|
+
type: z65.literal("pcb_silkscreen_rect"),
|
|
1325
1340
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1326
|
-
pcb_component_id:
|
|
1327
|
-
pcb_group_id:
|
|
1328
|
-
subcircuit_id:
|
|
1341
|
+
pcb_component_id: z65.string(),
|
|
1342
|
+
pcb_group_id: z65.string().optional(),
|
|
1343
|
+
subcircuit_id: z65.string().optional(),
|
|
1329
1344
|
center: point,
|
|
1330
1345
|
width: length,
|
|
1331
1346
|
height: length,
|
|
@@ -1335,15 +1350,15 @@ var pcb_silkscreen_rect = z64.object({
|
|
|
1335
1350
|
expectTypesMatch(true);
|
|
1336
1351
|
|
|
1337
1352
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1338
|
-
import { z as
|
|
1339
|
-
var pcb_silkscreen_circle =
|
|
1340
|
-
type:
|
|
1353
|
+
import { z as z66 } from "zod";
|
|
1354
|
+
var pcb_silkscreen_circle = z66.object({
|
|
1355
|
+
type: z66.literal("pcb_silkscreen_circle"),
|
|
1341
1356
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1342
1357
|
"pcb_silkscreen_circle"
|
|
1343
1358
|
),
|
|
1344
|
-
pcb_component_id:
|
|
1345
|
-
pcb_group_id:
|
|
1346
|
-
subcircuit_id:
|
|
1359
|
+
pcb_component_id: z66.string(),
|
|
1360
|
+
pcb_group_id: z66.string().optional(),
|
|
1361
|
+
subcircuit_id: z66.string().optional(),
|
|
1347
1362
|
center: point,
|
|
1348
1363
|
radius: length,
|
|
1349
1364
|
layer: visible_layer,
|
|
@@ -1352,13 +1367,13 @@ var pcb_silkscreen_circle = z65.object({
|
|
|
1352
1367
|
expectTypesMatch(true);
|
|
1353
1368
|
|
|
1354
1369
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
1355
|
-
import { z as
|
|
1356
|
-
var pcb_silkscreen_oval =
|
|
1357
|
-
type:
|
|
1370
|
+
import { z as z67 } from "zod";
|
|
1371
|
+
var pcb_silkscreen_oval = z67.object({
|
|
1372
|
+
type: z67.literal("pcb_silkscreen_oval"),
|
|
1358
1373
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
1359
|
-
pcb_component_id:
|
|
1360
|
-
pcb_group_id:
|
|
1361
|
-
subcircuit_id:
|
|
1374
|
+
pcb_component_id: z67.string(),
|
|
1375
|
+
pcb_group_id: z67.string().optional(),
|
|
1376
|
+
subcircuit_id: z67.string().optional(),
|
|
1362
1377
|
center: point,
|
|
1363
1378
|
radius_x: distance,
|
|
1364
1379
|
radius_y: distance,
|
|
@@ -1367,158 +1382,158 @@ var pcb_silkscreen_oval = z66.object({
|
|
|
1367
1382
|
expectTypesMatch(true);
|
|
1368
1383
|
|
|
1369
1384
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
1370
|
-
import { z as
|
|
1371
|
-
var pcb_fabrication_note_text =
|
|
1372
|
-
type:
|
|
1385
|
+
import { z as z68 } from "zod";
|
|
1386
|
+
var pcb_fabrication_note_text = z68.object({
|
|
1387
|
+
type: z68.literal("pcb_fabrication_note_text"),
|
|
1373
1388
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
1374
1389
|
"pcb_fabrication_note_text"
|
|
1375
1390
|
),
|
|
1376
|
-
subcircuit_id:
|
|
1377
|
-
pcb_group_id:
|
|
1378
|
-
font:
|
|
1391
|
+
subcircuit_id: z68.string().optional(),
|
|
1392
|
+
pcb_group_id: z68.string().optional(),
|
|
1393
|
+
font: z68.literal("tscircuit2024").default("tscircuit2024"),
|
|
1379
1394
|
font_size: distance.default("1mm"),
|
|
1380
|
-
pcb_component_id:
|
|
1381
|
-
text:
|
|
1395
|
+
pcb_component_id: z68.string(),
|
|
1396
|
+
text: z68.string(),
|
|
1382
1397
|
layer: visible_layer,
|
|
1383
1398
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1384
|
-
anchor_alignment:
|
|
1385
|
-
color:
|
|
1399
|
+
anchor_alignment: z68.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1400
|
+
color: z68.string().optional()
|
|
1386
1401
|
}).describe(
|
|
1387
1402
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
1388
1403
|
);
|
|
1389
1404
|
expectTypesMatch(true);
|
|
1390
1405
|
|
|
1391
1406
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
1392
|
-
import { z as
|
|
1393
|
-
var pcb_fabrication_note_path =
|
|
1394
|
-
type:
|
|
1407
|
+
import { z as z69 } from "zod";
|
|
1408
|
+
var pcb_fabrication_note_path = z69.object({
|
|
1409
|
+
type: z69.literal("pcb_fabrication_note_path"),
|
|
1395
1410
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
1396
1411
|
"pcb_fabrication_note_path"
|
|
1397
1412
|
),
|
|
1398
|
-
pcb_component_id:
|
|
1399
|
-
subcircuit_id:
|
|
1413
|
+
pcb_component_id: z69.string(),
|
|
1414
|
+
subcircuit_id: z69.string().optional(),
|
|
1400
1415
|
layer: layer_ref,
|
|
1401
|
-
route:
|
|
1416
|
+
route: z69.array(point),
|
|
1402
1417
|
stroke_width: length,
|
|
1403
|
-
color:
|
|
1418
|
+
color: z69.string().optional()
|
|
1404
1419
|
}).describe(
|
|
1405
1420
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
1406
1421
|
);
|
|
1407
1422
|
expectTypesMatch(true);
|
|
1408
1423
|
|
|
1409
1424
|
// src/pcb/pcb_keepout.ts
|
|
1410
|
-
import { z as
|
|
1411
|
-
var pcb_keepout =
|
|
1412
|
-
type:
|
|
1413
|
-
shape:
|
|
1414
|
-
pcb_group_id:
|
|
1415
|
-
subcircuit_id:
|
|
1425
|
+
import { z as z70 } from "zod";
|
|
1426
|
+
var pcb_keepout = z70.object({
|
|
1427
|
+
type: z70.literal("pcb_keepout"),
|
|
1428
|
+
shape: z70.literal("rect"),
|
|
1429
|
+
pcb_group_id: z70.string().optional(),
|
|
1430
|
+
subcircuit_id: z70.string().optional(),
|
|
1416
1431
|
center: point,
|
|
1417
1432
|
width: distance,
|
|
1418
1433
|
height: distance,
|
|
1419
|
-
pcb_keepout_id:
|
|
1420
|
-
layers:
|
|
1434
|
+
pcb_keepout_id: z70.string(),
|
|
1435
|
+
layers: z70.array(z70.string()),
|
|
1421
1436
|
// Specify layers where the keepout applies
|
|
1422
|
-
description:
|
|
1437
|
+
description: z70.string().optional()
|
|
1423
1438
|
// Optional description of the keepout
|
|
1424
1439
|
}).or(
|
|
1425
|
-
|
|
1426
|
-
type:
|
|
1427
|
-
shape:
|
|
1428
|
-
pcb_group_id:
|
|
1429
|
-
subcircuit_id:
|
|
1440
|
+
z70.object({
|
|
1441
|
+
type: z70.literal("pcb_keepout"),
|
|
1442
|
+
shape: z70.literal("circle"),
|
|
1443
|
+
pcb_group_id: z70.string().optional(),
|
|
1444
|
+
subcircuit_id: z70.string().optional(),
|
|
1430
1445
|
center: point,
|
|
1431
1446
|
radius: distance,
|
|
1432
|
-
pcb_keepout_id:
|
|
1433
|
-
layers:
|
|
1447
|
+
pcb_keepout_id: z70.string(),
|
|
1448
|
+
layers: z70.array(z70.string()),
|
|
1434
1449
|
// Specify layers where the keepout applies
|
|
1435
|
-
description:
|
|
1450
|
+
description: z70.string().optional()
|
|
1436
1451
|
// Optional description of the keepout
|
|
1437
1452
|
})
|
|
1438
1453
|
);
|
|
1439
1454
|
|
|
1440
1455
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
1441
|
-
import { z as
|
|
1442
|
-
var pcb_missing_footprint_error =
|
|
1443
|
-
type:
|
|
1456
|
+
import { z as z71 } from "zod";
|
|
1457
|
+
var pcb_missing_footprint_error = z71.object({
|
|
1458
|
+
type: z71.literal("pcb_missing_footprint_error"),
|
|
1444
1459
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
1445
1460
|
"pcb_missing_footprint_error"
|
|
1446
1461
|
),
|
|
1447
|
-
pcb_group_id:
|
|
1448
|
-
subcircuit_id:
|
|
1449
|
-
error_type:
|
|
1450
|
-
source_component_id:
|
|
1451
|
-
message:
|
|
1462
|
+
pcb_group_id: z71.string().optional(),
|
|
1463
|
+
subcircuit_id: z71.string().optional(),
|
|
1464
|
+
error_type: z71.literal("pcb_missing_footprint_error"),
|
|
1465
|
+
source_component_id: z71.string(),
|
|
1466
|
+
message: z71.string()
|
|
1452
1467
|
}).describe("Defines a missing footprint error on the PCB");
|
|
1453
1468
|
expectTypesMatch(
|
|
1454
1469
|
true
|
|
1455
1470
|
);
|
|
1456
1471
|
|
|
1457
1472
|
// src/pcb/pcb_group.ts
|
|
1458
|
-
import { z as
|
|
1459
|
-
var pcb_group =
|
|
1460
|
-
type:
|
|
1473
|
+
import { z as z72 } from "zod";
|
|
1474
|
+
var pcb_group = z72.object({
|
|
1475
|
+
type: z72.literal("pcb_group"),
|
|
1461
1476
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
1462
|
-
source_group_id:
|
|
1463
|
-
is_subcircuit:
|
|
1464
|
-
subcircuit_id:
|
|
1477
|
+
source_group_id: z72.string(),
|
|
1478
|
+
is_subcircuit: z72.boolean().optional(),
|
|
1479
|
+
subcircuit_id: z72.string().optional(),
|
|
1465
1480
|
width: length,
|
|
1466
1481
|
height: length,
|
|
1467
1482
|
center: point,
|
|
1468
|
-
pcb_component_ids:
|
|
1469
|
-
name:
|
|
1470
|
-
description:
|
|
1483
|
+
pcb_component_ids: z72.array(z72.string()),
|
|
1484
|
+
name: z72.string().optional(),
|
|
1485
|
+
description: z72.string().optional()
|
|
1471
1486
|
}).describe("Defines a group of components on the PCB");
|
|
1472
1487
|
expectTypesMatch(true);
|
|
1473
1488
|
|
|
1474
1489
|
// src/pcb/pcb_autorouting_error.ts
|
|
1475
|
-
import { z as
|
|
1476
|
-
var pcb_autorouting_error =
|
|
1477
|
-
type:
|
|
1490
|
+
import { z as z73 } from "zod";
|
|
1491
|
+
var pcb_autorouting_error = z73.object({
|
|
1492
|
+
type: z73.literal("pcb_autorouting_error"),
|
|
1478
1493
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
1479
|
-
message:
|
|
1494
|
+
message: z73.string()
|
|
1480
1495
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
1481
1496
|
expectTypesMatch(true);
|
|
1482
1497
|
|
|
1483
1498
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
1484
|
-
import { z as
|
|
1485
|
-
var pcb_manual_edit_conflict_warning =
|
|
1486
|
-
type:
|
|
1499
|
+
import { z as z74 } from "zod";
|
|
1500
|
+
var pcb_manual_edit_conflict_warning = z74.object({
|
|
1501
|
+
type: z74.literal("pcb_manual_edit_conflict_warning"),
|
|
1487
1502
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
1488
1503
|
"pcb_manual_edit_conflict_warning"
|
|
1489
1504
|
),
|
|
1490
|
-
message:
|
|
1491
|
-
pcb_component_id:
|
|
1492
|
-
pcb_group_id:
|
|
1493
|
-
subcircuit_id:
|
|
1494
|
-
source_component_id:
|
|
1505
|
+
message: z74.string(),
|
|
1506
|
+
pcb_component_id: z74.string(),
|
|
1507
|
+
pcb_group_id: z74.string().optional(),
|
|
1508
|
+
subcircuit_id: z74.string().optional(),
|
|
1509
|
+
source_component_id: z74.string()
|
|
1495
1510
|
}).describe(
|
|
1496
1511
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
1497
1512
|
);
|
|
1498
1513
|
expectTypesMatch(true);
|
|
1499
1514
|
|
|
1500
1515
|
// src/cad/cad_component.ts
|
|
1501
|
-
import { z as
|
|
1502
|
-
var cad_component =
|
|
1503
|
-
type:
|
|
1504
|
-
cad_component_id:
|
|
1505
|
-
pcb_component_id:
|
|
1506
|
-
source_component_id:
|
|
1516
|
+
import { z as z75 } from "zod";
|
|
1517
|
+
var cad_component = z75.object({
|
|
1518
|
+
type: z75.literal("cad_component"),
|
|
1519
|
+
cad_component_id: z75.string(),
|
|
1520
|
+
pcb_component_id: z75.string(),
|
|
1521
|
+
source_component_id: z75.string(),
|
|
1507
1522
|
position: point3,
|
|
1508
1523
|
rotation: point3.optional(),
|
|
1509
1524
|
size: point3.optional(),
|
|
1510
1525
|
layer: layer_ref.optional(),
|
|
1511
1526
|
// These are all ways to generate/load the 3d model
|
|
1512
|
-
footprinter_string:
|
|
1513
|
-
model_obj_url:
|
|
1514
|
-
model_stl_url:
|
|
1515
|
-
model_3mf_url:
|
|
1516
|
-
model_jscad:
|
|
1527
|
+
footprinter_string: z75.string().optional(),
|
|
1528
|
+
model_obj_url: z75.string().optional(),
|
|
1529
|
+
model_stl_url: z75.string().optional(),
|
|
1530
|
+
model_3mf_url: z75.string().optional(),
|
|
1531
|
+
model_jscad: z75.any().optional()
|
|
1517
1532
|
}).describe("Defines a component on the PCB");
|
|
1518
1533
|
|
|
1519
1534
|
// src/any_circuit_element.ts
|
|
1520
|
-
import { z as
|
|
1521
|
-
var any_circuit_element =
|
|
1535
|
+
import { z as z76 } from "zod";
|
|
1536
|
+
var any_circuit_element = z76.union([
|
|
1522
1537
|
source_trace,
|
|
1523
1538
|
source_port,
|
|
1524
1539
|
any_source_component,
|
|
@@ -1667,6 +1682,7 @@ export {
|
|
|
1667
1682
|
source_component_base,
|
|
1668
1683
|
source_group,
|
|
1669
1684
|
source_led,
|
|
1685
|
+
source_missing_property_error,
|
|
1670
1686
|
source_net,
|
|
1671
1687
|
source_port,
|
|
1672
1688
|
source_project_metadata,
|