circuit-json 0.0.454 → 0.0.456
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 +18 -0
- package/dist/index.d.mts +280 -4
- package/dist/index.mjs +742 -709
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2204,6 +2204,22 @@ var pcb_solder_paste_rotated_rect = z105.object({
|
|
|
2204
2204
|
pcb_component_id: z105.string().optional(),
|
|
2205
2205
|
pcb_smtpad_id: z105.string().optional()
|
|
2206
2206
|
});
|
|
2207
|
+
var pcb_solder_paste_rotated_pill = z105.object({
|
|
2208
|
+
type: z105.literal("pcb_solder_paste"),
|
|
2209
|
+
shape: z105.literal("rotated_pill"),
|
|
2210
|
+
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2211
|
+
pcb_group_id: z105.string().optional(),
|
|
2212
|
+
subcircuit_id: z105.string().optional(),
|
|
2213
|
+
x: distance,
|
|
2214
|
+
y: distance,
|
|
2215
|
+
width: z105.number(),
|
|
2216
|
+
height: z105.number(),
|
|
2217
|
+
radius: z105.number(),
|
|
2218
|
+
ccw_rotation: rotation,
|
|
2219
|
+
layer: layer_ref,
|
|
2220
|
+
pcb_component_id: z105.string().optional(),
|
|
2221
|
+
pcb_smtpad_id: z105.string().optional()
|
|
2222
|
+
});
|
|
2207
2223
|
var pcb_solder_paste_oval = z105.object({
|
|
2208
2224
|
type: z105.literal("pcb_solder_paste"),
|
|
2209
2225
|
shape: z105.literal("oval"),
|
|
@@ -2223,6 +2239,7 @@ var pcb_solder_paste = z105.union([
|
|
|
2223
2239
|
pcb_solder_paste_rect,
|
|
2224
2240
|
pcb_solder_paste_pill,
|
|
2225
2241
|
pcb_solder_paste_rotated_rect,
|
|
2242
|
+
pcb_solder_paste_rotated_pill,
|
|
2226
2243
|
pcb_solder_paste_oval
|
|
2227
2244
|
]).describe("Defines solderpaste on the PCB");
|
|
2228
2245
|
expectTypesMatch(true);
|
|
@@ -2231,6 +2248,9 @@ expectTypesMatch(true);
|
|
|
2231
2248
|
expectTypesMatch(
|
|
2232
2249
|
true
|
|
2233
2250
|
);
|
|
2251
|
+
expectTypesMatch(
|
|
2252
|
+
true
|
|
2253
|
+
);
|
|
2234
2254
|
expectTypesMatch(true);
|
|
2235
2255
|
|
|
2236
2256
|
// src/pcb/pcb_text.ts
|
|
@@ -2492,40 +2512,51 @@ var pcb_placement_error = base_circuit_json_error.extend({
|
|
|
2492
2512
|
}).describe("Defines a placement error on the PCB");
|
|
2493
2513
|
expectTypesMatch(true);
|
|
2494
2514
|
|
|
2495
|
-
// src/pcb/
|
|
2515
|
+
// src/pcb/pcb_packing_error.ts
|
|
2496
2516
|
import { z as z119 } from "zod";
|
|
2517
|
+
var pcb_packing_error = base_circuit_json_error.extend({
|
|
2518
|
+
type: z119.literal("pcb_packing_error"),
|
|
2519
|
+
pcb_packing_error_id: getZodPrefixedIdWithDefault("pcb_packing_error"),
|
|
2520
|
+
error_type: z119.literal("pcb_packing_error").default("pcb_packing_error"),
|
|
2521
|
+
pcb_group_id: z119.string().optional(),
|
|
2522
|
+
subcircuit_id: z119.string().optional()
|
|
2523
|
+
}).describe("Defines a failure to pack PCB components within layout bounds");
|
|
2524
|
+
expectTypesMatch(true);
|
|
2525
|
+
|
|
2526
|
+
// src/pcb/pcb_panelization_placement_error.ts
|
|
2527
|
+
import { z as z120 } from "zod";
|
|
2497
2528
|
var pcb_panelization_placement_error = base_circuit_json_error.extend({
|
|
2498
|
-
type:
|
|
2529
|
+
type: z120.literal("pcb_panelization_placement_error"),
|
|
2499
2530
|
pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault(
|
|
2500
2531
|
"pcb_panelization_placement_error"
|
|
2501
2532
|
),
|
|
2502
|
-
error_type:
|
|
2503
|
-
pcb_panel_id:
|
|
2504
|
-
pcb_board_id:
|
|
2505
|
-
subcircuit_id:
|
|
2533
|
+
error_type: z120.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
|
|
2534
|
+
pcb_panel_id: z120.string().optional(),
|
|
2535
|
+
pcb_board_id: z120.string().optional(),
|
|
2536
|
+
subcircuit_id: z120.string().optional()
|
|
2506
2537
|
}).describe("Defines a panelization placement error on the PCB");
|
|
2507
2538
|
expectTypesMatch(true);
|
|
2508
2539
|
|
|
2509
2540
|
// src/pcb/pcb_trace_hint.ts
|
|
2510
|
-
import { z as
|
|
2511
|
-
var pcb_trace_hint =
|
|
2512
|
-
type:
|
|
2541
|
+
import { z as z121 } from "zod";
|
|
2542
|
+
var pcb_trace_hint = z121.object({
|
|
2543
|
+
type: z121.literal("pcb_trace_hint"),
|
|
2513
2544
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
2514
|
-
pcb_port_id:
|
|
2515
|
-
pcb_component_id:
|
|
2516
|
-
route:
|
|
2517
|
-
subcircuit_id:
|
|
2545
|
+
pcb_port_id: z121.string(),
|
|
2546
|
+
pcb_component_id: z121.string(),
|
|
2547
|
+
route: z121.array(route_hint_point),
|
|
2548
|
+
subcircuit_id: z121.string().optional()
|
|
2518
2549
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
2519
2550
|
expectTypesMatch(true);
|
|
2520
2551
|
|
|
2521
2552
|
// src/pcb/pcb_silkscreen_line.ts
|
|
2522
|
-
import { z as
|
|
2523
|
-
var pcb_silkscreen_line =
|
|
2524
|
-
type:
|
|
2553
|
+
import { z as z122 } from "zod";
|
|
2554
|
+
var pcb_silkscreen_line = z122.object({
|
|
2555
|
+
type: z122.literal("pcb_silkscreen_line"),
|
|
2525
2556
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
2526
|
-
pcb_component_id:
|
|
2527
|
-
pcb_group_id:
|
|
2528
|
-
subcircuit_id:
|
|
2557
|
+
pcb_component_id: z122.string(),
|
|
2558
|
+
pcb_group_id: z122.string().optional(),
|
|
2559
|
+
subcircuit_id: z122.string().optional(),
|
|
2529
2560
|
stroke_width: distance.default("0.1mm"),
|
|
2530
2561
|
x1: distance,
|
|
2531
2562
|
y1: distance,
|
|
@@ -2536,32 +2567,32 @@ var pcb_silkscreen_line = z121.object({
|
|
|
2536
2567
|
expectTypesMatch(true);
|
|
2537
2568
|
|
|
2538
2569
|
// src/pcb/pcb_silkscreen_path.ts
|
|
2539
|
-
import { z as
|
|
2540
|
-
var pcb_silkscreen_path =
|
|
2541
|
-
type:
|
|
2570
|
+
import { z as z123 } from "zod";
|
|
2571
|
+
var pcb_silkscreen_path = z123.object({
|
|
2572
|
+
type: z123.literal("pcb_silkscreen_path"),
|
|
2542
2573
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
2543
|
-
pcb_component_id:
|
|
2544
|
-
pcb_group_id:
|
|
2545
|
-
subcircuit_id:
|
|
2574
|
+
pcb_component_id: z123.string(),
|
|
2575
|
+
pcb_group_id: z123.string().optional(),
|
|
2576
|
+
subcircuit_id: z123.string().optional(),
|
|
2546
2577
|
layer: visible_layer,
|
|
2547
|
-
route:
|
|
2578
|
+
route: z123.array(point),
|
|
2548
2579
|
stroke_width: length
|
|
2549
2580
|
}).describe("Defines a silkscreen path on the PCB");
|
|
2550
2581
|
expectTypesMatch(true);
|
|
2551
2582
|
|
|
2552
2583
|
// src/pcb/pcb_silkscreen_text.ts
|
|
2553
|
-
import { z as
|
|
2554
|
-
var pcb_silkscreen_text =
|
|
2555
|
-
type:
|
|
2584
|
+
import { z as z124 } from "zod";
|
|
2585
|
+
var pcb_silkscreen_text = z124.object({
|
|
2586
|
+
type: z124.literal("pcb_silkscreen_text"),
|
|
2556
2587
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
2557
|
-
pcb_group_id:
|
|
2558
|
-
subcircuit_id:
|
|
2559
|
-
font:
|
|
2588
|
+
pcb_group_id: z124.string().optional(),
|
|
2589
|
+
subcircuit_id: z124.string().optional(),
|
|
2590
|
+
font: z124.literal("tscircuit2024").default("tscircuit2024"),
|
|
2560
2591
|
font_size: distance.default("0.2mm"),
|
|
2561
|
-
pcb_component_id:
|
|
2562
|
-
text:
|
|
2563
|
-
is_knockout:
|
|
2564
|
-
knockout_padding:
|
|
2592
|
+
pcb_component_id: z124.string(),
|
|
2593
|
+
text: z124.string(),
|
|
2594
|
+
is_knockout: z124.boolean().default(false).optional(),
|
|
2595
|
+
knockout_padding: z124.object({
|
|
2565
2596
|
left: length,
|
|
2566
2597
|
top: length,
|
|
2567
2598
|
bottom: length,
|
|
@@ -2572,27 +2603,27 @@ var pcb_silkscreen_text = z123.object({
|
|
|
2572
2603
|
bottom: "0.2mm",
|
|
2573
2604
|
right: "0.2mm"
|
|
2574
2605
|
}).optional(),
|
|
2575
|
-
ccw_rotation:
|
|
2606
|
+
ccw_rotation: z124.number().optional(),
|
|
2576
2607
|
layer: layer_ref,
|
|
2577
|
-
is_mirrored:
|
|
2608
|
+
is_mirrored: z124.boolean().default(false).optional(),
|
|
2578
2609
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2579
2610
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2580
2611
|
}).describe("Defines silkscreen text on the PCB");
|
|
2581
2612
|
expectTypesMatch(true);
|
|
2582
2613
|
|
|
2583
2614
|
// src/pcb/pcb_copper_text.ts
|
|
2584
|
-
import { z as
|
|
2585
|
-
var pcb_copper_text =
|
|
2586
|
-
type:
|
|
2615
|
+
import { z as z125 } from "zod";
|
|
2616
|
+
var pcb_copper_text = z125.object({
|
|
2617
|
+
type: z125.literal("pcb_copper_text"),
|
|
2587
2618
|
pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
|
|
2588
|
-
pcb_group_id:
|
|
2589
|
-
subcircuit_id:
|
|
2590
|
-
font:
|
|
2619
|
+
pcb_group_id: z125.string().optional(),
|
|
2620
|
+
subcircuit_id: z125.string().optional(),
|
|
2621
|
+
font: z125.literal("tscircuit2024").default("tscircuit2024"),
|
|
2591
2622
|
font_size: distance.default("0.2mm"),
|
|
2592
|
-
pcb_component_id:
|
|
2593
|
-
text:
|
|
2594
|
-
is_knockout:
|
|
2595
|
-
knockout_padding:
|
|
2623
|
+
pcb_component_id: z125.string(),
|
|
2624
|
+
text: z125.string(),
|
|
2625
|
+
is_knockout: z125.boolean().default(false).optional(),
|
|
2626
|
+
knockout_padding: z125.object({
|
|
2596
2627
|
left: length,
|
|
2597
2628
|
top: length,
|
|
2598
2629
|
bottom: length,
|
|
@@ -2603,61 +2634,61 @@ var pcb_copper_text = z124.object({
|
|
|
2603
2634
|
bottom: "0.2mm",
|
|
2604
2635
|
right: "0.2mm"
|
|
2605
2636
|
}).optional(),
|
|
2606
|
-
ccw_rotation:
|
|
2637
|
+
ccw_rotation: z125.number().optional(),
|
|
2607
2638
|
layer: layer_ref,
|
|
2608
|
-
is_mirrored:
|
|
2639
|
+
is_mirrored: z125.boolean().default(false).optional(),
|
|
2609
2640
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2610
2641
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2611
2642
|
}).describe("Defines copper text on the PCB");
|
|
2612
2643
|
expectTypesMatch(true);
|
|
2613
2644
|
|
|
2614
2645
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
2615
|
-
import { z as
|
|
2616
|
-
var pcb_silkscreen_rect =
|
|
2617
|
-
type:
|
|
2646
|
+
import { z as z126 } from "zod";
|
|
2647
|
+
var pcb_silkscreen_rect = z126.object({
|
|
2648
|
+
type: z126.literal("pcb_silkscreen_rect"),
|
|
2618
2649
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
2619
|
-
pcb_component_id:
|
|
2620
|
-
pcb_group_id:
|
|
2621
|
-
subcircuit_id:
|
|
2650
|
+
pcb_component_id: z126.string(),
|
|
2651
|
+
pcb_group_id: z126.string().optional(),
|
|
2652
|
+
subcircuit_id: z126.string().optional(),
|
|
2622
2653
|
center: point,
|
|
2623
2654
|
width: length,
|
|
2624
2655
|
height: length,
|
|
2625
2656
|
layer: layer_ref,
|
|
2626
2657
|
stroke_width: length.default("1mm"),
|
|
2627
2658
|
corner_radius: length.optional(),
|
|
2628
|
-
is_filled:
|
|
2629
|
-
has_stroke:
|
|
2630
|
-
is_stroke_dashed:
|
|
2631
|
-
ccw_rotation:
|
|
2659
|
+
is_filled: z126.boolean().default(true).optional(),
|
|
2660
|
+
has_stroke: z126.boolean().optional(),
|
|
2661
|
+
is_stroke_dashed: z126.boolean().optional(),
|
|
2662
|
+
ccw_rotation: z126.number().optional()
|
|
2632
2663
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
2633
2664
|
expectTypesMatch(true);
|
|
2634
2665
|
|
|
2635
2666
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
2636
|
-
import { z as
|
|
2637
|
-
var pcb_silkscreen_circle =
|
|
2638
|
-
type:
|
|
2667
|
+
import { z as z127 } from "zod";
|
|
2668
|
+
var pcb_silkscreen_circle = z127.object({
|
|
2669
|
+
type: z127.literal("pcb_silkscreen_circle"),
|
|
2639
2670
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
2640
2671
|
"pcb_silkscreen_circle"
|
|
2641
2672
|
),
|
|
2642
|
-
pcb_component_id:
|
|
2643
|
-
pcb_group_id:
|
|
2644
|
-
subcircuit_id:
|
|
2673
|
+
pcb_component_id: z127.string(),
|
|
2674
|
+
pcb_group_id: z127.string().optional(),
|
|
2675
|
+
subcircuit_id: z127.string().optional(),
|
|
2645
2676
|
center: point,
|
|
2646
2677
|
radius: length,
|
|
2647
2678
|
layer: visible_layer,
|
|
2648
2679
|
stroke_width: length.default("1mm"),
|
|
2649
|
-
is_filled:
|
|
2680
|
+
is_filled: z127.boolean().optional()
|
|
2650
2681
|
}).describe("Defines a silkscreen circle on the PCB");
|
|
2651
2682
|
expectTypesMatch(true);
|
|
2652
2683
|
|
|
2653
2684
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
2654
|
-
import { z as
|
|
2655
|
-
var pcb_silkscreen_oval =
|
|
2656
|
-
type:
|
|
2685
|
+
import { z as z128 } from "zod";
|
|
2686
|
+
var pcb_silkscreen_oval = z128.object({
|
|
2687
|
+
type: z128.literal("pcb_silkscreen_oval"),
|
|
2657
2688
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
2658
|
-
pcb_component_id:
|
|
2659
|
-
pcb_group_id:
|
|
2660
|
-
subcircuit_id:
|
|
2689
|
+
pcb_component_id: z128.string(),
|
|
2690
|
+
pcb_group_id: z128.string().optional(),
|
|
2691
|
+
subcircuit_id: z128.string().optional(),
|
|
2661
2692
|
center: point,
|
|
2662
2693
|
radius_x: distance,
|
|
2663
2694
|
radius_y: distance,
|
|
@@ -2667,265 +2698,265 @@ var pcb_silkscreen_oval = z127.object({
|
|
|
2667
2698
|
expectTypesMatch(true);
|
|
2668
2699
|
|
|
2669
2700
|
// src/pcb/pcb_silkscreen_graphic.ts
|
|
2670
|
-
import { z as
|
|
2671
|
-
var pcb_silkscreen_graphic_base =
|
|
2672
|
-
type:
|
|
2701
|
+
import { z as z129 } from "zod";
|
|
2702
|
+
var pcb_silkscreen_graphic_base = z129.object({
|
|
2703
|
+
type: z129.literal("pcb_silkscreen_graphic"),
|
|
2673
2704
|
pcb_silkscreen_graphic_id: getZodPrefixedIdWithDefault(
|
|
2674
2705
|
"pcb_silkscreen_graphic"
|
|
2675
2706
|
),
|
|
2676
|
-
pcb_component_id:
|
|
2677
|
-
pcb_group_id:
|
|
2678
|
-
subcircuit_id:
|
|
2707
|
+
pcb_component_id: z129.string(),
|
|
2708
|
+
pcb_group_id: z129.string().optional(),
|
|
2709
|
+
subcircuit_id: z129.string().optional(),
|
|
2679
2710
|
layer: visible_layer,
|
|
2680
2711
|
image_asset: asset.optional()
|
|
2681
2712
|
});
|
|
2682
2713
|
var pcb_silkscreen_graphic_brep = pcb_silkscreen_graphic_base.extend({
|
|
2683
|
-
shape:
|
|
2714
|
+
shape: z129.literal("brep"),
|
|
2684
2715
|
brep_shape
|
|
2685
2716
|
}).describe("Defines a BRep silkscreen graphic on the PCB");
|
|
2686
2717
|
expectTypesMatch(
|
|
2687
2718
|
true
|
|
2688
2719
|
);
|
|
2689
|
-
var pcb_silkscreen_graphic =
|
|
2720
|
+
var pcb_silkscreen_graphic = z129.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
|
|
2690
2721
|
expectTypesMatch(true);
|
|
2691
2722
|
|
|
2692
2723
|
// src/pcb/pcb_silkscreen_pill.ts
|
|
2693
|
-
import { z as
|
|
2694
|
-
var pcb_silkscreen_pill =
|
|
2695
|
-
type:
|
|
2724
|
+
import { z as z130 } from "zod";
|
|
2725
|
+
var pcb_silkscreen_pill = z130.object({
|
|
2726
|
+
type: z130.literal("pcb_silkscreen_pill"),
|
|
2696
2727
|
pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
|
|
2697
|
-
pcb_component_id:
|
|
2698
|
-
pcb_group_id:
|
|
2699
|
-
subcircuit_id:
|
|
2728
|
+
pcb_component_id: z130.string(),
|
|
2729
|
+
pcb_group_id: z130.string().optional(),
|
|
2730
|
+
subcircuit_id: z130.string().optional(),
|
|
2700
2731
|
center: point,
|
|
2701
2732
|
width: length,
|
|
2702
2733
|
height: length,
|
|
2703
2734
|
layer: layer_ref,
|
|
2704
|
-
ccw_rotation:
|
|
2735
|
+
ccw_rotation: z130.number().optional()
|
|
2705
2736
|
}).describe("Defines a silkscreen pill on the PCB");
|
|
2706
2737
|
expectTypesMatch(true);
|
|
2707
2738
|
|
|
2708
2739
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
2709
|
-
import { z as
|
|
2710
|
-
var pcb_fabrication_note_text =
|
|
2711
|
-
type:
|
|
2740
|
+
import { z as z131 } from "zod";
|
|
2741
|
+
var pcb_fabrication_note_text = z131.object({
|
|
2742
|
+
type: z131.literal("pcb_fabrication_note_text"),
|
|
2712
2743
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
2713
2744
|
"pcb_fabrication_note_text"
|
|
2714
2745
|
),
|
|
2715
|
-
subcircuit_id:
|
|
2716
|
-
pcb_group_id:
|
|
2717
|
-
font:
|
|
2746
|
+
subcircuit_id: z131.string().optional(),
|
|
2747
|
+
pcb_group_id: z131.string().optional(),
|
|
2748
|
+
font: z131.literal("tscircuit2024").default("tscircuit2024"),
|
|
2718
2749
|
font_size: distance.default("1mm"),
|
|
2719
|
-
pcb_component_id:
|
|
2720
|
-
text:
|
|
2721
|
-
ccw_rotation:
|
|
2750
|
+
pcb_component_id: z131.string(),
|
|
2751
|
+
text: z131.string(),
|
|
2752
|
+
ccw_rotation: z131.number().optional(),
|
|
2722
2753
|
layer: visible_layer,
|
|
2723
2754
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2724
|
-
anchor_alignment:
|
|
2725
|
-
color:
|
|
2755
|
+
anchor_alignment: z131.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2756
|
+
color: z131.string().optional()
|
|
2726
2757
|
}).describe(
|
|
2727
2758
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
2728
2759
|
);
|
|
2729
2760
|
expectTypesMatch(true);
|
|
2730
2761
|
|
|
2731
2762
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
2732
|
-
import { z as
|
|
2733
|
-
var pcb_fabrication_note_path =
|
|
2734
|
-
type:
|
|
2763
|
+
import { z as z132 } from "zod";
|
|
2764
|
+
var pcb_fabrication_note_path = z132.object({
|
|
2765
|
+
type: z132.literal("pcb_fabrication_note_path"),
|
|
2735
2766
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
2736
2767
|
"pcb_fabrication_note_path"
|
|
2737
2768
|
),
|
|
2738
|
-
pcb_component_id:
|
|
2739
|
-
subcircuit_id:
|
|
2769
|
+
pcb_component_id: z132.string(),
|
|
2770
|
+
subcircuit_id: z132.string().optional(),
|
|
2740
2771
|
layer: layer_ref,
|
|
2741
|
-
route:
|
|
2772
|
+
route: z132.array(point),
|
|
2742
2773
|
stroke_width: length,
|
|
2743
|
-
color:
|
|
2774
|
+
color: z132.string().optional()
|
|
2744
2775
|
}).describe(
|
|
2745
2776
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
2746
2777
|
);
|
|
2747
2778
|
expectTypesMatch(true);
|
|
2748
2779
|
|
|
2749
2780
|
// src/pcb/pcb_fabrication_note_rect.ts
|
|
2750
|
-
import { z as
|
|
2751
|
-
var pcb_fabrication_note_rect =
|
|
2752
|
-
type:
|
|
2781
|
+
import { z as z133 } from "zod";
|
|
2782
|
+
var pcb_fabrication_note_rect = z133.object({
|
|
2783
|
+
type: z133.literal("pcb_fabrication_note_rect"),
|
|
2753
2784
|
pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
|
|
2754
2785
|
"pcb_fabrication_note_rect"
|
|
2755
2786
|
),
|
|
2756
|
-
pcb_component_id:
|
|
2757
|
-
pcb_group_id:
|
|
2758
|
-
subcircuit_id:
|
|
2787
|
+
pcb_component_id: z133.string(),
|
|
2788
|
+
pcb_group_id: z133.string().optional(),
|
|
2789
|
+
subcircuit_id: z133.string().optional(),
|
|
2759
2790
|
center: point,
|
|
2760
2791
|
width: length,
|
|
2761
2792
|
height: length,
|
|
2762
2793
|
layer: visible_layer,
|
|
2763
2794
|
stroke_width: length.default("0.1mm"),
|
|
2764
2795
|
corner_radius: length.optional(),
|
|
2765
|
-
is_filled:
|
|
2766
|
-
has_stroke:
|
|
2767
|
-
is_stroke_dashed:
|
|
2768
|
-
color:
|
|
2796
|
+
is_filled: z133.boolean().optional(),
|
|
2797
|
+
has_stroke: z133.boolean().optional(),
|
|
2798
|
+
is_stroke_dashed: z133.boolean().optional(),
|
|
2799
|
+
color: z133.string().optional()
|
|
2769
2800
|
}).describe("Defines a fabrication note rectangle on the PCB");
|
|
2770
2801
|
expectTypesMatch(true);
|
|
2771
2802
|
|
|
2772
2803
|
// src/pcb/pcb_fabrication_note_dimension.ts
|
|
2773
|
-
import { z as
|
|
2774
|
-
var pcb_fabrication_note_dimension =
|
|
2775
|
-
type:
|
|
2804
|
+
import { z as z134 } from "zod";
|
|
2805
|
+
var pcb_fabrication_note_dimension = z134.object({
|
|
2806
|
+
type: z134.literal("pcb_fabrication_note_dimension"),
|
|
2776
2807
|
pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
|
|
2777
2808
|
"pcb_fabrication_note_dimension"
|
|
2778
2809
|
),
|
|
2779
|
-
pcb_component_id:
|
|
2780
|
-
pcb_group_id:
|
|
2781
|
-
subcircuit_id:
|
|
2810
|
+
pcb_component_id: z134.string(),
|
|
2811
|
+
pcb_group_id: z134.string().optional(),
|
|
2812
|
+
subcircuit_id: z134.string().optional(),
|
|
2782
2813
|
layer: visible_layer,
|
|
2783
2814
|
from: point,
|
|
2784
2815
|
to: point,
|
|
2785
|
-
text:
|
|
2786
|
-
text_ccw_rotation:
|
|
2816
|
+
text: z134.string().optional(),
|
|
2817
|
+
text_ccw_rotation: z134.number().optional(),
|
|
2787
2818
|
offset: length.optional(),
|
|
2788
2819
|
offset_distance: length.optional(),
|
|
2789
|
-
offset_direction:
|
|
2790
|
-
x:
|
|
2791
|
-
y:
|
|
2820
|
+
offset_direction: z134.object({
|
|
2821
|
+
x: z134.number(),
|
|
2822
|
+
y: z134.number()
|
|
2792
2823
|
}).optional(),
|
|
2793
|
-
font:
|
|
2824
|
+
font: z134.literal("tscircuit2024").default("tscircuit2024"),
|
|
2794
2825
|
font_size: length.default("1mm"),
|
|
2795
|
-
color:
|
|
2826
|
+
color: z134.string().optional(),
|
|
2796
2827
|
arrow_size: length.default("1mm")
|
|
2797
2828
|
}).describe("Defines a measurement annotation within PCB fabrication notes");
|
|
2798
2829
|
expectTypesMatch(true);
|
|
2799
2830
|
|
|
2800
2831
|
// src/pcb/pcb_note_text.ts
|
|
2801
|
-
import { z as z134 } from "zod";
|
|
2802
|
-
var pcb_note_text = z134.object({
|
|
2803
|
-
type: z134.literal("pcb_note_text"),
|
|
2804
|
-
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2805
|
-
pcb_component_id: z134.string().optional(),
|
|
2806
|
-
pcb_group_id: z134.string().optional(),
|
|
2807
|
-
subcircuit_id: z134.string().optional(),
|
|
2808
|
-
name: z134.string().optional(),
|
|
2809
|
-
font: z134.literal("tscircuit2024").default("tscircuit2024"),
|
|
2810
|
-
font_size: distance.default("1mm"),
|
|
2811
|
-
text: z134.string().optional(),
|
|
2812
|
-
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2813
|
-
anchor_alignment: z134.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2814
|
-
layer: visible_layer.default("top"),
|
|
2815
|
-
is_mirrored_from_top_view: z134.boolean().optional(),
|
|
2816
|
-
color: z134.string().optional()
|
|
2817
|
-
}).describe("Defines a documentation note in text on the PCB");
|
|
2818
|
-
expectTypesMatch(true);
|
|
2819
|
-
|
|
2820
|
-
// src/pcb/pcb_note_rect.ts
|
|
2821
2832
|
import { z as z135 } from "zod";
|
|
2822
|
-
var
|
|
2823
|
-
type: z135.literal("
|
|
2824
|
-
|
|
2833
|
+
var pcb_note_text = z135.object({
|
|
2834
|
+
type: z135.literal("pcb_note_text"),
|
|
2835
|
+
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2825
2836
|
pcb_component_id: z135.string().optional(),
|
|
2826
2837
|
pcb_group_id: z135.string().optional(),
|
|
2827
2838
|
subcircuit_id: z135.string().optional(),
|
|
2828
2839
|
name: z135.string().optional(),
|
|
2840
|
+
font: z135.literal("tscircuit2024").default("tscircuit2024"),
|
|
2841
|
+
font_size: distance.default("1mm"),
|
|
2829
2842
|
text: z135.string().optional(),
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
height: length,
|
|
2843
|
+
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2844
|
+
anchor_alignment: z135.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2833
2845
|
layer: visible_layer.default("top"),
|
|
2834
|
-
|
|
2835
|
-
corner_radius: length.optional(),
|
|
2836
|
-
is_filled: z135.boolean().optional(),
|
|
2837
|
-
has_stroke: z135.boolean().optional(),
|
|
2838
|
-
is_stroke_dashed: z135.boolean().optional(),
|
|
2846
|
+
is_mirrored_from_top_view: z135.boolean().optional(),
|
|
2839
2847
|
color: z135.string().optional()
|
|
2840
|
-
}).describe("Defines a
|
|
2848
|
+
}).describe("Defines a documentation note in text on the PCB");
|
|
2841
2849
|
expectTypesMatch(true);
|
|
2842
2850
|
|
|
2843
|
-
// src/pcb/
|
|
2851
|
+
// src/pcb/pcb_note_rect.ts
|
|
2844
2852
|
import { z as z136 } from "zod";
|
|
2845
|
-
var
|
|
2846
|
-
type: z136.literal("
|
|
2847
|
-
|
|
2853
|
+
var pcb_note_rect = z136.object({
|
|
2854
|
+
type: z136.literal("pcb_note_rect"),
|
|
2855
|
+
pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
|
|
2848
2856
|
pcb_component_id: z136.string().optional(),
|
|
2849
2857
|
pcb_group_id: z136.string().optional(),
|
|
2850
2858
|
subcircuit_id: z136.string().optional(),
|
|
2851
2859
|
name: z136.string().optional(),
|
|
2852
2860
|
text: z136.string().optional(),
|
|
2853
|
-
|
|
2861
|
+
center: point,
|
|
2862
|
+
width: length,
|
|
2863
|
+
height: length,
|
|
2854
2864
|
layer: visible_layer.default("top"),
|
|
2855
2865
|
stroke_width: length.default("0.1mm"),
|
|
2866
|
+
corner_radius: length.optional(),
|
|
2867
|
+
is_filled: z136.boolean().optional(),
|
|
2868
|
+
has_stroke: z136.boolean().optional(),
|
|
2869
|
+
is_stroke_dashed: z136.boolean().optional(),
|
|
2856
2870
|
color: z136.string().optional()
|
|
2857
|
-
}).describe("Defines a
|
|
2871
|
+
}).describe("Defines a rectangular documentation note on the PCB");
|
|
2858
2872
|
expectTypesMatch(true);
|
|
2859
2873
|
|
|
2860
|
-
// src/pcb/
|
|
2874
|
+
// src/pcb/pcb_note_path.ts
|
|
2861
2875
|
import { z as z137 } from "zod";
|
|
2862
|
-
var
|
|
2863
|
-
type: z137.literal("
|
|
2864
|
-
|
|
2876
|
+
var pcb_note_path = z137.object({
|
|
2877
|
+
type: z137.literal("pcb_note_path"),
|
|
2878
|
+
pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
|
|
2865
2879
|
pcb_component_id: z137.string().optional(),
|
|
2866
2880
|
pcb_group_id: z137.string().optional(),
|
|
2867
2881
|
subcircuit_id: z137.string().optional(),
|
|
2868
2882
|
name: z137.string().optional(),
|
|
2869
2883
|
text: z137.string().optional(),
|
|
2884
|
+
route: z137.array(point),
|
|
2885
|
+
layer: visible_layer.default("top"),
|
|
2886
|
+
stroke_width: length.default("0.1mm"),
|
|
2887
|
+
color: z137.string().optional()
|
|
2888
|
+
}).describe("Defines a polyline documentation note on the PCB");
|
|
2889
|
+
expectTypesMatch(true);
|
|
2890
|
+
|
|
2891
|
+
// src/pcb/pcb_note_line.ts
|
|
2892
|
+
import { z as z138 } from "zod";
|
|
2893
|
+
var pcb_note_line = z138.object({
|
|
2894
|
+
type: z138.literal("pcb_note_line"),
|
|
2895
|
+
pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
|
|
2896
|
+
pcb_component_id: z138.string().optional(),
|
|
2897
|
+
pcb_group_id: z138.string().optional(),
|
|
2898
|
+
subcircuit_id: z138.string().optional(),
|
|
2899
|
+
name: z138.string().optional(),
|
|
2900
|
+
text: z138.string().optional(),
|
|
2870
2901
|
x1: distance,
|
|
2871
2902
|
y1: distance,
|
|
2872
2903
|
x2: distance,
|
|
2873
2904
|
y2: distance,
|
|
2874
2905
|
layer: visible_layer.default("top"),
|
|
2875
2906
|
stroke_width: distance.default("0.1mm"),
|
|
2876
|
-
color:
|
|
2877
|
-
is_dashed:
|
|
2907
|
+
color: z138.string().optional(),
|
|
2908
|
+
is_dashed: z138.boolean().optional()
|
|
2878
2909
|
}).describe("Defines a straight documentation note line on the PCB");
|
|
2879
2910
|
expectTypesMatch(true);
|
|
2880
2911
|
|
|
2881
2912
|
// src/pcb/pcb_note_dimension.ts
|
|
2882
|
-
import { z as
|
|
2883
|
-
var pcb_note_dimension =
|
|
2884
|
-
type:
|
|
2913
|
+
import { z as z139 } from "zod";
|
|
2914
|
+
var pcb_note_dimension = z139.object({
|
|
2915
|
+
type: z139.literal("pcb_note_dimension"),
|
|
2885
2916
|
pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
|
|
2886
|
-
pcb_component_id:
|
|
2887
|
-
pcb_group_id:
|
|
2888
|
-
subcircuit_id:
|
|
2889
|
-
name:
|
|
2917
|
+
pcb_component_id: z139.string().optional(),
|
|
2918
|
+
pcb_group_id: z139.string().optional(),
|
|
2919
|
+
subcircuit_id: z139.string().optional(),
|
|
2920
|
+
name: z139.string().optional(),
|
|
2890
2921
|
from: point,
|
|
2891
2922
|
to: point,
|
|
2892
|
-
text:
|
|
2893
|
-
text_ccw_rotation:
|
|
2923
|
+
text: z139.string().optional(),
|
|
2924
|
+
text_ccw_rotation: z139.number().optional(),
|
|
2894
2925
|
offset_distance: length.optional(),
|
|
2895
|
-
offset_direction:
|
|
2896
|
-
x:
|
|
2897
|
-
y:
|
|
2926
|
+
offset_direction: z139.object({
|
|
2927
|
+
x: z139.number(),
|
|
2928
|
+
y: z139.number()
|
|
2898
2929
|
}).optional(),
|
|
2899
|
-
font:
|
|
2930
|
+
font: z139.literal("tscircuit2024").default("tscircuit2024"),
|
|
2900
2931
|
font_size: length.default("1mm"),
|
|
2901
2932
|
layer: visible_layer.default("top"),
|
|
2902
|
-
color:
|
|
2933
|
+
color: z139.string().optional(),
|
|
2903
2934
|
arrow_size: length.default("1mm")
|
|
2904
2935
|
}).describe("Defines a measurement annotation within PCB documentation notes");
|
|
2905
2936
|
expectTypesMatch(true);
|
|
2906
2937
|
|
|
2907
2938
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
2908
|
-
import { z as
|
|
2939
|
+
import { z as z140 } from "zod";
|
|
2909
2940
|
var pcb_footprint_overlap_error = base_circuit_json_error.extend({
|
|
2910
|
-
type:
|
|
2941
|
+
type: z140.literal("pcb_footprint_overlap_error"),
|
|
2911
2942
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2912
|
-
error_type:
|
|
2913
|
-
pcb_smtpad_ids:
|
|
2914
|
-
pcb_plated_hole_ids:
|
|
2915
|
-
pcb_hole_ids:
|
|
2916
|
-
pcb_keepout_ids:
|
|
2943
|
+
error_type: z140.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
2944
|
+
pcb_smtpad_ids: z140.array(z140.string()).optional(),
|
|
2945
|
+
pcb_plated_hole_ids: z140.array(z140.string()).optional(),
|
|
2946
|
+
pcb_hole_ids: z140.array(z140.string()).optional(),
|
|
2947
|
+
pcb_keepout_ids: z140.array(z140.string()).optional()
|
|
2917
2948
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
2918
2949
|
expectTypesMatch(
|
|
2919
2950
|
true
|
|
2920
2951
|
);
|
|
2921
2952
|
|
|
2922
2953
|
// src/pcb/pcb_courtyard_overlap_error.ts
|
|
2923
|
-
import { z as
|
|
2954
|
+
import { z as z141 } from "zod";
|
|
2924
2955
|
var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
|
|
2925
|
-
type:
|
|
2956
|
+
type: z141.literal("pcb_courtyard_overlap_error"),
|
|
2926
2957
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2927
|
-
error_type:
|
|
2928
|
-
pcb_component_ids:
|
|
2958
|
+
error_type: z141.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
|
|
2959
|
+
pcb_component_ids: z141.tuple([z141.string(), z141.string()])
|
|
2929
2960
|
}).describe(
|
|
2930
2961
|
"Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
|
|
2931
2962
|
);
|
|
@@ -2934,49 +2965,49 @@ expectTypesMatch(
|
|
|
2934
2965
|
);
|
|
2935
2966
|
|
|
2936
2967
|
// src/pcb/pcb_keepout.ts
|
|
2937
|
-
import { z as
|
|
2938
|
-
var pcb_keepout =
|
|
2939
|
-
type:
|
|
2940
|
-
shape:
|
|
2941
|
-
pcb_group_id:
|
|
2942
|
-
subcircuit_id:
|
|
2968
|
+
import { z as z142 } from "zod";
|
|
2969
|
+
var pcb_keepout = z142.object({
|
|
2970
|
+
type: z142.literal("pcb_keepout"),
|
|
2971
|
+
shape: z142.literal("rect"),
|
|
2972
|
+
pcb_group_id: z142.string().optional(),
|
|
2973
|
+
subcircuit_id: z142.string().optional(),
|
|
2943
2974
|
center: point,
|
|
2944
2975
|
width: distance,
|
|
2945
2976
|
height: distance,
|
|
2946
|
-
pcb_keepout_id:
|
|
2947
|
-
layers:
|
|
2977
|
+
pcb_keepout_id: z142.string(),
|
|
2978
|
+
layers: z142.array(z142.string()),
|
|
2948
2979
|
// Specify layers where the keepout applies
|
|
2949
|
-
description:
|
|
2980
|
+
description: z142.string().optional()
|
|
2950
2981
|
// Optional description of the keepout
|
|
2951
2982
|
}).or(
|
|
2952
|
-
|
|
2953
|
-
type:
|
|
2954
|
-
shape:
|
|
2955
|
-
pcb_group_id:
|
|
2956
|
-
subcircuit_id:
|
|
2983
|
+
z142.object({
|
|
2984
|
+
type: z142.literal("pcb_keepout"),
|
|
2985
|
+
shape: z142.literal("circle"),
|
|
2986
|
+
pcb_group_id: z142.string().optional(),
|
|
2987
|
+
subcircuit_id: z142.string().optional(),
|
|
2957
2988
|
center: point,
|
|
2958
2989
|
radius: distance,
|
|
2959
|
-
pcb_keepout_id:
|
|
2960
|
-
layers:
|
|
2990
|
+
pcb_keepout_id: z142.string(),
|
|
2991
|
+
layers: z142.array(z142.string()),
|
|
2961
2992
|
// Specify layers where the keepout applies
|
|
2962
|
-
description:
|
|
2993
|
+
description: z142.string().optional()
|
|
2963
2994
|
// Optional description of the keepout
|
|
2964
2995
|
})
|
|
2965
2996
|
);
|
|
2966
2997
|
expectTypesMatch(true);
|
|
2967
2998
|
|
|
2968
2999
|
// src/pcb/pcb_cutout.ts
|
|
2969
|
-
import { z as
|
|
2970
|
-
var pcb_cutout_base =
|
|
2971
|
-
type:
|
|
3000
|
+
import { z as z143 } from "zod";
|
|
3001
|
+
var pcb_cutout_base = z143.object({
|
|
3002
|
+
type: z143.literal("pcb_cutout"),
|
|
2972
3003
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
2973
|
-
pcb_group_id:
|
|
2974
|
-
subcircuit_id:
|
|
2975
|
-
pcb_board_id:
|
|
2976
|
-
pcb_panel_id:
|
|
3004
|
+
pcb_group_id: z143.string().optional(),
|
|
3005
|
+
subcircuit_id: z143.string().optional(),
|
|
3006
|
+
pcb_board_id: z143.string().optional(),
|
|
3007
|
+
pcb_panel_id: z143.string().optional()
|
|
2977
3008
|
});
|
|
2978
3009
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
2979
|
-
shape:
|
|
3010
|
+
shape: z143.literal("rect"),
|
|
2980
3011
|
center: point,
|
|
2981
3012
|
width: length,
|
|
2982
3013
|
height: length,
|
|
@@ -2985,26 +3016,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
2985
3016
|
});
|
|
2986
3017
|
expectTypesMatch(true);
|
|
2987
3018
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
2988
|
-
shape:
|
|
3019
|
+
shape: z143.literal("circle"),
|
|
2989
3020
|
center: point,
|
|
2990
3021
|
radius: length
|
|
2991
3022
|
});
|
|
2992
3023
|
expectTypesMatch(true);
|
|
2993
3024
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
2994
|
-
shape:
|
|
2995
|
-
points:
|
|
3025
|
+
shape: z143.literal("polygon"),
|
|
3026
|
+
points: z143.array(point)
|
|
2996
3027
|
});
|
|
2997
3028
|
expectTypesMatch(true);
|
|
2998
3029
|
var pcb_cutout_path = pcb_cutout_base.extend({
|
|
2999
|
-
shape:
|
|
3000
|
-
route:
|
|
3030
|
+
shape: z143.literal("path"),
|
|
3031
|
+
route: z143.array(point),
|
|
3001
3032
|
slot_width: length,
|
|
3002
3033
|
slot_length: length.optional(),
|
|
3003
3034
|
space_between_slots: length.optional(),
|
|
3004
3035
|
slot_corner_radius: length.optional()
|
|
3005
3036
|
});
|
|
3006
3037
|
expectTypesMatch(true);
|
|
3007
|
-
var pcb_cutout =
|
|
3038
|
+
var pcb_cutout = z143.discriminatedUnion("shape", [
|
|
3008
3039
|
pcb_cutout_rect,
|
|
3009
3040
|
pcb_cutout_circle,
|
|
3010
3041
|
pcb_cutout_polygon,
|
|
@@ -3013,169 +3044,169 @@ var pcb_cutout = z142.discriminatedUnion("shape", [
|
|
|
3013
3044
|
expectTypesMatch(true);
|
|
3014
3045
|
|
|
3015
3046
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
3016
|
-
import { z as
|
|
3047
|
+
import { z as z144 } from "zod";
|
|
3017
3048
|
var pcb_missing_footprint_error = base_circuit_json_error.extend({
|
|
3018
|
-
type:
|
|
3049
|
+
type: z144.literal("pcb_missing_footprint_error"),
|
|
3019
3050
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
3020
3051
|
"pcb_missing_footprint_error"
|
|
3021
3052
|
),
|
|
3022
|
-
pcb_group_id:
|
|
3023
|
-
subcircuit_id:
|
|
3024
|
-
error_type:
|
|
3025
|
-
source_component_id:
|
|
3053
|
+
pcb_group_id: z144.string().optional(),
|
|
3054
|
+
subcircuit_id: z144.string().optional(),
|
|
3055
|
+
error_type: z144.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
3056
|
+
source_component_id: z144.string()
|
|
3026
3057
|
}).describe("Defines a missing footprint error on the PCB");
|
|
3027
3058
|
expectTypesMatch(
|
|
3028
3059
|
true
|
|
3029
3060
|
);
|
|
3030
3061
|
|
|
3031
3062
|
// src/pcb/external_footprint_load_error.ts
|
|
3032
|
-
import { z as
|
|
3063
|
+
import { z as z145 } from "zod";
|
|
3033
3064
|
var external_footprint_load_error = base_circuit_json_error.extend({
|
|
3034
|
-
type:
|
|
3065
|
+
type: z145.literal("external_footprint_load_error"),
|
|
3035
3066
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
3036
3067
|
"external_footprint_load_error"
|
|
3037
3068
|
),
|
|
3038
|
-
pcb_component_id:
|
|
3039
|
-
source_component_id:
|
|
3040
|
-
pcb_group_id:
|
|
3041
|
-
subcircuit_id:
|
|
3042
|
-
footprinter_string:
|
|
3043
|
-
error_type:
|
|
3069
|
+
pcb_component_id: z145.string(),
|
|
3070
|
+
source_component_id: z145.string(),
|
|
3071
|
+
pcb_group_id: z145.string().optional(),
|
|
3072
|
+
subcircuit_id: z145.string().optional(),
|
|
3073
|
+
footprinter_string: z145.string().optional(),
|
|
3074
|
+
error_type: z145.literal("external_footprint_load_error").default("external_footprint_load_error")
|
|
3044
3075
|
}).describe("Defines an error when an external footprint fails to load");
|
|
3045
3076
|
expectTypesMatch(true);
|
|
3046
3077
|
|
|
3047
3078
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
3048
|
-
import { z as
|
|
3079
|
+
import { z as z146 } from "zod";
|
|
3049
3080
|
var circuit_json_footprint_load_error = base_circuit_json_error.extend({
|
|
3050
|
-
type:
|
|
3081
|
+
type: z146.literal("circuit_json_footprint_load_error"),
|
|
3051
3082
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
3052
3083
|
"circuit_json_footprint_load_error"
|
|
3053
3084
|
),
|
|
3054
|
-
pcb_component_id:
|
|
3055
|
-
source_component_id:
|
|
3056
|
-
pcb_group_id:
|
|
3057
|
-
subcircuit_id:
|
|
3058
|
-
error_type:
|
|
3059
|
-
circuit_json:
|
|
3085
|
+
pcb_component_id: z146.string(),
|
|
3086
|
+
source_component_id: z146.string(),
|
|
3087
|
+
pcb_group_id: z146.string().optional(),
|
|
3088
|
+
subcircuit_id: z146.string().optional(),
|
|
3089
|
+
error_type: z146.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
|
|
3090
|
+
circuit_json: z146.array(z146.any()).optional()
|
|
3060
3091
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
3061
3092
|
expectTypesMatch(true);
|
|
3062
3093
|
|
|
3063
3094
|
// src/pcb/pcb_group.ts
|
|
3064
|
-
import { z as
|
|
3065
|
-
var pcb_group =
|
|
3066
|
-
type:
|
|
3095
|
+
import { z as z147 } from "zod";
|
|
3096
|
+
var pcb_group = z147.object({
|
|
3097
|
+
type: z147.literal("pcb_group"),
|
|
3067
3098
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
3068
|
-
source_group_id:
|
|
3069
|
-
is_subcircuit:
|
|
3070
|
-
subcircuit_id:
|
|
3099
|
+
source_group_id: z147.string(),
|
|
3100
|
+
is_subcircuit: z147.boolean().optional(),
|
|
3101
|
+
subcircuit_id: z147.string().optional(),
|
|
3071
3102
|
width: length.optional(),
|
|
3072
3103
|
height: length.optional(),
|
|
3073
3104
|
center: point,
|
|
3074
|
-
display_offset_x:
|
|
3105
|
+
display_offset_x: z147.string().optional().describe(
|
|
3075
3106
|
"How to display the x offset for this group, usually corresponding with how the user specified it"
|
|
3076
3107
|
),
|
|
3077
|
-
display_offset_y:
|
|
3108
|
+
display_offset_y: z147.string().optional().describe(
|
|
3078
3109
|
"How to display the y offset for this group, usually corresponding with how the user specified it"
|
|
3079
3110
|
),
|
|
3080
|
-
outline:
|
|
3111
|
+
outline: z147.array(point).optional(),
|
|
3081
3112
|
anchor_position: point.optional(),
|
|
3082
3113
|
anchor_alignment: ninePointAnchor.default("center"),
|
|
3083
|
-
position_mode:
|
|
3084
|
-
positioned_relative_to_pcb_group_id:
|
|
3085
|
-
positioned_relative_to_pcb_board_id:
|
|
3086
|
-
pcb_component_ids:
|
|
3087
|
-
child_layout_mode:
|
|
3088
|
-
name:
|
|
3089
|
-
description:
|
|
3090
|
-
layout_mode:
|
|
3091
|
-
autorouter_configuration:
|
|
3114
|
+
position_mode: z147.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
|
|
3115
|
+
positioned_relative_to_pcb_group_id: z147.string().optional(),
|
|
3116
|
+
positioned_relative_to_pcb_board_id: z147.string().optional(),
|
|
3117
|
+
pcb_component_ids: z147.array(z147.string()),
|
|
3118
|
+
child_layout_mode: z147.enum(["packed", "none"]).optional(),
|
|
3119
|
+
name: z147.string().optional(),
|
|
3120
|
+
description: z147.string().optional(),
|
|
3121
|
+
layout_mode: z147.string().optional(),
|
|
3122
|
+
autorouter_configuration: z147.object({
|
|
3092
3123
|
trace_clearance: length
|
|
3093
3124
|
}).optional(),
|
|
3094
|
-
autorouter_used_string:
|
|
3125
|
+
autorouter_used_string: z147.string().optional()
|
|
3095
3126
|
}).describe("Defines a group of components on the PCB");
|
|
3096
3127
|
expectTypesMatch(true);
|
|
3097
3128
|
|
|
3098
3129
|
// src/pcb/pcb_autorouting_error.ts
|
|
3099
|
-
import { z as
|
|
3130
|
+
import { z as z148 } from "zod";
|
|
3100
3131
|
var pcb_autorouting_error = base_circuit_json_error.extend({
|
|
3101
|
-
type:
|
|
3132
|
+
type: z148.literal("pcb_autorouting_error"),
|
|
3102
3133
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
3103
|
-
error_type:
|
|
3104
|
-
subcircuit_id:
|
|
3134
|
+
error_type: z148.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
3135
|
+
subcircuit_id: z148.string().optional()
|
|
3105
3136
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
3106
3137
|
expectTypesMatch(true);
|
|
3107
3138
|
|
|
3108
3139
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
3109
|
-
import { z as
|
|
3110
|
-
var pcb_manual_edit_conflict_warning =
|
|
3111
|
-
type:
|
|
3140
|
+
import { z as z149 } from "zod";
|
|
3141
|
+
var pcb_manual_edit_conflict_warning = z149.object({
|
|
3142
|
+
type: z149.literal("pcb_manual_edit_conflict_warning"),
|
|
3112
3143
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
3113
3144
|
"pcb_manual_edit_conflict_warning"
|
|
3114
3145
|
),
|
|
3115
|
-
warning_type:
|
|
3116
|
-
message:
|
|
3117
|
-
pcb_component_id:
|
|
3118
|
-
pcb_group_id:
|
|
3119
|
-
subcircuit_id:
|
|
3120
|
-
source_component_id:
|
|
3146
|
+
warning_type: z149.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
3147
|
+
message: z149.string(),
|
|
3148
|
+
pcb_component_id: z149.string(),
|
|
3149
|
+
pcb_group_id: z149.string().optional(),
|
|
3150
|
+
subcircuit_id: z149.string().optional(),
|
|
3151
|
+
source_component_id: z149.string()
|
|
3121
3152
|
}).describe(
|
|
3122
3153
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
3123
3154
|
);
|
|
3124
3155
|
expectTypesMatch(true);
|
|
3125
3156
|
|
|
3126
3157
|
// src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
|
|
3127
|
-
import { z as
|
|
3128
|
-
var connectorOrientationDirection =
|
|
3129
|
-
var pcb_connector_not_in_accessible_orientation_warning =
|
|
3130
|
-
type:
|
|
3158
|
+
import { z as z150 } from "zod";
|
|
3159
|
+
var connectorOrientationDirection = z150.enum(["x-", "x+", "y+", "y-"]);
|
|
3160
|
+
var pcb_connector_not_in_accessible_orientation_warning = z150.object({
|
|
3161
|
+
type: z150.literal("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3131
3162
|
pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
|
|
3132
3163
|
"pcb_connector_not_in_accessible_orientation_warning"
|
|
3133
3164
|
),
|
|
3134
|
-
warning_type:
|
|
3135
|
-
message:
|
|
3136
|
-
pcb_component_id:
|
|
3137
|
-
source_component_id:
|
|
3138
|
-
pcb_board_id:
|
|
3165
|
+
warning_type: z150.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3166
|
+
message: z150.string(),
|
|
3167
|
+
pcb_component_id: z150.string(),
|
|
3168
|
+
source_component_id: z150.string().optional(),
|
|
3169
|
+
pcb_board_id: z150.string().optional(),
|
|
3139
3170
|
facing_direction: connectorOrientationDirection,
|
|
3140
3171
|
recommended_facing_direction: connectorOrientationDirection,
|
|
3141
|
-
subcircuit_id:
|
|
3172
|
+
subcircuit_id: z150.string().optional()
|
|
3142
3173
|
}).describe(
|
|
3143
3174
|
"Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
|
|
3144
3175
|
);
|
|
3145
3176
|
expectTypesMatch(true);
|
|
3146
3177
|
|
|
3147
3178
|
// src/pcb/supplier_footprint_mismatch_warning.ts
|
|
3148
|
-
import { z as
|
|
3149
|
-
var supplier_footprint_mismatch_warning =
|
|
3150
|
-
type:
|
|
3179
|
+
import { z as z151 } from "zod";
|
|
3180
|
+
var supplier_footprint_mismatch_warning = z151.object({
|
|
3181
|
+
type: z151.literal("supplier_footprint_mismatch_warning"),
|
|
3151
3182
|
supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
|
|
3152
3183
|
"supplier_footprint_mismatch_warning"
|
|
3153
3184
|
),
|
|
3154
|
-
warning_type:
|
|
3155
|
-
message:
|
|
3156
|
-
source_component_id:
|
|
3157
|
-
pcb_component_id:
|
|
3158
|
-
pcb_group_id:
|
|
3159
|
-
subcircuit_id:
|
|
3185
|
+
warning_type: z151.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
|
|
3186
|
+
message: z151.string(),
|
|
3187
|
+
source_component_id: z151.string(),
|
|
3188
|
+
pcb_component_id: z151.string().optional(),
|
|
3189
|
+
pcb_group_id: z151.string().optional(),
|
|
3190
|
+
subcircuit_id: z151.string().optional(),
|
|
3160
3191
|
supplier_name: supplier_name.optional(),
|
|
3161
|
-
supplier_part_number:
|
|
3162
|
-
supplier_footprint_url:
|
|
3163
|
-
footprint_copper_intersection_over_union:
|
|
3192
|
+
supplier_part_number: z151.string().optional(),
|
|
3193
|
+
supplier_footprint_url: z151.string().optional(),
|
|
3194
|
+
footprint_copper_intersection_over_union: z151.number()
|
|
3164
3195
|
}).describe(
|
|
3165
3196
|
"Warning emitted when a supplier part footprint does not match the expected footprint"
|
|
3166
3197
|
);
|
|
3167
3198
|
expectTypesMatch(true);
|
|
3168
3199
|
|
|
3169
3200
|
// src/pcb/pcb_breakout_point.ts
|
|
3170
|
-
import { z as
|
|
3171
|
-
var pcb_breakout_point =
|
|
3172
|
-
type:
|
|
3201
|
+
import { z as z152 } from "zod";
|
|
3202
|
+
var pcb_breakout_point = z152.object({
|
|
3203
|
+
type: z152.literal("pcb_breakout_point"),
|
|
3173
3204
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
3174
|
-
pcb_group_id:
|
|
3175
|
-
subcircuit_id:
|
|
3176
|
-
source_trace_id:
|
|
3177
|
-
source_port_id:
|
|
3178
|
-
source_net_id:
|
|
3205
|
+
pcb_group_id: z152.string(),
|
|
3206
|
+
subcircuit_id: z152.string().optional(),
|
|
3207
|
+
source_trace_id: z152.string().optional(),
|
|
3208
|
+
source_port_id: z152.string().optional(),
|
|
3209
|
+
source_net_id: z152.string().optional(),
|
|
3179
3210
|
x: distance,
|
|
3180
3211
|
y: distance
|
|
3181
3212
|
}).describe(
|
|
@@ -3184,61 +3215,61 @@ var pcb_breakout_point = z151.object({
|
|
|
3184
3215
|
expectTypesMatch(true);
|
|
3185
3216
|
|
|
3186
3217
|
// src/pcb/pcb_ground_plane.ts
|
|
3187
|
-
import { z as
|
|
3188
|
-
var pcb_ground_plane =
|
|
3189
|
-
type:
|
|
3218
|
+
import { z as z153 } from "zod";
|
|
3219
|
+
var pcb_ground_plane = z153.object({
|
|
3220
|
+
type: z153.literal("pcb_ground_plane"),
|
|
3190
3221
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
3191
|
-
source_pcb_ground_plane_id:
|
|
3192
|
-
source_net_id:
|
|
3193
|
-
pcb_group_id:
|
|
3194
|
-
subcircuit_id:
|
|
3222
|
+
source_pcb_ground_plane_id: z153.string(),
|
|
3223
|
+
source_net_id: z153.string(),
|
|
3224
|
+
pcb_group_id: z153.string().optional(),
|
|
3225
|
+
subcircuit_id: z153.string().optional()
|
|
3195
3226
|
}).describe("Defines a ground plane on the PCB");
|
|
3196
3227
|
expectTypesMatch(true);
|
|
3197
3228
|
|
|
3198
3229
|
// src/pcb/pcb_ground_plane_region.ts
|
|
3199
|
-
import { z as
|
|
3200
|
-
var pcb_ground_plane_region =
|
|
3201
|
-
type:
|
|
3230
|
+
import { z as z154 } from "zod";
|
|
3231
|
+
var pcb_ground_plane_region = z154.object({
|
|
3232
|
+
type: z154.literal("pcb_ground_plane_region"),
|
|
3202
3233
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
3203
3234
|
"pcb_ground_plane_region"
|
|
3204
3235
|
),
|
|
3205
|
-
pcb_ground_plane_id:
|
|
3206
|
-
pcb_group_id:
|
|
3207
|
-
subcircuit_id:
|
|
3236
|
+
pcb_ground_plane_id: z154.string(),
|
|
3237
|
+
pcb_group_id: z154.string().optional(),
|
|
3238
|
+
subcircuit_id: z154.string().optional(),
|
|
3208
3239
|
layer: layer_ref,
|
|
3209
|
-
points:
|
|
3240
|
+
points: z154.array(point)
|
|
3210
3241
|
}).describe("Defines a polygon region of a ground plane");
|
|
3211
3242
|
expectTypesMatch(true);
|
|
3212
3243
|
|
|
3213
3244
|
// src/pcb/pcb_thermal_spoke.ts
|
|
3214
|
-
import { z as
|
|
3215
|
-
var pcb_thermal_spoke =
|
|
3216
|
-
type:
|
|
3245
|
+
import { z as z155 } from "zod";
|
|
3246
|
+
var pcb_thermal_spoke = z155.object({
|
|
3247
|
+
type: z155.literal("pcb_thermal_spoke"),
|
|
3217
3248
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
3218
|
-
pcb_ground_plane_id:
|
|
3219
|
-
shape:
|
|
3220
|
-
spoke_count:
|
|
3249
|
+
pcb_ground_plane_id: z155.string(),
|
|
3250
|
+
shape: z155.string(),
|
|
3251
|
+
spoke_count: z155.number(),
|
|
3221
3252
|
spoke_thickness: distance,
|
|
3222
3253
|
spoke_inner_diameter: distance,
|
|
3223
3254
|
spoke_outer_diameter: distance,
|
|
3224
|
-
pcb_plated_hole_id:
|
|
3225
|
-
subcircuit_id:
|
|
3255
|
+
pcb_plated_hole_id: z155.string().optional(),
|
|
3256
|
+
subcircuit_id: z155.string().optional()
|
|
3226
3257
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
3227
3258
|
expectTypesMatch(true);
|
|
3228
3259
|
|
|
3229
3260
|
// src/pcb/pcb_copper_pour.ts
|
|
3230
|
-
import { z as
|
|
3231
|
-
var pcb_copper_pour_base =
|
|
3232
|
-
type:
|
|
3261
|
+
import { z as z156 } from "zod";
|
|
3262
|
+
var pcb_copper_pour_base = z156.object({
|
|
3263
|
+
type: z156.literal("pcb_copper_pour"),
|
|
3233
3264
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
3234
|
-
pcb_group_id:
|
|
3235
|
-
subcircuit_id:
|
|
3265
|
+
pcb_group_id: z156.string().optional(),
|
|
3266
|
+
subcircuit_id: z156.string().optional(),
|
|
3236
3267
|
layer: layer_ref,
|
|
3237
|
-
source_net_id:
|
|
3238
|
-
covered_with_solder_mask:
|
|
3268
|
+
source_net_id: z156.string().optional(),
|
|
3269
|
+
covered_with_solder_mask: z156.boolean().optional().default(true)
|
|
3239
3270
|
});
|
|
3240
3271
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
3241
|
-
shape:
|
|
3272
|
+
shape: z156.literal("rect"),
|
|
3242
3273
|
center: point,
|
|
3243
3274
|
width: length,
|
|
3244
3275
|
height: length,
|
|
@@ -3246,16 +3277,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
3246
3277
|
});
|
|
3247
3278
|
expectTypesMatch(true);
|
|
3248
3279
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
3249
|
-
shape:
|
|
3280
|
+
shape: z156.literal("brep"),
|
|
3250
3281
|
brep_shape
|
|
3251
3282
|
});
|
|
3252
3283
|
expectTypesMatch(true);
|
|
3253
3284
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
3254
|
-
shape:
|
|
3255
|
-
points:
|
|
3285
|
+
shape: z156.literal("polygon"),
|
|
3286
|
+
points: z156.array(point)
|
|
3256
3287
|
});
|
|
3257
3288
|
expectTypesMatch(true);
|
|
3258
|
-
var pcb_copper_pour =
|
|
3289
|
+
var pcb_copper_pour = z156.discriminatedUnion("shape", [
|
|
3259
3290
|
pcb_copper_pour_rect,
|
|
3260
3291
|
pcb_copper_pour_brep,
|
|
3261
3292
|
pcb_copper_pour_polygon
|
|
@@ -3263,99 +3294,99 @@ var pcb_copper_pour = z155.discriminatedUnion("shape", [
|
|
|
3263
3294
|
expectTypesMatch(true);
|
|
3264
3295
|
|
|
3265
3296
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
3266
|
-
import { z as
|
|
3297
|
+
import { z as z157 } from "zod";
|
|
3267
3298
|
var pcb_component_outside_board_error = base_circuit_json_error.extend({
|
|
3268
|
-
type:
|
|
3299
|
+
type: z157.literal("pcb_component_outside_board_error"),
|
|
3269
3300
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
3270
3301
|
"pcb_component_outside_board_error"
|
|
3271
3302
|
),
|
|
3272
|
-
error_type:
|
|
3273
|
-
pcb_component_id:
|
|
3274
|
-
pcb_board_id:
|
|
3303
|
+
error_type: z157.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
3304
|
+
pcb_component_id: z157.string(),
|
|
3305
|
+
pcb_board_id: z157.string(),
|
|
3275
3306
|
component_center: point,
|
|
3276
|
-
component_bounds:
|
|
3277
|
-
min_x:
|
|
3278
|
-
max_x:
|
|
3279
|
-
min_y:
|
|
3280
|
-
max_y:
|
|
3307
|
+
component_bounds: z157.object({
|
|
3308
|
+
min_x: z157.number(),
|
|
3309
|
+
max_x: z157.number(),
|
|
3310
|
+
min_y: z157.number(),
|
|
3311
|
+
max_y: z157.number()
|
|
3281
3312
|
}),
|
|
3282
|
-
subcircuit_id:
|
|
3283
|
-
source_component_id:
|
|
3313
|
+
subcircuit_id: z157.string().optional(),
|
|
3314
|
+
source_component_id: z157.string().optional()
|
|
3284
3315
|
}).describe(
|
|
3285
3316
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
3286
3317
|
);
|
|
3287
3318
|
expectTypesMatch(true);
|
|
3288
3319
|
|
|
3289
3320
|
// src/pcb/pcb_component_not_on_board_edge_error.ts
|
|
3290
|
-
import { z as
|
|
3321
|
+
import { z as z158 } from "zod";
|
|
3291
3322
|
var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
|
|
3292
|
-
type:
|
|
3323
|
+
type: z158.literal("pcb_component_not_on_board_edge_error"),
|
|
3293
3324
|
pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
|
|
3294
3325
|
"pcb_component_not_on_board_edge_error"
|
|
3295
3326
|
),
|
|
3296
|
-
error_type:
|
|
3297
|
-
pcb_component_id:
|
|
3298
|
-
pcb_board_id:
|
|
3327
|
+
error_type: z158.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
|
|
3328
|
+
pcb_component_id: z158.string(),
|
|
3329
|
+
pcb_board_id: z158.string(),
|
|
3299
3330
|
component_center: point,
|
|
3300
|
-
pad_to_nearest_board_edge_distance:
|
|
3301
|
-
source_component_id:
|
|
3302
|
-
subcircuit_id:
|
|
3331
|
+
pad_to_nearest_board_edge_distance: z158.number(),
|
|
3332
|
+
source_component_id: z158.string().optional(),
|
|
3333
|
+
subcircuit_id: z158.string().optional()
|
|
3303
3334
|
}).describe(
|
|
3304
3335
|
"Error emitted when a component that must be placed on the board edge is centered away from the edge"
|
|
3305
3336
|
);
|
|
3306
3337
|
expectTypesMatch(true);
|
|
3307
3338
|
|
|
3308
3339
|
// src/pcb/pcb_component_invalid_layer_error.ts
|
|
3309
|
-
import { z as
|
|
3340
|
+
import { z as z159 } from "zod";
|
|
3310
3341
|
var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
|
|
3311
|
-
type:
|
|
3342
|
+
type: z159.literal("pcb_component_invalid_layer_error"),
|
|
3312
3343
|
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
|
|
3313
3344
|
"pcb_component_invalid_layer_error"
|
|
3314
3345
|
),
|
|
3315
|
-
error_type:
|
|
3316
|
-
pcb_component_id:
|
|
3317
|
-
source_component_id:
|
|
3346
|
+
error_type: z159.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
|
|
3347
|
+
pcb_component_id: z159.string().optional(),
|
|
3348
|
+
source_component_id: z159.string(),
|
|
3318
3349
|
layer: layer_ref,
|
|
3319
|
-
subcircuit_id:
|
|
3350
|
+
subcircuit_id: z159.string().optional()
|
|
3320
3351
|
}).describe(
|
|
3321
3352
|
"Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
|
|
3322
3353
|
);
|
|
3323
3354
|
expectTypesMatch(true);
|
|
3324
3355
|
|
|
3325
3356
|
// src/pcb/pcb_via_clearance_error.ts
|
|
3326
|
-
import { z as
|
|
3357
|
+
import { z as z160 } from "zod";
|
|
3327
3358
|
var pcb_via_clearance_error = base_circuit_json_error.extend({
|
|
3328
|
-
type:
|
|
3359
|
+
type: z160.literal("pcb_via_clearance_error"),
|
|
3329
3360
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
3330
|
-
error_type:
|
|
3331
|
-
pcb_via_ids:
|
|
3361
|
+
error_type: z160.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
3362
|
+
pcb_via_ids: z160.array(z160.string()).min(2),
|
|
3332
3363
|
minimum_clearance: distance.optional(),
|
|
3333
3364
|
actual_clearance: distance.optional(),
|
|
3334
|
-
pcb_center:
|
|
3335
|
-
x:
|
|
3336
|
-
y:
|
|
3365
|
+
pcb_center: z160.object({
|
|
3366
|
+
x: z160.number().optional(),
|
|
3367
|
+
y: z160.number().optional()
|
|
3337
3368
|
}).optional(),
|
|
3338
|
-
subcircuit_id:
|
|
3369
|
+
subcircuit_id: z160.string().optional()
|
|
3339
3370
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
3340
3371
|
expectTypesMatch(true);
|
|
3341
3372
|
|
|
3342
3373
|
// src/pcb/pcb_via_trace_clearance_error.ts
|
|
3343
|
-
import { z as
|
|
3374
|
+
import { z as z161 } from "zod";
|
|
3344
3375
|
var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
|
|
3345
|
-
type:
|
|
3376
|
+
type: z161.literal("pcb_via_trace_clearance_error"),
|
|
3346
3377
|
pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3347
3378
|
"pcb_via_trace_clearance_error"
|
|
3348
3379
|
),
|
|
3349
|
-
error_type:
|
|
3350
|
-
pcb_via_id:
|
|
3351
|
-
pcb_trace_id:
|
|
3380
|
+
error_type: z161.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
|
|
3381
|
+
pcb_via_id: z161.string(),
|
|
3382
|
+
pcb_trace_id: z161.string(),
|
|
3352
3383
|
minimum_clearance: distance.optional(),
|
|
3353
3384
|
actual_clearance: distance.optional(),
|
|
3354
|
-
center:
|
|
3355
|
-
x:
|
|
3356
|
-
y:
|
|
3385
|
+
center: z161.object({
|
|
3386
|
+
x: z161.number().optional(),
|
|
3387
|
+
y: z161.number().optional()
|
|
3357
3388
|
}).optional(),
|
|
3358
|
-
subcircuit_id:
|
|
3389
|
+
subcircuit_id: z161.string().optional()
|
|
3359
3390
|
}).describe(
|
|
3360
3391
|
"Error emitted when a via and trace are closer than the allowed clearance"
|
|
3361
3392
|
);
|
|
@@ -3364,41 +3395,41 @@ expectTypesMatch(
|
|
|
3364
3395
|
);
|
|
3365
3396
|
|
|
3366
3397
|
// src/pcb/pcb_pad_pad_clearance_error.ts
|
|
3367
|
-
import { z as
|
|
3398
|
+
import { z as z162 } from "zod";
|
|
3368
3399
|
var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
|
|
3369
|
-
type:
|
|
3400
|
+
type: z162.literal("pcb_pad_pad_clearance_error"),
|
|
3370
3401
|
pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3371
3402
|
"pcb_pad_pad_clearance_error"
|
|
3372
3403
|
),
|
|
3373
|
-
error_type:
|
|
3374
|
-
pcb_pad_ids:
|
|
3404
|
+
error_type: z162.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
|
|
3405
|
+
pcb_pad_ids: z162.array(z162.string()).min(2),
|
|
3375
3406
|
minimum_clearance: distance.optional(),
|
|
3376
3407
|
actual_clearance: distance.optional(),
|
|
3377
|
-
center:
|
|
3378
|
-
x:
|
|
3379
|
-
y:
|
|
3408
|
+
center: z162.object({
|
|
3409
|
+
x: z162.number().optional(),
|
|
3410
|
+
y: z162.number().optional()
|
|
3380
3411
|
}).optional(),
|
|
3381
|
-
subcircuit_id:
|
|
3412
|
+
subcircuit_id: z162.string().optional()
|
|
3382
3413
|
}).describe("Error emitted when pads are closer than the allowed clearance");
|
|
3383
3414
|
expectTypesMatch(true);
|
|
3384
3415
|
|
|
3385
3416
|
// src/pcb/pcb_pad_trace_clearance_error.ts
|
|
3386
|
-
import { z as
|
|
3417
|
+
import { z as z163 } from "zod";
|
|
3387
3418
|
var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
|
|
3388
|
-
type:
|
|
3419
|
+
type: z163.literal("pcb_pad_trace_clearance_error"),
|
|
3389
3420
|
pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3390
3421
|
"pcb_pad_trace_clearance_error"
|
|
3391
3422
|
),
|
|
3392
|
-
error_type:
|
|
3393
|
-
pcb_pad_id:
|
|
3394
|
-
pcb_trace_id:
|
|
3423
|
+
error_type: z163.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
|
|
3424
|
+
pcb_pad_id: z163.string(),
|
|
3425
|
+
pcb_trace_id: z163.string(),
|
|
3395
3426
|
minimum_clearance: distance.optional(),
|
|
3396
3427
|
actual_clearance: distance.optional(),
|
|
3397
|
-
center:
|
|
3398
|
-
x:
|
|
3399
|
-
y:
|
|
3428
|
+
center: z163.object({
|
|
3429
|
+
x: z163.number().optional(),
|
|
3430
|
+
y: z163.number().optional()
|
|
3400
3431
|
}).optional(),
|
|
3401
|
-
subcircuit_id:
|
|
3432
|
+
subcircuit_id: z163.string().optional()
|
|
3402
3433
|
}).describe(
|
|
3403
3434
|
"Error emitted when a pad and trace are closer than allowed clearance"
|
|
3404
3435
|
);
|
|
@@ -3407,89 +3438,89 @@ expectTypesMatch(
|
|
|
3407
3438
|
);
|
|
3408
3439
|
|
|
3409
3440
|
// src/pcb/pcb_courtyard_rect.ts
|
|
3410
|
-
import { z as
|
|
3411
|
-
var pcb_courtyard_rect =
|
|
3412
|
-
type:
|
|
3441
|
+
import { z as z164 } from "zod";
|
|
3442
|
+
var pcb_courtyard_rect = z164.object({
|
|
3443
|
+
type: z164.literal("pcb_courtyard_rect"),
|
|
3413
3444
|
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
3414
|
-
pcb_component_id:
|
|
3415
|
-
pcb_group_id:
|
|
3416
|
-
subcircuit_id:
|
|
3445
|
+
pcb_component_id: z164.string(),
|
|
3446
|
+
pcb_group_id: z164.string().optional(),
|
|
3447
|
+
subcircuit_id: z164.string().optional(),
|
|
3417
3448
|
center: point,
|
|
3418
3449
|
width: length,
|
|
3419
3450
|
height: length,
|
|
3420
3451
|
layer: visible_layer,
|
|
3421
3452
|
ccw_rotation: rotation.optional(),
|
|
3422
|
-
color:
|
|
3453
|
+
color: z164.string().optional()
|
|
3423
3454
|
}).describe("Defines a courtyard rectangle on the PCB");
|
|
3424
3455
|
expectTypesMatch(true);
|
|
3425
3456
|
|
|
3426
3457
|
// src/pcb/pcb_courtyard_outline.ts
|
|
3427
|
-
import { z as
|
|
3428
|
-
var pcb_courtyard_outline =
|
|
3429
|
-
type:
|
|
3458
|
+
import { z as z165 } from "zod";
|
|
3459
|
+
var pcb_courtyard_outline = z165.object({
|
|
3460
|
+
type: z165.literal("pcb_courtyard_outline"),
|
|
3430
3461
|
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
3431
3462
|
"pcb_courtyard_outline"
|
|
3432
3463
|
),
|
|
3433
|
-
pcb_component_id:
|
|
3434
|
-
pcb_group_id:
|
|
3435
|
-
subcircuit_id:
|
|
3464
|
+
pcb_component_id: z165.string(),
|
|
3465
|
+
pcb_group_id: z165.string().optional(),
|
|
3466
|
+
subcircuit_id: z165.string().optional(),
|
|
3436
3467
|
layer: visible_layer,
|
|
3437
|
-
outline:
|
|
3468
|
+
outline: z165.array(point).min(2)
|
|
3438
3469
|
}).describe("Defines a courtyard outline on the PCB");
|
|
3439
3470
|
expectTypesMatch(true);
|
|
3440
3471
|
|
|
3441
3472
|
// src/pcb/pcb_courtyard_polygon.ts
|
|
3442
|
-
import { z as
|
|
3443
|
-
var pcb_courtyard_polygon =
|
|
3444
|
-
type:
|
|
3473
|
+
import { z as z166 } from "zod";
|
|
3474
|
+
var pcb_courtyard_polygon = z166.object({
|
|
3475
|
+
type: z166.literal("pcb_courtyard_polygon"),
|
|
3445
3476
|
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
|
|
3446
3477
|
"pcb_courtyard_polygon"
|
|
3447
3478
|
),
|
|
3448
|
-
pcb_component_id:
|
|
3449
|
-
pcb_group_id:
|
|
3450
|
-
subcircuit_id:
|
|
3479
|
+
pcb_component_id: z166.string(),
|
|
3480
|
+
pcb_group_id: z166.string().optional(),
|
|
3481
|
+
subcircuit_id: z166.string().optional(),
|
|
3451
3482
|
layer: visible_layer,
|
|
3452
|
-
points:
|
|
3453
|
-
color:
|
|
3483
|
+
points: z166.array(point).min(3),
|
|
3484
|
+
color: z166.string().optional()
|
|
3454
3485
|
}).describe("Defines a courtyard polygon on the PCB");
|
|
3455
3486
|
expectTypesMatch(true);
|
|
3456
3487
|
|
|
3457
3488
|
// src/pcb/pcb_courtyard_circle.ts
|
|
3458
|
-
import { z as
|
|
3459
|
-
var pcb_courtyard_circle =
|
|
3460
|
-
type:
|
|
3489
|
+
import { z as z167 } from "zod";
|
|
3490
|
+
var pcb_courtyard_circle = z167.object({
|
|
3491
|
+
type: z167.literal("pcb_courtyard_circle"),
|
|
3461
3492
|
pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
|
|
3462
3493
|
"pcb_courtyard_circle"
|
|
3463
3494
|
),
|
|
3464
|
-
pcb_component_id:
|
|
3465
|
-
pcb_group_id:
|
|
3466
|
-
subcircuit_id:
|
|
3495
|
+
pcb_component_id: z167.string(),
|
|
3496
|
+
pcb_group_id: z167.string().optional(),
|
|
3497
|
+
subcircuit_id: z167.string().optional(),
|
|
3467
3498
|
center: point,
|
|
3468
3499
|
radius: length,
|
|
3469
3500
|
layer: visible_layer,
|
|
3470
|
-
color:
|
|
3501
|
+
color: z167.string().optional()
|
|
3471
3502
|
}).describe("Defines a courtyard circle on the PCB");
|
|
3472
3503
|
expectTypesMatch(true);
|
|
3473
3504
|
|
|
3474
3505
|
// src/pcb/pcb_courtyard_pill.ts
|
|
3475
|
-
import { z as
|
|
3476
|
-
var pcb_courtyard_pill =
|
|
3477
|
-
type:
|
|
3506
|
+
import { z as z168 } from "zod";
|
|
3507
|
+
var pcb_courtyard_pill = z168.object({
|
|
3508
|
+
type: z168.literal("pcb_courtyard_pill"),
|
|
3478
3509
|
pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
|
|
3479
|
-
pcb_component_id:
|
|
3480
|
-
pcb_group_id:
|
|
3481
|
-
subcircuit_id:
|
|
3510
|
+
pcb_component_id: z168.string(),
|
|
3511
|
+
pcb_group_id: z168.string().optional(),
|
|
3512
|
+
subcircuit_id: z168.string().optional(),
|
|
3482
3513
|
center: point,
|
|
3483
3514
|
width: length,
|
|
3484
3515
|
height: length,
|
|
3485
3516
|
radius: length,
|
|
3486
3517
|
layer: visible_layer,
|
|
3487
|
-
color:
|
|
3518
|
+
color: z168.string().optional()
|
|
3488
3519
|
}).describe("Defines a courtyard pill on the PCB");
|
|
3489
3520
|
expectTypesMatch(true);
|
|
3490
3521
|
|
|
3491
3522
|
// src/cad/cad_component.ts
|
|
3492
|
-
import { z as
|
|
3523
|
+
import { z as z169 } from "zod";
|
|
3493
3524
|
|
|
3494
3525
|
// src/cad/cad_model_conventions.ts
|
|
3495
3526
|
var cad_model_formats = [
|
|
@@ -3520,49 +3551,49 @@ var cadModelDefaultDirectionMap = {
|
|
|
3520
3551
|
};
|
|
3521
3552
|
|
|
3522
3553
|
// src/cad/cad_component.ts
|
|
3523
|
-
var cad_component =
|
|
3524
|
-
type:
|
|
3525
|
-
cad_component_id:
|
|
3526
|
-
pcb_component_id:
|
|
3527
|
-
source_component_id:
|
|
3554
|
+
var cad_component = z169.object({
|
|
3555
|
+
type: z169.literal("cad_component"),
|
|
3556
|
+
cad_component_id: z169.string(),
|
|
3557
|
+
pcb_component_id: z169.string(),
|
|
3558
|
+
source_component_id: z169.string(),
|
|
3528
3559
|
position: point3,
|
|
3529
3560
|
rotation: point3.optional(),
|
|
3530
3561
|
size: point3.optional(),
|
|
3531
3562
|
layer: layer_ref.optional(),
|
|
3532
|
-
subcircuit_id:
|
|
3563
|
+
subcircuit_id: z169.string().optional(),
|
|
3533
3564
|
// These are all ways to generate/load the 3d model
|
|
3534
|
-
footprinter_string:
|
|
3535
|
-
model_obj_url:
|
|
3536
|
-
model_stl_url:
|
|
3537
|
-
model_3mf_url:
|
|
3538
|
-
model_gltf_url:
|
|
3539
|
-
model_glb_url:
|
|
3540
|
-
model_step_url:
|
|
3541
|
-
model_wrl_url:
|
|
3565
|
+
footprinter_string: z169.string().optional(),
|
|
3566
|
+
model_obj_url: z169.string().optional(),
|
|
3567
|
+
model_stl_url: z169.string().optional(),
|
|
3568
|
+
model_3mf_url: z169.string().optional(),
|
|
3569
|
+
model_gltf_url: z169.string().optional(),
|
|
3570
|
+
model_glb_url: z169.string().optional(),
|
|
3571
|
+
model_step_url: z169.string().optional(),
|
|
3572
|
+
model_wrl_url: z169.string().optional(),
|
|
3542
3573
|
model_asset: asset.optional(),
|
|
3543
|
-
model_unit_to_mm_scale_factor:
|
|
3544
|
-
model_board_normal_direction:
|
|
3574
|
+
model_unit_to_mm_scale_factor: z169.number().optional(),
|
|
3575
|
+
model_board_normal_direction: z169.enum(cad_model_axis_directions).optional().describe(
|
|
3545
3576
|
`The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
|
|
3546
3577
|
),
|
|
3547
3578
|
model_origin_position: point3.optional(),
|
|
3548
|
-
model_origin_alignment:
|
|
3579
|
+
model_origin_alignment: z169.enum([
|
|
3549
3580
|
"unknown",
|
|
3550
3581
|
"center",
|
|
3551
3582
|
"center_of_component_on_board_surface",
|
|
3552
3583
|
"bottom_center_of_component"
|
|
3553
3584
|
]).optional(),
|
|
3554
|
-
model_object_fit:
|
|
3555
|
-
model_jscad:
|
|
3556
|
-
show_as_translucent_model:
|
|
3557
|
-
show_as_bounding_box:
|
|
3558
|
-
anchor_alignment:
|
|
3585
|
+
model_object_fit: z169.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
|
|
3586
|
+
model_jscad: z169.any().optional(),
|
|
3587
|
+
show_as_translucent_model: z169.boolean().optional(),
|
|
3588
|
+
show_as_bounding_box: z169.boolean().optional(),
|
|
3589
|
+
anchor_alignment: z169.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
|
|
3559
3590
|
}).describe("Defines a component on the PCB");
|
|
3560
3591
|
expectTypesMatch(true);
|
|
3561
3592
|
|
|
3562
3593
|
// src/simulation/simulation_voltage_source.ts
|
|
3563
|
-
import { z as
|
|
3564
|
-
var wave_shape =
|
|
3565
|
-
var percentage =
|
|
3594
|
+
import { z as z170 } from "zod";
|
|
3595
|
+
var wave_shape = z170.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
3596
|
+
var percentage = z170.union([z170.string(), z170.number()]).transform((val) => {
|
|
3566
3597
|
if (typeof val === "string") {
|
|
3567
3598
|
if (val.endsWith("%")) {
|
|
3568
3599
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3571,32 +3602,32 @@ var percentage = z169.union([z169.string(), z169.number()]).transform((val) => {
|
|
|
3571
3602
|
}
|
|
3572
3603
|
return val;
|
|
3573
3604
|
}).pipe(
|
|
3574
|
-
|
|
3605
|
+
z170.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3575
3606
|
);
|
|
3576
|
-
var simulation_dc_voltage_source =
|
|
3577
|
-
type:
|
|
3607
|
+
var simulation_dc_voltage_source = z170.object({
|
|
3608
|
+
type: z170.literal("simulation_voltage_source"),
|
|
3578
3609
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3579
3610
|
"simulation_voltage_source"
|
|
3580
3611
|
),
|
|
3581
|
-
is_dc_source:
|
|
3582
|
-
positive_source_port_id:
|
|
3583
|
-
negative_source_port_id:
|
|
3584
|
-
positive_source_net_id:
|
|
3585
|
-
negative_source_net_id:
|
|
3612
|
+
is_dc_source: z170.literal(true).optional().default(true),
|
|
3613
|
+
positive_source_port_id: z170.string().optional(),
|
|
3614
|
+
negative_source_port_id: z170.string().optional(),
|
|
3615
|
+
positive_source_net_id: z170.string().optional(),
|
|
3616
|
+
negative_source_net_id: z170.string().optional(),
|
|
3586
3617
|
voltage,
|
|
3587
3618
|
ac_magnitude: voltage.optional(),
|
|
3588
3619
|
ac_phase: rotation.optional()
|
|
3589
3620
|
}).describe("Defines a DC voltage source for simulation");
|
|
3590
|
-
var simulation_ac_voltage_source =
|
|
3591
|
-
type:
|
|
3621
|
+
var simulation_ac_voltage_source = z170.object({
|
|
3622
|
+
type: z170.literal("simulation_voltage_source"),
|
|
3592
3623
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3593
3624
|
"simulation_voltage_source"
|
|
3594
3625
|
),
|
|
3595
|
-
is_dc_source:
|
|
3596
|
-
terminal1_source_port_id:
|
|
3597
|
-
terminal2_source_port_id:
|
|
3598
|
-
terminal1_source_net_id:
|
|
3599
|
-
terminal2_source_net_id:
|
|
3626
|
+
is_dc_source: z170.literal(false),
|
|
3627
|
+
terminal1_source_port_id: z170.string().optional(),
|
|
3628
|
+
terminal2_source_port_id: z170.string().optional(),
|
|
3629
|
+
terminal1_source_net_id: z170.string().optional(),
|
|
3630
|
+
terminal2_source_net_id: z170.string().optional(),
|
|
3600
3631
|
voltage: voltage.optional(),
|
|
3601
3632
|
frequency: frequency.optional(),
|
|
3602
3633
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -3611,14 +3642,14 @@ var simulation_ac_voltage_source = z169.object({
|
|
|
3611
3642
|
ac_magnitude: voltage.optional(),
|
|
3612
3643
|
ac_phase: rotation.optional()
|
|
3613
3644
|
}).describe("Defines an AC voltage source for simulation");
|
|
3614
|
-
var simulation_voltage_source =
|
|
3645
|
+
var simulation_voltage_source = z170.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
3615
3646
|
expectTypesMatch(true);
|
|
3616
3647
|
expectTypesMatch(true);
|
|
3617
3648
|
expectTypesMatch(true);
|
|
3618
3649
|
|
|
3619
3650
|
// src/simulation/simulation_current_source.ts
|
|
3620
|
-
import { z as
|
|
3621
|
-
var percentage2 =
|
|
3651
|
+
import { z as z171 } from "zod";
|
|
3652
|
+
var percentage2 = z171.union([z171.string(), z171.number()]).transform((val) => {
|
|
3622
3653
|
if (typeof val === "string") {
|
|
3623
3654
|
if (val.endsWith("%")) {
|
|
3624
3655
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3627,32 +3658,32 @@ var percentage2 = z170.union([z170.string(), z170.number()]).transform((val) =>
|
|
|
3627
3658
|
}
|
|
3628
3659
|
return val;
|
|
3629
3660
|
}).pipe(
|
|
3630
|
-
|
|
3661
|
+
z171.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3631
3662
|
);
|
|
3632
|
-
var simulation_dc_current_source =
|
|
3633
|
-
type:
|
|
3663
|
+
var simulation_dc_current_source = z171.object({
|
|
3664
|
+
type: z171.literal("simulation_current_source"),
|
|
3634
3665
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3635
3666
|
"simulation_current_source"
|
|
3636
3667
|
),
|
|
3637
|
-
is_dc_source:
|
|
3638
|
-
positive_source_port_id:
|
|
3639
|
-
negative_source_port_id:
|
|
3640
|
-
positive_source_net_id:
|
|
3641
|
-
negative_source_net_id:
|
|
3668
|
+
is_dc_source: z171.literal(true).optional().default(true),
|
|
3669
|
+
positive_source_port_id: z171.string().optional(),
|
|
3670
|
+
negative_source_port_id: z171.string().optional(),
|
|
3671
|
+
positive_source_net_id: z171.string().optional(),
|
|
3672
|
+
negative_source_net_id: z171.string().optional(),
|
|
3642
3673
|
current,
|
|
3643
3674
|
ac_magnitude: current.optional(),
|
|
3644
3675
|
ac_phase: rotation.optional()
|
|
3645
3676
|
}).describe("Defines a DC current source for simulation");
|
|
3646
|
-
var simulation_ac_current_source =
|
|
3647
|
-
type:
|
|
3677
|
+
var simulation_ac_current_source = z171.object({
|
|
3678
|
+
type: z171.literal("simulation_current_source"),
|
|
3648
3679
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3649
3680
|
"simulation_current_source"
|
|
3650
3681
|
),
|
|
3651
|
-
is_dc_source:
|
|
3652
|
-
terminal1_source_port_id:
|
|
3653
|
-
terminal2_source_port_id:
|
|
3654
|
-
terminal1_source_net_id:
|
|
3655
|
-
terminal2_source_net_id:
|
|
3682
|
+
is_dc_source: z171.literal(false),
|
|
3683
|
+
terminal1_source_port_id: z171.string().optional(),
|
|
3684
|
+
terminal2_source_port_id: z171.string().optional(),
|
|
3685
|
+
terminal1_source_net_id: z171.string().optional(),
|
|
3686
|
+
terminal2_source_net_id: z171.string().optional(),
|
|
3656
3687
|
current: current.optional(),
|
|
3657
3688
|
frequency: frequency.optional(),
|
|
3658
3689
|
peak_to_peak_current: current.optional(),
|
|
@@ -3662,58 +3693,58 @@ var simulation_ac_current_source = z170.object({
|
|
|
3662
3693
|
ac_magnitude: current.optional(),
|
|
3663
3694
|
ac_phase: rotation.optional()
|
|
3664
3695
|
}).describe("Defines an AC current source for simulation");
|
|
3665
|
-
var simulation_current_source =
|
|
3696
|
+
var simulation_current_source = z171.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
|
|
3666
3697
|
expectTypesMatch(true);
|
|
3667
3698
|
expectTypesMatch(true);
|
|
3668
3699
|
expectTypesMatch(true);
|
|
3669
3700
|
|
|
3670
3701
|
// src/simulation/simulation_experiment.ts
|
|
3671
|
-
import { z as
|
|
3702
|
+
import { z as z173 } from "zod";
|
|
3672
3703
|
|
|
3673
3704
|
// src/simulation/simulation_units.ts
|
|
3674
|
-
import { z as
|
|
3675
|
-
var simulation_dc_sweep_unit =
|
|
3705
|
+
import { z as z172 } from "zod";
|
|
3706
|
+
var simulation_dc_sweep_unit = z172.custom(
|
|
3676
3707
|
(dcSweepUnit) => dcSweepUnit === "V" || dcSweepUnit === "A"
|
|
3677
3708
|
);
|
|
3678
|
-
var simulation_parameter_unit =
|
|
3709
|
+
var simulation_parameter_unit = z172.custom(
|
|
3679
3710
|
(parameterUnit) => parameterUnit === "\u03A9" || parameterUnit === "F" || parameterUnit === "H" || parameterUnit === "V" || parameterUnit === "A"
|
|
3680
3711
|
);
|
|
3681
3712
|
|
|
3682
3713
|
// src/simulation/simulation_experiment.ts
|
|
3683
|
-
var experiment_type =
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3714
|
+
var experiment_type = z173.union([
|
|
3715
|
+
z173.literal("spice_dc_sweep"),
|
|
3716
|
+
z173.literal("spice_dc_operating_point"),
|
|
3717
|
+
z173.literal("spice_transient_analysis"),
|
|
3718
|
+
z173.literal("spice_ac_analysis")
|
|
3688
3719
|
]);
|
|
3689
|
-
var spice_simulation_options =
|
|
3690
|
-
method:
|
|
3691
|
-
reltol:
|
|
3692
|
-
abstol:
|
|
3693
|
-
vntol:
|
|
3720
|
+
var spice_simulation_options = z173.object({
|
|
3721
|
+
method: z173.enum(["trap", "gear"]).optional(),
|
|
3722
|
+
reltol: z173.union([z173.number(), z173.string()]).optional(),
|
|
3723
|
+
abstol: z173.union([z173.number(), z173.string()]).optional(),
|
|
3724
|
+
vntol: z173.union([z173.number(), z173.string()]).optional()
|
|
3694
3725
|
}).describe("SPICE solver options for a simulation experiment");
|
|
3695
|
-
var simulation_experiment =
|
|
3696
|
-
type:
|
|
3726
|
+
var simulation_experiment = z173.object({
|
|
3727
|
+
type: z173.literal("simulation_experiment"),
|
|
3697
3728
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
3698
3729
|
"simulation_experiment"
|
|
3699
3730
|
),
|
|
3700
|
-
name:
|
|
3731
|
+
name: z173.string(),
|
|
3701
3732
|
experiment_type,
|
|
3702
3733
|
time_per_step: duration_ms.optional(),
|
|
3703
3734
|
start_time_ms: ms.optional(),
|
|
3704
3735
|
end_time_ms: ms.optional(),
|
|
3705
3736
|
spice_options: spice_simulation_options.optional(),
|
|
3706
|
-
dc_sweep_voltage_source_id:
|
|
3707
|
-
dc_sweep_current_source_id:
|
|
3708
|
-
dc_sweep_start:
|
|
3709
|
-
dc_sweep_stop:
|
|
3710
|
-
dc_sweep_step:
|
|
3737
|
+
dc_sweep_voltage_source_id: z173.string().optional(),
|
|
3738
|
+
dc_sweep_current_source_id: z173.string().optional(),
|
|
3739
|
+
dc_sweep_start: z173.number().optional(),
|
|
3740
|
+
dc_sweep_stop: z173.number().optional(),
|
|
3741
|
+
dc_sweep_step: z173.number().refine((dcSweepStep) => dcSweepStep !== 0).optional(),
|
|
3711
3742
|
dc_sweep_unit: simulation_dc_sweep_unit.optional(),
|
|
3712
|
-
ac_sweep_type:
|
|
3713
|
-
ac_samples_per_interval:
|
|
3714
|
-
ac_sample_count:
|
|
3715
|
-
ac_start_frequency_hz:
|
|
3716
|
-
ac_stop_frequency_hz:
|
|
3743
|
+
ac_sweep_type: z173.enum(["linear", "decade", "octave"]).optional(),
|
|
3744
|
+
ac_samples_per_interval: z173.number().int().positive().optional(),
|
|
3745
|
+
ac_sample_count: z173.number().int().positive().optional(),
|
|
3746
|
+
ac_start_frequency_hz: z173.number().positive().optional(),
|
|
3747
|
+
ac_stop_frequency_hz: z173.number().positive().optional()
|
|
3717
3748
|
}).superRefine((experiment, context) => {
|
|
3718
3749
|
if (experiment.experiment_type === "spice_dc_sweep") {
|
|
3719
3750
|
const requiredFields = [
|
|
@@ -3725,7 +3756,7 @@ var simulation_experiment = z172.object({
|
|
|
3725
3756
|
for (const field of requiredFields) {
|
|
3726
3757
|
if (experiment[field] === void 0) {
|
|
3727
3758
|
context.addIssue({
|
|
3728
|
-
code:
|
|
3759
|
+
code: z173.ZodIssueCode.custom,
|
|
3729
3760
|
path: [field],
|
|
3730
3761
|
message: `${field} is required for a DC sweep`
|
|
3731
3762
|
});
|
|
@@ -3735,7 +3766,7 @@ var simulation_experiment = z172.object({
|
|
|
3735
3766
|
const hasCurrentSource = experiment.dc_sweep_current_source_id !== void 0;
|
|
3736
3767
|
if (hasVoltageSource === hasCurrentSource) {
|
|
3737
3768
|
context.addIssue({
|
|
3738
|
-
code:
|
|
3769
|
+
code: z173.ZodIssueCode.custom,
|
|
3739
3770
|
path: ["dc_sweep_voltage_source_id"],
|
|
3740
3771
|
message: "Exactly one DC sweep voltage or current source ID is required"
|
|
3741
3772
|
});
|
|
@@ -3744,35 +3775,35 @@ var simulation_experiment = z172.object({
|
|
|
3744
3775
|
if (experiment.experiment_type === "spice_ac_analysis") {
|
|
3745
3776
|
if (experiment.ac_sweep_type === void 0) {
|
|
3746
3777
|
context.addIssue({
|
|
3747
|
-
code:
|
|
3778
|
+
code: z173.ZodIssueCode.custom,
|
|
3748
3779
|
path: ["ac_sweep_type"],
|
|
3749
3780
|
message: "ac_sweep_type is required for an AC analysis"
|
|
3750
3781
|
});
|
|
3751
3782
|
}
|
|
3752
3783
|
if (experiment.ac_start_frequency_hz === void 0) {
|
|
3753
3784
|
context.addIssue({
|
|
3754
|
-
code:
|
|
3785
|
+
code: z173.ZodIssueCode.custom,
|
|
3755
3786
|
path: ["ac_start_frequency_hz"],
|
|
3756
3787
|
message: "ac_start_frequency_hz is required for an AC analysis"
|
|
3757
3788
|
});
|
|
3758
3789
|
}
|
|
3759
3790
|
if (experiment.ac_stop_frequency_hz === void 0) {
|
|
3760
3791
|
context.addIssue({
|
|
3761
|
-
code:
|
|
3792
|
+
code: z173.ZodIssueCode.custom,
|
|
3762
3793
|
path: ["ac_stop_frequency_hz"],
|
|
3763
3794
|
message: "ac_stop_frequency_hz is required for an AC analysis"
|
|
3764
3795
|
});
|
|
3765
3796
|
}
|
|
3766
3797
|
if (experiment.ac_sweep_type === "linear" && experiment.ac_sample_count === void 0) {
|
|
3767
3798
|
context.addIssue({
|
|
3768
|
-
code:
|
|
3799
|
+
code: z173.ZodIssueCode.custom,
|
|
3769
3800
|
path: ["ac_sample_count"],
|
|
3770
3801
|
message: "ac_sample_count is required for a linear AC analysis"
|
|
3771
3802
|
});
|
|
3772
3803
|
}
|
|
3773
3804
|
if ((experiment.ac_sweep_type === "decade" || experiment.ac_sweep_type === "octave") && experiment.ac_samples_per_interval === void 0) {
|
|
3774
3805
|
context.addIssue({
|
|
3775
|
-
code:
|
|
3806
|
+
code: z173.ZodIssueCode.custom,
|
|
3776
3807
|
path: ["ac_samples_per_interval"],
|
|
3777
3808
|
message: "ac_samples_per_interval is required for decade and octave AC analyses"
|
|
3778
3809
|
});
|
|
@@ -3782,87 +3813,87 @@ var simulation_experiment = z172.object({
|
|
|
3782
3813
|
expectTypesMatch(true);
|
|
3783
3814
|
|
|
3784
3815
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
3785
|
-
import { z as
|
|
3816
|
+
import { z as z175 } from "zod";
|
|
3786
3817
|
|
|
3787
3818
|
// src/simulation/simulation_parameter_sweep_coordinate.ts
|
|
3788
|
-
import { z as
|
|
3789
|
-
var simulation_parameter_sweep_coordinate =
|
|
3790
|
-
simulation_parameter_sweep_id:
|
|
3791
|
-
sweep_index:
|
|
3792
|
-
parameter_value:
|
|
3819
|
+
import { z as z174 } from "zod";
|
|
3820
|
+
var simulation_parameter_sweep_coordinate = z174.object({
|
|
3821
|
+
simulation_parameter_sweep_id: z174.string(),
|
|
3822
|
+
sweep_index: z174.number().int().nonnegative(),
|
|
3823
|
+
parameter_value: z174.number(),
|
|
3793
3824
|
parameter_unit: simulation_parameter_unit
|
|
3794
3825
|
});
|
|
3795
3826
|
expectTypesMatch(true);
|
|
3796
3827
|
|
|
3797
3828
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
3798
|
-
var simulation_transient_voltage_graph =
|
|
3799
|
-
type:
|
|
3829
|
+
var simulation_transient_voltage_graph = z175.object({
|
|
3830
|
+
type: z175.literal("simulation_transient_voltage_graph"),
|
|
3800
3831
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
3801
3832
|
"simulation_transient_voltage_graph"
|
|
3802
3833
|
),
|
|
3803
|
-
simulation_experiment_id:
|
|
3834
|
+
simulation_experiment_id: z175.string(),
|
|
3804
3835
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
3805
|
-
timestamps_ms:
|
|
3806
|
-
voltage_levels:
|
|
3807
|
-
source_component_id:
|
|
3808
|
-
subcircuit_connectivity_map_key:
|
|
3836
|
+
timestamps_ms: z175.array(z175.number()).optional(),
|
|
3837
|
+
voltage_levels: z175.array(z175.number()),
|
|
3838
|
+
source_component_id: z175.string().optional(),
|
|
3839
|
+
subcircuit_connectivity_map_key: z175.string().optional(),
|
|
3809
3840
|
time_per_step: duration_ms,
|
|
3810
3841
|
start_time_ms: ms,
|
|
3811
3842
|
end_time_ms: ms,
|
|
3812
|
-
name:
|
|
3813
|
-
color:
|
|
3843
|
+
name: z175.string().optional(),
|
|
3844
|
+
color: z175.string().optional()
|
|
3814
3845
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
3815
3846
|
expectTypesMatch(true);
|
|
3816
3847
|
|
|
3817
3848
|
// src/simulation/simulation_transient_current_graph.ts
|
|
3818
|
-
import { z as
|
|
3819
|
-
var simulation_transient_current_graph =
|
|
3820
|
-
type:
|
|
3849
|
+
import { z as z176 } from "zod";
|
|
3850
|
+
var simulation_transient_current_graph = z176.object({
|
|
3851
|
+
type: z176.literal("simulation_transient_current_graph"),
|
|
3821
3852
|
simulation_transient_current_graph_id: getZodPrefixedIdWithDefault(
|
|
3822
3853
|
"simulation_transient_current_graph"
|
|
3823
3854
|
),
|
|
3824
|
-
simulation_experiment_id:
|
|
3855
|
+
simulation_experiment_id: z176.string(),
|
|
3825
3856
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
3826
|
-
timestamps_ms:
|
|
3827
|
-
current_levels:
|
|
3828
|
-
source_component_id:
|
|
3829
|
-
subcircuit_connectivity_map_key:
|
|
3857
|
+
timestamps_ms: z176.array(z176.number()).optional(),
|
|
3858
|
+
current_levels: z176.array(z176.number()),
|
|
3859
|
+
source_component_id: z176.string().optional(),
|
|
3860
|
+
subcircuit_connectivity_map_key: z176.string().optional(),
|
|
3830
3861
|
time_per_step: duration_ms,
|
|
3831
3862
|
start_time_ms: ms,
|
|
3832
3863
|
end_time_ms: ms,
|
|
3833
|
-
name:
|
|
3834
|
-
color:
|
|
3864
|
+
name: z176.string().optional(),
|
|
3865
|
+
color: z176.string().optional()
|
|
3835
3866
|
}).describe("Stores current measurements over time for a simulation");
|
|
3836
3867
|
expectTypesMatch(true);
|
|
3837
3868
|
|
|
3838
3869
|
// src/simulation/simulation_switch.ts
|
|
3839
|
-
import { z as
|
|
3840
|
-
var simulation_switch =
|
|
3841
|
-
type:
|
|
3870
|
+
import { z as z177 } from "zod";
|
|
3871
|
+
var simulation_switch = z177.object({
|
|
3872
|
+
type: z177.literal("simulation_switch"),
|
|
3842
3873
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
3843
|
-
source_component_id:
|
|
3874
|
+
source_component_id: z177.string().optional(),
|
|
3844
3875
|
closes_at: ms.optional(),
|
|
3845
3876
|
opens_at: ms.optional(),
|
|
3846
|
-
starts_closed:
|
|
3877
|
+
starts_closed: z177.boolean().optional(),
|
|
3847
3878
|
switching_frequency: frequency.optional()
|
|
3848
3879
|
}).describe("Defines a switch for simulation timing control");
|
|
3849
3880
|
expectTypesMatch(true);
|
|
3850
3881
|
|
|
3851
3882
|
// src/simulation/simulation_voltage_probe.ts
|
|
3852
|
-
import { z as
|
|
3853
|
-
var simulation_voltage_probe =
|
|
3854
|
-
type:
|
|
3883
|
+
import { z as z178 } from "zod";
|
|
3884
|
+
var simulation_voltage_probe = z178.object({
|
|
3885
|
+
type: z178.literal("simulation_voltage_probe"),
|
|
3855
3886
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
3856
3887
|
"simulation_voltage_probe"
|
|
3857
3888
|
),
|
|
3858
|
-
source_component_id:
|
|
3859
|
-
name:
|
|
3860
|
-
signal_input_source_port_id:
|
|
3861
|
-
signal_input_source_net_id:
|
|
3862
|
-
reference_input_source_port_id:
|
|
3863
|
-
reference_input_source_net_id:
|
|
3864
|
-
subcircuit_id:
|
|
3865
|
-
color:
|
|
3889
|
+
source_component_id: z178.string().optional(),
|
|
3890
|
+
name: z178.string().optional(),
|
|
3891
|
+
signal_input_source_port_id: z178.string().optional(),
|
|
3892
|
+
signal_input_source_net_id: z178.string().optional(),
|
|
3893
|
+
reference_input_source_port_id: z178.string().optional(),
|
|
3894
|
+
reference_input_source_net_id: z178.string().optional(),
|
|
3895
|
+
subcircuit_id: z178.string().optional(),
|
|
3896
|
+
color: z178.string().optional()
|
|
3866
3897
|
}).describe(
|
|
3867
3898
|
"Defines a voltage probe for simulation. If a reference input is not provided, it measures against ground. If a reference input is provided, it measures the differential voltage between two points."
|
|
3868
3899
|
).superRefine((data, ctx) => {
|
|
@@ -3872,20 +3903,20 @@ var simulation_voltage_probe = z177.object({
|
|
|
3872
3903
|
const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
|
|
3873
3904
|
if (has_ports && has_nets) {
|
|
3874
3905
|
ctx.addIssue({
|
|
3875
|
-
code:
|
|
3906
|
+
code: z178.ZodIssueCode.custom,
|
|
3876
3907
|
message: "Cannot mix port and net connections in a differential probe."
|
|
3877
3908
|
});
|
|
3878
3909
|
} else if (has_ports) {
|
|
3879
3910
|
if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
|
|
3880
3911
|
ctx.addIssue({
|
|
3881
|
-
code:
|
|
3912
|
+
code: z178.ZodIssueCode.custom,
|
|
3882
3913
|
message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
|
|
3883
3914
|
});
|
|
3884
3915
|
}
|
|
3885
3916
|
} else if (has_nets) {
|
|
3886
3917
|
if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
|
|
3887
3918
|
ctx.addIssue({
|
|
3888
|
-
code:
|
|
3919
|
+
code: z178.ZodIssueCode.custom,
|
|
3889
3920
|
message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
|
|
3890
3921
|
});
|
|
3891
3922
|
}
|
|
@@ -3893,7 +3924,7 @@ var simulation_voltage_probe = z177.object({
|
|
|
3893
3924
|
} else {
|
|
3894
3925
|
if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
|
|
3895
3926
|
ctx.addIssue({
|
|
3896
|
-
code:
|
|
3927
|
+
code: z178.ZodIssueCode.custom,
|
|
3897
3928
|
message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
|
|
3898
3929
|
});
|
|
3899
3930
|
}
|
|
@@ -3902,20 +3933,20 @@ var simulation_voltage_probe = z177.object({
|
|
|
3902
3933
|
expectTypesMatch(true);
|
|
3903
3934
|
|
|
3904
3935
|
// src/simulation/simulation_current_probe.ts
|
|
3905
|
-
import { z as
|
|
3906
|
-
var simulation_current_probe =
|
|
3907
|
-
type:
|
|
3936
|
+
import { z as z179 } from "zod";
|
|
3937
|
+
var simulation_current_probe = z179.object({
|
|
3938
|
+
type: z179.literal("simulation_current_probe"),
|
|
3908
3939
|
simulation_current_probe_id: getZodPrefixedIdWithDefault(
|
|
3909
3940
|
"simulation_current_probe"
|
|
3910
3941
|
),
|
|
3911
|
-
source_component_id:
|
|
3912
|
-
name:
|
|
3913
|
-
positive_source_port_id:
|
|
3914
|
-
negative_source_port_id:
|
|
3915
|
-
positive_source_net_id:
|
|
3916
|
-
negative_source_net_id:
|
|
3917
|
-
subcircuit_id:
|
|
3918
|
-
color:
|
|
3942
|
+
source_component_id: z179.string().optional(),
|
|
3943
|
+
name: z179.string().optional(),
|
|
3944
|
+
positive_source_port_id: z179.string().optional(),
|
|
3945
|
+
negative_source_port_id: z179.string().optional(),
|
|
3946
|
+
positive_source_net_id: z179.string().optional(),
|
|
3947
|
+
negative_source_net_id: z179.string().optional(),
|
|
3948
|
+
subcircuit_id: z179.string().optional(),
|
|
3949
|
+
color: z179.string().optional()
|
|
3919
3950
|
}).describe(
|
|
3920
3951
|
"Defines a current probe for simulation. It measures current flowing from the positive endpoint to the negative endpoint."
|
|
3921
3952
|
).superRefine((data, ctx) => {
|
|
@@ -3927,7 +3958,7 @@ var simulation_current_probe = z178.object({
|
|
|
3927
3958
|
const hasNets = hasPositiveNet || hasNegativeNet;
|
|
3928
3959
|
if (hasPorts && hasNets) {
|
|
3929
3960
|
ctx.addIssue({
|
|
3930
|
-
code:
|
|
3961
|
+
code: z179.ZodIssueCode.custom,
|
|
3931
3962
|
message: "Cannot mix port and net connections in a current probe."
|
|
3932
3963
|
});
|
|
3933
3964
|
return;
|
|
@@ -3935,7 +3966,7 @@ var simulation_current_probe = z178.object({
|
|
|
3935
3966
|
if (hasPorts) {
|
|
3936
3967
|
if (!hasPositivePort || !hasNegativePort) {
|
|
3937
3968
|
ctx.addIssue({
|
|
3938
|
-
code:
|
|
3969
|
+
code: z179.ZodIssueCode.custom,
|
|
3939
3970
|
message: "Current probe using source ports requires both positive_source_port_id and negative_source_port_id."
|
|
3940
3971
|
});
|
|
3941
3972
|
}
|
|
@@ -3944,71 +3975,71 @@ var simulation_current_probe = z178.object({
|
|
|
3944
3975
|
if (hasNets) {
|
|
3945
3976
|
if (!hasPositiveNet || !hasNegativeNet) {
|
|
3946
3977
|
ctx.addIssue({
|
|
3947
|
-
code:
|
|
3978
|
+
code: z179.ZodIssueCode.custom,
|
|
3948
3979
|
message: "Current probe using source nets requires both positive_source_net_id and negative_source_net_id."
|
|
3949
3980
|
});
|
|
3950
3981
|
}
|
|
3951
3982
|
return;
|
|
3952
3983
|
}
|
|
3953
3984
|
ctx.addIssue({
|
|
3954
|
-
code:
|
|
3985
|
+
code: z179.ZodIssueCode.custom,
|
|
3955
3986
|
message: "A current probe must have either positive/negative source port ids or positive/negative source net ids."
|
|
3956
3987
|
});
|
|
3957
3988
|
});
|
|
3958
3989
|
expectTypesMatch(true);
|
|
3959
3990
|
|
|
3960
3991
|
// src/simulation/simulation_unknown_experiment_error.ts
|
|
3961
|
-
import { z as
|
|
3992
|
+
import { z as z180 } from "zod";
|
|
3962
3993
|
var simulation_unknown_experiment_error = base_circuit_json_error.extend({
|
|
3963
|
-
type:
|
|
3994
|
+
type: z180.literal("simulation_unknown_experiment_error"),
|
|
3964
3995
|
simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
|
|
3965
3996
|
"simulation_unknown_experiment_error"
|
|
3966
3997
|
),
|
|
3967
|
-
error_type:
|
|
3968
|
-
simulation_experiment_id:
|
|
3969
|
-
subcircuit_id:
|
|
3998
|
+
error_type: z180.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
|
|
3999
|
+
simulation_experiment_id: z180.string().optional(),
|
|
4000
|
+
subcircuit_id: z180.string().optional()
|
|
3970
4001
|
}).describe("An unknown error occurred during the simulation experiment.");
|
|
3971
4002
|
expectTypesMatch(true);
|
|
3972
4003
|
|
|
3973
4004
|
// src/simulation/simulation_parameter_sweep.ts
|
|
3974
|
-
import { z as
|
|
3975
|
-
var simulation_parameter_type =
|
|
4005
|
+
import { z as z181 } from "zod";
|
|
4006
|
+
var simulation_parameter_type = z181.enum([
|
|
3976
4007
|
"resistance",
|
|
3977
4008
|
"capacitance",
|
|
3978
4009
|
"inductance",
|
|
3979
4010
|
"voltage",
|
|
3980
4011
|
"current"
|
|
3981
4012
|
]);
|
|
3982
|
-
var simulation_parameter_sweep_base =
|
|
3983
|
-
type:
|
|
4013
|
+
var simulation_parameter_sweep_base = z181.object({
|
|
4014
|
+
type: z181.literal("simulation_parameter_sweep"),
|
|
3984
4015
|
simulation_parameter_sweep_id: getZodPrefixedIdWithDefault(
|
|
3985
4016
|
"simulation_parameter_sweep"
|
|
3986
4017
|
),
|
|
3987
|
-
simulation_experiment_id:
|
|
3988
|
-
name:
|
|
3989
|
-
parameter_values:
|
|
4018
|
+
simulation_experiment_id: z181.string(),
|
|
4019
|
+
name: z181.string().optional(),
|
|
4020
|
+
parameter_values: z181.array(z181.number()).min(1),
|
|
3990
4021
|
parameter_unit: simulation_parameter_unit
|
|
3991
4022
|
});
|
|
3992
|
-
var simulation_parameter_sweep =
|
|
4023
|
+
var simulation_parameter_sweep = z181.discriminatedUnion("parameter_type", [
|
|
3993
4024
|
simulation_parameter_sweep_base.extend({
|
|
3994
|
-
parameter_type:
|
|
3995
|
-
resistor_source_component_id:
|
|
4025
|
+
parameter_type: z181.literal("resistance"),
|
|
4026
|
+
resistor_source_component_id: z181.string()
|
|
3996
4027
|
}),
|
|
3997
4028
|
simulation_parameter_sweep_base.extend({
|
|
3998
|
-
parameter_type:
|
|
3999
|
-
capacitor_source_component_id:
|
|
4029
|
+
parameter_type: z181.literal("capacitance"),
|
|
4030
|
+
capacitor_source_component_id: z181.string()
|
|
4000
4031
|
}),
|
|
4001
4032
|
simulation_parameter_sweep_base.extend({
|
|
4002
|
-
parameter_type:
|
|
4003
|
-
inductor_source_component_id:
|
|
4033
|
+
parameter_type: z181.literal("inductance"),
|
|
4034
|
+
inductor_source_component_id: z181.string()
|
|
4004
4035
|
}),
|
|
4005
4036
|
simulation_parameter_sweep_base.extend({
|
|
4006
|
-
parameter_type:
|
|
4007
|
-
source_net_id:
|
|
4037
|
+
parameter_type: z181.literal("voltage"),
|
|
4038
|
+
source_net_id: z181.string()
|
|
4008
4039
|
}),
|
|
4009
4040
|
simulation_parameter_sweep_base.extend({
|
|
4010
|
-
parameter_type:
|
|
4011
|
-
current_source_component_id:
|
|
4041
|
+
parameter_type: z181.literal("current"),
|
|
4042
|
+
current_source_component_id: z181.string()
|
|
4012
4043
|
})
|
|
4013
4044
|
]).describe("Repeats a simulation experiment over component parameter values");
|
|
4014
4045
|
expectTypesMatch(
|
|
@@ -4016,52 +4047,52 @@ expectTypesMatch(
|
|
|
4016
4047
|
);
|
|
4017
4048
|
|
|
4018
4049
|
// src/simulation/simulation_dc_operating_point_voltage.ts
|
|
4019
|
-
import { z as
|
|
4020
|
-
var simulation_dc_operating_point_voltage =
|
|
4021
|
-
type:
|
|
4050
|
+
import { z as z182 } from "zod";
|
|
4051
|
+
var simulation_dc_operating_point_voltage = z182.object({
|
|
4052
|
+
type: z182.literal("simulation_dc_operating_point_voltage"),
|
|
4022
4053
|
simulation_dc_operating_point_voltage_id: getZodPrefixedIdWithDefault(
|
|
4023
4054
|
"simulation_dc_operating_point_voltage"
|
|
4024
4055
|
),
|
|
4025
|
-
simulation_experiment_id:
|
|
4056
|
+
simulation_experiment_id: z182.string(),
|
|
4026
4057
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4027
|
-
simulation_voltage_probe_id:
|
|
4028
|
-
voltage:
|
|
4029
|
-
name:
|
|
4030
|
-
color:
|
|
4058
|
+
simulation_voltage_probe_id: z182.string(),
|
|
4059
|
+
voltage: z182.number(),
|
|
4060
|
+
name: z182.string().optional(),
|
|
4061
|
+
color: z182.string().optional()
|
|
4031
4062
|
});
|
|
4032
4063
|
expectTypesMatch(true);
|
|
4033
4064
|
|
|
4034
4065
|
// src/simulation/simulation_dc_operating_point_current.ts
|
|
4035
|
-
import { z as
|
|
4036
|
-
var simulation_dc_operating_point_current =
|
|
4037
|
-
type:
|
|
4066
|
+
import { z as z183 } from "zod";
|
|
4067
|
+
var simulation_dc_operating_point_current = z183.object({
|
|
4068
|
+
type: z183.literal("simulation_dc_operating_point_current"),
|
|
4038
4069
|
simulation_dc_operating_point_current_id: getZodPrefixedIdWithDefault(
|
|
4039
4070
|
"simulation_dc_operating_point_current"
|
|
4040
4071
|
),
|
|
4041
|
-
simulation_experiment_id:
|
|
4072
|
+
simulation_experiment_id: z183.string(),
|
|
4042
4073
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4043
|
-
simulation_current_probe_id:
|
|
4044
|
-
current:
|
|
4045
|
-
name:
|
|
4046
|
-
color:
|
|
4074
|
+
simulation_current_probe_id: z183.string(),
|
|
4075
|
+
current: z183.number(),
|
|
4076
|
+
name: z183.string().optional(),
|
|
4077
|
+
color: z183.string().optional()
|
|
4047
4078
|
});
|
|
4048
4079
|
expectTypesMatch(true);
|
|
4049
4080
|
|
|
4050
4081
|
// src/simulation/simulation_dc_sweep_voltage_graph.ts
|
|
4051
|
-
import { z as
|
|
4052
|
-
var simulation_dc_sweep_voltage_graph =
|
|
4053
|
-
type:
|
|
4082
|
+
import { z as z184 } from "zod";
|
|
4083
|
+
var simulation_dc_sweep_voltage_graph = z184.object({
|
|
4084
|
+
type: z184.literal("simulation_dc_sweep_voltage_graph"),
|
|
4054
4085
|
simulation_dc_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
4055
4086
|
"simulation_dc_sweep_voltage_graph"
|
|
4056
4087
|
),
|
|
4057
|
-
simulation_experiment_id:
|
|
4088
|
+
simulation_experiment_id: z184.string(),
|
|
4058
4089
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4059
|
-
simulation_voltage_probe_id:
|
|
4060
|
-
sweep_values:
|
|
4090
|
+
simulation_voltage_probe_id: z184.string(),
|
|
4091
|
+
sweep_values: z184.array(z184.number()),
|
|
4061
4092
|
sweep_unit: simulation_dc_sweep_unit,
|
|
4062
|
-
voltage_levels:
|
|
4063
|
-
name:
|
|
4064
|
-
color:
|
|
4093
|
+
voltage_levels: z184.array(z184.number()),
|
|
4094
|
+
name: z184.string().optional(),
|
|
4095
|
+
color: z184.string().optional()
|
|
4065
4096
|
}).refine(
|
|
4066
4097
|
(graph) => graph.sweep_values.length === graph.voltage_levels.length,
|
|
4067
4098
|
{
|
|
@@ -4071,20 +4102,20 @@ var simulation_dc_sweep_voltage_graph = z183.object({
|
|
|
4071
4102
|
expectTypesMatch(true);
|
|
4072
4103
|
|
|
4073
4104
|
// src/simulation/simulation_dc_sweep_current_graph.ts
|
|
4074
|
-
import { z as
|
|
4075
|
-
var simulation_dc_sweep_current_graph =
|
|
4076
|
-
type:
|
|
4105
|
+
import { z as z185 } from "zod";
|
|
4106
|
+
var simulation_dc_sweep_current_graph = z185.object({
|
|
4107
|
+
type: z185.literal("simulation_dc_sweep_current_graph"),
|
|
4077
4108
|
simulation_dc_sweep_current_graph_id: getZodPrefixedIdWithDefault(
|
|
4078
4109
|
"simulation_dc_sweep_current_graph"
|
|
4079
4110
|
),
|
|
4080
|
-
simulation_experiment_id:
|
|
4111
|
+
simulation_experiment_id: z185.string(),
|
|
4081
4112
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4082
|
-
simulation_current_probe_id:
|
|
4083
|
-
sweep_values:
|
|
4113
|
+
simulation_current_probe_id: z185.string(),
|
|
4114
|
+
sweep_values: z185.array(z185.number()),
|
|
4084
4115
|
sweep_unit: simulation_dc_sweep_unit,
|
|
4085
|
-
current_levels:
|
|
4086
|
-
name:
|
|
4087
|
-
color:
|
|
4116
|
+
current_levels: z185.array(z185.number()),
|
|
4117
|
+
name: z185.string().optional(),
|
|
4118
|
+
color: z185.string().optional()
|
|
4088
4119
|
}).refine(
|
|
4089
4120
|
(graph) => graph.sweep_values.length === graph.current_levels.length,
|
|
4090
4121
|
{
|
|
@@ -4094,29 +4125,29 @@ var simulation_dc_sweep_current_graph = z184.object({
|
|
|
4094
4125
|
expectTypesMatch(true);
|
|
4095
4126
|
|
|
4096
4127
|
// src/simulation/simulation_ac_sweep_voltage_graph.ts
|
|
4097
|
-
import { z as
|
|
4128
|
+
import { z as z187 } from "zod";
|
|
4098
4129
|
|
|
4099
4130
|
// src/simulation/simulation_complex_sample.ts
|
|
4100
|
-
import { z as
|
|
4101
|
-
var simulation_complex_sample =
|
|
4102
|
-
re:
|
|
4103
|
-
im:
|
|
4131
|
+
import { z as z186 } from "zod";
|
|
4132
|
+
var simulation_complex_sample = z186.object({
|
|
4133
|
+
re: z186.number(),
|
|
4134
|
+
im: z186.number()
|
|
4104
4135
|
});
|
|
4105
4136
|
expectTypesMatch(true);
|
|
4106
4137
|
|
|
4107
4138
|
// src/simulation/simulation_ac_sweep_voltage_graph.ts
|
|
4108
|
-
var simulation_ac_sweep_voltage_graph =
|
|
4109
|
-
type:
|
|
4139
|
+
var simulation_ac_sweep_voltage_graph = z187.object({
|
|
4140
|
+
type: z187.literal("simulation_ac_sweep_voltage_graph"),
|
|
4110
4141
|
simulation_ac_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
4111
4142
|
"simulation_ac_sweep_voltage_graph"
|
|
4112
4143
|
),
|
|
4113
|
-
simulation_experiment_id:
|
|
4144
|
+
simulation_experiment_id: z187.string(),
|
|
4114
4145
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4115
|
-
simulation_voltage_probe_id:
|
|
4116
|
-
frequencies_hz:
|
|
4117
|
-
complex_voltages:
|
|
4118
|
-
name:
|
|
4119
|
-
color:
|
|
4146
|
+
simulation_voltage_probe_id: z187.string(),
|
|
4147
|
+
frequencies_hz: z187.array(z187.number()),
|
|
4148
|
+
complex_voltages: z187.array(simulation_complex_sample),
|
|
4149
|
+
name: z187.string().optional(),
|
|
4150
|
+
color: z187.string().optional()
|
|
4120
4151
|
}).refine(
|
|
4121
4152
|
(graph) => graph.frequencies_hz.length === graph.complex_voltages.length,
|
|
4122
4153
|
{
|
|
@@ -4126,19 +4157,19 @@ var simulation_ac_sweep_voltage_graph = z186.object({
|
|
|
4126
4157
|
expectTypesMatch(true);
|
|
4127
4158
|
|
|
4128
4159
|
// src/simulation/simulation_ac_sweep_current_graph.ts
|
|
4129
|
-
import { z as
|
|
4130
|
-
var simulation_ac_sweep_current_graph =
|
|
4131
|
-
type:
|
|
4160
|
+
import { z as z188 } from "zod";
|
|
4161
|
+
var simulation_ac_sweep_current_graph = z188.object({
|
|
4162
|
+
type: z188.literal("simulation_ac_sweep_current_graph"),
|
|
4132
4163
|
simulation_ac_sweep_current_graph_id: getZodPrefixedIdWithDefault(
|
|
4133
4164
|
"simulation_ac_sweep_current_graph"
|
|
4134
4165
|
),
|
|
4135
|
-
simulation_experiment_id:
|
|
4166
|
+
simulation_experiment_id: z188.string(),
|
|
4136
4167
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4137
|
-
simulation_current_probe_id:
|
|
4138
|
-
frequencies_hz:
|
|
4139
|
-
complex_currents:
|
|
4140
|
-
name:
|
|
4141
|
-
color:
|
|
4168
|
+
simulation_current_probe_id: z188.string(),
|
|
4169
|
+
frequencies_hz: z188.array(z188.number()),
|
|
4170
|
+
complex_currents: z188.array(simulation_complex_sample),
|
|
4171
|
+
name: z188.string().optional(),
|
|
4172
|
+
color: z188.string().optional()
|
|
4142
4173
|
}).refine(
|
|
4143
4174
|
(graph) => graph.frequencies_hz.length === graph.complex_currents.length,
|
|
4144
4175
|
{
|
|
@@ -4148,52 +4179,52 @@ var simulation_ac_sweep_current_graph = z187.object({
|
|
|
4148
4179
|
expectTypesMatch(true);
|
|
4149
4180
|
|
|
4150
4181
|
// src/simulation/simulation_op_amp.ts
|
|
4151
|
-
import { z as
|
|
4152
|
-
var simulation_op_amp =
|
|
4153
|
-
type:
|
|
4182
|
+
import { z as z189 } from "zod";
|
|
4183
|
+
var simulation_op_amp = z189.object({
|
|
4184
|
+
type: z189.literal("simulation_op_amp"),
|
|
4154
4185
|
simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
|
|
4155
|
-
source_component_id:
|
|
4156
|
-
inverting_input_source_port_id:
|
|
4157
|
-
non_inverting_input_source_port_id:
|
|
4158
|
-
output_source_port_id:
|
|
4159
|
-
positive_supply_source_port_id:
|
|
4160
|
-
negative_supply_source_port_id:
|
|
4186
|
+
source_component_id: z189.string().optional(),
|
|
4187
|
+
inverting_input_source_port_id: z189.string(),
|
|
4188
|
+
non_inverting_input_source_port_id: z189.string(),
|
|
4189
|
+
output_source_port_id: z189.string(),
|
|
4190
|
+
positive_supply_source_port_id: z189.string(),
|
|
4191
|
+
negative_supply_source_port_id: z189.string()
|
|
4161
4192
|
}).describe("Defines a simple ideal operational amplifier for simulation");
|
|
4162
4193
|
expectTypesMatch(true);
|
|
4163
4194
|
|
|
4164
4195
|
// src/simulation/simulation_spice_subcircuit.ts
|
|
4165
|
-
import { z as
|
|
4166
|
-
var simulation_spice_subcircuit =
|
|
4167
|
-
type:
|
|
4196
|
+
import { z as z190 } from "zod";
|
|
4197
|
+
var simulation_spice_subcircuit = z190.object({
|
|
4198
|
+
type: z190.literal("simulation_spice_subcircuit"),
|
|
4168
4199
|
simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault(
|
|
4169
4200
|
"simulation_spice_subcircuit"
|
|
4170
4201
|
),
|
|
4171
|
-
source_component_id:
|
|
4172
|
-
spice_pin_to_source_port_map:
|
|
4173
|
-
subcircuit_source:
|
|
4202
|
+
source_component_id: z190.string(),
|
|
4203
|
+
spice_pin_to_source_port_map: z190.record(z190.string(), z190.string()),
|
|
4204
|
+
subcircuit_source: z190.string()
|
|
4174
4205
|
}).describe("Defines a custom SPICE subcircuit model for simulation");
|
|
4175
4206
|
expectTypesMatch(
|
|
4176
4207
|
true
|
|
4177
4208
|
);
|
|
4178
4209
|
|
|
4179
4210
|
// src/simulation/simulation_oscilloscope_trace.ts
|
|
4180
|
-
import { z as
|
|
4211
|
+
import { z as z191 } from "zod";
|
|
4181
4212
|
var hasValue = (value) => value !== void 0;
|
|
4182
|
-
var simulation_oscilloscope_trace =
|
|
4183
|
-
type:
|
|
4213
|
+
var simulation_oscilloscope_trace = z191.object({
|
|
4214
|
+
type: z191.literal("simulation_oscilloscope_trace"),
|
|
4184
4215
|
simulation_oscilloscope_trace_id: getZodPrefixedIdWithDefault(
|
|
4185
4216
|
"simulation_oscilloscope_trace"
|
|
4186
4217
|
),
|
|
4187
|
-
simulation_transient_voltage_graph_id:
|
|
4188
|
-
simulation_transient_current_graph_id:
|
|
4189
|
-
simulation_voltage_probe_id:
|
|
4190
|
-
simulation_current_probe_id:
|
|
4191
|
-
display_name:
|
|
4192
|
-
color:
|
|
4193
|
-
display_center_value:
|
|
4194
|
-
display_center_offset_divs:
|
|
4195
|
-
volts_per_div:
|
|
4196
|
-
amps_per_div:
|
|
4218
|
+
simulation_transient_voltage_graph_id: z191.string().optional(),
|
|
4219
|
+
simulation_transient_current_graph_id: z191.string().optional(),
|
|
4220
|
+
simulation_voltage_probe_id: z191.string().optional(),
|
|
4221
|
+
simulation_current_probe_id: z191.string().optional(),
|
|
4222
|
+
display_name: z191.string().optional(),
|
|
4223
|
+
color: z191.string().optional(),
|
|
4224
|
+
display_center_value: z191.number().optional(),
|
|
4225
|
+
display_center_offset_divs: z191.number().optional(),
|
|
4226
|
+
volts_per_div: z191.number().positive().optional(),
|
|
4227
|
+
amps_per_div: z191.number().positive().optional()
|
|
4197
4228
|
}).describe(
|
|
4198
4229
|
"Defines how a simulation measurement is rendered as an oscilloscope-style trace."
|
|
4199
4230
|
).superRefine((data, ctx) => {
|
|
@@ -4207,19 +4238,19 @@ var simulation_oscilloscope_trace = z190.object({
|
|
|
4207
4238
|
].filter(hasValue).length;
|
|
4208
4239
|
if (voltageReferences + currentReferences !== 1) {
|
|
4209
4240
|
ctx.addIssue({
|
|
4210
|
-
code:
|
|
4241
|
+
code: z191.ZodIssueCode.custom,
|
|
4211
4242
|
message: "An oscilloscope trace must reference exactly one voltage graph, current graph, voltage probe, or current probe."
|
|
4212
4243
|
});
|
|
4213
4244
|
}
|
|
4214
4245
|
if (voltageReferences > 0 && data.amps_per_div !== void 0) {
|
|
4215
4246
|
ctx.addIssue({
|
|
4216
|
-
code:
|
|
4247
|
+
code: z191.ZodIssueCode.custom,
|
|
4217
4248
|
message: "Voltage oscilloscope traces must use volts_per_div, not amps_per_div."
|
|
4218
4249
|
});
|
|
4219
4250
|
}
|
|
4220
4251
|
if (currentReferences > 0 && data.volts_per_div !== void 0) {
|
|
4221
4252
|
ctx.addIssue({
|
|
4222
|
-
code:
|
|
4253
|
+
code: z191.ZodIssueCode.custom,
|
|
4223
4254
|
message: "Current oscilloscope traces must use amps_per_div, not volts_per_div."
|
|
4224
4255
|
});
|
|
4225
4256
|
}
|
|
@@ -4227,8 +4258,8 @@ var simulation_oscilloscope_trace = z190.object({
|
|
|
4227
4258
|
expectTypesMatch(true);
|
|
4228
4259
|
|
|
4229
4260
|
// src/any_circuit_element.ts
|
|
4230
|
-
import { z as
|
|
4231
|
-
var any_circuit_element =
|
|
4261
|
+
import { z as z192 } from "zod";
|
|
4262
|
+
var any_circuit_element = z192.union([
|
|
4232
4263
|
source_trace,
|
|
4233
4264
|
source_port,
|
|
4234
4265
|
source_component_internal_connection,
|
|
@@ -4307,6 +4338,7 @@ var any_circuit_element = z191.union([
|
|
|
4307
4338
|
pcb_trace_error,
|
|
4308
4339
|
pcb_trace_missing_error,
|
|
4309
4340
|
pcb_placement_error,
|
|
4341
|
+
pcb_packing_error,
|
|
4310
4342
|
pcb_panelization_placement_error,
|
|
4311
4343
|
pcb_port_not_matched_error,
|
|
4312
4344
|
pcb_port_not_connected_error,
|
|
@@ -4481,6 +4513,7 @@ export {
|
|
|
4481
4513
|
pcb_note_path,
|
|
4482
4514
|
pcb_note_rect,
|
|
4483
4515
|
pcb_note_text,
|
|
4516
|
+
pcb_packing_error,
|
|
4484
4517
|
pcb_pad_pad_clearance_error,
|
|
4485
4518
|
pcb_pad_trace_clearance_error,
|
|
4486
4519
|
pcb_panel,
|