circuit-json 0.0.488 → 0.0.490
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 +60 -0
- package/dist/index.d.mts +269 -2
- package/dist/index.mjs +487 -444
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -3415,92 +3415,131 @@ var pcb_autorouting_error = base_circuit_json_error.extend({
|
|
|
3415
3415
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
3416
3416
|
expectTypesMatch(true);
|
|
3417
3417
|
|
|
3418
|
-
// src/pcb/
|
|
3418
|
+
// src/pcb/pcb_preflight_routing_error.ts
|
|
3419
3419
|
import { z as z158 } from "zod";
|
|
3420
|
-
var
|
|
3421
|
-
type: z158.literal("
|
|
3420
|
+
var pcb_preflight_routing_error = base_circuit_json_error.extend({
|
|
3421
|
+
type: z158.literal("pcb_preflight_routing_error"),
|
|
3422
|
+
pcb_preflight_routing_error_id: getZodPrefixedIdWithDefault(
|
|
3423
|
+
"pcb_preflight_routing_error"
|
|
3424
|
+
),
|
|
3425
|
+
error_type: z158.literal("pcb_preflight_routing_error").default("pcb_preflight_routing_error"),
|
|
3426
|
+
error_code: z158.string(),
|
|
3427
|
+
subcircuit_id: z158.string().optional(),
|
|
3428
|
+
pcb_group_id: z158.string().optional(),
|
|
3429
|
+
routing_phase_index: z158.number().int().optional(),
|
|
3430
|
+
phase_name: z158.string().optional(),
|
|
3431
|
+
source_trace_ids: z158.array(z158.string()).optional(),
|
|
3432
|
+
pcb_component_ids: z158.array(z158.string()).optional(),
|
|
3433
|
+
pcb_port_ids: z158.array(z158.string()).optional(),
|
|
3434
|
+
related_error_ids: z158.array(z158.string()).optional(),
|
|
3435
|
+
measurements: z158.record(z158.number().finite()).optional()
|
|
3436
|
+
});
|
|
3437
|
+
expectTypesMatch(true);
|
|
3438
|
+
|
|
3439
|
+
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
3440
|
+
import { z as z159 } from "zod";
|
|
3441
|
+
var pcb_manual_edit_conflict_warning = z159.object({
|
|
3442
|
+
type: z159.literal("pcb_manual_edit_conflict_warning"),
|
|
3422
3443
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
3423
3444
|
"pcb_manual_edit_conflict_warning"
|
|
3424
3445
|
),
|
|
3425
|
-
warning_type:
|
|
3426
|
-
message:
|
|
3427
|
-
pcb_component_id:
|
|
3428
|
-
pcb_group_id:
|
|
3429
|
-
subcircuit_id:
|
|
3430
|
-
source_component_id:
|
|
3446
|
+
warning_type: z159.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
3447
|
+
message: z159.string(),
|
|
3448
|
+
pcb_component_id: z159.string(),
|
|
3449
|
+
pcb_group_id: z159.string().optional(),
|
|
3450
|
+
subcircuit_id: z159.string().optional(),
|
|
3451
|
+
source_component_id: z159.string()
|
|
3431
3452
|
}).describe(
|
|
3432
3453
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
3433
3454
|
);
|
|
3434
3455
|
expectTypesMatch(true);
|
|
3435
3456
|
|
|
3436
3457
|
// src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
|
|
3437
|
-
import { z as
|
|
3438
|
-
var connectorOrientationDirection =
|
|
3439
|
-
var pcb_connector_not_in_accessible_orientation_warning =
|
|
3440
|
-
type:
|
|
3458
|
+
import { z as z160 } from "zod";
|
|
3459
|
+
var connectorOrientationDirection = z160.enum(["x-", "x+", "y+", "y-"]);
|
|
3460
|
+
var pcb_connector_not_in_accessible_orientation_warning = z160.object({
|
|
3461
|
+
type: z160.literal("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3441
3462
|
pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
|
|
3442
3463
|
"pcb_connector_not_in_accessible_orientation_warning"
|
|
3443
3464
|
),
|
|
3444
|
-
warning_type:
|
|
3445
|
-
message:
|
|
3446
|
-
pcb_component_id:
|
|
3447
|
-
source_component_id:
|
|
3448
|
-
pcb_board_id:
|
|
3465
|
+
warning_type: z160.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3466
|
+
message: z160.string(),
|
|
3467
|
+
pcb_component_id: z160.string(),
|
|
3468
|
+
source_component_id: z160.string().optional(),
|
|
3469
|
+
pcb_board_id: z160.string().optional(),
|
|
3449
3470
|
facing_direction: connectorOrientationDirection,
|
|
3450
3471
|
recommended_facing_direction: connectorOrientationDirection,
|
|
3451
|
-
subcircuit_id:
|
|
3472
|
+
subcircuit_id: z160.string().optional()
|
|
3452
3473
|
}).describe(
|
|
3453
3474
|
"Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
|
|
3454
3475
|
);
|
|
3455
3476
|
expectTypesMatch(true);
|
|
3456
3477
|
|
|
3457
3478
|
// src/pcb/pcb_component_missing_courtyard_warning.ts
|
|
3458
|
-
import { z as
|
|
3459
|
-
var pcb_component_missing_courtyard_warning =
|
|
3460
|
-
type:
|
|
3479
|
+
import { z as z161 } from "zod";
|
|
3480
|
+
var pcb_component_missing_courtyard_warning = z161.object({
|
|
3481
|
+
type: z161.literal("pcb_component_missing_courtyard_warning"),
|
|
3461
3482
|
pcb_component_missing_courtyard_warning_id: getZodPrefixedIdWithDefault(
|
|
3462
3483
|
"pcb_component_missing_courtyard_warning"
|
|
3463
3484
|
),
|
|
3464
|
-
warning_type:
|
|
3465
|
-
message:
|
|
3466
|
-
pcb_component_id:
|
|
3467
|
-
source_component_id:
|
|
3468
|
-
subcircuit_id:
|
|
3485
|
+
warning_type: z161.literal("pcb_component_missing_courtyard_warning").default("pcb_component_missing_courtyard_warning"),
|
|
3486
|
+
message: z161.string(),
|
|
3487
|
+
pcb_component_id: z161.string(),
|
|
3488
|
+
source_component_id: z161.string().optional(),
|
|
3489
|
+
subcircuit_id: z161.string().optional()
|
|
3469
3490
|
}).describe("Warning emitted when a PCB component has no courtyard geometry");
|
|
3470
3491
|
expectTypesMatch(true);
|
|
3471
3492
|
|
|
3472
3493
|
// src/pcb/supplier_footprint_mismatch_warning.ts
|
|
3473
|
-
import { z as
|
|
3474
|
-
var supplier_footprint_mismatch_warning =
|
|
3475
|
-
type:
|
|
3494
|
+
import { z as z162 } from "zod";
|
|
3495
|
+
var supplier_footprint_mismatch_warning = z162.object({
|
|
3496
|
+
type: z162.literal("supplier_footprint_mismatch_warning"),
|
|
3476
3497
|
supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
|
|
3477
3498
|
"supplier_footprint_mismatch_warning"
|
|
3478
3499
|
),
|
|
3479
|
-
warning_type:
|
|
3480
|
-
message:
|
|
3481
|
-
source_component_id:
|
|
3482
|
-
pcb_component_id:
|
|
3483
|
-
pcb_group_id:
|
|
3484
|
-
subcircuit_id:
|
|
3500
|
+
warning_type: z162.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
|
|
3501
|
+
message: z162.string(),
|
|
3502
|
+
source_component_id: z162.string(),
|
|
3503
|
+
pcb_component_id: z162.string().optional(),
|
|
3504
|
+
pcb_group_id: z162.string().optional(),
|
|
3505
|
+
subcircuit_id: z162.string().optional(),
|
|
3485
3506
|
supplier_name: supplier_name.optional(),
|
|
3486
|
-
supplier_part_number:
|
|
3487
|
-
supplier_footprint_url:
|
|
3488
|
-
footprint_copper_intersection_over_union:
|
|
3507
|
+
supplier_part_number: z162.string().optional(),
|
|
3508
|
+
supplier_footprint_url: z162.string().optional(),
|
|
3509
|
+
footprint_copper_intersection_over_union: z162.number()
|
|
3489
3510
|
}).describe(
|
|
3490
3511
|
"Warning emitted when a supplier part footprint does not match the expected footprint"
|
|
3491
3512
|
);
|
|
3492
3513
|
expectTypesMatch(true);
|
|
3493
3514
|
|
|
3515
|
+
// src/pcb/pcb_fabricator_extra_charge_warning.ts
|
|
3516
|
+
import { z as z163 } from "zod";
|
|
3517
|
+
var pcb_fabricator_extra_charge_warning = z163.object({
|
|
3518
|
+
type: z163.literal("pcb_fabricator_extra_charge_warning"),
|
|
3519
|
+
pcb_fabricator_extra_charge_warning_id: getZodPrefixedIdWithDefault(
|
|
3520
|
+
"pcb_fabricator_extra_charge_warning"
|
|
3521
|
+
),
|
|
3522
|
+
warning_type: z163.literal("pcb_fabricator_extra_charge_warning").default("pcb_fabricator_extra_charge_warning"),
|
|
3523
|
+
message: z163.string(),
|
|
3524
|
+
fabricator_preset: z163.string(),
|
|
3525
|
+
pcb_board_id: z163.string().optional(),
|
|
3526
|
+
pcb_via_ids: z163.array(z163.string()).optional(),
|
|
3527
|
+
subcircuit_id: z163.string().optional()
|
|
3528
|
+
}).describe(
|
|
3529
|
+
"Warning that a design feature incurs an extra charge for the selected fabricator preset, such as via hole diameters below 0.3 mm with JLCPCB economy or standard presets."
|
|
3530
|
+
);
|
|
3531
|
+
expectTypesMatch(true);
|
|
3532
|
+
|
|
3494
3533
|
// src/pcb/pcb_breakout_point.ts
|
|
3495
|
-
import { z as
|
|
3496
|
-
var pcb_breakout_point =
|
|
3497
|
-
type:
|
|
3534
|
+
import { z as z164 } from "zod";
|
|
3535
|
+
var pcb_breakout_point = z164.object({
|
|
3536
|
+
type: z164.literal("pcb_breakout_point"),
|
|
3498
3537
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
3499
|
-
pcb_group_id:
|
|
3500
|
-
subcircuit_id:
|
|
3501
|
-
source_trace_id:
|
|
3502
|
-
source_port_id:
|
|
3503
|
-
source_net_id:
|
|
3538
|
+
pcb_group_id: z164.string(),
|
|
3539
|
+
subcircuit_id: z164.string().optional(),
|
|
3540
|
+
source_trace_id: z164.string().optional(),
|
|
3541
|
+
source_port_id: z164.string().optional(),
|
|
3542
|
+
source_net_id: z164.string().optional(),
|
|
3504
3543
|
layer: layer_ref.optional(),
|
|
3505
3544
|
x: distance,
|
|
3506
3545
|
y: distance
|
|
@@ -3510,61 +3549,61 @@ var pcb_breakout_point = z162.object({
|
|
|
3510
3549
|
expectTypesMatch(true);
|
|
3511
3550
|
|
|
3512
3551
|
// src/pcb/pcb_ground_plane.ts
|
|
3513
|
-
import { z as
|
|
3514
|
-
var pcb_ground_plane =
|
|
3515
|
-
type:
|
|
3552
|
+
import { z as z165 } from "zod";
|
|
3553
|
+
var pcb_ground_plane = z165.object({
|
|
3554
|
+
type: z165.literal("pcb_ground_plane"),
|
|
3516
3555
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
3517
|
-
source_pcb_ground_plane_id:
|
|
3518
|
-
source_net_id:
|
|
3519
|
-
pcb_group_id:
|
|
3520
|
-
subcircuit_id:
|
|
3556
|
+
source_pcb_ground_plane_id: z165.string(),
|
|
3557
|
+
source_net_id: z165.string(),
|
|
3558
|
+
pcb_group_id: z165.string().optional(),
|
|
3559
|
+
subcircuit_id: z165.string().optional()
|
|
3521
3560
|
}).describe("Defines a ground plane on the PCB");
|
|
3522
3561
|
expectTypesMatch(true);
|
|
3523
3562
|
|
|
3524
3563
|
// src/pcb/pcb_ground_plane_region.ts
|
|
3525
|
-
import { z as
|
|
3526
|
-
var pcb_ground_plane_region =
|
|
3527
|
-
type:
|
|
3564
|
+
import { z as z166 } from "zod";
|
|
3565
|
+
var pcb_ground_plane_region = z166.object({
|
|
3566
|
+
type: z166.literal("pcb_ground_plane_region"),
|
|
3528
3567
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
3529
3568
|
"pcb_ground_plane_region"
|
|
3530
3569
|
),
|
|
3531
|
-
pcb_ground_plane_id:
|
|
3532
|
-
pcb_group_id:
|
|
3533
|
-
subcircuit_id:
|
|
3570
|
+
pcb_ground_plane_id: z166.string(),
|
|
3571
|
+
pcb_group_id: z166.string().optional(),
|
|
3572
|
+
subcircuit_id: z166.string().optional(),
|
|
3534
3573
|
layer: layer_ref,
|
|
3535
|
-
points:
|
|
3574
|
+
points: z166.array(point)
|
|
3536
3575
|
}).describe("Defines a polygon region of a ground plane");
|
|
3537
3576
|
expectTypesMatch(true);
|
|
3538
3577
|
|
|
3539
3578
|
// src/pcb/pcb_thermal_spoke.ts
|
|
3540
|
-
import { z as
|
|
3541
|
-
var pcb_thermal_spoke =
|
|
3542
|
-
type:
|
|
3579
|
+
import { z as z167 } from "zod";
|
|
3580
|
+
var pcb_thermal_spoke = z167.object({
|
|
3581
|
+
type: z167.literal("pcb_thermal_spoke"),
|
|
3543
3582
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
3544
|
-
pcb_ground_plane_id:
|
|
3545
|
-
shape:
|
|
3546
|
-
spoke_count:
|
|
3583
|
+
pcb_ground_plane_id: z167.string(),
|
|
3584
|
+
shape: z167.string(),
|
|
3585
|
+
spoke_count: z167.number(),
|
|
3547
3586
|
spoke_thickness: distance,
|
|
3548
3587
|
spoke_inner_diameter: distance,
|
|
3549
3588
|
spoke_outer_diameter: distance,
|
|
3550
|
-
pcb_plated_hole_id:
|
|
3551
|
-
subcircuit_id:
|
|
3589
|
+
pcb_plated_hole_id: z167.string().optional(),
|
|
3590
|
+
subcircuit_id: z167.string().optional()
|
|
3552
3591
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
3553
3592
|
expectTypesMatch(true);
|
|
3554
3593
|
|
|
3555
3594
|
// src/pcb/pcb_copper_pour.ts
|
|
3556
|
-
import { z as
|
|
3557
|
-
var pcb_copper_pour_base =
|
|
3558
|
-
type:
|
|
3595
|
+
import { z as z168 } from "zod";
|
|
3596
|
+
var pcb_copper_pour_base = z168.object({
|
|
3597
|
+
type: z168.literal("pcb_copper_pour"),
|
|
3559
3598
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
3560
|
-
pcb_group_id:
|
|
3561
|
-
subcircuit_id:
|
|
3599
|
+
pcb_group_id: z168.string().optional(),
|
|
3600
|
+
subcircuit_id: z168.string().optional(),
|
|
3562
3601
|
layer: layer_ref,
|
|
3563
|
-
source_net_id:
|
|
3564
|
-
covered_with_solder_mask:
|
|
3602
|
+
source_net_id: z168.string().optional(),
|
|
3603
|
+
covered_with_solder_mask: z168.boolean().optional().default(true)
|
|
3565
3604
|
});
|
|
3566
3605
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
3567
|
-
shape:
|
|
3606
|
+
shape: z168.literal("rect"),
|
|
3568
3607
|
center: point,
|
|
3569
3608
|
width: length,
|
|
3570
3609
|
height: length,
|
|
@@ -3572,16 +3611,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
3572
3611
|
});
|
|
3573
3612
|
expectTypesMatch(true);
|
|
3574
3613
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
3575
|
-
shape:
|
|
3614
|
+
shape: z168.literal("brep"),
|
|
3576
3615
|
brep_shape
|
|
3577
3616
|
});
|
|
3578
3617
|
expectTypesMatch(true);
|
|
3579
3618
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
3580
|
-
shape:
|
|
3581
|
-
points:
|
|
3619
|
+
shape: z168.literal("polygon"),
|
|
3620
|
+
points: z168.array(point)
|
|
3582
3621
|
});
|
|
3583
3622
|
expectTypesMatch(true);
|
|
3584
|
-
var pcb_copper_pour =
|
|
3623
|
+
var pcb_copper_pour = z168.discriminatedUnion("shape", [
|
|
3585
3624
|
pcb_copper_pour_rect,
|
|
3586
3625
|
pcb_copper_pour_brep,
|
|
3587
3626
|
pcb_copper_pour_polygon
|
|
@@ -3589,99 +3628,99 @@ var pcb_copper_pour = z166.discriminatedUnion("shape", [
|
|
|
3589
3628
|
expectTypesMatch(true);
|
|
3590
3629
|
|
|
3591
3630
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
3592
|
-
import { z as
|
|
3631
|
+
import { z as z169 } from "zod";
|
|
3593
3632
|
var pcb_component_outside_board_error = base_circuit_json_error.extend({
|
|
3594
|
-
type:
|
|
3633
|
+
type: z169.literal("pcb_component_outside_board_error"),
|
|
3595
3634
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
3596
3635
|
"pcb_component_outside_board_error"
|
|
3597
3636
|
),
|
|
3598
|
-
error_type:
|
|
3599
|
-
pcb_component_id:
|
|
3600
|
-
pcb_board_id:
|
|
3637
|
+
error_type: z169.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
3638
|
+
pcb_component_id: z169.string(),
|
|
3639
|
+
pcb_board_id: z169.string(),
|
|
3601
3640
|
component_center: point,
|
|
3602
|
-
component_bounds:
|
|
3603
|
-
min_x:
|
|
3604
|
-
max_x:
|
|
3605
|
-
min_y:
|
|
3606
|
-
max_y:
|
|
3641
|
+
component_bounds: z169.object({
|
|
3642
|
+
min_x: z169.number(),
|
|
3643
|
+
max_x: z169.number(),
|
|
3644
|
+
min_y: z169.number(),
|
|
3645
|
+
max_y: z169.number()
|
|
3607
3646
|
}),
|
|
3608
|
-
subcircuit_id:
|
|
3609
|
-
source_component_id:
|
|
3647
|
+
subcircuit_id: z169.string().optional(),
|
|
3648
|
+
source_component_id: z169.string().optional()
|
|
3610
3649
|
}).describe(
|
|
3611
3650
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
3612
3651
|
);
|
|
3613
3652
|
expectTypesMatch(true);
|
|
3614
3653
|
|
|
3615
3654
|
// src/pcb/pcb_component_not_on_board_edge_error.ts
|
|
3616
|
-
import { z as
|
|
3655
|
+
import { z as z170 } from "zod";
|
|
3617
3656
|
var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
|
|
3618
|
-
type:
|
|
3657
|
+
type: z170.literal("pcb_component_not_on_board_edge_error"),
|
|
3619
3658
|
pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
|
|
3620
3659
|
"pcb_component_not_on_board_edge_error"
|
|
3621
3660
|
),
|
|
3622
|
-
error_type:
|
|
3623
|
-
pcb_component_id:
|
|
3624
|
-
pcb_board_id:
|
|
3661
|
+
error_type: z170.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
|
|
3662
|
+
pcb_component_id: z170.string(),
|
|
3663
|
+
pcb_board_id: z170.string(),
|
|
3625
3664
|
component_center: point,
|
|
3626
|
-
pad_to_nearest_board_edge_distance:
|
|
3627
|
-
source_component_id:
|
|
3628
|
-
subcircuit_id:
|
|
3665
|
+
pad_to_nearest_board_edge_distance: z170.number(),
|
|
3666
|
+
source_component_id: z170.string().optional(),
|
|
3667
|
+
subcircuit_id: z170.string().optional()
|
|
3629
3668
|
}).describe(
|
|
3630
3669
|
"Error emitted when a component that must be placed on the board edge is centered away from the edge"
|
|
3631
3670
|
);
|
|
3632
3671
|
expectTypesMatch(true);
|
|
3633
3672
|
|
|
3634
3673
|
// src/pcb/pcb_component_invalid_layer_error.ts
|
|
3635
|
-
import { z as
|
|
3674
|
+
import { z as z171 } from "zod";
|
|
3636
3675
|
var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
|
|
3637
|
-
type:
|
|
3676
|
+
type: z171.literal("pcb_component_invalid_layer_error"),
|
|
3638
3677
|
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
|
|
3639
3678
|
"pcb_component_invalid_layer_error"
|
|
3640
3679
|
),
|
|
3641
|
-
error_type:
|
|
3642
|
-
pcb_component_id:
|
|
3643
|
-
source_component_id:
|
|
3680
|
+
error_type: z171.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
|
|
3681
|
+
pcb_component_id: z171.string().optional(),
|
|
3682
|
+
source_component_id: z171.string(),
|
|
3644
3683
|
layer: layer_ref,
|
|
3645
|
-
subcircuit_id:
|
|
3684
|
+
subcircuit_id: z171.string().optional()
|
|
3646
3685
|
}).describe(
|
|
3647
3686
|
"Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
|
|
3648
3687
|
);
|
|
3649
3688
|
expectTypesMatch(true);
|
|
3650
3689
|
|
|
3651
3690
|
// src/pcb/pcb_via_clearance_error.ts
|
|
3652
|
-
import { z as
|
|
3691
|
+
import { z as z172 } from "zod";
|
|
3653
3692
|
var pcb_via_clearance_error = base_circuit_json_error.extend({
|
|
3654
|
-
type:
|
|
3693
|
+
type: z172.literal("pcb_via_clearance_error"),
|
|
3655
3694
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
3656
|
-
error_type:
|
|
3657
|
-
pcb_via_ids:
|
|
3695
|
+
error_type: z172.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
3696
|
+
pcb_via_ids: z172.array(z172.string()).min(2),
|
|
3658
3697
|
minimum_clearance: distance.optional(),
|
|
3659
3698
|
actual_clearance: distance.optional(),
|
|
3660
|
-
pcb_center:
|
|
3661
|
-
x:
|
|
3662
|
-
y:
|
|
3699
|
+
pcb_center: z172.object({
|
|
3700
|
+
x: z172.number().optional(),
|
|
3701
|
+
y: z172.number().optional()
|
|
3663
3702
|
}).optional(),
|
|
3664
|
-
subcircuit_id:
|
|
3703
|
+
subcircuit_id: z172.string().optional()
|
|
3665
3704
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
3666
3705
|
expectTypesMatch(true);
|
|
3667
3706
|
|
|
3668
3707
|
// src/pcb/pcb_via_trace_clearance_error.ts
|
|
3669
|
-
import { z as
|
|
3708
|
+
import { z as z173 } from "zod";
|
|
3670
3709
|
var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
|
|
3671
|
-
type:
|
|
3710
|
+
type: z173.literal("pcb_via_trace_clearance_error"),
|
|
3672
3711
|
pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3673
3712
|
"pcb_via_trace_clearance_error"
|
|
3674
3713
|
),
|
|
3675
|
-
error_type:
|
|
3676
|
-
pcb_via_id:
|
|
3677
|
-
pcb_trace_id:
|
|
3714
|
+
error_type: z173.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
|
|
3715
|
+
pcb_via_id: z173.string(),
|
|
3716
|
+
pcb_trace_id: z173.string(),
|
|
3678
3717
|
minimum_clearance: distance.optional(),
|
|
3679
3718
|
actual_clearance: distance.optional(),
|
|
3680
|
-
center:
|
|
3681
|
-
x:
|
|
3682
|
-
y:
|
|
3719
|
+
center: z173.object({
|
|
3720
|
+
x: z173.number().optional(),
|
|
3721
|
+
y: z173.number().optional()
|
|
3683
3722
|
}).optional(),
|
|
3684
|
-
subcircuit_id:
|
|
3723
|
+
subcircuit_id: z173.string().optional()
|
|
3685
3724
|
}).describe(
|
|
3686
3725
|
"Error emitted when a via and trace are closer than the allowed clearance"
|
|
3687
3726
|
);
|
|
@@ -3690,41 +3729,41 @@ expectTypesMatch(
|
|
|
3690
3729
|
);
|
|
3691
3730
|
|
|
3692
3731
|
// src/pcb/pcb_pad_pad_clearance_error.ts
|
|
3693
|
-
import { z as
|
|
3732
|
+
import { z as z174 } from "zod";
|
|
3694
3733
|
var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
|
|
3695
|
-
type:
|
|
3734
|
+
type: z174.literal("pcb_pad_pad_clearance_error"),
|
|
3696
3735
|
pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3697
3736
|
"pcb_pad_pad_clearance_error"
|
|
3698
3737
|
),
|
|
3699
|
-
error_type:
|
|
3700
|
-
pcb_pad_ids:
|
|
3738
|
+
error_type: z174.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
|
|
3739
|
+
pcb_pad_ids: z174.array(z174.string()).min(2),
|
|
3701
3740
|
minimum_clearance: distance.optional(),
|
|
3702
3741
|
actual_clearance: distance.optional(),
|
|
3703
|
-
center:
|
|
3704
|
-
x:
|
|
3705
|
-
y:
|
|
3742
|
+
center: z174.object({
|
|
3743
|
+
x: z174.number().optional(),
|
|
3744
|
+
y: z174.number().optional()
|
|
3706
3745
|
}).optional(),
|
|
3707
|
-
subcircuit_id:
|
|
3746
|
+
subcircuit_id: z174.string().optional()
|
|
3708
3747
|
}).describe("Error emitted when pads are closer than the allowed clearance");
|
|
3709
3748
|
expectTypesMatch(true);
|
|
3710
3749
|
|
|
3711
3750
|
// src/pcb/pcb_pad_trace_clearance_error.ts
|
|
3712
|
-
import { z as
|
|
3751
|
+
import { z as z175 } from "zod";
|
|
3713
3752
|
var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
|
|
3714
|
-
type:
|
|
3753
|
+
type: z175.literal("pcb_pad_trace_clearance_error"),
|
|
3715
3754
|
pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3716
3755
|
"pcb_pad_trace_clearance_error"
|
|
3717
3756
|
),
|
|
3718
|
-
error_type:
|
|
3719
|
-
pcb_pad_id:
|
|
3720
|
-
pcb_trace_id:
|
|
3757
|
+
error_type: z175.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
|
|
3758
|
+
pcb_pad_id: z175.string(),
|
|
3759
|
+
pcb_trace_id: z175.string(),
|
|
3721
3760
|
minimum_clearance: distance.optional(),
|
|
3722
3761
|
actual_clearance: distance.optional(),
|
|
3723
|
-
center:
|
|
3724
|
-
x:
|
|
3725
|
-
y:
|
|
3762
|
+
center: z175.object({
|
|
3763
|
+
x: z175.number().optional(),
|
|
3764
|
+
y: z175.number().optional()
|
|
3726
3765
|
}).optional(),
|
|
3727
|
-
subcircuit_id:
|
|
3766
|
+
subcircuit_id: z175.string().optional()
|
|
3728
3767
|
}).describe(
|
|
3729
3768
|
"Error emitted when a pad and trace are closer than allowed clearance"
|
|
3730
3769
|
);
|
|
@@ -3733,89 +3772,89 @@ expectTypesMatch(
|
|
|
3733
3772
|
);
|
|
3734
3773
|
|
|
3735
3774
|
// src/pcb/pcb_courtyard_rect.ts
|
|
3736
|
-
import { z as
|
|
3737
|
-
var pcb_courtyard_rect =
|
|
3738
|
-
type:
|
|
3775
|
+
import { z as z176 } from "zod";
|
|
3776
|
+
var pcb_courtyard_rect = z176.object({
|
|
3777
|
+
type: z176.literal("pcb_courtyard_rect"),
|
|
3739
3778
|
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
3740
|
-
pcb_component_id:
|
|
3741
|
-
pcb_group_id:
|
|
3742
|
-
subcircuit_id:
|
|
3779
|
+
pcb_component_id: z176.string(),
|
|
3780
|
+
pcb_group_id: z176.string().optional(),
|
|
3781
|
+
subcircuit_id: z176.string().optional(),
|
|
3743
3782
|
center: point,
|
|
3744
3783
|
width: length,
|
|
3745
3784
|
height: length,
|
|
3746
3785
|
layer: visible_layer,
|
|
3747
3786
|
ccw_rotation: rotation.optional(),
|
|
3748
|
-
color:
|
|
3787
|
+
color: z176.string().optional()
|
|
3749
3788
|
}).describe("Defines a courtyard rectangle on the PCB");
|
|
3750
3789
|
expectTypesMatch(true);
|
|
3751
3790
|
|
|
3752
3791
|
// src/pcb/pcb_courtyard_outline.ts
|
|
3753
|
-
import { z as
|
|
3754
|
-
var pcb_courtyard_outline =
|
|
3755
|
-
type:
|
|
3792
|
+
import { z as z177 } from "zod";
|
|
3793
|
+
var pcb_courtyard_outline = z177.object({
|
|
3794
|
+
type: z177.literal("pcb_courtyard_outline"),
|
|
3756
3795
|
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
3757
3796
|
"pcb_courtyard_outline"
|
|
3758
3797
|
),
|
|
3759
|
-
pcb_component_id:
|
|
3760
|
-
pcb_group_id:
|
|
3761
|
-
subcircuit_id:
|
|
3798
|
+
pcb_component_id: z177.string(),
|
|
3799
|
+
pcb_group_id: z177.string().optional(),
|
|
3800
|
+
subcircuit_id: z177.string().optional(),
|
|
3762
3801
|
layer: visible_layer,
|
|
3763
|
-
outline:
|
|
3802
|
+
outline: z177.array(point).min(2)
|
|
3764
3803
|
}).describe("Defines a courtyard outline on the PCB");
|
|
3765
3804
|
expectTypesMatch(true);
|
|
3766
3805
|
|
|
3767
3806
|
// src/pcb/pcb_courtyard_polygon.ts
|
|
3768
|
-
import { z as
|
|
3769
|
-
var pcb_courtyard_polygon =
|
|
3770
|
-
type:
|
|
3807
|
+
import { z as z178 } from "zod";
|
|
3808
|
+
var pcb_courtyard_polygon = z178.object({
|
|
3809
|
+
type: z178.literal("pcb_courtyard_polygon"),
|
|
3771
3810
|
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
|
|
3772
3811
|
"pcb_courtyard_polygon"
|
|
3773
3812
|
),
|
|
3774
|
-
pcb_component_id:
|
|
3775
|
-
pcb_group_id:
|
|
3776
|
-
subcircuit_id:
|
|
3813
|
+
pcb_component_id: z178.string(),
|
|
3814
|
+
pcb_group_id: z178.string().optional(),
|
|
3815
|
+
subcircuit_id: z178.string().optional(),
|
|
3777
3816
|
layer: visible_layer,
|
|
3778
|
-
points:
|
|
3779
|
-
color:
|
|
3817
|
+
points: z178.array(point).min(3),
|
|
3818
|
+
color: z178.string().optional()
|
|
3780
3819
|
}).describe("Defines a courtyard polygon on the PCB");
|
|
3781
3820
|
expectTypesMatch(true);
|
|
3782
3821
|
|
|
3783
3822
|
// src/pcb/pcb_courtyard_circle.ts
|
|
3784
|
-
import { z as
|
|
3785
|
-
var pcb_courtyard_circle =
|
|
3786
|
-
type:
|
|
3823
|
+
import { z as z179 } from "zod";
|
|
3824
|
+
var pcb_courtyard_circle = z179.object({
|
|
3825
|
+
type: z179.literal("pcb_courtyard_circle"),
|
|
3787
3826
|
pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
|
|
3788
3827
|
"pcb_courtyard_circle"
|
|
3789
3828
|
),
|
|
3790
|
-
pcb_component_id:
|
|
3791
|
-
pcb_group_id:
|
|
3792
|
-
subcircuit_id:
|
|
3829
|
+
pcb_component_id: z179.string(),
|
|
3830
|
+
pcb_group_id: z179.string().optional(),
|
|
3831
|
+
subcircuit_id: z179.string().optional(),
|
|
3793
3832
|
center: point,
|
|
3794
3833
|
radius: length,
|
|
3795
3834
|
layer: visible_layer,
|
|
3796
|
-
color:
|
|
3835
|
+
color: z179.string().optional()
|
|
3797
3836
|
}).describe("Defines a courtyard circle on the PCB");
|
|
3798
3837
|
expectTypesMatch(true);
|
|
3799
3838
|
|
|
3800
3839
|
// src/pcb/pcb_courtyard_pill.ts
|
|
3801
|
-
import { z as
|
|
3802
|
-
var pcb_courtyard_pill =
|
|
3803
|
-
type:
|
|
3840
|
+
import { z as z180 } from "zod";
|
|
3841
|
+
var pcb_courtyard_pill = z180.object({
|
|
3842
|
+
type: z180.literal("pcb_courtyard_pill"),
|
|
3804
3843
|
pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
|
|
3805
|
-
pcb_component_id:
|
|
3806
|
-
pcb_group_id:
|
|
3807
|
-
subcircuit_id:
|
|
3844
|
+
pcb_component_id: z180.string(),
|
|
3845
|
+
pcb_group_id: z180.string().optional(),
|
|
3846
|
+
subcircuit_id: z180.string().optional(),
|
|
3808
3847
|
center: point,
|
|
3809
3848
|
width: length,
|
|
3810
3849
|
height: length,
|
|
3811
3850
|
radius: length,
|
|
3812
3851
|
layer: visible_layer,
|
|
3813
|
-
color:
|
|
3852
|
+
color: z180.string().optional()
|
|
3814
3853
|
}).describe("Defines a courtyard pill on the PCB");
|
|
3815
3854
|
expectTypesMatch(true);
|
|
3816
3855
|
|
|
3817
3856
|
// src/cad/cad_component.ts
|
|
3818
|
-
import { z as
|
|
3857
|
+
import { z as z181 } from "zod";
|
|
3819
3858
|
|
|
3820
3859
|
// src/cad/cad_model_conventions.ts
|
|
3821
3860
|
var cad_model_formats = [
|
|
@@ -3846,50 +3885,50 @@ var cadModelDefaultDirectionMap = {
|
|
|
3846
3885
|
};
|
|
3847
3886
|
|
|
3848
3887
|
// src/cad/cad_component.ts
|
|
3849
|
-
var cad_component =
|
|
3850
|
-
type:
|
|
3851
|
-
cad_component_id:
|
|
3852
|
-
pcb_component_id:
|
|
3853
|
-
source_component_id:
|
|
3888
|
+
var cad_component = z181.object({
|
|
3889
|
+
type: z181.literal("cad_component"),
|
|
3890
|
+
cad_component_id: z181.string(),
|
|
3891
|
+
pcb_component_id: z181.string(),
|
|
3892
|
+
source_component_id: z181.string(),
|
|
3854
3893
|
position: point3,
|
|
3855
3894
|
rotation: point3.optional(),
|
|
3856
3895
|
size: point3.optional(),
|
|
3857
3896
|
layer: layer_ref.optional(),
|
|
3858
|
-
subcircuit_id:
|
|
3897
|
+
subcircuit_id: z181.string().optional(),
|
|
3859
3898
|
// These are all ways to generate/load the 3d model
|
|
3860
|
-
footprinter_string:
|
|
3861
|
-
model_obj_url:
|
|
3862
|
-
model_stl_url:
|
|
3863
|
-
model_3mf_url:
|
|
3864
|
-
model_gltf_url:
|
|
3865
|
-
model_glb_url:
|
|
3866
|
-
model_step_url:
|
|
3867
|
-
model_wrl_url:
|
|
3899
|
+
footprinter_string: z181.string().optional(),
|
|
3900
|
+
model_obj_url: z181.string().optional(),
|
|
3901
|
+
model_stl_url: z181.string().optional(),
|
|
3902
|
+
model_3mf_url: z181.string().optional(),
|
|
3903
|
+
model_gltf_url: z181.string().optional(),
|
|
3904
|
+
model_glb_url: z181.string().optional(),
|
|
3905
|
+
model_step_url: z181.string().optional(),
|
|
3906
|
+
model_wrl_url: z181.string().optional(),
|
|
3868
3907
|
model_asset: asset.optional(),
|
|
3869
|
-
model_unit_to_mm_scale_factor:
|
|
3870
|
-
model_board_normal_direction:
|
|
3908
|
+
model_unit_to_mm_scale_factor: z181.number().optional(),
|
|
3909
|
+
model_board_normal_direction: z181.enum(cad_model_axis_directions).optional().describe(
|
|
3871
3910
|
`The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
|
|
3872
3911
|
),
|
|
3873
3912
|
model_origin_position: point3.optional(),
|
|
3874
|
-
model_origin_alignment:
|
|
3913
|
+
model_origin_alignment: z181.enum([
|
|
3875
3914
|
"unknown",
|
|
3876
3915
|
"center",
|
|
3877
3916
|
"center_of_component_on_board_surface",
|
|
3878
3917
|
"bottom_center_of_component"
|
|
3879
3918
|
]).optional(),
|
|
3880
|
-
model_object_fit:
|
|
3881
|
-
model_jscad:
|
|
3882
|
-
show_as_translucent_model:
|
|
3883
|
-
show_as_bounding_box:
|
|
3884
|
-
show_hidden_edges:
|
|
3885
|
-
anchor_alignment:
|
|
3919
|
+
model_object_fit: z181.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
|
|
3920
|
+
model_jscad: z181.any().optional(),
|
|
3921
|
+
show_as_translucent_model: z181.boolean().optional(),
|
|
3922
|
+
show_as_bounding_box: z181.boolean().optional(),
|
|
3923
|
+
show_hidden_edges: z181.boolean().optional(),
|
|
3924
|
+
anchor_alignment: z181.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
|
|
3886
3925
|
}).describe("Defines a component on the PCB");
|
|
3887
3926
|
expectTypesMatch(true);
|
|
3888
3927
|
|
|
3889
3928
|
// src/simulation/simulation_voltage_source.ts
|
|
3890
|
-
import { z as
|
|
3891
|
-
var wave_shape =
|
|
3892
|
-
var percentage =
|
|
3929
|
+
import { z as z182 } from "zod";
|
|
3930
|
+
var wave_shape = z182.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
3931
|
+
var percentage = z182.union([z182.string(), z182.number()]).transform((val) => {
|
|
3893
3932
|
if (typeof val === "string") {
|
|
3894
3933
|
if (val.endsWith("%")) {
|
|
3895
3934
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3898,32 +3937,32 @@ var percentage = z180.union([z180.string(), z180.number()]).transform((val) => {
|
|
|
3898
3937
|
}
|
|
3899
3938
|
return val;
|
|
3900
3939
|
}).pipe(
|
|
3901
|
-
|
|
3940
|
+
z182.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3902
3941
|
);
|
|
3903
|
-
var simulation_dc_voltage_source =
|
|
3904
|
-
type:
|
|
3942
|
+
var simulation_dc_voltage_source = z182.object({
|
|
3943
|
+
type: z182.literal("simulation_voltage_source"),
|
|
3905
3944
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3906
3945
|
"simulation_voltage_source"
|
|
3907
3946
|
),
|
|
3908
|
-
is_dc_source:
|
|
3909
|
-
positive_source_port_id:
|
|
3910
|
-
negative_source_port_id:
|
|
3911
|
-
positive_source_net_id:
|
|
3912
|
-
negative_source_net_id:
|
|
3947
|
+
is_dc_source: z182.literal(true).optional().default(true),
|
|
3948
|
+
positive_source_port_id: z182.string().optional(),
|
|
3949
|
+
negative_source_port_id: z182.string().optional(),
|
|
3950
|
+
positive_source_net_id: z182.string().optional(),
|
|
3951
|
+
negative_source_net_id: z182.string().optional(),
|
|
3913
3952
|
voltage,
|
|
3914
3953
|
ac_magnitude: voltage.optional(),
|
|
3915
3954
|
ac_phase: rotation.optional()
|
|
3916
3955
|
}).describe("Defines a DC voltage source for simulation");
|
|
3917
|
-
var simulation_ac_voltage_source =
|
|
3918
|
-
type:
|
|
3956
|
+
var simulation_ac_voltage_source = z182.object({
|
|
3957
|
+
type: z182.literal("simulation_voltage_source"),
|
|
3919
3958
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3920
3959
|
"simulation_voltage_source"
|
|
3921
3960
|
),
|
|
3922
|
-
is_dc_source:
|
|
3923
|
-
terminal1_source_port_id:
|
|
3924
|
-
terminal2_source_port_id:
|
|
3925
|
-
terminal1_source_net_id:
|
|
3926
|
-
terminal2_source_net_id:
|
|
3961
|
+
is_dc_source: z182.literal(false),
|
|
3962
|
+
terminal1_source_port_id: z182.string().optional(),
|
|
3963
|
+
terminal2_source_port_id: z182.string().optional(),
|
|
3964
|
+
terminal1_source_net_id: z182.string().optional(),
|
|
3965
|
+
terminal2_source_net_id: z182.string().optional(),
|
|
3927
3966
|
voltage: voltage.optional(),
|
|
3928
3967
|
frequency: frequency.optional(),
|
|
3929
3968
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -3938,14 +3977,14 @@ var simulation_ac_voltage_source = z180.object({
|
|
|
3938
3977
|
ac_magnitude: voltage.optional(),
|
|
3939
3978
|
ac_phase: rotation.optional()
|
|
3940
3979
|
}).describe("Defines an AC voltage source for simulation");
|
|
3941
|
-
var simulation_voltage_source =
|
|
3980
|
+
var simulation_voltage_source = z182.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
3942
3981
|
expectTypesMatch(true);
|
|
3943
3982
|
expectTypesMatch(true);
|
|
3944
3983
|
expectTypesMatch(true);
|
|
3945
3984
|
|
|
3946
3985
|
// src/simulation/simulation_current_source.ts
|
|
3947
|
-
import { z as
|
|
3948
|
-
var percentage2 =
|
|
3986
|
+
import { z as z183 } from "zod";
|
|
3987
|
+
var percentage2 = z183.union([z183.string(), z183.number()]).transform((val) => {
|
|
3949
3988
|
if (typeof val === "string") {
|
|
3950
3989
|
if (val.endsWith("%")) {
|
|
3951
3990
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3954,32 +3993,32 @@ var percentage2 = z181.union([z181.string(), z181.number()]).transform((val) =>
|
|
|
3954
3993
|
}
|
|
3955
3994
|
return val;
|
|
3956
3995
|
}).pipe(
|
|
3957
|
-
|
|
3996
|
+
z183.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3958
3997
|
);
|
|
3959
|
-
var simulation_dc_current_source =
|
|
3960
|
-
type:
|
|
3998
|
+
var simulation_dc_current_source = z183.object({
|
|
3999
|
+
type: z183.literal("simulation_current_source"),
|
|
3961
4000
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3962
4001
|
"simulation_current_source"
|
|
3963
4002
|
),
|
|
3964
|
-
is_dc_source:
|
|
3965
|
-
positive_source_port_id:
|
|
3966
|
-
negative_source_port_id:
|
|
3967
|
-
positive_source_net_id:
|
|
3968
|
-
negative_source_net_id:
|
|
4003
|
+
is_dc_source: z183.literal(true).optional().default(true),
|
|
4004
|
+
positive_source_port_id: z183.string().optional(),
|
|
4005
|
+
negative_source_port_id: z183.string().optional(),
|
|
4006
|
+
positive_source_net_id: z183.string().optional(),
|
|
4007
|
+
negative_source_net_id: z183.string().optional(),
|
|
3969
4008
|
current,
|
|
3970
4009
|
ac_magnitude: current.optional(),
|
|
3971
4010
|
ac_phase: rotation.optional()
|
|
3972
4011
|
}).describe("Defines a DC current source for simulation");
|
|
3973
|
-
var simulation_ac_current_source =
|
|
3974
|
-
type:
|
|
4012
|
+
var simulation_ac_current_source = z183.object({
|
|
4013
|
+
type: z183.literal("simulation_current_source"),
|
|
3975
4014
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3976
4015
|
"simulation_current_source"
|
|
3977
4016
|
),
|
|
3978
|
-
is_dc_source:
|
|
3979
|
-
terminal1_source_port_id:
|
|
3980
|
-
terminal2_source_port_id:
|
|
3981
|
-
terminal1_source_net_id:
|
|
3982
|
-
terminal2_source_net_id:
|
|
4017
|
+
is_dc_source: z183.literal(false),
|
|
4018
|
+
terminal1_source_port_id: z183.string().optional(),
|
|
4019
|
+
terminal2_source_port_id: z183.string().optional(),
|
|
4020
|
+
terminal1_source_net_id: z183.string().optional(),
|
|
4021
|
+
terminal2_source_net_id: z183.string().optional(),
|
|
3983
4022
|
current: current.optional(),
|
|
3984
4023
|
frequency: frequency.optional(),
|
|
3985
4024
|
peak_to_peak_current: current.optional(),
|
|
@@ -3989,58 +4028,58 @@ var simulation_ac_current_source = z181.object({
|
|
|
3989
4028
|
ac_magnitude: current.optional(),
|
|
3990
4029
|
ac_phase: rotation.optional()
|
|
3991
4030
|
}).describe("Defines an AC current source for simulation");
|
|
3992
|
-
var simulation_current_source =
|
|
4031
|
+
var simulation_current_source = z183.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
|
|
3993
4032
|
expectTypesMatch(true);
|
|
3994
4033
|
expectTypesMatch(true);
|
|
3995
4034
|
expectTypesMatch(true);
|
|
3996
4035
|
|
|
3997
4036
|
// src/simulation/simulation_experiment.ts
|
|
3998
|
-
import { z as
|
|
4037
|
+
import { z as z185 } from "zod";
|
|
3999
4038
|
|
|
4000
4039
|
// src/simulation/simulation_units.ts
|
|
4001
|
-
import { z as
|
|
4002
|
-
var simulation_dc_sweep_unit =
|
|
4040
|
+
import { z as z184 } from "zod";
|
|
4041
|
+
var simulation_dc_sweep_unit = z184.custom(
|
|
4003
4042
|
(dcSweepUnit) => dcSweepUnit === "V" || dcSweepUnit === "A"
|
|
4004
4043
|
);
|
|
4005
|
-
var simulation_parameter_unit =
|
|
4044
|
+
var simulation_parameter_unit = z184.custom(
|
|
4006
4045
|
(parameterUnit) => parameterUnit === "\u03A9" || parameterUnit === "F" || parameterUnit === "H" || parameterUnit === "V" || parameterUnit === "A"
|
|
4007
4046
|
);
|
|
4008
4047
|
|
|
4009
4048
|
// src/simulation/simulation_experiment.ts
|
|
4010
|
-
var experiment_type =
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
-
|
|
4014
|
-
|
|
4049
|
+
var experiment_type = z185.union([
|
|
4050
|
+
z185.literal("spice_dc_sweep"),
|
|
4051
|
+
z185.literal("spice_dc_operating_point"),
|
|
4052
|
+
z185.literal("spice_transient_analysis"),
|
|
4053
|
+
z185.literal("spice_ac_analysis")
|
|
4015
4054
|
]);
|
|
4016
|
-
var spice_simulation_options =
|
|
4017
|
-
method:
|
|
4018
|
-
reltol:
|
|
4019
|
-
abstol:
|
|
4020
|
-
vntol:
|
|
4055
|
+
var spice_simulation_options = z185.object({
|
|
4056
|
+
method: z185.enum(["trap", "gear"]).optional(),
|
|
4057
|
+
reltol: z185.union([z185.number(), z185.string()]).optional(),
|
|
4058
|
+
abstol: z185.union([z185.number(), z185.string()]).optional(),
|
|
4059
|
+
vntol: z185.union([z185.number(), z185.string()]).optional()
|
|
4021
4060
|
}).describe("SPICE solver options for a simulation experiment");
|
|
4022
|
-
var simulation_experiment =
|
|
4023
|
-
type:
|
|
4061
|
+
var simulation_experiment = z185.object({
|
|
4062
|
+
type: z185.literal("simulation_experiment"),
|
|
4024
4063
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
4025
4064
|
"simulation_experiment"
|
|
4026
4065
|
),
|
|
4027
|
-
name:
|
|
4066
|
+
name: z185.string(),
|
|
4028
4067
|
experiment_type,
|
|
4029
4068
|
time_per_step: duration_ms.optional(),
|
|
4030
4069
|
start_time_ms: ms.optional(),
|
|
4031
4070
|
end_time_ms: ms.optional(),
|
|
4032
4071
|
spice_options: spice_simulation_options.optional(),
|
|
4033
|
-
dc_sweep_voltage_source_id:
|
|
4034
|
-
dc_sweep_current_source_id:
|
|
4035
|
-
dc_sweep_start:
|
|
4036
|
-
dc_sweep_stop:
|
|
4037
|
-
dc_sweep_step:
|
|
4072
|
+
dc_sweep_voltage_source_id: z185.string().optional(),
|
|
4073
|
+
dc_sweep_current_source_id: z185.string().optional(),
|
|
4074
|
+
dc_sweep_start: z185.number().optional(),
|
|
4075
|
+
dc_sweep_stop: z185.number().optional(),
|
|
4076
|
+
dc_sweep_step: z185.number().refine((dcSweepStep) => dcSweepStep !== 0).optional(),
|
|
4038
4077
|
dc_sweep_unit: simulation_dc_sweep_unit.optional(),
|
|
4039
|
-
ac_sweep_type:
|
|
4040
|
-
ac_samples_per_interval:
|
|
4041
|
-
ac_sample_count:
|
|
4042
|
-
ac_start_frequency_hz:
|
|
4043
|
-
ac_stop_frequency_hz:
|
|
4078
|
+
ac_sweep_type: z185.enum(["linear", "decade", "octave"]).optional(),
|
|
4079
|
+
ac_samples_per_interval: z185.number().int().positive().optional(),
|
|
4080
|
+
ac_sample_count: z185.number().int().positive().optional(),
|
|
4081
|
+
ac_start_frequency_hz: z185.number().positive().optional(),
|
|
4082
|
+
ac_stop_frequency_hz: z185.number().positive().optional()
|
|
4044
4083
|
}).superRefine((experiment, context) => {
|
|
4045
4084
|
if (experiment.experiment_type === "spice_dc_sweep") {
|
|
4046
4085
|
const requiredFields = [
|
|
@@ -4052,7 +4091,7 @@ var simulation_experiment = z183.object({
|
|
|
4052
4091
|
for (const field of requiredFields) {
|
|
4053
4092
|
if (experiment[field] === void 0) {
|
|
4054
4093
|
context.addIssue({
|
|
4055
|
-
code:
|
|
4094
|
+
code: z185.ZodIssueCode.custom,
|
|
4056
4095
|
path: [field],
|
|
4057
4096
|
message: `${field} is required for a DC sweep`
|
|
4058
4097
|
});
|
|
@@ -4062,7 +4101,7 @@ var simulation_experiment = z183.object({
|
|
|
4062
4101
|
const hasCurrentSource = experiment.dc_sweep_current_source_id !== void 0;
|
|
4063
4102
|
if (hasVoltageSource === hasCurrentSource) {
|
|
4064
4103
|
context.addIssue({
|
|
4065
|
-
code:
|
|
4104
|
+
code: z185.ZodIssueCode.custom,
|
|
4066
4105
|
path: ["dc_sweep_voltage_source_id"],
|
|
4067
4106
|
message: "Exactly one DC sweep voltage or current source ID is required"
|
|
4068
4107
|
});
|
|
@@ -4071,35 +4110,35 @@ var simulation_experiment = z183.object({
|
|
|
4071
4110
|
if (experiment.experiment_type === "spice_ac_analysis") {
|
|
4072
4111
|
if (experiment.ac_sweep_type === void 0) {
|
|
4073
4112
|
context.addIssue({
|
|
4074
|
-
code:
|
|
4113
|
+
code: z185.ZodIssueCode.custom,
|
|
4075
4114
|
path: ["ac_sweep_type"],
|
|
4076
4115
|
message: "ac_sweep_type is required for an AC analysis"
|
|
4077
4116
|
});
|
|
4078
4117
|
}
|
|
4079
4118
|
if (experiment.ac_start_frequency_hz === void 0) {
|
|
4080
4119
|
context.addIssue({
|
|
4081
|
-
code:
|
|
4120
|
+
code: z185.ZodIssueCode.custom,
|
|
4082
4121
|
path: ["ac_start_frequency_hz"],
|
|
4083
4122
|
message: "ac_start_frequency_hz is required for an AC analysis"
|
|
4084
4123
|
});
|
|
4085
4124
|
}
|
|
4086
4125
|
if (experiment.ac_stop_frequency_hz === void 0) {
|
|
4087
4126
|
context.addIssue({
|
|
4088
|
-
code:
|
|
4127
|
+
code: z185.ZodIssueCode.custom,
|
|
4089
4128
|
path: ["ac_stop_frequency_hz"],
|
|
4090
4129
|
message: "ac_stop_frequency_hz is required for an AC analysis"
|
|
4091
4130
|
});
|
|
4092
4131
|
}
|
|
4093
4132
|
if (experiment.ac_sweep_type === "linear" && experiment.ac_sample_count === void 0) {
|
|
4094
4133
|
context.addIssue({
|
|
4095
|
-
code:
|
|
4134
|
+
code: z185.ZodIssueCode.custom,
|
|
4096
4135
|
path: ["ac_sample_count"],
|
|
4097
4136
|
message: "ac_sample_count is required for a linear AC analysis"
|
|
4098
4137
|
});
|
|
4099
4138
|
}
|
|
4100
4139
|
if ((experiment.ac_sweep_type === "decade" || experiment.ac_sweep_type === "octave") && experiment.ac_samples_per_interval === void 0) {
|
|
4101
4140
|
context.addIssue({
|
|
4102
|
-
code:
|
|
4141
|
+
code: z185.ZodIssueCode.custom,
|
|
4103
4142
|
path: ["ac_samples_per_interval"],
|
|
4104
4143
|
message: "ac_samples_per_interval is required for decade and octave AC analyses"
|
|
4105
4144
|
});
|
|
@@ -4109,87 +4148,87 @@ var simulation_experiment = z183.object({
|
|
|
4109
4148
|
expectTypesMatch(true);
|
|
4110
4149
|
|
|
4111
4150
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
4112
|
-
import { z as
|
|
4151
|
+
import { z as z187 } from "zod";
|
|
4113
4152
|
|
|
4114
4153
|
// src/simulation/simulation_parameter_sweep_coordinate.ts
|
|
4115
|
-
import { z as
|
|
4116
|
-
var simulation_parameter_sweep_coordinate =
|
|
4117
|
-
simulation_parameter_sweep_id:
|
|
4118
|
-
sweep_index:
|
|
4119
|
-
parameter_value:
|
|
4154
|
+
import { z as z186 } from "zod";
|
|
4155
|
+
var simulation_parameter_sweep_coordinate = z186.object({
|
|
4156
|
+
simulation_parameter_sweep_id: z186.string(),
|
|
4157
|
+
sweep_index: z186.number().int().nonnegative(),
|
|
4158
|
+
parameter_value: z186.number(),
|
|
4120
4159
|
parameter_unit: simulation_parameter_unit
|
|
4121
4160
|
});
|
|
4122
4161
|
expectTypesMatch(true);
|
|
4123
4162
|
|
|
4124
4163
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
4125
|
-
var simulation_transient_voltage_graph =
|
|
4126
|
-
type:
|
|
4164
|
+
var simulation_transient_voltage_graph = z187.object({
|
|
4165
|
+
type: z187.literal("simulation_transient_voltage_graph"),
|
|
4127
4166
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
4128
4167
|
"simulation_transient_voltage_graph"
|
|
4129
4168
|
),
|
|
4130
|
-
simulation_experiment_id:
|
|
4169
|
+
simulation_experiment_id: z187.string(),
|
|
4131
4170
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4132
|
-
timestamps_ms:
|
|
4133
|
-
voltage_levels:
|
|
4134
|
-
source_component_id:
|
|
4135
|
-
subcircuit_connectivity_map_key:
|
|
4171
|
+
timestamps_ms: z187.array(z187.number()).optional(),
|
|
4172
|
+
voltage_levels: z187.array(z187.number()),
|
|
4173
|
+
source_component_id: z187.string().optional(),
|
|
4174
|
+
subcircuit_connectivity_map_key: z187.string().optional(),
|
|
4136
4175
|
time_per_step: duration_ms,
|
|
4137
4176
|
start_time_ms: ms,
|
|
4138
4177
|
end_time_ms: ms,
|
|
4139
|
-
name:
|
|
4140
|
-
color:
|
|
4178
|
+
name: z187.string().optional(),
|
|
4179
|
+
color: z187.string().optional()
|
|
4141
4180
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
4142
4181
|
expectTypesMatch(true);
|
|
4143
4182
|
|
|
4144
4183
|
// src/simulation/simulation_transient_current_graph.ts
|
|
4145
|
-
import { z as
|
|
4146
|
-
var simulation_transient_current_graph =
|
|
4147
|
-
type:
|
|
4184
|
+
import { z as z188 } from "zod";
|
|
4185
|
+
var simulation_transient_current_graph = z188.object({
|
|
4186
|
+
type: z188.literal("simulation_transient_current_graph"),
|
|
4148
4187
|
simulation_transient_current_graph_id: getZodPrefixedIdWithDefault(
|
|
4149
4188
|
"simulation_transient_current_graph"
|
|
4150
4189
|
),
|
|
4151
|
-
simulation_experiment_id:
|
|
4190
|
+
simulation_experiment_id: z188.string(),
|
|
4152
4191
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4153
|
-
timestamps_ms:
|
|
4154
|
-
current_levels:
|
|
4155
|
-
source_component_id:
|
|
4156
|
-
subcircuit_connectivity_map_key:
|
|
4192
|
+
timestamps_ms: z188.array(z188.number()).optional(),
|
|
4193
|
+
current_levels: z188.array(z188.number()),
|
|
4194
|
+
source_component_id: z188.string().optional(),
|
|
4195
|
+
subcircuit_connectivity_map_key: z188.string().optional(),
|
|
4157
4196
|
time_per_step: duration_ms,
|
|
4158
4197
|
start_time_ms: ms,
|
|
4159
4198
|
end_time_ms: ms,
|
|
4160
|
-
name:
|
|
4161
|
-
color:
|
|
4199
|
+
name: z188.string().optional(),
|
|
4200
|
+
color: z188.string().optional()
|
|
4162
4201
|
}).describe("Stores current measurements over time for a simulation");
|
|
4163
4202
|
expectTypesMatch(true);
|
|
4164
4203
|
|
|
4165
4204
|
// src/simulation/simulation_switch.ts
|
|
4166
|
-
import { z as
|
|
4167
|
-
var simulation_switch =
|
|
4168
|
-
type:
|
|
4205
|
+
import { z as z189 } from "zod";
|
|
4206
|
+
var simulation_switch = z189.object({
|
|
4207
|
+
type: z189.literal("simulation_switch"),
|
|
4169
4208
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
4170
|
-
source_component_id:
|
|
4209
|
+
source_component_id: z189.string().optional(),
|
|
4171
4210
|
closes_at: ms.optional(),
|
|
4172
4211
|
opens_at: ms.optional(),
|
|
4173
|
-
starts_closed:
|
|
4212
|
+
starts_closed: z189.boolean().optional(),
|
|
4174
4213
|
switching_frequency: frequency.optional()
|
|
4175
4214
|
}).describe("Defines a switch for simulation timing control");
|
|
4176
4215
|
expectTypesMatch(true);
|
|
4177
4216
|
|
|
4178
4217
|
// src/simulation/simulation_voltage_probe.ts
|
|
4179
|
-
import { z as
|
|
4180
|
-
var simulation_voltage_probe =
|
|
4181
|
-
type:
|
|
4218
|
+
import { z as z190 } from "zod";
|
|
4219
|
+
var simulation_voltage_probe = z190.object({
|
|
4220
|
+
type: z190.literal("simulation_voltage_probe"),
|
|
4182
4221
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
4183
4222
|
"simulation_voltage_probe"
|
|
4184
4223
|
),
|
|
4185
|
-
source_component_id:
|
|
4186
|
-
name:
|
|
4187
|
-
signal_input_source_port_id:
|
|
4188
|
-
signal_input_source_net_id:
|
|
4189
|
-
reference_input_source_port_id:
|
|
4190
|
-
reference_input_source_net_id:
|
|
4191
|
-
subcircuit_id:
|
|
4192
|
-
color:
|
|
4224
|
+
source_component_id: z190.string().optional(),
|
|
4225
|
+
name: z190.string().optional(),
|
|
4226
|
+
signal_input_source_port_id: z190.string().optional(),
|
|
4227
|
+
signal_input_source_net_id: z190.string().optional(),
|
|
4228
|
+
reference_input_source_port_id: z190.string().optional(),
|
|
4229
|
+
reference_input_source_net_id: z190.string().optional(),
|
|
4230
|
+
subcircuit_id: z190.string().optional(),
|
|
4231
|
+
color: z190.string().optional()
|
|
4193
4232
|
}).describe(
|
|
4194
4233
|
"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."
|
|
4195
4234
|
).superRefine((data, ctx) => {
|
|
@@ -4199,20 +4238,20 @@ var simulation_voltage_probe = z188.object({
|
|
|
4199
4238
|
const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
|
|
4200
4239
|
if (has_ports && has_nets) {
|
|
4201
4240
|
ctx.addIssue({
|
|
4202
|
-
code:
|
|
4241
|
+
code: z190.ZodIssueCode.custom,
|
|
4203
4242
|
message: "Cannot mix port and net connections in a differential probe."
|
|
4204
4243
|
});
|
|
4205
4244
|
} else if (has_ports) {
|
|
4206
4245
|
if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
|
|
4207
4246
|
ctx.addIssue({
|
|
4208
|
-
code:
|
|
4247
|
+
code: z190.ZodIssueCode.custom,
|
|
4209
4248
|
message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
|
|
4210
4249
|
});
|
|
4211
4250
|
}
|
|
4212
4251
|
} else if (has_nets) {
|
|
4213
4252
|
if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
|
|
4214
4253
|
ctx.addIssue({
|
|
4215
|
-
code:
|
|
4254
|
+
code: z190.ZodIssueCode.custom,
|
|
4216
4255
|
message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
|
|
4217
4256
|
});
|
|
4218
4257
|
}
|
|
@@ -4220,7 +4259,7 @@ var simulation_voltage_probe = z188.object({
|
|
|
4220
4259
|
} else {
|
|
4221
4260
|
if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
|
|
4222
4261
|
ctx.addIssue({
|
|
4223
|
-
code:
|
|
4262
|
+
code: z190.ZodIssueCode.custom,
|
|
4224
4263
|
message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
|
|
4225
4264
|
});
|
|
4226
4265
|
}
|
|
@@ -4229,20 +4268,20 @@ var simulation_voltage_probe = z188.object({
|
|
|
4229
4268
|
expectTypesMatch(true);
|
|
4230
4269
|
|
|
4231
4270
|
// src/simulation/simulation_current_probe.ts
|
|
4232
|
-
import { z as
|
|
4233
|
-
var simulation_current_probe =
|
|
4234
|
-
type:
|
|
4271
|
+
import { z as z191 } from "zod";
|
|
4272
|
+
var simulation_current_probe = z191.object({
|
|
4273
|
+
type: z191.literal("simulation_current_probe"),
|
|
4235
4274
|
simulation_current_probe_id: getZodPrefixedIdWithDefault(
|
|
4236
4275
|
"simulation_current_probe"
|
|
4237
4276
|
),
|
|
4238
|
-
source_component_id:
|
|
4239
|
-
name:
|
|
4240
|
-
positive_source_port_id:
|
|
4241
|
-
negative_source_port_id:
|
|
4242
|
-
positive_source_net_id:
|
|
4243
|
-
negative_source_net_id:
|
|
4244
|
-
subcircuit_id:
|
|
4245
|
-
color:
|
|
4277
|
+
source_component_id: z191.string().optional(),
|
|
4278
|
+
name: z191.string().optional(),
|
|
4279
|
+
positive_source_port_id: z191.string().optional(),
|
|
4280
|
+
negative_source_port_id: z191.string().optional(),
|
|
4281
|
+
positive_source_net_id: z191.string().optional(),
|
|
4282
|
+
negative_source_net_id: z191.string().optional(),
|
|
4283
|
+
subcircuit_id: z191.string().optional(),
|
|
4284
|
+
color: z191.string().optional()
|
|
4246
4285
|
}).describe(
|
|
4247
4286
|
"Defines a current probe for simulation. It measures current flowing from the positive endpoint to the negative endpoint."
|
|
4248
4287
|
).superRefine((data, ctx) => {
|
|
@@ -4254,7 +4293,7 @@ var simulation_current_probe = z189.object({
|
|
|
4254
4293
|
const hasNets = hasPositiveNet || hasNegativeNet;
|
|
4255
4294
|
if (hasPorts && hasNets) {
|
|
4256
4295
|
ctx.addIssue({
|
|
4257
|
-
code:
|
|
4296
|
+
code: z191.ZodIssueCode.custom,
|
|
4258
4297
|
message: "Cannot mix port and net connections in a current probe."
|
|
4259
4298
|
});
|
|
4260
4299
|
return;
|
|
@@ -4262,7 +4301,7 @@ var simulation_current_probe = z189.object({
|
|
|
4262
4301
|
if (hasPorts) {
|
|
4263
4302
|
if (!hasPositivePort || !hasNegativePort) {
|
|
4264
4303
|
ctx.addIssue({
|
|
4265
|
-
code:
|
|
4304
|
+
code: z191.ZodIssueCode.custom,
|
|
4266
4305
|
message: "Current probe using source ports requires both positive_source_port_id and negative_source_port_id."
|
|
4267
4306
|
});
|
|
4268
4307
|
}
|
|
@@ -4271,71 +4310,71 @@ var simulation_current_probe = z189.object({
|
|
|
4271
4310
|
if (hasNets) {
|
|
4272
4311
|
if (!hasPositiveNet || !hasNegativeNet) {
|
|
4273
4312
|
ctx.addIssue({
|
|
4274
|
-
code:
|
|
4313
|
+
code: z191.ZodIssueCode.custom,
|
|
4275
4314
|
message: "Current probe using source nets requires both positive_source_net_id and negative_source_net_id."
|
|
4276
4315
|
});
|
|
4277
4316
|
}
|
|
4278
4317
|
return;
|
|
4279
4318
|
}
|
|
4280
4319
|
ctx.addIssue({
|
|
4281
|
-
code:
|
|
4320
|
+
code: z191.ZodIssueCode.custom,
|
|
4282
4321
|
message: "A current probe must have either positive/negative source port ids or positive/negative source net ids."
|
|
4283
4322
|
});
|
|
4284
4323
|
});
|
|
4285
4324
|
expectTypesMatch(true);
|
|
4286
4325
|
|
|
4287
4326
|
// src/simulation/simulation_unknown_experiment_error.ts
|
|
4288
|
-
import { z as
|
|
4327
|
+
import { z as z192 } from "zod";
|
|
4289
4328
|
var simulation_unknown_experiment_error = base_circuit_json_error.extend({
|
|
4290
|
-
type:
|
|
4329
|
+
type: z192.literal("simulation_unknown_experiment_error"),
|
|
4291
4330
|
simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
|
|
4292
4331
|
"simulation_unknown_experiment_error"
|
|
4293
4332
|
),
|
|
4294
|
-
error_type:
|
|
4295
|
-
simulation_experiment_id:
|
|
4296
|
-
subcircuit_id:
|
|
4333
|
+
error_type: z192.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
|
|
4334
|
+
simulation_experiment_id: z192.string().optional(),
|
|
4335
|
+
subcircuit_id: z192.string().optional()
|
|
4297
4336
|
}).describe("An unknown error occurred during the simulation experiment.");
|
|
4298
4337
|
expectTypesMatch(true);
|
|
4299
4338
|
|
|
4300
4339
|
// src/simulation/simulation_parameter_sweep.ts
|
|
4301
|
-
import { z as
|
|
4302
|
-
var simulation_parameter_type =
|
|
4340
|
+
import { z as z193 } from "zod";
|
|
4341
|
+
var simulation_parameter_type = z193.enum([
|
|
4303
4342
|
"resistance",
|
|
4304
4343
|
"capacitance",
|
|
4305
4344
|
"inductance",
|
|
4306
4345
|
"voltage",
|
|
4307
4346
|
"current"
|
|
4308
4347
|
]);
|
|
4309
|
-
var simulation_parameter_sweep_base =
|
|
4310
|
-
type:
|
|
4348
|
+
var simulation_parameter_sweep_base = z193.object({
|
|
4349
|
+
type: z193.literal("simulation_parameter_sweep"),
|
|
4311
4350
|
simulation_parameter_sweep_id: getZodPrefixedIdWithDefault(
|
|
4312
4351
|
"simulation_parameter_sweep"
|
|
4313
4352
|
),
|
|
4314
|
-
simulation_experiment_id:
|
|
4315
|
-
name:
|
|
4316
|
-
parameter_values:
|
|
4353
|
+
simulation_experiment_id: z193.string(),
|
|
4354
|
+
name: z193.string().optional(),
|
|
4355
|
+
parameter_values: z193.array(z193.number()).min(1),
|
|
4317
4356
|
parameter_unit: simulation_parameter_unit
|
|
4318
4357
|
});
|
|
4319
|
-
var simulation_parameter_sweep =
|
|
4358
|
+
var simulation_parameter_sweep = z193.discriminatedUnion("parameter_type", [
|
|
4320
4359
|
simulation_parameter_sweep_base.extend({
|
|
4321
|
-
parameter_type:
|
|
4322
|
-
resistor_source_component_id:
|
|
4360
|
+
parameter_type: z193.literal("resistance"),
|
|
4361
|
+
resistor_source_component_id: z193.string()
|
|
4323
4362
|
}),
|
|
4324
4363
|
simulation_parameter_sweep_base.extend({
|
|
4325
|
-
parameter_type:
|
|
4326
|
-
capacitor_source_component_id:
|
|
4364
|
+
parameter_type: z193.literal("capacitance"),
|
|
4365
|
+
capacitor_source_component_id: z193.string()
|
|
4327
4366
|
}),
|
|
4328
4367
|
simulation_parameter_sweep_base.extend({
|
|
4329
|
-
parameter_type:
|
|
4330
|
-
inductor_source_component_id:
|
|
4368
|
+
parameter_type: z193.literal("inductance"),
|
|
4369
|
+
inductor_source_component_id: z193.string()
|
|
4331
4370
|
}),
|
|
4332
4371
|
simulation_parameter_sweep_base.extend({
|
|
4333
|
-
parameter_type:
|
|
4334
|
-
source_net_id:
|
|
4372
|
+
parameter_type: z193.literal("voltage"),
|
|
4373
|
+
source_net_id: z193.string()
|
|
4335
4374
|
}),
|
|
4336
4375
|
simulation_parameter_sweep_base.extend({
|
|
4337
|
-
parameter_type:
|
|
4338
|
-
current_source_component_id:
|
|
4376
|
+
parameter_type: z193.literal("current"),
|
|
4377
|
+
current_source_component_id: z193.string()
|
|
4339
4378
|
})
|
|
4340
4379
|
]).describe("Repeats a simulation experiment over component parameter values");
|
|
4341
4380
|
expectTypesMatch(
|
|
@@ -4343,52 +4382,52 @@ expectTypesMatch(
|
|
|
4343
4382
|
);
|
|
4344
4383
|
|
|
4345
4384
|
// src/simulation/simulation_dc_operating_point_voltage.ts
|
|
4346
|
-
import { z as
|
|
4347
|
-
var simulation_dc_operating_point_voltage =
|
|
4348
|
-
type:
|
|
4385
|
+
import { z as z194 } from "zod";
|
|
4386
|
+
var simulation_dc_operating_point_voltage = z194.object({
|
|
4387
|
+
type: z194.literal("simulation_dc_operating_point_voltage"),
|
|
4349
4388
|
simulation_dc_operating_point_voltage_id: getZodPrefixedIdWithDefault(
|
|
4350
4389
|
"simulation_dc_operating_point_voltage"
|
|
4351
4390
|
),
|
|
4352
|
-
simulation_experiment_id:
|
|
4391
|
+
simulation_experiment_id: z194.string(),
|
|
4353
4392
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4354
|
-
simulation_voltage_probe_id:
|
|
4355
|
-
voltage:
|
|
4356
|
-
name:
|
|
4357
|
-
color:
|
|
4393
|
+
simulation_voltage_probe_id: z194.string(),
|
|
4394
|
+
voltage: z194.number(),
|
|
4395
|
+
name: z194.string().optional(),
|
|
4396
|
+
color: z194.string().optional()
|
|
4358
4397
|
});
|
|
4359
4398
|
expectTypesMatch(true);
|
|
4360
4399
|
|
|
4361
4400
|
// src/simulation/simulation_dc_operating_point_current.ts
|
|
4362
|
-
import { z as
|
|
4363
|
-
var simulation_dc_operating_point_current =
|
|
4364
|
-
type:
|
|
4401
|
+
import { z as z195 } from "zod";
|
|
4402
|
+
var simulation_dc_operating_point_current = z195.object({
|
|
4403
|
+
type: z195.literal("simulation_dc_operating_point_current"),
|
|
4365
4404
|
simulation_dc_operating_point_current_id: getZodPrefixedIdWithDefault(
|
|
4366
4405
|
"simulation_dc_operating_point_current"
|
|
4367
4406
|
),
|
|
4368
|
-
simulation_experiment_id:
|
|
4407
|
+
simulation_experiment_id: z195.string(),
|
|
4369
4408
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4370
|
-
simulation_current_probe_id:
|
|
4371
|
-
current:
|
|
4372
|
-
name:
|
|
4373
|
-
color:
|
|
4409
|
+
simulation_current_probe_id: z195.string(),
|
|
4410
|
+
current: z195.number(),
|
|
4411
|
+
name: z195.string().optional(),
|
|
4412
|
+
color: z195.string().optional()
|
|
4374
4413
|
});
|
|
4375
4414
|
expectTypesMatch(true);
|
|
4376
4415
|
|
|
4377
4416
|
// src/simulation/simulation_dc_sweep_voltage_graph.ts
|
|
4378
|
-
import { z as
|
|
4379
|
-
var simulation_dc_sweep_voltage_graph =
|
|
4380
|
-
type:
|
|
4417
|
+
import { z as z196 } from "zod";
|
|
4418
|
+
var simulation_dc_sweep_voltage_graph = z196.object({
|
|
4419
|
+
type: z196.literal("simulation_dc_sweep_voltage_graph"),
|
|
4381
4420
|
simulation_dc_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
4382
4421
|
"simulation_dc_sweep_voltage_graph"
|
|
4383
4422
|
),
|
|
4384
|
-
simulation_experiment_id:
|
|
4423
|
+
simulation_experiment_id: z196.string(),
|
|
4385
4424
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4386
|
-
simulation_voltage_probe_id:
|
|
4387
|
-
sweep_values:
|
|
4425
|
+
simulation_voltage_probe_id: z196.string(),
|
|
4426
|
+
sweep_values: z196.array(z196.number()),
|
|
4388
4427
|
sweep_unit: simulation_dc_sweep_unit,
|
|
4389
|
-
voltage_levels:
|
|
4390
|
-
name:
|
|
4391
|
-
color:
|
|
4428
|
+
voltage_levels: z196.array(z196.number()),
|
|
4429
|
+
name: z196.string().optional(),
|
|
4430
|
+
color: z196.string().optional()
|
|
4392
4431
|
}).refine(
|
|
4393
4432
|
(graph) => graph.sweep_values.length === graph.voltage_levels.length,
|
|
4394
4433
|
{
|
|
@@ -4398,20 +4437,20 @@ var simulation_dc_sweep_voltage_graph = z194.object({
|
|
|
4398
4437
|
expectTypesMatch(true);
|
|
4399
4438
|
|
|
4400
4439
|
// src/simulation/simulation_dc_sweep_current_graph.ts
|
|
4401
|
-
import { z as
|
|
4402
|
-
var simulation_dc_sweep_current_graph =
|
|
4403
|
-
type:
|
|
4440
|
+
import { z as z197 } from "zod";
|
|
4441
|
+
var simulation_dc_sweep_current_graph = z197.object({
|
|
4442
|
+
type: z197.literal("simulation_dc_sweep_current_graph"),
|
|
4404
4443
|
simulation_dc_sweep_current_graph_id: getZodPrefixedIdWithDefault(
|
|
4405
4444
|
"simulation_dc_sweep_current_graph"
|
|
4406
4445
|
),
|
|
4407
|
-
simulation_experiment_id:
|
|
4446
|
+
simulation_experiment_id: z197.string(),
|
|
4408
4447
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4409
|
-
simulation_current_probe_id:
|
|
4410
|
-
sweep_values:
|
|
4448
|
+
simulation_current_probe_id: z197.string(),
|
|
4449
|
+
sweep_values: z197.array(z197.number()),
|
|
4411
4450
|
sweep_unit: simulation_dc_sweep_unit,
|
|
4412
|
-
current_levels:
|
|
4413
|
-
name:
|
|
4414
|
-
color:
|
|
4451
|
+
current_levels: z197.array(z197.number()),
|
|
4452
|
+
name: z197.string().optional(),
|
|
4453
|
+
color: z197.string().optional()
|
|
4415
4454
|
}).refine(
|
|
4416
4455
|
(graph) => graph.sweep_values.length === graph.current_levels.length,
|
|
4417
4456
|
{
|
|
@@ -4421,29 +4460,29 @@ var simulation_dc_sweep_current_graph = z195.object({
|
|
|
4421
4460
|
expectTypesMatch(true);
|
|
4422
4461
|
|
|
4423
4462
|
// src/simulation/simulation_ac_sweep_voltage_graph.ts
|
|
4424
|
-
import { z as
|
|
4463
|
+
import { z as z199 } from "zod";
|
|
4425
4464
|
|
|
4426
4465
|
// src/simulation/simulation_complex_sample.ts
|
|
4427
|
-
import { z as
|
|
4428
|
-
var simulation_complex_sample =
|
|
4429
|
-
re:
|
|
4430
|
-
im:
|
|
4466
|
+
import { z as z198 } from "zod";
|
|
4467
|
+
var simulation_complex_sample = z198.object({
|
|
4468
|
+
re: z198.number(),
|
|
4469
|
+
im: z198.number()
|
|
4431
4470
|
});
|
|
4432
4471
|
expectTypesMatch(true);
|
|
4433
4472
|
|
|
4434
4473
|
// src/simulation/simulation_ac_sweep_voltage_graph.ts
|
|
4435
|
-
var simulation_ac_sweep_voltage_graph =
|
|
4436
|
-
type:
|
|
4474
|
+
var simulation_ac_sweep_voltage_graph = z199.object({
|
|
4475
|
+
type: z199.literal("simulation_ac_sweep_voltage_graph"),
|
|
4437
4476
|
simulation_ac_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
4438
4477
|
"simulation_ac_sweep_voltage_graph"
|
|
4439
4478
|
),
|
|
4440
|
-
simulation_experiment_id:
|
|
4479
|
+
simulation_experiment_id: z199.string(),
|
|
4441
4480
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4442
|
-
simulation_voltage_probe_id:
|
|
4443
|
-
frequencies_hz:
|
|
4444
|
-
complex_voltages:
|
|
4445
|
-
name:
|
|
4446
|
-
color:
|
|
4481
|
+
simulation_voltage_probe_id: z199.string(),
|
|
4482
|
+
frequencies_hz: z199.array(z199.number()),
|
|
4483
|
+
complex_voltages: z199.array(simulation_complex_sample),
|
|
4484
|
+
name: z199.string().optional(),
|
|
4485
|
+
color: z199.string().optional()
|
|
4447
4486
|
}).refine(
|
|
4448
4487
|
(graph) => graph.frequencies_hz.length === graph.complex_voltages.length,
|
|
4449
4488
|
{
|
|
@@ -4453,19 +4492,19 @@ var simulation_ac_sweep_voltage_graph = z197.object({
|
|
|
4453
4492
|
expectTypesMatch(true);
|
|
4454
4493
|
|
|
4455
4494
|
// src/simulation/simulation_ac_sweep_current_graph.ts
|
|
4456
|
-
import { z as
|
|
4457
|
-
var simulation_ac_sweep_current_graph =
|
|
4458
|
-
type:
|
|
4495
|
+
import { z as z200 } from "zod";
|
|
4496
|
+
var simulation_ac_sweep_current_graph = z200.object({
|
|
4497
|
+
type: z200.literal("simulation_ac_sweep_current_graph"),
|
|
4459
4498
|
simulation_ac_sweep_current_graph_id: getZodPrefixedIdWithDefault(
|
|
4460
4499
|
"simulation_ac_sweep_current_graph"
|
|
4461
4500
|
),
|
|
4462
|
-
simulation_experiment_id:
|
|
4501
|
+
simulation_experiment_id: z200.string(),
|
|
4463
4502
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4464
|
-
simulation_current_probe_id:
|
|
4465
|
-
frequencies_hz:
|
|
4466
|
-
complex_currents:
|
|
4467
|
-
name:
|
|
4468
|
-
color:
|
|
4503
|
+
simulation_current_probe_id: z200.string(),
|
|
4504
|
+
frequencies_hz: z200.array(z200.number()),
|
|
4505
|
+
complex_currents: z200.array(simulation_complex_sample),
|
|
4506
|
+
name: z200.string().optional(),
|
|
4507
|
+
color: z200.string().optional()
|
|
4469
4508
|
}).refine(
|
|
4470
4509
|
(graph) => graph.frequencies_hz.length === graph.complex_currents.length,
|
|
4471
4510
|
{
|
|
@@ -4475,52 +4514,52 @@ var simulation_ac_sweep_current_graph = z198.object({
|
|
|
4475
4514
|
expectTypesMatch(true);
|
|
4476
4515
|
|
|
4477
4516
|
// src/simulation/simulation_op_amp.ts
|
|
4478
|
-
import { z as
|
|
4479
|
-
var simulation_op_amp =
|
|
4480
|
-
type:
|
|
4517
|
+
import { z as z201 } from "zod";
|
|
4518
|
+
var simulation_op_amp = z201.object({
|
|
4519
|
+
type: z201.literal("simulation_op_amp"),
|
|
4481
4520
|
simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
|
|
4482
|
-
source_component_id:
|
|
4483
|
-
inverting_input_source_port_id:
|
|
4484
|
-
non_inverting_input_source_port_id:
|
|
4485
|
-
output_source_port_id:
|
|
4486
|
-
positive_supply_source_port_id:
|
|
4487
|
-
negative_supply_source_port_id:
|
|
4521
|
+
source_component_id: z201.string().optional(),
|
|
4522
|
+
inverting_input_source_port_id: z201.string(),
|
|
4523
|
+
non_inverting_input_source_port_id: z201.string(),
|
|
4524
|
+
output_source_port_id: z201.string(),
|
|
4525
|
+
positive_supply_source_port_id: z201.string(),
|
|
4526
|
+
negative_supply_source_port_id: z201.string()
|
|
4488
4527
|
}).describe("Defines a simple ideal operational amplifier for simulation");
|
|
4489
4528
|
expectTypesMatch(true);
|
|
4490
4529
|
|
|
4491
4530
|
// src/simulation/simulation_spice_subcircuit.ts
|
|
4492
|
-
import { z as
|
|
4493
|
-
var simulation_spice_subcircuit =
|
|
4494
|
-
type:
|
|
4531
|
+
import { z as z202 } from "zod";
|
|
4532
|
+
var simulation_spice_subcircuit = z202.object({
|
|
4533
|
+
type: z202.literal("simulation_spice_subcircuit"),
|
|
4495
4534
|
simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault(
|
|
4496
4535
|
"simulation_spice_subcircuit"
|
|
4497
4536
|
),
|
|
4498
|
-
source_component_id:
|
|
4499
|
-
spice_pin_to_source_port_map:
|
|
4500
|
-
subcircuit_source:
|
|
4537
|
+
source_component_id: z202.string(),
|
|
4538
|
+
spice_pin_to_source_port_map: z202.record(z202.string(), z202.string()),
|
|
4539
|
+
subcircuit_source: z202.string()
|
|
4501
4540
|
}).describe("Defines a custom SPICE subcircuit model for simulation");
|
|
4502
4541
|
expectTypesMatch(
|
|
4503
4542
|
true
|
|
4504
4543
|
);
|
|
4505
4544
|
|
|
4506
4545
|
// src/simulation/simulation_oscilloscope_trace.ts
|
|
4507
|
-
import { z as
|
|
4546
|
+
import { z as z203 } from "zod";
|
|
4508
4547
|
var hasValue = (value) => value !== void 0;
|
|
4509
|
-
var simulation_oscilloscope_trace =
|
|
4510
|
-
type:
|
|
4548
|
+
var simulation_oscilloscope_trace = z203.object({
|
|
4549
|
+
type: z203.literal("simulation_oscilloscope_trace"),
|
|
4511
4550
|
simulation_oscilloscope_trace_id: getZodPrefixedIdWithDefault(
|
|
4512
4551
|
"simulation_oscilloscope_trace"
|
|
4513
4552
|
),
|
|
4514
|
-
simulation_transient_voltage_graph_id:
|
|
4515
|
-
simulation_transient_current_graph_id:
|
|
4516
|
-
simulation_voltage_probe_id:
|
|
4517
|
-
simulation_current_probe_id:
|
|
4518
|
-
display_name:
|
|
4519
|
-
color:
|
|
4520
|
-
display_center_value:
|
|
4521
|
-
display_center_offset_divs:
|
|
4522
|
-
volts_per_div:
|
|
4523
|
-
amps_per_div:
|
|
4553
|
+
simulation_transient_voltage_graph_id: z203.string().optional(),
|
|
4554
|
+
simulation_transient_current_graph_id: z203.string().optional(),
|
|
4555
|
+
simulation_voltage_probe_id: z203.string().optional(),
|
|
4556
|
+
simulation_current_probe_id: z203.string().optional(),
|
|
4557
|
+
display_name: z203.string().optional(),
|
|
4558
|
+
color: z203.string().optional(),
|
|
4559
|
+
display_center_value: z203.number().optional(),
|
|
4560
|
+
display_center_offset_divs: z203.number().optional(),
|
|
4561
|
+
volts_per_div: z203.number().positive().optional(),
|
|
4562
|
+
amps_per_div: z203.number().positive().optional()
|
|
4524
4563
|
}).describe(
|
|
4525
4564
|
"Defines how a simulation measurement is rendered as an oscilloscope-style trace."
|
|
4526
4565
|
).superRefine((data, ctx) => {
|
|
@@ -4534,19 +4573,19 @@ var simulation_oscilloscope_trace = z201.object({
|
|
|
4534
4573
|
].filter(hasValue).length;
|
|
4535
4574
|
if (voltageReferences + currentReferences !== 1) {
|
|
4536
4575
|
ctx.addIssue({
|
|
4537
|
-
code:
|
|
4576
|
+
code: z203.ZodIssueCode.custom,
|
|
4538
4577
|
message: "An oscilloscope trace must reference exactly one voltage graph, current graph, voltage probe, or current probe."
|
|
4539
4578
|
});
|
|
4540
4579
|
}
|
|
4541
4580
|
if (voltageReferences > 0 && data.amps_per_div !== void 0) {
|
|
4542
4581
|
ctx.addIssue({
|
|
4543
|
-
code:
|
|
4582
|
+
code: z203.ZodIssueCode.custom,
|
|
4544
4583
|
message: "Voltage oscilloscope traces must use volts_per_div, not amps_per_div."
|
|
4545
4584
|
});
|
|
4546
4585
|
}
|
|
4547
4586
|
if (currentReferences > 0 && data.volts_per_div !== void 0) {
|
|
4548
4587
|
ctx.addIssue({
|
|
4549
|
-
code:
|
|
4588
|
+
code: z203.ZodIssueCode.custom,
|
|
4550
4589
|
message: "Current oscilloscope traces must use amps_per_div, not volts_per_div."
|
|
4551
4590
|
});
|
|
4552
4591
|
}
|
|
@@ -4554,8 +4593,8 @@ var simulation_oscilloscope_trace = z201.object({
|
|
|
4554
4593
|
expectTypesMatch(true);
|
|
4555
4594
|
|
|
4556
4595
|
// src/any_circuit_element.ts
|
|
4557
|
-
import { z as
|
|
4558
|
-
var any_circuit_element =
|
|
4596
|
+
import { z as z204 } from "zod";
|
|
4597
|
+
var any_circuit_element = z204.union([
|
|
4559
4598
|
source_trace,
|
|
4560
4599
|
source_port,
|
|
4561
4600
|
source_component_internal_connection,
|
|
@@ -4610,6 +4649,7 @@ var any_circuit_element = z202.union([
|
|
|
4610
4649
|
pcb_connector_not_in_accessible_orientation_warning,
|
|
4611
4650
|
pcb_component_missing_courtyard_warning,
|
|
4612
4651
|
supplier_footprint_mismatch_warning,
|
|
4652
|
+
pcb_fabricator_extra_charge_warning,
|
|
4613
4653
|
pcb_plated_hole,
|
|
4614
4654
|
pcb_keepout,
|
|
4615
4655
|
pcb_port,
|
|
@@ -4656,6 +4696,7 @@ var any_circuit_element = z202.union([
|
|
|
4656
4696
|
pcb_note_line,
|
|
4657
4697
|
pcb_note_dimension,
|
|
4658
4698
|
pcb_autorouting_error,
|
|
4699
|
+
pcb_preflight_routing_error,
|
|
4659
4700
|
pcb_footprint_overlap_error,
|
|
4660
4701
|
pcb_courtyard_overlap_error,
|
|
4661
4702
|
pcb_breakout_point,
|
|
@@ -4806,6 +4847,7 @@ export {
|
|
|
4806
4847
|
pcb_fabrication_note_path,
|
|
4807
4848
|
pcb_fabrication_note_rect,
|
|
4808
4849
|
pcb_fabrication_note_text,
|
|
4850
|
+
pcb_fabricator_extra_charge_warning,
|
|
4809
4851
|
pcb_footprint_overlap_error,
|
|
4810
4852
|
pcb_ground_plane,
|
|
4811
4853
|
pcb_ground_plane_region,
|
|
@@ -4838,6 +4880,7 @@ export {
|
|
|
4838
4880
|
pcb_port,
|
|
4839
4881
|
pcb_port_not_connected_error,
|
|
4840
4882
|
pcb_port_not_matched_error,
|
|
4883
|
+
pcb_preflight_routing_error,
|
|
4841
4884
|
pcb_route_hint,
|
|
4842
4885
|
pcb_route_hints,
|
|
4843
4886
|
pcb_silkscreen_circle,
|