circuit-json 0.0.436 → 0.0.438
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 +87 -8
- package/dist/index.d.mts +677 -573
- package/dist/index.mjs +1627 -1584
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -396,135 +396,142 @@ expectTypesMatch(
|
|
|
396
396
|
true
|
|
397
397
|
);
|
|
398
398
|
|
|
399
|
-
// src/source/
|
|
399
|
+
// src/source/source_simple_ammeter.ts
|
|
400
400
|
import { z as z23 } from "zod";
|
|
401
|
-
var
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
401
|
+
var source_simple_ammeter = source_component_base.extend({
|
|
402
|
+
ftype: z23.literal("simple_ammeter")
|
|
403
|
+
});
|
|
404
|
+
expectTypesMatch(true);
|
|
405
|
+
|
|
406
|
+
// src/source/properties/source_pin_attributes.ts
|
|
407
|
+
import { z as z24 } from "zod";
|
|
408
|
+
var source_pin_attributes = z24.object({
|
|
409
|
+
must_be_connected: z24.boolean().optional(),
|
|
410
|
+
provides_power: z24.boolean().optional(),
|
|
411
|
+
requires_power: z24.boolean().optional(),
|
|
412
|
+
provides_ground: z24.boolean().optional(),
|
|
413
|
+
requires_ground: z24.boolean().optional(),
|
|
414
|
+
provides_voltage: z24.union([z24.string(), z24.number()]).optional(),
|
|
415
|
+
requires_voltage: z24.union([z24.string(), z24.number()]).optional(),
|
|
416
|
+
do_not_connect: z24.boolean().optional(),
|
|
417
|
+
include_in_board_pinout: z24.boolean().optional(),
|
|
418
|
+
can_use_internal_pullup: z24.boolean().optional(),
|
|
419
|
+
is_using_internal_pullup: z24.boolean().optional(),
|
|
420
|
+
needs_external_pullup: z24.boolean().optional(),
|
|
421
|
+
can_use_internal_pulldown: z24.boolean().optional(),
|
|
422
|
+
is_using_internal_pulldown: z24.boolean().optional(),
|
|
423
|
+
needs_external_pulldown: z24.boolean().optional(),
|
|
424
|
+
can_use_open_drain: z24.boolean().optional(),
|
|
425
|
+
is_using_open_drain: z24.boolean().optional(),
|
|
426
|
+
can_use_push_pull: z24.boolean().optional(),
|
|
427
|
+
is_using_push_pull: z24.boolean().optional(),
|
|
428
|
+
should_have_decoupling_capacitor: z24.boolean().optional(),
|
|
429
|
+
recommended_decoupling_capacitor_capacitance: z24.union([z24.string(), z24.number()]).optional(),
|
|
430
|
+
is_configured_for_i2c_sda: z24.boolean().optional(),
|
|
431
|
+
is_configured_for_i2c_scl: z24.boolean().optional(),
|
|
432
|
+
is_configured_for_spi_mosi: z24.boolean().optional(),
|
|
433
|
+
is_configured_for_spi_miso: z24.boolean().optional(),
|
|
434
|
+
is_configured_for_spi_sck: z24.boolean().optional(),
|
|
435
|
+
is_configured_for_spi_cs: z24.boolean().optional(),
|
|
436
|
+
is_configured_for_uart_tx: z24.boolean().optional(),
|
|
437
|
+
is_configured_for_uart_rx: z24.boolean().optional(),
|
|
438
|
+
supports_i2c_sda: z24.boolean().optional(),
|
|
439
|
+
supports_i2c_scl: z24.boolean().optional(),
|
|
440
|
+
supports_spi_mosi: z24.boolean().optional(),
|
|
441
|
+
supports_spi_miso: z24.boolean().optional(),
|
|
442
|
+
supports_spi_sck: z24.boolean().optional(),
|
|
443
|
+
supports_spi_cs: z24.boolean().optional(),
|
|
444
|
+
supports_uart_tx: z24.boolean().optional(),
|
|
445
|
+
supports_uart_rx: z24.boolean().optional()
|
|
439
446
|
});
|
|
440
447
|
expectTypesMatch(true);
|
|
441
448
|
|
|
442
449
|
// src/source/any_source_component.ts
|
|
443
|
-
import { z as
|
|
450
|
+
import { z as z53 } from "zod";
|
|
444
451
|
|
|
445
452
|
// src/source/source_simple_fuse.ts
|
|
446
|
-
import { z as
|
|
453
|
+
import { z as z25 } from "zod";
|
|
447
454
|
var source_simple_fuse = source_component_base.extend({
|
|
448
|
-
ftype:
|
|
449
|
-
current_rating_amps:
|
|
450
|
-
voltage_rating_volts:
|
|
455
|
+
ftype: z25.literal("simple_fuse"),
|
|
456
|
+
current_rating_amps: z25.number().describe("Nominal current in amps the fuse is rated for"),
|
|
457
|
+
voltage_rating_volts: z25.number().describe("Voltage rating in volts, e.g. \xB15V would be 5")
|
|
451
458
|
});
|
|
452
459
|
expectTypesMatch(true);
|
|
453
460
|
|
|
454
461
|
// src/source/source_simple_battery.ts
|
|
455
|
-
import { z as
|
|
462
|
+
import { z as z26 } from "zod";
|
|
456
463
|
var source_simple_battery = source_component_base.extend({
|
|
457
|
-
ftype:
|
|
464
|
+
ftype: z26.literal("simple_battery"),
|
|
458
465
|
capacity: battery_capacity
|
|
459
466
|
});
|
|
460
467
|
expectTypesMatch(true);
|
|
461
468
|
|
|
462
469
|
// src/source/source_simple_inductor.ts
|
|
463
|
-
import { z as
|
|
470
|
+
import { z as z27 } from "zod";
|
|
464
471
|
var source_simple_inductor = source_component_base.extend({
|
|
465
|
-
ftype:
|
|
472
|
+
ftype: z27.literal("simple_inductor"),
|
|
466
473
|
inductance,
|
|
467
|
-
display_inductance:
|
|
468
|
-
max_current_rating:
|
|
474
|
+
display_inductance: z27.string().optional(),
|
|
475
|
+
max_current_rating: z27.number().optional()
|
|
469
476
|
});
|
|
470
477
|
expectTypesMatch(true);
|
|
471
478
|
|
|
472
479
|
// src/source/source_simple_push_button.ts
|
|
473
|
-
import { z as
|
|
480
|
+
import { z as z28 } from "zod";
|
|
474
481
|
var source_simple_push_button = source_component_base.extend({
|
|
475
|
-
ftype:
|
|
482
|
+
ftype: z28.literal("simple_push_button")
|
|
476
483
|
});
|
|
477
484
|
expectTypesMatch(true);
|
|
478
485
|
|
|
479
486
|
// src/source/source_simple_potentiometer.ts
|
|
480
|
-
import { z as
|
|
487
|
+
import { z as z29 } from "zod";
|
|
481
488
|
var source_simple_potentiometer = source_component_base.extend({
|
|
482
|
-
ftype:
|
|
489
|
+
ftype: z29.literal("simple_potentiometer"),
|
|
483
490
|
max_resistance: resistance,
|
|
484
|
-
display_max_resistance:
|
|
491
|
+
display_max_resistance: z29.string().optional()
|
|
485
492
|
});
|
|
486
493
|
expectTypesMatch(
|
|
487
494
|
true
|
|
488
495
|
);
|
|
489
496
|
|
|
490
497
|
// src/source/source_simple_crystal.ts
|
|
491
|
-
import { z as
|
|
498
|
+
import { z as z30 } from "zod";
|
|
492
499
|
var source_simple_crystal = source_component_base.extend({
|
|
493
|
-
ftype:
|
|
494
|
-
frequency:
|
|
495
|
-
load_capacitance:
|
|
496
|
-
pin_variant:
|
|
500
|
+
ftype: z30.literal("simple_crystal"),
|
|
501
|
+
frequency: z30.number().describe("Frequency in Hz"),
|
|
502
|
+
load_capacitance: z30.number().optional().describe("Load capacitance in pF"),
|
|
503
|
+
pin_variant: z30.enum(["two_pin", "four_pin"]).optional()
|
|
497
504
|
});
|
|
498
505
|
expectTypesMatch(true);
|
|
499
506
|
|
|
500
507
|
// src/source/source_simple_pin_header.ts
|
|
501
|
-
import { z as
|
|
508
|
+
import { z as z31 } from "zod";
|
|
502
509
|
var source_simple_pin_header = source_component_base.extend({
|
|
503
|
-
ftype:
|
|
504
|
-
pin_count:
|
|
505
|
-
gender:
|
|
510
|
+
ftype: z31.literal("simple_pin_header"),
|
|
511
|
+
pin_count: z31.number(),
|
|
512
|
+
gender: z31.enum(["male", "female"]).optional().default("male")
|
|
506
513
|
});
|
|
507
514
|
expectTypesMatch(true);
|
|
508
515
|
|
|
509
516
|
// src/source/source_simple_connector.ts
|
|
510
|
-
import { z as
|
|
517
|
+
import { z as z32 } from "zod";
|
|
511
518
|
var source_simple_connector = source_component_base.extend({
|
|
512
|
-
ftype:
|
|
513
|
-
standard:
|
|
519
|
+
ftype: z32.literal("simple_connector"),
|
|
520
|
+
standard: z32.enum(["usb_c", "m2"]).optional()
|
|
514
521
|
});
|
|
515
522
|
expectTypesMatch(true);
|
|
516
523
|
|
|
517
524
|
// src/source/source_simple_pinout.ts
|
|
518
|
-
import { z as
|
|
525
|
+
import { z as z33 } from "zod";
|
|
519
526
|
var source_simple_pinout = source_component_base.extend({
|
|
520
|
-
ftype:
|
|
527
|
+
ftype: z33.literal("simple_pinout")
|
|
521
528
|
});
|
|
522
529
|
expectTypesMatch(true);
|
|
523
530
|
|
|
524
531
|
// src/source/source_simple_resonator.ts
|
|
525
|
-
import { z as
|
|
532
|
+
import { z as z34 } from "zod";
|
|
526
533
|
var source_simple_resonator = source_component_base.extend({
|
|
527
|
-
ftype:
|
|
534
|
+
ftype: z34.literal("simple_resonator"),
|
|
528
535
|
load_capacitance: capacitance,
|
|
529
536
|
equivalent_series_resistance: resistance.optional(),
|
|
530
537
|
frequency
|
|
@@ -532,232 +539,232 @@ var source_simple_resonator = source_component_base.extend({
|
|
|
532
539
|
expectTypesMatch(true);
|
|
533
540
|
|
|
534
541
|
// src/source/source_simple_transistor.ts
|
|
535
|
-
import { z as
|
|
542
|
+
import { z as z35 } from "zod";
|
|
536
543
|
var source_simple_transistor = source_component_base.extend({
|
|
537
|
-
ftype:
|
|
538
|
-
transistor_type:
|
|
544
|
+
ftype: z35.literal("simple_transistor"),
|
|
545
|
+
transistor_type: z35.enum(["npn", "pnp"])
|
|
539
546
|
});
|
|
540
547
|
expectTypesMatch(true);
|
|
541
548
|
|
|
542
549
|
// src/source/source_simple_test_point.ts
|
|
543
|
-
import { z as
|
|
550
|
+
import { z as z36 } from "zod";
|
|
544
551
|
var source_simple_test_point = source_component_base.extend({
|
|
545
|
-
ftype:
|
|
546
|
-
footprint_variant:
|
|
547
|
-
pad_shape:
|
|
548
|
-
pad_diameter:
|
|
549
|
-
hole_diameter:
|
|
550
|
-
width:
|
|
551
|
-
height:
|
|
552
|
+
ftype: z36.literal("simple_test_point"),
|
|
553
|
+
footprint_variant: z36.enum(["pad", "through_hole"]).optional(),
|
|
554
|
+
pad_shape: z36.enum(["rect", "circle"]).optional(),
|
|
555
|
+
pad_diameter: z36.union([z36.number(), z36.string()]).optional(),
|
|
556
|
+
hole_diameter: z36.union([z36.number(), z36.string()]).optional(),
|
|
557
|
+
width: z36.union([z36.number(), z36.string()]).optional(),
|
|
558
|
+
height: z36.union([z36.number(), z36.string()]).optional()
|
|
552
559
|
});
|
|
553
560
|
expectTypesMatch(true);
|
|
554
561
|
|
|
555
562
|
// src/source/source_simple_mosfet.ts
|
|
556
|
-
import { z as
|
|
563
|
+
import { z as z37 } from "zod";
|
|
557
564
|
var source_simple_mosfet = source_component_base.extend({
|
|
558
|
-
ftype:
|
|
559
|
-
channel_type:
|
|
560
|
-
mosfet_mode:
|
|
565
|
+
ftype: z37.literal("simple_mosfet"),
|
|
566
|
+
channel_type: z37.enum(["n", "p"]),
|
|
567
|
+
mosfet_mode: z37.enum(["enhancement", "depletion"])
|
|
561
568
|
});
|
|
562
569
|
expectTypesMatch(true);
|
|
563
570
|
|
|
564
571
|
// src/source/source_simple_op_amp.ts
|
|
565
|
-
import { z as
|
|
572
|
+
import { z as z38 } from "zod";
|
|
566
573
|
var source_simple_op_amp = source_component_base.extend({
|
|
567
|
-
ftype:
|
|
574
|
+
ftype: z38.literal("simple_op_amp")
|
|
568
575
|
});
|
|
569
576
|
expectTypesMatch(true);
|
|
570
577
|
|
|
571
578
|
// src/source/source_simple_switch.ts
|
|
572
|
-
import { z as
|
|
579
|
+
import { z as z39 } from "zod";
|
|
573
580
|
var source_simple_switch = source_component_base.extend({
|
|
574
|
-
ftype:
|
|
581
|
+
ftype: z39.literal("simple_switch")
|
|
575
582
|
});
|
|
576
583
|
expectTypesMatch(true);
|
|
577
584
|
|
|
578
585
|
// src/source/source_project_metadata.ts
|
|
579
|
-
import { z as
|
|
580
|
-
var source_project_metadata =
|
|
581
|
-
type:
|
|
582
|
-
name:
|
|
583
|
-
software_used_string:
|
|
584
|
-
project_url:
|
|
586
|
+
import { z as z40 } from "zod";
|
|
587
|
+
var source_project_metadata = z40.object({
|
|
588
|
+
type: z40.literal("source_project_metadata"),
|
|
589
|
+
name: z40.string().optional(),
|
|
590
|
+
software_used_string: z40.string().optional(),
|
|
591
|
+
project_url: z40.string().optional(),
|
|
585
592
|
created_at: timestamp.optional()
|
|
586
593
|
});
|
|
587
594
|
expectTypesMatch(true);
|
|
588
595
|
|
|
589
596
|
// src/source/source_missing_property_error.ts
|
|
590
|
-
import { z as
|
|
597
|
+
import { z as z41 } from "zod";
|
|
591
598
|
var source_missing_property_error = base_circuit_json_error.extend({
|
|
592
|
-
type:
|
|
599
|
+
type: z41.literal("source_missing_property_error"),
|
|
593
600
|
source_missing_property_error_id: getZodPrefixedIdWithDefault(
|
|
594
601
|
"source_missing_property_error"
|
|
595
602
|
),
|
|
596
|
-
source_component_id:
|
|
597
|
-
property_name:
|
|
598
|
-
subcircuit_id:
|
|
599
|
-
error_type:
|
|
603
|
+
source_component_id: z41.string(),
|
|
604
|
+
property_name: z41.string(),
|
|
605
|
+
subcircuit_id: z41.string().optional(),
|
|
606
|
+
error_type: z41.literal("source_missing_property_error").default("source_missing_property_error")
|
|
600
607
|
}).describe("The source code is missing a property");
|
|
601
608
|
expectTypesMatch(true);
|
|
602
609
|
|
|
603
610
|
// src/source/source_failed_to_create_component_error.ts
|
|
604
|
-
import { z as
|
|
611
|
+
import { z as z42 } from "zod";
|
|
605
612
|
var source_failed_to_create_component_error = base_circuit_json_error.extend({
|
|
606
|
-
type:
|
|
613
|
+
type: z42.literal("source_failed_to_create_component_error"),
|
|
607
614
|
source_failed_to_create_component_error_id: getZodPrefixedIdWithDefault(
|
|
608
615
|
"source_failed_to_create_component_error"
|
|
609
616
|
),
|
|
610
|
-
error_type:
|
|
611
|
-
component_name:
|
|
612
|
-
subcircuit_id:
|
|
613
|
-
parent_source_component_id:
|
|
614
|
-
pcb_center:
|
|
615
|
-
x:
|
|
616
|
-
y:
|
|
617
|
+
error_type: z42.literal("source_failed_to_create_component_error").default("source_failed_to_create_component_error"),
|
|
618
|
+
component_name: z42.string().optional(),
|
|
619
|
+
subcircuit_id: z42.string().optional(),
|
|
620
|
+
parent_source_component_id: z42.string().optional(),
|
|
621
|
+
pcb_center: z42.object({
|
|
622
|
+
x: z42.number().optional(),
|
|
623
|
+
y: z42.number().optional()
|
|
617
624
|
}).optional(),
|
|
618
|
-
schematic_center:
|
|
619
|
-
x:
|
|
620
|
-
y:
|
|
625
|
+
schematic_center: z42.object({
|
|
626
|
+
x: z42.number().optional(),
|
|
627
|
+
y: z42.number().optional()
|
|
621
628
|
}).optional()
|
|
622
629
|
}).describe("Error emitted when a component fails to be constructed");
|
|
623
630
|
expectTypesMatch(true);
|
|
624
631
|
|
|
625
632
|
// src/source/source_invalid_component_property_error.ts
|
|
626
|
-
import { z as
|
|
633
|
+
import { z as z43 } from "zod";
|
|
627
634
|
var source_invalid_component_property_error = base_circuit_json_error.extend({
|
|
628
|
-
type:
|
|
635
|
+
type: z43.literal("source_invalid_component_property_error"),
|
|
629
636
|
source_invalid_component_property_error_id: getZodPrefixedIdWithDefault(
|
|
630
637
|
"source_invalid_component_property_error"
|
|
631
638
|
),
|
|
632
|
-
source_component_id:
|
|
633
|
-
property_name:
|
|
634
|
-
property_value:
|
|
635
|
-
expected_format:
|
|
636
|
-
subcircuit_id:
|
|
637
|
-
error_type:
|
|
639
|
+
source_component_id: z43.string(),
|
|
640
|
+
property_name: z43.string(),
|
|
641
|
+
property_value: z43.unknown().optional(),
|
|
642
|
+
expected_format: z43.string().optional(),
|
|
643
|
+
subcircuit_id: z43.string().optional(),
|
|
644
|
+
error_type: z43.literal("source_invalid_component_property_error").default("source_invalid_component_property_error")
|
|
638
645
|
}).describe("The source component property is invalid");
|
|
639
646
|
expectTypesMatch(true);
|
|
640
647
|
|
|
641
648
|
// src/source/source_trace_not_connected_error.ts
|
|
642
|
-
import { z as
|
|
649
|
+
import { z as z44 } from "zod";
|
|
643
650
|
var source_trace_not_connected_error = base_circuit_json_error.extend({
|
|
644
|
-
type:
|
|
651
|
+
type: z44.literal("source_trace_not_connected_error"),
|
|
645
652
|
source_trace_not_connected_error_id: getZodPrefixedIdWithDefault(
|
|
646
653
|
"source_trace_not_connected_error"
|
|
647
654
|
),
|
|
648
|
-
error_type:
|
|
649
|
-
subcircuit_id:
|
|
650
|
-
source_group_id:
|
|
651
|
-
source_trace_id:
|
|
652
|
-
connected_source_port_ids:
|
|
653
|
-
selectors_not_found:
|
|
655
|
+
error_type: z44.literal("source_trace_not_connected_error").default("source_trace_not_connected_error"),
|
|
656
|
+
subcircuit_id: z44.string().optional(),
|
|
657
|
+
source_group_id: z44.string().optional(),
|
|
658
|
+
source_trace_id: z44.string().optional(),
|
|
659
|
+
connected_source_port_ids: z44.array(z44.string()).optional(),
|
|
660
|
+
selectors_not_found: z44.array(z44.string()).optional()
|
|
654
661
|
}).describe("Occurs when a source trace selector does not match any ports");
|
|
655
662
|
expectTypesMatch(true);
|
|
656
663
|
|
|
657
664
|
// src/source/source_property_ignored_warning.ts
|
|
658
|
-
import { z as
|
|
659
|
-
var source_property_ignored_warning =
|
|
660
|
-
type:
|
|
665
|
+
import { z as z45 } from "zod";
|
|
666
|
+
var source_property_ignored_warning = z45.object({
|
|
667
|
+
type: z45.literal("source_property_ignored_warning"),
|
|
661
668
|
source_property_ignored_warning_id: getZodPrefixedIdWithDefault(
|
|
662
669
|
"source_property_ignored_warning"
|
|
663
670
|
),
|
|
664
|
-
source_component_id:
|
|
665
|
-
property_name:
|
|
666
|
-
subcircuit_id:
|
|
667
|
-
error_type:
|
|
668
|
-
message:
|
|
671
|
+
source_component_id: z45.string(),
|
|
672
|
+
property_name: z45.string(),
|
|
673
|
+
subcircuit_id: z45.string().optional(),
|
|
674
|
+
error_type: z45.literal("source_property_ignored_warning").default("source_property_ignored_warning"),
|
|
675
|
+
message: z45.string()
|
|
669
676
|
}).describe("The source property was ignored");
|
|
670
677
|
expectTypesMatch(true);
|
|
671
678
|
|
|
672
679
|
// src/source/source_pin_missing_trace_warning.ts
|
|
673
|
-
import { z as
|
|
674
|
-
var source_pin_missing_trace_warning =
|
|
675
|
-
type:
|
|
680
|
+
import { z as z46 } from "zod";
|
|
681
|
+
var source_pin_missing_trace_warning = z46.object({
|
|
682
|
+
type: z46.literal("source_pin_missing_trace_warning"),
|
|
676
683
|
source_pin_missing_trace_warning_id: getZodPrefixedIdWithDefault(
|
|
677
684
|
"source_pin_missing_trace_warning"
|
|
678
685
|
),
|
|
679
|
-
warning_type:
|
|
680
|
-
message:
|
|
681
|
-
source_component_id:
|
|
682
|
-
source_port_id:
|
|
683
|
-
subcircuit_id:
|
|
686
|
+
warning_type: z46.literal("source_pin_missing_trace_warning").default("source_pin_missing_trace_warning"),
|
|
687
|
+
message: z46.string(),
|
|
688
|
+
source_component_id: z46.string(),
|
|
689
|
+
source_port_id: z46.string(),
|
|
690
|
+
subcircuit_id: z46.string().optional()
|
|
684
691
|
}).describe(
|
|
685
692
|
"Warning emitted when a source component pin is missing a trace connection"
|
|
686
693
|
);
|
|
687
694
|
expectTypesMatch(true);
|
|
688
695
|
|
|
689
696
|
// src/source/source_missing_manufacturer_part_number_warning.ts
|
|
690
|
-
import { z as
|
|
691
|
-
var source_missing_manufacturer_part_number_warning =
|
|
692
|
-
type:
|
|
697
|
+
import { z as z47 } from "zod";
|
|
698
|
+
var source_missing_manufacturer_part_number_warning = z47.object({
|
|
699
|
+
type: z47.literal("source_missing_manufacturer_part_number_warning"),
|
|
693
700
|
source_missing_manufacturer_part_number_warning_id: getZodPrefixedIdWithDefault(
|
|
694
701
|
"source_missing_manufacturer_part_number_warning"
|
|
695
702
|
),
|
|
696
|
-
warning_type:
|
|
697
|
-
message:
|
|
698
|
-
source_component_id:
|
|
699
|
-
standard:
|
|
700
|
-
subcircuit_id:
|
|
703
|
+
warning_type: z47.literal("source_missing_manufacturer_part_number_warning").default("source_missing_manufacturer_part_number_warning"),
|
|
704
|
+
message: z47.string(),
|
|
705
|
+
source_component_id: z47.string(),
|
|
706
|
+
standard: z47.string(),
|
|
707
|
+
subcircuit_id: z47.string().optional()
|
|
701
708
|
}).describe(
|
|
702
709
|
"Warning emitted when a standard connector is missing manufacturer part number"
|
|
703
710
|
);
|
|
704
711
|
expectTypesMatch(true);
|
|
705
712
|
|
|
706
713
|
// src/source/source_simple_voltage_probe.ts
|
|
707
|
-
import { z as
|
|
714
|
+
import { z as z48 } from "zod";
|
|
708
715
|
var source_simple_voltage_probe = source_component_base.extend({
|
|
709
|
-
ftype:
|
|
716
|
+
ftype: z48.literal("simple_voltage_probe")
|
|
710
717
|
});
|
|
711
718
|
expectTypesMatch(
|
|
712
719
|
true
|
|
713
720
|
);
|
|
714
721
|
|
|
715
722
|
// src/source/source_interconnect.ts
|
|
716
|
-
import { z as
|
|
723
|
+
import { z as z49 } from "zod";
|
|
717
724
|
var source_interconnect = source_component_base.extend({
|
|
718
|
-
ftype:
|
|
725
|
+
ftype: z49.literal("interconnect")
|
|
719
726
|
});
|
|
720
727
|
expectTypesMatch(true);
|
|
721
728
|
|
|
722
729
|
// src/source/source_i2c_misconfigured_error.ts
|
|
723
|
-
import { z as
|
|
730
|
+
import { z as z50 } from "zod";
|
|
724
731
|
var source_i2c_misconfigured_error = base_circuit_json_error.extend({
|
|
725
|
-
type:
|
|
732
|
+
type: z50.literal("source_i2c_misconfigured_error"),
|
|
726
733
|
source_i2c_misconfigured_error_id: getZodPrefixedIdWithDefault(
|
|
727
734
|
"source_i2c_misconfigured_error"
|
|
728
735
|
),
|
|
729
|
-
error_type:
|
|
730
|
-
source_port_ids:
|
|
736
|
+
error_type: z50.literal("source_i2c_misconfigured_error").default("source_i2c_misconfigured_error"),
|
|
737
|
+
source_port_ids: z50.array(z50.string())
|
|
731
738
|
}).describe(
|
|
732
739
|
"Error emitted when incompatible I2C pins (e.g. SDA and SCL) are connected to the same net"
|
|
733
740
|
);
|
|
734
741
|
expectTypesMatch(true);
|
|
735
742
|
|
|
736
743
|
// src/source/source_component_misconfigured_error.ts
|
|
737
|
-
import { z as
|
|
744
|
+
import { z as z51 } from "zod";
|
|
738
745
|
var source_component_misconfigured_error = base_circuit_json_error.extend({
|
|
739
|
-
type:
|
|
746
|
+
type: z51.literal("source_component_misconfigured_error"),
|
|
740
747
|
source_component_misconfigured_error_id: getZodPrefixedIdWithDefault(
|
|
741
748
|
"source_component_misconfigured_error"
|
|
742
749
|
),
|
|
743
|
-
error_type:
|
|
744
|
-
source_component_ids:
|
|
745
|
-
source_port_ids:
|
|
750
|
+
error_type: z51.literal("source_component_misconfigured_error").default("source_component_misconfigured_error"),
|
|
751
|
+
source_component_ids: z51.array(z51.string()),
|
|
752
|
+
source_port_ids: z51.array(z51.string()).optional()
|
|
746
753
|
}).describe(
|
|
747
754
|
"Error emitted when one or more source components have an invalid or conflicting configuration"
|
|
748
755
|
);
|
|
749
756
|
expectTypesMatch(true);
|
|
750
757
|
|
|
751
758
|
// src/source/source_simple_voltage_source.ts
|
|
752
|
-
import { z as
|
|
759
|
+
import { z as z52 } from "zod";
|
|
753
760
|
var source_simple_voltage_source = source_component_base.extend({
|
|
754
|
-
ftype:
|
|
761
|
+
ftype: z52.literal("simple_voltage_source"),
|
|
755
762
|
voltage,
|
|
756
763
|
frequency: frequency.optional(),
|
|
757
764
|
peak_to_peak_voltage: voltage.optional(),
|
|
758
|
-
wave_shape:
|
|
765
|
+
wave_shape: z52.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
759
766
|
phase: rotation.optional(),
|
|
760
|
-
duty_cycle:
|
|
767
|
+
duty_cycle: z52.number().optional().describe("Duty cycle as a fraction (0 to 1)"),
|
|
761
768
|
pulse_delay: ms.optional(),
|
|
762
769
|
rise_time: ms.optional(),
|
|
763
770
|
fall_time: ms.optional(),
|
|
@@ -769,7 +776,7 @@ expectTypesMatch(
|
|
|
769
776
|
);
|
|
770
777
|
|
|
771
778
|
// src/source/any_source_component.ts
|
|
772
|
-
var any_source_component =
|
|
779
|
+
var any_source_component = z53.union([
|
|
773
780
|
source_simple_resistor,
|
|
774
781
|
source_simple_capacitor,
|
|
775
782
|
source_simple_diode,
|
|
@@ -779,6 +786,7 @@ var any_source_component = z52.union([
|
|
|
779
786
|
source_simple_chip,
|
|
780
787
|
source_simple_power_source,
|
|
781
788
|
source_simple_current_source,
|
|
789
|
+
source_simple_ammeter,
|
|
782
790
|
source_simple_battery,
|
|
783
791
|
source_simple_inductor,
|
|
784
792
|
source_simple_push_button,
|
|
@@ -811,121 +819,121 @@ var any_source_component = z52.union([
|
|
|
811
819
|
expectTypesMatch(true);
|
|
812
820
|
|
|
813
821
|
// src/source/source_port.ts
|
|
814
|
-
import { z as
|
|
815
|
-
var source_port =
|
|
816
|
-
type:
|
|
817
|
-
pin_number:
|
|
818
|
-
port_hints:
|
|
819
|
-
name:
|
|
820
|
-
source_port_id:
|
|
821
|
-
source_component_id:
|
|
822
|
-
source_group_id:
|
|
823
|
-
most_frequently_referenced_by_name:
|
|
824
|
-
subcircuit_id:
|
|
825
|
-
subcircuit_connectivity_map_key:
|
|
822
|
+
import { z as z54 } from "zod";
|
|
823
|
+
var source_port = z54.object({
|
|
824
|
+
type: z54.literal("source_port"),
|
|
825
|
+
pin_number: z54.number().optional(),
|
|
826
|
+
port_hints: z54.array(z54.string()).optional(),
|
|
827
|
+
name: z54.string(),
|
|
828
|
+
source_port_id: z54.string(),
|
|
829
|
+
source_component_id: z54.string().optional(),
|
|
830
|
+
source_group_id: z54.string().optional(),
|
|
831
|
+
most_frequently_referenced_by_name: z54.string().optional(),
|
|
832
|
+
subcircuit_id: z54.string().optional(),
|
|
833
|
+
subcircuit_connectivity_map_key: z54.string().optional()
|
|
826
834
|
}).merge(source_pin_attributes);
|
|
827
835
|
expectTypesMatch(true);
|
|
828
836
|
|
|
829
837
|
// src/source/source_component_internal_connection.ts
|
|
830
|
-
import { z as
|
|
831
|
-
var source_component_internal_connection =
|
|
832
|
-
type:
|
|
833
|
-
source_component_internal_connection_id:
|
|
834
|
-
source_component_id:
|
|
835
|
-
source_port_ids:
|
|
836
|
-
subcircuit_id:
|
|
838
|
+
import { z as z55 } from "zod";
|
|
839
|
+
var source_component_internal_connection = z55.object({
|
|
840
|
+
type: z55.literal("source_component_internal_connection"),
|
|
841
|
+
source_component_internal_connection_id: z55.string(),
|
|
842
|
+
source_component_id: z55.string(),
|
|
843
|
+
source_port_ids: z55.array(z55.string()),
|
|
844
|
+
subcircuit_id: z55.string().optional()
|
|
837
845
|
});
|
|
838
846
|
expectTypesMatch(true);
|
|
839
847
|
|
|
840
848
|
// src/source/source_trace.ts
|
|
841
|
-
import { z as
|
|
842
|
-
var source_trace =
|
|
843
|
-
type:
|
|
844
|
-
source_trace_id:
|
|
845
|
-
connected_source_port_ids:
|
|
846
|
-
connected_source_net_ids:
|
|
847
|
-
subcircuit_id:
|
|
848
|
-
subcircuit_connectivity_map_key:
|
|
849
|
-
max_length:
|
|
850
|
-
min_trace_thickness:
|
|
851
|
-
display_name:
|
|
849
|
+
import { z as z56 } from "zod";
|
|
850
|
+
var source_trace = z56.object({
|
|
851
|
+
type: z56.literal("source_trace"),
|
|
852
|
+
source_trace_id: z56.string(),
|
|
853
|
+
connected_source_port_ids: z56.array(z56.string()),
|
|
854
|
+
connected_source_net_ids: z56.array(z56.string()),
|
|
855
|
+
subcircuit_id: z56.string().optional(),
|
|
856
|
+
subcircuit_connectivity_map_key: z56.string().optional(),
|
|
857
|
+
max_length: z56.number().optional(),
|
|
858
|
+
min_trace_thickness: z56.number().optional(),
|
|
859
|
+
display_name: z56.string().optional()
|
|
852
860
|
});
|
|
853
861
|
expectTypesMatch(true);
|
|
854
862
|
|
|
855
863
|
// src/source/source_group.ts
|
|
856
|
-
import { z as
|
|
857
|
-
var source_group =
|
|
858
|
-
type:
|
|
859
|
-
source_group_id:
|
|
860
|
-
subcircuit_id:
|
|
861
|
-
parent_subcircuit_id:
|
|
862
|
-
parent_source_group_id:
|
|
863
|
-
is_subcircuit:
|
|
864
|
-
show_as_schematic_box:
|
|
865
|
-
name:
|
|
866
|
-
was_automatically_named:
|
|
864
|
+
import { z as z57 } from "zod";
|
|
865
|
+
var source_group = z57.object({
|
|
866
|
+
type: z57.literal("source_group"),
|
|
867
|
+
source_group_id: z57.string(),
|
|
868
|
+
subcircuit_id: z57.string().optional(),
|
|
869
|
+
parent_subcircuit_id: z57.string().optional(),
|
|
870
|
+
parent_source_group_id: z57.string().optional(),
|
|
871
|
+
is_subcircuit: z57.boolean().optional(),
|
|
872
|
+
show_as_schematic_box: z57.boolean().optional(),
|
|
873
|
+
name: z57.string().optional(),
|
|
874
|
+
was_automatically_named: z57.boolean().optional()
|
|
867
875
|
});
|
|
868
876
|
expectTypesMatch(true);
|
|
869
877
|
|
|
870
878
|
// src/source/source_net.ts
|
|
871
|
-
import { z as
|
|
872
|
-
var source_net =
|
|
873
|
-
type:
|
|
874
|
-
source_net_id:
|
|
875
|
-
name:
|
|
876
|
-
member_source_group_ids:
|
|
877
|
-
is_power:
|
|
878
|
-
is_ground:
|
|
879
|
-
is_digital_signal:
|
|
880
|
-
is_analog_signal:
|
|
881
|
-
is_positive_voltage_source:
|
|
882
|
-
trace_width:
|
|
883
|
-
subcircuit_id:
|
|
884
|
-
subcircuit_connectivity_map_key:
|
|
879
|
+
import { z as z58 } from "zod";
|
|
880
|
+
var source_net = z58.object({
|
|
881
|
+
type: z58.literal("source_net"),
|
|
882
|
+
source_net_id: z58.string(),
|
|
883
|
+
name: z58.string(),
|
|
884
|
+
member_source_group_ids: z58.array(z58.string()),
|
|
885
|
+
is_power: z58.boolean().optional(),
|
|
886
|
+
is_ground: z58.boolean().optional(),
|
|
887
|
+
is_digital_signal: z58.boolean().optional(),
|
|
888
|
+
is_analog_signal: z58.boolean().optional(),
|
|
889
|
+
is_positive_voltage_source: z58.boolean().optional(),
|
|
890
|
+
trace_width: z58.number().optional(),
|
|
891
|
+
subcircuit_id: z58.string().optional(),
|
|
892
|
+
subcircuit_connectivity_map_key: z58.string().optional()
|
|
885
893
|
});
|
|
886
894
|
expectTypesMatch(true);
|
|
887
895
|
|
|
888
896
|
// src/source/source_board.ts
|
|
889
|
-
import { z as
|
|
890
|
-
var source_board =
|
|
891
|
-
type:
|
|
892
|
-
source_board_id:
|
|
893
|
-
source_group_id:
|
|
894
|
-
title:
|
|
897
|
+
import { z as z59 } from "zod";
|
|
898
|
+
var source_board = z59.object({
|
|
899
|
+
type: z59.literal("source_board"),
|
|
900
|
+
source_board_id: z59.string(),
|
|
901
|
+
source_group_id: z59.string(),
|
|
902
|
+
title: z59.string().optional()
|
|
895
903
|
}).describe("Defines a board in the source domain");
|
|
896
904
|
expectTypesMatch(true);
|
|
897
905
|
|
|
898
906
|
// src/source/source_ambiguous_port_reference.ts
|
|
899
|
-
import { z as
|
|
907
|
+
import { z as z60 } from "zod";
|
|
900
908
|
var source_ambiguous_port_reference = base_circuit_json_error.extend({
|
|
901
|
-
type:
|
|
909
|
+
type: z60.literal("source_ambiguous_port_reference"),
|
|
902
910
|
source_ambiguous_port_reference_id: getZodPrefixedIdWithDefault(
|
|
903
911
|
"source_ambiguous_port_reference"
|
|
904
912
|
),
|
|
905
|
-
error_type:
|
|
906
|
-
source_port_id:
|
|
907
|
-
source_component_id:
|
|
913
|
+
error_type: z60.literal("source_ambiguous_port_reference").default("source_ambiguous_port_reference"),
|
|
914
|
+
source_port_id: z60.string().optional(),
|
|
915
|
+
source_component_id: z60.string().optional()
|
|
908
916
|
}).describe(
|
|
909
917
|
"Error emitted when a port hint matches multiple non-overlapping pads, making the port reference ambiguous"
|
|
910
918
|
);
|
|
911
919
|
expectTypesMatch(true);
|
|
912
920
|
|
|
913
921
|
// src/source/source_pcb_ground_plane.ts
|
|
914
|
-
import { z as
|
|
915
|
-
var source_pcb_ground_plane =
|
|
916
|
-
type:
|
|
917
|
-
source_pcb_ground_plane_id:
|
|
918
|
-
source_group_id:
|
|
919
|
-
source_net_id:
|
|
920
|
-
subcircuit_id:
|
|
922
|
+
import { z as z61 } from "zod";
|
|
923
|
+
var source_pcb_ground_plane = z61.object({
|
|
924
|
+
type: z61.literal("source_pcb_ground_plane"),
|
|
925
|
+
source_pcb_ground_plane_id: z61.string(),
|
|
926
|
+
source_group_id: z61.string(),
|
|
927
|
+
source_net_id: z61.string(),
|
|
928
|
+
subcircuit_id: z61.string().optional()
|
|
921
929
|
}).describe("Defines a ground plane in the source domain");
|
|
922
930
|
expectTypesMatch(true);
|
|
923
931
|
|
|
924
932
|
// src/source/source_manually_placed_via.ts
|
|
925
|
-
import { z as
|
|
933
|
+
import { z as z63 } from "zod";
|
|
926
934
|
|
|
927
935
|
// src/pcb/properties/layer_ref.ts
|
|
928
|
-
import { z as
|
|
936
|
+
import { z as z62 } from "zod";
|
|
929
937
|
var all_layers = [
|
|
930
938
|
"top",
|
|
931
939
|
"bottom",
|
|
@@ -936,9 +944,9 @@ var all_layers = [
|
|
|
936
944
|
"inner5",
|
|
937
945
|
"inner6"
|
|
938
946
|
];
|
|
939
|
-
var layer_string =
|
|
947
|
+
var layer_string = z62.enum(all_layers);
|
|
940
948
|
var layer_ref = layer_string.or(
|
|
941
|
-
|
|
949
|
+
z62.object({
|
|
942
950
|
name: layer_string
|
|
943
951
|
})
|
|
944
952
|
).transform((layer) => {
|
|
@@ -948,210 +956,210 @@ var layer_ref = layer_string.or(
|
|
|
948
956
|
return layer.name;
|
|
949
957
|
});
|
|
950
958
|
expectTypesMatch(true);
|
|
951
|
-
var visible_layer =
|
|
959
|
+
var visible_layer = z62.enum(["top", "bottom"]);
|
|
952
960
|
|
|
953
961
|
// src/source/source_manually_placed_via.ts
|
|
954
|
-
var source_manually_placed_via =
|
|
955
|
-
type:
|
|
956
|
-
source_manually_placed_via_id:
|
|
957
|
-
source_group_id:
|
|
958
|
-
source_net_id:
|
|
959
|
-
subcircuit_id:
|
|
960
|
-
source_trace_id:
|
|
962
|
+
var source_manually_placed_via = z63.object({
|
|
963
|
+
type: z63.literal("source_manually_placed_via"),
|
|
964
|
+
source_manually_placed_via_id: z63.string(),
|
|
965
|
+
source_group_id: z63.string(),
|
|
966
|
+
source_net_id: z63.string(),
|
|
967
|
+
subcircuit_id: z63.string().optional(),
|
|
968
|
+
source_trace_id: z63.string().optional()
|
|
961
969
|
}).describe("Defines a via that is manually placed in the source domain");
|
|
962
970
|
expectTypesMatch(true);
|
|
963
971
|
|
|
964
972
|
// src/source/source_no_power_pin_defined_warning.ts
|
|
965
|
-
import { z as
|
|
966
|
-
var source_no_power_pin_defined_warning =
|
|
967
|
-
type:
|
|
973
|
+
import { z as z64 } from "zod";
|
|
974
|
+
var source_no_power_pin_defined_warning = z64.object({
|
|
975
|
+
type: z64.literal("source_no_power_pin_defined_warning"),
|
|
968
976
|
source_no_power_pin_defined_warning_id: getZodPrefixedIdWithDefault(
|
|
969
977
|
"source_no_power_pin_defined_warning"
|
|
970
978
|
),
|
|
971
|
-
warning_type:
|
|
972
|
-
message:
|
|
973
|
-
source_component_id:
|
|
974
|
-
source_port_ids:
|
|
975
|
-
subcircuit_id:
|
|
979
|
+
warning_type: z64.literal("source_no_power_pin_defined_warning").default("source_no_power_pin_defined_warning"),
|
|
980
|
+
message: z64.string(),
|
|
981
|
+
source_component_id: z64.string(),
|
|
982
|
+
source_port_ids: z64.array(z64.string()),
|
|
983
|
+
subcircuit_id: z64.string().optional()
|
|
976
984
|
}).describe(
|
|
977
985
|
"Warning emitted when a chip has no source ports with requires_power=true"
|
|
978
986
|
);
|
|
979
987
|
expectTypesMatch(true);
|
|
980
988
|
|
|
981
989
|
// src/source/source_no_ground_pin_defined_warning.ts
|
|
982
|
-
import { z as
|
|
983
|
-
var source_no_ground_pin_defined_warning =
|
|
984
|
-
type:
|
|
990
|
+
import { z as z65 } from "zod";
|
|
991
|
+
var source_no_ground_pin_defined_warning = z65.object({
|
|
992
|
+
type: z65.literal("source_no_ground_pin_defined_warning"),
|
|
985
993
|
source_no_ground_pin_defined_warning_id: getZodPrefixedIdWithDefault(
|
|
986
994
|
"source_no_ground_pin_defined_warning"
|
|
987
995
|
),
|
|
988
|
-
warning_type:
|
|
989
|
-
message:
|
|
990
|
-
source_component_id:
|
|
991
|
-
source_port_ids:
|
|
992
|
-
subcircuit_id:
|
|
996
|
+
warning_type: z65.literal("source_no_ground_pin_defined_warning").default("source_no_ground_pin_defined_warning"),
|
|
997
|
+
message: z65.string(),
|
|
998
|
+
source_component_id: z65.string(),
|
|
999
|
+
source_port_ids: z65.array(z65.string()),
|
|
1000
|
+
subcircuit_id: z65.string().optional()
|
|
993
1001
|
}).describe(
|
|
994
1002
|
"Warning emitted when a chip has no source ports marked as ground pins"
|
|
995
1003
|
);
|
|
996
1004
|
expectTypesMatch(true);
|
|
997
1005
|
|
|
998
1006
|
// src/source/source_component_pins_underspecified_warning.ts
|
|
999
|
-
import { z as
|
|
1000
|
-
var source_component_pins_underspecified_warning =
|
|
1001
|
-
type:
|
|
1007
|
+
import { z as z66 } from "zod";
|
|
1008
|
+
var source_component_pins_underspecified_warning = z66.object({
|
|
1009
|
+
type: z66.literal("source_component_pins_underspecified_warning"),
|
|
1002
1010
|
source_component_pins_underspecified_warning_id: getZodPrefixedIdWithDefault(
|
|
1003
1011
|
"source_component_pins_underspecified_warning"
|
|
1004
1012
|
),
|
|
1005
|
-
warning_type:
|
|
1006
|
-
message:
|
|
1007
|
-
source_component_id:
|
|
1008
|
-
source_port_ids:
|
|
1009
|
-
subcircuit_id:
|
|
1013
|
+
warning_type: z66.literal("source_component_pins_underspecified_warning").default("source_component_pins_underspecified_warning"),
|
|
1014
|
+
message: z66.string(),
|
|
1015
|
+
source_component_id: z66.string(),
|
|
1016
|
+
source_port_ids: z66.array(z66.string()),
|
|
1017
|
+
subcircuit_id: z66.string().optional()
|
|
1010
1018
|
}).describe(
|
|
1011
1019
|
"Warning emitted when all ports on a source component are underspecified"
|
|
1012
1020
|
);
|
|
1013
1021
|
expectTypesMatch(true);
|
|
1014
1022
|
|
|
1015
1023
|
// src/source/source_pin_must_be_connected_error.ts
|
|
1016
|
-
import { z as
|
|
1024
|
+
import { z as z67 } from "zod";
|
|
1017
1025
|
var source_pin_must_be_connected_error = base_circuit_json_error.extend({
|
|
1018
|
-
type:
|
|
1026
|
+
type: z67.literal("source_pin_must_be_connected_error"),
|
|
1019
1027
|
source_pin_must_be_connected_error_id: getZodPrefixedIdWithDefault(
|
|
1020
1028
|
"source_pin_must_be_connected_error"
|
|
1021
1029
|
),
|
|
1022
|
-
error_type:
|
|
1023
|
-
source_component_id:
|
|
1024
|
-
source_port_id:
|
|
1025
|
-
subcircuit_id:
|
|
1030
|
+
error_type: z67.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
|
|
1031
|
+
source_component_id: z67.string(),
|
|
1032
|
+
source_port_id: z67.string(),
|
|
1033
|
+
subcircuit_id: z67.string().optional()
|
|
1026
1034
|
}).describe(
|
|
1027
1035
|
"Error emitted when a pin with mustBeConnected attribute is not connected to any trace"
|
|
1028
1036
|
);
|
|
1029
1037
|
expectTypesMatch(true);
|
|
1030
1038
|
|
|
1031
1039
|
// src/source/unknown_error_finding_part.ts
|
|
1032
|
-
import { z as
|
|
1040
|
+
import { z as z68 } from "zod";
|
|
1033
1041
|
var unknown_error_finding_part = base_circuit_json_error.extend({
|
|
1034
|
-
type:
|
|
1042
|
+
type: z68.literal("unknown_error_finding_part"),
|
|
1035
1043
|
unknown_error_finding_part_id: getZodPrefixedIdWithDefault(
|
|
1036
1044
|
"unknown_error_finding_part"
|
|
1037
1045
|
),
|
|
1038
|
-
error_type:
|
|
1039
|
-
source_component_id:
|
|
1040
|
-
subcircuit_id:
|
|
1046
|
+
error_type: z68.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
|
|
1047
|
+
source_component_id: z68.string().optional(),
|
|
1048
|
+
subcircuit_id: z68.string().optional()
|
|
1041
1049
|
}).describe(
|
|
1042
1050
|
"Error emitted when an unexpected error occurs while finding a part"
|
|
1043
1051
|
);
|
|
1044
1052
|
expectTypesMatch(true);
|
|
1045
1053
|
|
|
1046
1054
|
// src/schematic/schematic_box.ts
|
|
1047
|
-
import { z as
|
|
1048
|
-
var schematic_box =
|
|
1049
|
-
type:
|
|
1050
|
-
schematic_component_id:
|
|
1051
|
-
schematic_symbol_id:
|
|
1055
|
+
import { z as z69 } from "zod";
|
|
1056
|
+
var schematic_box = z69.object({
|
|
1057
|
+
type: z69.literal("schematic_box"),
|
|
1058
|
+
schematic_component_id: z69.string().optional(),
|
|
1059
|
+
schematic_symbol_id: z69.string().optional(),
|
|
1052
1060
|
width: distance,
|
|
1053
1061
|
height: distance,
|
|
1054
|
-
is_dashed:
|
|
1062
|
+
is_dashed: z69.boolean().default(false),
|
|
1055
1063
|
x: distance,
|
|
1056
1064
|
y: distance,
|
|
1057
|
-
subcircuit_id:
|
|
1065
|
+
subcircuit_id: z69.string().optional()
|
|
1058
1066
|
}).describe("Draws a box on the schematic");
|
|
1059
1067
|
expectTypesMatch(true);
|
|
1060
1068
|
|
|
1061
1069
|
// src/schematic/schematic_path.ts
|
|
1062
|
-
import { z as
|
|
1063
|
-
var schematic_path =
|
|
1064
|
-
type:
|
|
1070
|
+
import { z as z70 } from "zod";
|
|
1071
|
+
var schematic_path = z70.object({
|
|
1072
|
+
type: z70.literal("schematic_path"),
|
|
1065
1073
|
schematic_path_id: getZodPrefixedIdWithDefault("schematic_path"),
|
|
1066
|
-
schematic_component_id:
|
|
1067
|
-
schematic_symbol_id:
|
|
1068
|
-
fill_color:
|
|
1069
|
-
is_filled:
|
|
1070
|
-
is_dashed:
|
|
1074
|
+
schematic_component_id: z70.string().optional(),
|
|
1075
|
+
schematic_symbol_id: z70.string().optional(),
|
|
1076
|
+
fill_color: z70.string().optional(),
|
|
1077
|
+
is_filled: z70.boolean().optional(),
|
|
1078
|
+
is_dashed: z70.boolean().default(false),
|
|
1071
1079
|
stroke_width: distance.nullable().optional(),
|
|
1072
|
-
stroke_color:
|
|
1080
|
+
stroke_color: z70.string().optional(),
|
|
1073
1081
|
dash_length: distance.optional(),
|
|
1074
1082
|
dash_gap: distance.optional(),
|
|
1075
|
-
points:
|
|
1076
|
-
subcircuit_id:
|
|
1083
|
+
points: z70.array(point),
|
|
1084
|
+
subcircuit_id: z70.string().optional()
|
|
1077
1085
|
});
|
|
1078
1086
|
expectTypesMatch(true);
|
|
1079
1087
|
|
|
1080
1088
|
// src/schematic/schematic_component.ts
|
|
1081
|
-
import { z as
|
|
1082
|
-
var schematic_pin_styles =
|
|
1083
|
-
|
|
1089
|
+
import { z as z71 } from "zod";
|
|
1090
|
+
var schematic_pin_styles = z71.record(
|
|
1091
|
+
z71.object({
|
|
1084
1092
|
left_margin: length.optional(),
|
|
1085
1093
|
right_margin: length.optional(),
|
|
1086
1094
|
top_margin: length.optional(),
|
|
1087
1095
|
bottom_margin: length.optional()
|
|
1088
1096
|
})
|
|
1089
1097
|
);
|
|
1090
|
-
var schematic_component_port_arrangement_by_size =
|
|
1091
|
-
left_size:
|
|
1092
|
-
right_size:
|
|
1093
|
-
top_size:
|
|
1094
|
-
bottom_size:
|
|
1098
|
+
var schematic_component_port_arrangement_by_size = z71.object({
|
|
1099
|
+
left_size: z71.number(),
|
|
1100
|
+
right_size: z71.number(),
|
|
1101
|
+
top_size: z71.number().optional(),
|
|
1102
|
+
bottom_size: z71.number().optional()
|
|
1095
1103
|
});
|
|
1096
1104
|
expectTypesMatch(true);
|
|
1097
|
-
var schematic_component_port_arrangement_by_sides =
|
|
1098
|
-
left_side:
|
|
1099
|
-
pins:
|
|
1105
|
+
var schematic_component_port_arrangement_by_sides = z71.object({
|
|
1106
|
+
left_side: z71.object({
|
|
1107
|
+
pins: z71.array(z71.number()),
|
|
1100
1108
|
// @ts-ignore
|
|
1101
|
-
direction:
|
|
1109
|
+
direction: z71.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
1102
1110
|
}).optional(),
|
|
1103
|
-
right_side:
|
|
1104
|
-
pins:
|
|
1111
|
+
right_side: z71.object({
|
|
1112
|
+
pins: z71.array(z71.number()),
|
|
1105
1113
|
// @ts-ignore
|
|
1106
|
-
direction:
|
|
1114
|
+
direction: z71.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
1107
1115
|
}).optional(),
|
|
1108
|
-
top_side:
|
|
1109
|
-
pins:
|
|
1116
|
+
top_side: z71.object({
|
|
1117
|
+
pins: z71.array(z71.number()),
|
|
1110
1118
|
// @ts-ignore
|
|
1111
|
-
direction:
|
|
1119
|
+
direction: z71.enum(["left-to-right", "right-to-left"]).optional()
|
|
1112
1120
|
}).optional(),
|
|
1113
|
-
bottom_side:
|
|
1114
|
-
pins:
|
|
1121
|
+
bottom_side: z71.object({
|
|
1122
|
+
pins: z71.array(z71.number()),
|
|
1115
1123
|
// @ts-ignore
|
|
1116
|
-
direction:
|
|
1124
|
+
direction: z71.enum(["left-to-right", "right-to-left"]).optional()
|
|
1117
1125
|
}).optional()
|
|
1118
1126
|
});
|
|
1119
1127
|
expectTypesMatch(true);
|
|
1120
|
-
var port_arrangement =
|
|
1128
|
+
var port_arrangement = z71.union([
|
|
1121
1129
|
schematic_component_port_arrangement_by_size,
|
|
1122
1130
|
schematic_component_port_arrangement_by_sides
|
|
1123
1131
|
]);
|
|
1124
|
-
var schematic_component =
|
|
1125
|
-
type:
|
|
1132
|
+
var schematic_component = z71.object({
|
|
1133
|
+
type: z71.literal("schematic_component"),
|
|
1126
1134
|
size,
|
|
1127
1135
|
center: point,
|
|
1128
|
-
source_component_id:
|
|
1129
|
-
schematic_component_id:
|
|
1130
|
-
schematic_symbol_id:
|
|
1136
|
+
source_component_id: z71.string().optional(),
|
|
1137
|
+
schematic_component_id: z71.string(),
|
|
1138
|
+
schematic_symbol_id: z71.string().optional(),
|
|
1131
1139
|
pin_spacing: length.optional(),
|
|
1132
1140
|
pin_styles: schematic_pin_styles.optional(),
|
|
1133
1141
|
box_width: length.optional(),
|
|
1134
|
-
symbol_name:
|
|
1142
|
+
symbol_name: z71.string().optional(),
|
|
1135
1143
|
port_arrangement: port_arrangement.optional(),
|
|
1136
|
-
port_labels:
|
|
1137
|
-
symbol_display_value:
|
|
1138
|
-
subcircuit_id:
|
|
1139
|
-
schematic_group_id:
|
|
1140
|
-
is_schematic_group:
|
|
1141
|
-
source_group_id:
|
|
1142
|
-
is_box_with_pins:
|
|
1144
|
+
port_labels: z71.record(z71.string()).optional(),
|
|
1145
|
+
symbol_display_value: z71.string().optional(),
|
|
1146
|
+
subcircuit_id: z71.string().optional(),
|
|
1147
|
+
schematic_group_id: z71.string().optional(),
|
|
1148
|
+
is_schematic_group: z71.boolean().optional(),
|
|
1149
|
+
source_group_id: z71.string().optional(),
|
|
1150
|
+
is_box_with_pins: z71.boolean().optional().default(true)
|
|
1143
1151
|
});
|
|
1144
1152
|
expectTypesMatch(true);
|
|
1145
1153
|
|
|
1146
1154
|
// src/schematic/schematic_symbol.ts
|
|
1147
|
-
import { z as
|
|
1148
|
-
var schematicSymbolMetadata =
|
|
1155
|
+
import { z as z72 } from "zod";
|
|
1156
|
+
var schematicSymbolMetadata = z72.object({
|
|
1149
1157
|
kicad_symbol: kicadSymbolMetadata.optional()
|
|
1150
|
-
}).catchall(
|
|
1151
|
-
var schematic_symbol =
|
|
1152
|
-
type:
|
|
1153
|
-
schematic_symbol_id:
|
|
1154
|
-
name:
|
|
1158
|
+
}).catchall(z72.unknown());
|
|
1159
|
+
var schematic_symbol = z72.object({
|
|
1160
|
+
type: z72.literal("schematic_symbol"),
|
|
1161
|
+
schematic_symbol_id: z72.string(),
|
|
1162
|
+
name: z72.string().optional(),
|
|
1155
1163
|
metadata: schematicSymbolMetadata.optional()
|
|
1156
1164
|
}).describe(
|
|
1157
1165
|
"Defines a named schematic symbol that can be referenced by components."
|
|
@@ -1159,121 +1167,121 @@ var schematic_symbol = z71.object({
|
|
|
1159
1167
|
expectTypesMatch(true);
|
|
1160
1168
|
|
|
1161
1169
|
// src/schematic/schematic_line.ts
|
|
1162
|
-
import { z as
|
|
1163
|
-
var schematic_line =
|
|
1164
|
-
type:
|
|
1170
|
+
import { z as z73 } from "zod";
|
|
1171
|
+
var schematic_line = z73.object({
|
|
1172
|
+
type: z73.literal("schematic_line"),
|
|
1165
1173
|
schematic_line_id: getZodPrefixedIdWithDefault("schematic_line"),
|
|
1166
|
-
schematic_component_id:
|
|
1167
|
-
schematic_symbol_id:
|
|
1174
|
+
schematic_component_id: z73.string().optional(),
|
|
1175
|
+
schematic_symbol_id: z73.string().optional(),
|
|
1168
1176
|
x1: distance,
|
|
1169
1177
|
y1: distance,
|
|
1170
1178
|
x2: distance,
|
|
1171
1179
|
y2: distance,
|
|
1172
1180
|
stroke_width: distance.nullable().optional(),
|
|
1173
|
-
color:
|
|
1174
|
-
is_dashed:
|
|
1181
|
+
color: z73.string().default("#000000"),
|
|
1182
|
+
is_dashed: z73.boolean().default(false),
|
|
1175
1183
|
dash_length: distance.optional(),
|
|
1176
1184
|
dash_gap: distance.optional(),
|
|
1177
|
-
subcircuit_id:
|
|
1185
|
+
subcircuit_id: z73.string().optional()
|
|
1178
1186
|
}).describe("Draws a styled line on the schematic");
|
|
1179
1187
|
expectTypesMatch(true);
|
|
1180
1188
|
|
|
1181
1189
|
// src/schematic/schematic_rect.ts
|
|
1182
|
-
import { z as
|
|
1183
|
-
var schematic_rect =
|
|
1184
|
-
type:
|
|
1190
|
+
import { z as z74 } from "zod";
|
|
1191
|
+
var schematic_rect = z74.object({
|
|
1192
|
+
type: z74.literal("schematic_rect"),
|
|
1185
1193
|
schematic_rect_id: getZodPrefixedIdWithDefault("schematic_rect"),
|
|
1186
|
-
schematic_component_id:
|
|
1187
|
-
schematic_symbol_id:
|
|
1194
|
+
schematic_component_id: z74.string().optional(),
|
|
1195
|
+
schematic_symbol_id: z74.string().optional(),
|
|
1188
1196
|
center: point,
|
|
1189
1197
|
width: distance,
|
|
1190
1198
|
height: distance,
|
|
1191
1199
|
rotation: rotation.default(0),
|
|
1192
1200
|
stroke_width: distance.nullable().optional(),
|
|
1193
|
-
color:
|
|
1194
|
-
is_filled:
|
|
1195
|
-
fill_color:
|
|
1196
|
-
is_dashed:
|
|
1197
|
-
subcircuit_id:
|
|
1201
|
+
color: z74.string().default("#000000"),
|
|
1202
|
+
is_filled: z74.boolean().default(false),
|
|
1203
|
+
fill_color: z74.string().optional(),
|
|
1204
|
+
is_dashed: z74.boolean().default(false),
|
|
1205
|
+
subcircuit_id: z74.string().optional()
|
|
1198
1206
|
}).describe("Draws a styled rectangle on the schematic");
|
|
1199
1207
|
expectTypesMatch(true);
|
|
1200
1208
|
|
|
1201
1209
|
// src/schematic/schematic_circle.ts
|
|
1202
|
-
import { z as
|
|
1203
|
-
var schematic_circle =
|
|
1204
|
-
type:
|
|
1210
|
+
import { z as z75 } from "zod";
|
|
1211
|
+
var schematic_circle = z75.object({
|
|
1212
|
+
type: z75.literal("schematic_circle"),
|
|
1205
1213
|
schematic_circle_id: getZodPrefixedIdWithDefault("schematic_circle"),
|
|
1206
|
-
schematic_component_id:
|
|
1207
|
-
schematic_symbol_id:
|
|
1214
|
+
schematic_component_id: z75.string().optional(),
|
|
1215
|
+
schematic_symbol_id: z75.string().optional(),
|
|
1208
1216
|
center: point,
|
|
1209
1217
|
radius: distance,
|
|
1210
1218
|
stroke_width: distance.nullable().optional(),
|
|
1211
|
-
color:
|
|
1212
|
-
is_filled:
|
|
1213
|
-
fill_color:
|
|
1214
|
-
is_dashed:
|
|
1215
|
-
subcircuit_id:
|
|
1219
|
+
color: z75.string().default("#000000"),
|
|
1220
|
+
is_filled: z75.boolean().default(false),
|
|
1221
|
+
fill_color: z75.string().optional(),
|
|
1222
|
+
is_dashed: z75.boolean().default(false),
|
|
1223
|
+
subcircuit_id: z75.string().optional()
|
|
1216
1224
|
}).describe("Draws a styled circle on the schematic");
|
|
1217
1225
|
expectTypesMatch(true);
|
|
1218
1226
|
|
|
1219
1227
|
// src/schematic/schematic_arc.ts
|
|
1220
|
-
import { z as
|
|
1221
|
-
var schematic_arc =
|
|
1222
|
-
type:
|
|
1228
|
+
import { z as z76 } from "zod";
|
|
1229
|
+
var schematic_arc = z76.object({
|
|
1230
|
+
type: z76.literal("schematic_arc"),
|
|
1223
1231
|
schematic_arc_id: getZodPrefixedIdWithDefault("schematic_arc"),
|
|
1224
|
-
schematic_component_id:
|
|
1225
|
-
schematic_symbol_id:
|
|
1232
|
+
schematic_component_id: z76.string().optional(),
|
|
1233
|
+
schematic_symbol_id: z76.string().optional(),
|
|
1226
1234
|
center: point,
|
|
1227
1235
|
radius: distance,
|
|
1228
1236
|
start_angle_degrees: rotation,
|
|
1229
1237
|
end_angle_degrees: rotation,
|
|
1230
|
-
direction:
|
|
1238
|
+
direction: z76.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
|
|
1231
1239
|
stroke_width: distance.nullable().optional(),
|
|
1232
|
-
color:
|
|
1233
|
-
is_dashed:
|
|
1234
|
-
subcircuit_id:
|
|
1240
|
+
color: z76.string().default("#000000"),
|
|
1241
|
+
is_dashed: z76.boolean().default(false),
|
|
1242
|
+
subcircuit_id: z76.string().optional()
|
|
1235
1243
|
}).describe("Draws a styled arc on the schematic");
|
|
1236
1244
|
expectTypesMatch(true);
|
|
1237
1245
|
|
|
1238
1246
|
// src/schematic/schematic_trace.ts
|
|
1239
|
-
import { z as
|
|
1240
|
-
var schematic_trace =
|
|
1241
|
-
type:
|
|
1242
|
-
schematic_trace_id:
|
|
1243
|
-
source_trace_id:
|
|
1244
|
-
junctions:
|
|
1245
|
-
|
|
1246
|
-
x:
|
|
1247
|
-
y:
|
|
1247
|
+
import { z as z77 } from "zod";
|
|
1248
|
+
var schematic_trace = z77.object({
|
|
1249
|
+
type: z77.literal("schematic_trace"),
|
|
1250
|
+
schematic_trace_id: z77.string(),
|
|
1251
|
+
source_trace_id: z77.string().optional(),
|
|
1252
|
+
junctions: z77.array(
|
|
1253
|
+
z77.object({
|
|
1254
|
+
x: z77.number(),
|
|
1255
|
+
y: z77.number()
|
|
1248
1256
|
})
|
|
1249
1257
|
),
|
|
1250
|
-
edges:
|
|
1251
|
-
|
|
1252
|
-
from:
|
|
1253
|
-
x:
|
|
1254
|
-
y:
|
|
1258
|
+
edges: z77.array(
|
|
1259
|
+
z77.object({
|
|
1260
|
+
from: z77.object({
|
|
1261
|
+
x: z77.number(),
|
|
1262
|
+
y: z77.number()
|
|
1255
1263
|
}),
|
|
1256
|
-
to:
|
|
1257
|
-
x:
|
|
1258
|
-
y:
|
|
1264
|
+
to: z77.object({
|
|
1265
|
+
x: z77.number(),
|
|
1266
|
+
y: z77.number()
|
|
1259
1267
|
}),
|
|
1260
|
-
is_crossing:
|
|
1261
|
-
from_schematic_port_id:
|
|
1262
|
-
to_schematic_port_id:
|
|
1268
|
+
is_crossing: z77.boolean().optional(),
|
|
1269
|
+
from_schematic_port_id: z77.string().optional(),
|
|
1270
|
+
to_schematic_port_id: z77.string().optional()
|
|
1263
1271
|
})
|
|
1264
1272
|
),
|
|
1265
|
-
subcircuit_id:
|
|
1273
|
+
subcircuit_id: z77.string().optional(),
|
|
1266
1274
|
// TODO: make required in a future release
|
|
1267
|
-
subcircuit_connectivity_map_key:
|
|
1275
|
+
subcircuit_connectivity_map_key: z77.string().optional()
|
|
1268
1276
|
});
|
|
1269
1277
|
expectTypesMatch(true);
|
|
1270
1278
|
|
|
1271
1279
|
// src/schematic/schematic_text.ts
|
|
1272
|
-
import { z as
|
|
1280
|
+
import { z as z79 } from "zod";
|
|
1273
1281
|
|
|
1274
1282
|
// src/common/FivePointAnchor.ts
|
|
1275
|
-
import { z as
|
|
1276
|
-
var fivePointAnchor =
|
|
1283
|
+
import { z as z78 } from "zod";
|
|
1284
|
+
var fivePointAnchor = z78.enum([
|
|
1277
1285
|
"center",
|
|
1278
1286
|
"left",
|
|
1279
1287
|
"right",
|
|
@@ -1283,111 +1291,111 @@ var fivePointAnchor = z77.enum([
|
|
|
1283
1291
|
expectTypesMatch(true);
|
|
1284
1292
|
|
|
1285
1293
|
// src/schematic/schematic_text.ts
|
|
1286
|
-
var schematic_text =
|
|
1287
|
-
type:
|
|
1288
|
-
schematic_component_id:
|
|
1289
|
-
schematic_symbol_id:
|
|
1290
|
-
schematic_text_id:
|
|
1291
|
-
text:
|
|
1292
|
-
font_size:
|
|
1293
|
-
position:
|
|
1294
|
+
var schematic_text = z79.object({
|
|
1295
|
+
type: z79.literal("schematic_text"),
|
|
1296
|
+
schematic_component_id: z79.string().optional(),
|
|
1297
|
+
schematic_symbol_id: z79.string().optional(),
|
|
1298
|
+
schematic_text_id: z79.string(),
|
|
1299
|
+
text: z79.string(),
|
|
1300
|
+
font_size: z79.number().default(0.18),
|
|
1301
|
+
position: z79.object({
|
|
1294
1302
|
x: distance,
|
|
1295
1303
|
y: distance
|
|
1296
1304
|
}),
|
|
1297
|
-
rotation:
|
|
1298
|
-
anchor:
|
|
1299
|
-
color:
|
|
1300
|
-
subcircuit_id:
|
|
1305
|
+
rotation: z79.number().default(0),
|
|
1306
|
+
anchor: z79.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
1307
|
+
color: z79.string().default("#000000"),
|
|
1308
|
+
subcircuit_id: z79.string().optional()
|
|
1301
1309
|
});
|
|
1302
1310
|
expectTypesMatch(true);
|
|
1303
1311
|
|
|
1304
1312
|
// src/schematic/schematic_port.ts
|
|
1305
|
-
import { z as
|
|
1306
|
-
var schematic_port =
|
|
1307
|
-
type:
|
|
1308
|
-
schematic_port_id:
|
|
1309
|
-
source_port_id:
|
|
1310
|
-
schematic_component_id:
|
|
1313
|
+
import { z as z80 } from "zod";
|
|
1314
|
+
var schematic_port = z80.object({
|
|
1315
|
+
type: z80.literal("schematic_port"),
|
|
1316
|
+
schematic_port_id: z80.string(),
|
|
1317
|
+
source_port_id: z80.string(),
|
|
1318
|
+
schematic_component_id: z80.string().optional(),
|
|
1311
1319
|
center: point,
|
|
1312
|
-
facing_direction:
|
|
1313
|
-
distance_from_component_edge:
|
|
1314
|
-
side_of_component:
|
|
1315
|
-
true_ccw_index:
|
|
1316
|
-
pin_number:
|
|
1317
|
-
display_pin_label:
|
|
1318
|
-
subcircuit_id:
|
|
1319
|
-
is_connected:
|
|
1320
|
-
has_input_arrow:
|
|
1321
|
-
has_output_arrow:
|
|
1322
|
-
is_drawn_with_inversion_circle:
|
|
1320
|
+
facing_direction: z80.enum(["up", "down", "left", "right"]).optional(),
|
|
1321
|
+
distance_from_component_edge: z80.number().optional(),
|
|
1322
|
+
side_of_component: z80.enum(["top", "bottom", "left", "right"]).optional(),
|
|
1323
|
+
true_ccw_index: z80.number().optional(),
|
|
1324
|
+
pin_number: z80.number().optional(),
|
|
1325
|
+
display_pin_label: z80.string().optional(),
|
|
1326
|
+
subcircuit_id: z80.string().optional(),
|
|
1327
|
+
is_connected: z80.boolean().optional(),
|
|
1328
|
+
has_input_arrow: z80.boolean().optional(),
|
|
1329
|
+
has_output_arrow: z80.boolean().optional(),
|
|
1330
|
+
is_drawn_with_inversion_circle: z80.boolean().optional()
|
|
1323
1331
|
}).describe("Defines a port on a schematic component");
|
|
1324
1332
|
expectTypesMatch(true);
|
|
1325
1333
|
|
|
1326
1334
|
// src/schematic/schematic_net_label.ts
|
|
1327
|
-
import { z as
|
|
1328
|
-
var schematic_net_label =
|
|
1329
|
-
type:
|
|
1335
|
+
import { z as z81 } from "zod";
|
|
1336
|
+
var schematic_net_label = z81.object({
|
|
1337
|
+
type: z81.literal("schematic_net_label"),
|
|
1330
1338
|
schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
|
|
1331
|
-
schematic_trace_id:
|
|
1332
|
-
source_trace_id:
|
|
1333
|
-
source_net_id:
|
|
1339
|
+
schematic_trace_id: z81.string().optional(),
|
|
1340
|
+
source_trace_id: z81.string().optional(),
|
|
1341
|
+
source_net_id: z81.string(),
|
|
1334
1342
|
center: point,
|
|
1335
1343
|
anchor_position: point.optional(),
|
|
1336
|
-
anchor_side:
|
|
1337
|
-
text:
|
|
1338
|
-
symbol_name:
|
|
1339
|
-
is_movable:
|
|
1340
|
-
subcircuit_id:
|
|
1344
|
+
anchor_side: z81.enum(["top", "bottom", "left", "right"]),
|
|
1345
|
+
text: z81.string(),
|
|
1346
|
+
symbol_name: z81.string().optional(),
|
|
1347
|
+
is_movable: z81.boolean().optional(),
|
|
1348
|
+
subcircuit_id: z81.string().optional()
|
|
1341
1349
|
});
|
|
1342
1350
|
expectTypesMatch(true);
|
|
1343
1351
|
|
|
1344
1352
|
// src/schematic/schematic_error.ts
|
|
1345
|
-
import { z as
|
|
1353
|
+
import { z as z82 } from "zod";
|
|
1346
1354
|
var schematic_error = base_circuit_json_error.extend({
|
|
1347
|
-
type:
|
|
1348
|
-
schematic_error_id:
|
|
1355
|
+
type: z82.literal("schematic_error"),
|
|
1356
|
+
schematic_error_id: z82.string(),
|
|
1349
1357
|
// eventually each error type should be broken out into a dir of files
|
|
1350
|
-
error_type:
|
|
1351
|
-
subcircuit_id:
|
|
1358
|
+
error_type: z82.literal("schematic_port_not_found").default("schematic_port_not_found"),
|
|
1359
|
+
subcircuit_id: z82.string().optional()
|
|
1352
1360
|
}).describe("Defines a schematic error on the schematic");
|
|
1353
1361
|
expectTypesMatch(true);
|
|
1354
1362
|
|
|
1355
1363
|
// src/schematic/schematic_layout_error.ts
|
|
1356
|
-
import { z as
|
|
1364
|
+
import { z as z83 } from "zod";
|
|
1357
1365
|
var schematic_layout_error = base_circuit_json_error.extend({
|
|
1358
|
-
type:
|
|
1366
|
+
type: z83.literal("schematic_layout_error"),
|
|
1359
1367
|
schematic_layout_error_id: getZodPrefixedIdWithDefault(
|
|
1360
1368
|
"schematic_layout_error"
|
|
1361
1369
|
),
|
|
1362
|
-
error_type:
|
|
1363
|
-
source_group_id:
|
|
1364
|
-
schematic_group_id:
|
|
1365
|
-
subcircuit_id:
|
|
1370
|
+
error_type: z83.literal("schematic_layout_error").default("schematic_layout_error"),
|
|
1371
|
+
source_group_id: z83.string(),
|
|
1372
|
+
schematic_group_id: z83.string(),
|
|
1373
|
+
subcircuit_id: z83.string().optional()
|
|
1366
1374
|
}).describe("Error emitted when schematic layout fails for a group");
|
|
1367
1375
|
expectTypesMatch(true);
|
|
1368
1376
|
|
|
1369
1377
|
// src/schematic/schematic_debug_object.ts
|
|
1370
|
-
import { z as
|
|
1371
|
-
var schematic_debug_object_base =
|
|
1372
|
-
type:
|
|
1373
|
-
label:
|
|
1374
|
-
subcircuit_id:
|
|
1378
|
+
import { z as z84 } from "zod";
|
|
1379
|
+
var schematic_debug_object_base = z84.object({
|
|
1380
|
+
type: z84.literal("schematic_debug_object"),
|
|
1381
|
+
label: z84.string().optional(),
|
|
1382
|
+
subcircuit_id: z84.string().optional()
|
|
1375
1383
|
});
|
|
1376
1384
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
1377
|
-
shape:
|
|
1385
|
+
shape: z84.literal("rect"),
|
|
1378
1386
|
center: point,
|
|
1379
1387
|
size
|
|
1380
1388
|
});
|
|
1381
1389
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
1382
|
-
shape:
|
|
1390
|
+
shape: z84.literal("line"),
|
|
1383
1391
|
start: point,
|
|
1384
1392
|
end: point
|
|
1385
1393
|
});
|
|
1386
1394
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
1387
|
-
shape:
|
|
1395
|
+
shape: z84.literal("point"),
|
|
1388
1396
|
center: point
|
|
1389
1397
|
});
|
|
1390
|
-
var schematic_debug_object =
|
|
1398
|
+
var schematic_debug_object = z84.discriminatedUnion("shape", [
|
|
1391
1399
|
schematic_debug_rect,
|
|
1392
1400
|
schematic_debug_line,
|
|
1393
1401
|
schematic_debug_point
|
|
@@ -1395,152 +1403,152 @@ var schematic_debug_object = z83.discriminatedUnion("shape", [
|
|
|
1395
1403
|
expectTypesMatch(true);
|
|
1396
1404
|
|
|
1397
1405
|
// src/schematic/schematic_voltage_probe.ts
|
|
1398
|
-
import { z as
|
|
1399
|
-
var schematic_voltage_probe =
|
|
1400
|
-
type:
|
|
1401
|
-
schematic_voltage_probe_id:
|
|
1402
|
-
source_component_id:
|
|
1403
|
-
name:
|
|
1406
|
+
import { z as z85 } from "zod";
|
|
1407
|
+
var schematic_voltage_probe = z85.object({
|
|
1408
|
+
type: z85.literal("schematic_voltage_probe"),
|
|
1409
|
+
schematic_voltage_probe_id: z85.string(),
|
|
1410
|
+
source_component_id: z85.string().optional(),
|
|
1411
|
+
name: z85.string().optional(),
|
|
1404
1412
|
position: point,
|
|
1405
|
-
schematic_trace_id:
|
|
1413
|
+
schematic_trace_id: z85.string(),
|
|
1406
1414
|
voltage: voltage.optional(),
|
|
1407
|
-
subcircuit_id:
|
|
1408
|
-
color:
|
|
1415
|
+
subcircuit_id: z85.string().optional(),
|
|
1416
|
+
color: z85.string().optional(),
|
|
1409
1417
|
label_alignment: ninePointAnchor.optional()
|
|
1410
1418
|
}).describe("Defines a voltage probe measurement point on a schematic trace");
|
|
1411
1419
|
expectTypesMatch(true);
|
|
1412
1420
|
|
|
1413
1421
|
// src/schematic/schematic_manual_edit_conflict_warning.ts
|
|
1414
|
-
import { z as
|
|
1415
|
-
var schematic_manual_edit_conflict_warning =
|
|
1416
|
-
type:
|
|
1422
|
+
import { z as z86 } from "zod";
|
|
1423
|
+
var schematic_manual_edit_conflict_warning = z86.object({
|
|
1424
|
+
type: z86.literal("schematic_manual_edit_conflict_warning"),
|
|
1417
1425
|
schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
1418
1426
|
"schematic_manual_edit_conflict_warning"
|
|
1419
1427
|
),
|
|
1420
|
-
warning_type:
|
|
1421
|
-
message:
|
|
1422
|
-
schematic_component_id:
|
|
1423
|
-
schematic_group_id:
|
|
1424
|
-
subcircuit_id:
|
|
1425
|
-
source_component_id:
|
|
1428
|
+
warning_type: z86.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
|
|
1429
|
+
message: z86.string(),
|
|
1430
|
+
schematic_component_id: z86.string(),
|
|
1431
|
+
schematic_group_id: z86.string().optional(),
|
|
1432
|
+
subcircuit_id: z86.string().optional(),
|
|
1433
|
+
source_component_id: z86.string()
|
|
1426
1434
|
}).describe(
|
|
1427
1435
|
"Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
|
|
1428
1436
|
);
|
|
1429
1437
|
expectTypesMatch(true);
|
|
1430
1438
|
|
|
1431
1439
|
// src/schematic/schematic_group.ts
|
|
1432
|
-
import { z as
|
|
1433
|
-
var schematic_group =
|
|
1434
|
-
type:
|
|
1440
|
+
import { z as z87 } from "zod";
|
|
1441
|
+
var schematic_group = z87.object({
|
|
1442
|
+
type: z87.literal("schematic_group"),
|
|
1435
1443
|
schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
|
|
1436
|
-
source_group_id:
|
|
1437
|
-
is_subcircuit:
|
|
1438
|
-
subcircuit_id:
|
|
1444
|
+
source_group_id: z87.string(),
|
|
1445
|
+
is_subcircuit: z87.boolean().optional(),
|
|
1446
|
+
subcircuit_id: z87.string().optional(),
|
|
1439
1447
|
width: length,
|
|
1440
1448
|
height: length,
|
|
1441
1449
|
center: point,
|
|
1442
|
-
schematic_component_ids:
|
|
1443
|
-
show_as_schematic_box:
|
|
1444
|
-
name:
|
|
1445
|
-
description:
|
|
1450
|
+
schematic_component_ids: z87.array(z87.string()),
|
|
1451
|
+
show_as_schematic_box: z87.boolean().optional(),
|
|
1452
|
+
name: z87.string().optional(),
|
|
1453
|
+
description: z87.string().optional()
|
|
1446
1454
|
}).describe("Defines a group of components on the schematic");
|
|
1447
1455
|
expectTypesMatch(true);
|
|
1448
1456
|
|
|
1449
1457
|
// src/schematic/schematic_table.ts
|
|
1450
|
-
import { z as
|
|
1451
|
-
var schematic_table =
|
|
1452
|
-
type:
|
|
1458
|
+
import { z as z88 } from "zod";
|
|
1459
|
+
var schematic_table = z88.object({
|
|
1460
|
+
type: z88.literal("schematic_table"),
|
|
1453
1461
|
schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
|
|
1454
1462
|
anchor_position: point,
|
|
1455
|
-
column_widths:
|
|
1456
|
-
row_heights:
|
|
1463
|
+
column_widths: z88.array(distance),
|
|
1464
|
+
row_heights: z88.array(distance),
|
|
1457
1465
|
cell_padding: distance.optional(),
|
|
1458
1466
|
border_width: distance.optional(),
|
|
1459
|
-
subcircuit_id:
|
|
1460
|
-
schematic_component_id:
|
|
1467
|
+
subcircuit_id: z88.string().optional(),
|
|
1468
|
+
schematic_component_id: z88.string().optional(),
|
|
1461
1469
|
anchor: ninePointAnchor.optional()
|
|
1462
1470
|
}).describe("Defines a table on the schematic");
|
|
1463
1471
|
expectTypesMatch(true);
|
|
1464
1472
|
|
|
1465
1473
|
// src/schematic/schematic_table_cell.ts
|
|
1466
|
-
import { z as
|
|
1467
|
-
var schematic_table_cell =
|
|
1468
|
-
type:
|
|
1474
|
+
import { z as z89 } from "zod";
|
|
1475
|
+
var schematic_table_cell = z89.object({
|
|
1476
|
+
type: z89.literal("schematic_table_cell"),
|
|
1469
1477
|
schematic_table_cell_id: getZodPrefixedIdWithDefault(
|
|
1470
1478
|
"schematic_table_cell"
|
|
1471
1479
|
),
|
|
1472
|
-
schematic_table_id:
|
|
1473
|
-
start_row_index:
|
|
1474
|
-
end_row_index:
|
|
1475
|
-
start_column_index:
|
|
1476
|
-
end_column_index:
|
|
1477
|
-
text:
|
|
1480
|
+
schematic_table_id: z89.string(),
|
|
1481
|
+
start_row_index: z89.number(),
|
|
1482
|
+
end_row_index: z89.number(),
|
|
1483
|
+
start_column_index: z89.number(),
|
|
1484
|
+
end_column_index: z89.number(),
|
|
1485
|
+
text: z89.string().optional(),
|
|
1478
1486
|
center: point,
|
|
1479
1487
|
width: distance,
|
|
1480
1488
|
height: distance,
|
|
1481
|
-
horizontal_align:
|
|
1482
|
-
vertical_align:
|
|
1489
|
+
horizontal_align: z89.enum(["left", "center", "right"]).optional(),
|
|
1490
|
+
vertical_align: z89.enum(["top", "middle", "bottom"]).optional(),
|
|
1483
1491
|
font_size: distance.optional(),
|
|
1484
|
-
subcircuit_id:
|
|
1492
|
+
subcircuit_id: z89.string().optional()
|
|
1485
1493
|
}).describe("Defines a cell within a schematic_table");
|
|
1486
1494
|
expectTypesMatch(true);
|
|
1487
1495
|
|
|
1488
1496
|
// src/schematic/schematic_sheet.ts
|
|
1489
|
-
import { z as
|
|
1490
|
-
var schematic_sheet =
|
|
1491
|
-
type:
|
|
1497
|
+
import { z as z90 } from "zod";
|
|
1498
|
+
var schematic_sheet = z90.object({
|
|
1499
|
+
type: z90.literal("schematic_sheet"),
|
|
1492
1500
|
schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
|
|
1493
|
-
name:
|
|
1494
|
-
subcircuit_id:
|
|
1501
|
+
name: z90.string().optional(),
|
|
1502
|
+
subcircuit_id: z90.string().optional()
|
|
1495
1503
|
}).describe(
|
|
1496
1504
|
"Defines a schematic sheet or page that components can be placed on"
|
|
1497
1505
|
);
|
|
1498
1506
|
expectTypesMatch(true);
|
|
1499
1507
|
|
|
1500
1508
|
// src/pcb/properties/brep.ts
|
|
1501
|
-
import { z as
|
|
1502
|
-
var point_with_bulge =
|
|
1509
|
+
import { z as z91 } from "zod";
|
|
1510
|
+
var point_with_bulge = z91.object({
|
|
1503
1511
|
x: distance,
|
|
1504
1512
|
y: distance,
|
|
1505
|
-
bulge:
|
|
1513
|
+
bulge: z91.number().optional()
|
|
1506
1514
|
});
|
|
1507
1515
|
expectTypesMatch(true);
|
|
1508
|
-
var ring =
|
|
1509
|
-
vertices:
|
|
1516
|
+
var ring = z91.object({
|
|
1517
|
+
vertices: z91.array(point_with_bulge)
|
|
1510
1518
|
});
|
|
1511
1519
|
expectTypesMatch(true);
|
|
1512
|
-
var brep_shape =
|
|
1520
|
+
var brep_shape = z91.object({
|
|
1513
1521
|
outer_ring: ring,
|
|
1514
|
-
inner_rings:
|
|
1522
|
+
inner_rings: z91.array(ring).default([])
|
|
1515
1523
|
});
|
|
1516
1524
|
expectTypesMatch(true);
|
|
1517
1525
|
|
|
1518
1526
|
// src/pcb/properties/pcb_route_hints.ts
|
|
1519
|
-
import { z as
|
|
1520
|
-
var pcb_route_hint =
|
|
1527
|
+
import { z as z92 } from "zod";
|
|
1528
|
+
var pcb_route_hint = z92.object({
|
|
1521
1529
|
x: distance,
|
|
1522
1530
|
y: distance,
|
|
1523
|
-
via:
|
|
1531
|
+
via: z92.boolean().optional(),
|
|
1524
1532
|
via_to_layer: layer_ref.optional()
|
|
1525
1533
|
});
|
|
1526
|
-
var pcb_route_hints =
|
|
1534
|
+
var pcb_route_hints = z92.array(pcb_route_hint);
|
|
1527
1535
|
expectTypesMatch(true);
|
|
1528
1536
|
expectTypesMatch(true);
|
|
1529
1537
|
|
|
1530
1538
|
// src/pcb/properties/route_hint_point.ts
|
|
1531
|
-
import { z as
|
|
1532
|
-
var route_hint_point =
|
|
1539
|
+
import { z as z93 } from "zod";
|
|
1540
|
+
var route_hint_point = z93.object({
|
|
1533
1541
|
x: distance,
|
|
1534
1542
|
y: distance,
|
|
1535
|
-
via:
|
|
1543
|
+
via: z93.boolean().optional(),
|
|
1536
1544
|
to_layer: layer_ref.optional(),
|
|
1537
1545
|
trace_width: distance.optional()
|
|
1538
1546
|
});
|
|
1539
1547
|
expectTypesMatch(true);
|
|
1540
1548
|
|
|
1541
1549
|
// src/pcb/properties/manufacturing_drc_properties.ts
|
|
1542
|
-
import { z as
|
|
1543
|
-
var manufacturing_drc_properties =
|
|
1550
|
+
import { z as z94 } from "zod";
|
|
1551
|
+
var manufacturing_drc_properties = z94.object({
|
|
1544
1552
|
min_trace_width: length.optional(),
|
|
1545
1553
|
min_board_edge_clearance: length.optional(),
|
|
1546
1554
|
min_via_hole_edge_to_via_hole_edge_clearance: length.optional(),
|
|
@@ -1555,27 +1563,27 @@ var manufacturing_drc_properties = z93.object({
|
|
|
1555
1563
|
});
|
|
1556
1564
|
|
|
1557
1565
|
// src/pcb/pcb_component.ts
|
|
1558
|
-
import { z as
|
|
1559
|
-
var pcb_component =
|
|
1560
|
-
type:
|
|
1566
|
+
import { z as z95 } from "zod";
|
|
1567
|
+
var pcb_component = z95.object({
|
|
1568
|
+
type: z95.literal("pcb_component"),
|
|
1561
1569
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
1562
|
-
source_component_id:
|
|
1570
|
+
source_component_id: z95.string(),
|
|
1563
1571
|
center: point,
|
|
1564
1572
|
layer: layer_ref,
|
|
1565
1573
|
rotation,
|
|
1566
|
-
display_offset_x:
|
|
1574
|
+
display_offset_x: z95.string().optional().describe(
|
|
1567
1575
|
"How to display the x offset for this part, usually corresponding with how the user specified it"
|
|
1568
1576
|
),
|
|
1569
|
-
display_offset_y:
|
|
1577
|
+
display_offset_y: z95.string().optional().describe(
|
|
1570
1578
|
"How to display the y offset for this part, usually corresponding with how the user specified it"
|
|
1571
1579
|
),
|
|
1572
1580
|
width: length,
|
|
1573
1581
|
height: length,
|
|
1574
|
-
do_not_place:
|
|
1575
|
-
is_allowed_to_be_off_board:
|
|
1576
|
-
subcircuit_id:
|
|
1577
|
-
pcb_group_id:
|
|
1578
|
-
position_mode:
|
|
1582
|
+
do_not_place: z95.boolean().optional(),
|
|
1583
|
+
is_allowed_to_be_off_board: z95.boolean().optional(),
|
|
1584
|
+
subcircuit_id: z95.string().optional(),
|
|
1585
|
+
pcb_group_id: z95.string().optional(),
|
|
1586
|
+
position_mode: z95.enum([
|
|
1579
1587
|
"packed",
|
|
1580
1588
|
"relative_to_group_anchor",
|
|
1581
1589
|
"relative_to_another_component",
|
|
@@ -1583,129 +1591,129 @@ var pcb_component = z94.object({
|
|
|
1583
1591
|
]).optional(),
|
|
1584
1592
|
anchor_position: point.optional(),
|
|
1585
1593
|
anchor_alignment: ninePointAnchor.optional(),
|
|
1586
|
-
positioned_relative_to_pcb_group_id:
|
|
1587
|
-
positioned_relative_to_pcb_board_id:
|
|
1594
|
+
positioned_relative_to_pcb_group_id: z95.string().optional(),
|
|
1595
|
+
positioned_relative_to_pcb_board_id: z95.string().optional(),
|
|
1588
1596
|
cable_insertion_center: point.optional(),
|
|
1589
|
-
insertion_direction:
|
|
1597
|
+
insertion_direction: z95.enum([
|
|
1590
1598
|
"from_above",
|
|
1591
1599
|
"from_left",
|
|
1592
1600
|
"from_right",
|
|
1593
1601
|
"from_front",
|
|
1594
1602
|
"from_back"
|
|
1595
1603
|
]).optional(),
|
|
1596
|
-
metadata:
|
|
1604
|
+
metadata: z95.object({
|
|
1597
1605
|
kicad_footprint: kicadFootprintMetadata.optional()
|
|
1598
1606
|
}).optional(),
|
|
1599
|
-
obstructs_within_bounds:
|
|
1607
|
+
obstructs_within_bounds: z95.boolean().default(true).describe(
|
|
1600
1608
|
"Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath"
|
|
1601
1609
|
)
|
|
1602
1610
|
}).describe("Defines a component on the PCB");
|
|
1603
1611
|
expectTypesMatch(true);
|
|
1604
1612
|
|
|
1605
1613
|
// src/pcb/pcb_hole.ts
|
|
1606
|
-
import { z as
|
|
1607
|
-
var pcb_hole_circle =
|
|
1608
|
-
type:
|
|
1614
|
+
import { z as z96 } from "zod";
|
|
1615
|
+
var pcb_hole_circle = z96.object({
|
|
1616
|
+
type: z96.literal("pcb_hole"),
|
|
1609
1617
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1610
|
-
pcb_group_id:
|
|
1611
|
-
subcircuit_id:
|
|
1612
|
-
pcb_component_id:
|
|
1613
|
-
hole_shape:
|
|
1614
|
-
hole_diameter:
|
|
1618
|
+
pcb_group_id: z96.string().optional(),
|
|
1619
|
+
subcircuit_id: z96.string().optional(),
|
|
1620
|
+
pcb_component_id: z96.string().optional(),
|
|
1621
|
+
hole_shape: z96.literal("circle"),
|
|
1622
|
+
hole_diameter: z96.number(),
|
|
1615
1623
|
x: distance,
|
|
1616
1624
|
y: distance,
|
|
1617
|
-
is_covered_with_solder_mask:
|
|
1618
|
-
soldermask_margin:
|
|
1625
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
1626
|
+
soldermask_margin: z96.number().optional()
|
|
1619
1627
|
});
|
|
1620
1628
|
var pcb_hole_circle_shape = pcb_hole_circle.describe(
|
|
1621
1629
|
"Defines a circular hole on the PCB"
|
|
1622
1630
|
);
|
|
1623
1631
|
expectTypesMatch(true);
|
|
1624
|
-
var pcb_hole_rect =
|
|
1625
|
-
type:
|
|
1632
|
+
var pcb_hole_rect = z96.object({
|
|
1633
|
+
type: z96.literal("pcb_hole"),
|
|
1626
1634
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1627
|
-
pcb_group_id:
|
|
1628
|
-
subcircuit_id:
|
|
1629
|
-
pcb_component_id:
|
|
1630
|
-
hole_shape:
|
|
1631
|
-
hole_width:
|
|
1632
|
-
hole_height:
|
|
1635
|
+
pcb_group_id: z96.string().optional(),
|
|
1636
|
+
subcircuit_id: z96.string().optional(),
|
|
1637
|
+
pcb_component_id: z96.string().optional(),
|
|
1638
|
+
hole_shape: z96.literal("rect"),
|
|
1639
|
+
hole_width: z96.number(),
|
|
1640
|
+
hole_height: z96.number(),
|
|
1633
1641
|
x: distance,
|
|
1634
1642
|
y: distance,
|
|
1635
|
-
is_covered_with_solder_mask:
|
|
1636
|
-
soldermask_margin:
|
|
1643
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
1644
|
+
soldermask_margin: z96.number().optional()
|
|
1637
1645
|
});
|
|
1638
1646
|
var pcb_hole_rect_shape = pcb_hole_rect.describe(
|
|
1639
1647
|
"Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
|
|
1640
1648
|
);
|
|
1641
1649
|
expectTypesMatch(true);
|
|
1642
|
-
var pcb_hole_circle_or_square =
|
|
1643
|
-
type:
|
|
1650
|
+
var pcb_hole_circle_or_square = z96.object({
|
|
1651
|
+
type: z96.literal("pcb_hole"),
|
|
1644
1652
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1645
|
-
pcb_group_id:
|
|
1646
|
-
subcircuit_id:
|
|
1647
|
-
pcb_component_id:
|
|
1648
|
-
hole_shape:
|
|
1649
|
-
hole_diameter:
|
|
1653
|
+
pcb_group_id: z96.string().optional(),
|
|
1654
|
+
subcircuit_id: z96.string().optional(),
|
|
1655
|
+
pcb_component_id: z96.string().optional(),
|
|
1656
|
+
hole_shape: z96.enum(["circle", "square"]),
|
|
1657
|
+
hole_diameter: z96.number(),
|
|
1650
1658
|
x: distance,
|
|
1651
1659
|
y: distance,
|
|
1652
|
-
is_covered_with_solder_mask:
|
|
1653
|
-
soldermask_margin:
|
|
1660
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
1661
|
+
soldermask_margin: z96.number().optional()
|
|
1654
1662
|
});
|
|
1655
1663
|
var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
1656
1664
|
"Defines a circular or square hole on the PCB"
|
|
1657
1665
|
);
|
|
1658
1666
|
expectTypesMatch(true);
|
|
1659
|
-
var pcb_hole_oval =
|
|
1660
|
-
type:
|
|
1667
|
+
var pcb_hole_oval = z96.object({
|
|
1668
|
+
type: z96.literal("pcb_hole"),
|
|
1661
1669
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1662
|
-
pcb_group_id:
|
|
1663
|
-
subcircuit_id:
|
|
1664
|
-
pcb_component_id:
|
|
1665
|
-
hole_shape:
|
|
1666
|
-
hole_width:
|
|
1667
|
-
hole_height:
|
|
1670
|
+
pcb_group_id: z96.string().optional(),
|
|
1671
|
+
subcircuit_id: z96.string().optional(),
|
|
1672
|
+
pcb_component_id: z96.string().optional(),
|
|
1673
|
+
hole_shape: z96.literal("oval"),
|
|
1674
|
+
hole_width: z96.number(),
|
|
1675
|
+
hole_height: z96.number(),
|
|
1668
1676
|
x: distance,
|
|
1669
1677
|
y: distance,
|
|
1670
|
-
is_covered_with_solder_mask:
|
|
1671
|
-
soldermask_margin:
|
|
1678
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
1679
|
+
soldermask_margin: z96.number().optional()
|
|
1672
1680
|
});
|
|
1673
1681
|
var pcb_hole_oval_shape = pcb_hole_oval.describe(
|
|
1674
1682
|
"Defines an oval hole on the PCB"
|
|
1675
1683
|
);
|
|
1676
1684
|
expectTypesMatch(true);
|
|
1677
|
-
var pcb_hole_pill =
|
|
1678
|
-
type:
|
|
1685
|
+
var pcb_hole_pill = z96.object({
|
|
1686
|
+
type: z96.literal("pcb_hole"),
|
|
1679
1687
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1680
|
-
pcb_group_id:
|
|
1681
|
-
subcircuit_id:
|
|
1682
|
-
pcb_component_id:
|
|
1683
|
-
hole_shape:
|
|
1684
|
-
hole_width:
|
|
1685
|
-
hole_height:
|
|
1688
|
+
pcb_group_id: z96.string().optional(),
|
|
1689
|
+
subcircuit_id: z96.string().optional(),
|
|
1690
|
+
pcb_component_id: z96.string().optional(),
|
|
1691
|
+
hole_shape: z96.literal("pill"),
|
|
1692
|
+
hole_width: z96.number(),
|
|
1693
|
+
hole_height: z96.number(),
|
|
1686
1694
|
x: distance,
|
|
1687
1695
|
y: distance,
|
|
1688
|
-
is_covered_with_solder_mask:
|
|
1689
|
-
soldermask_margin:
|
|
1696
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
1697
|
+
soldermask_margin: z96.number().optional()
|
|
1690
1698
|
});
|
|
1691
1699
|
var pcb_hole_pill_shape = pcb_hole_pill.describe(
|
|
1692
1700
|
"Defines a pill-shaped hole on the PCB"
|
|
1693
1701
|
);
|
|
1694
1702
|
expectTypesMatch(true);
|
|
1695
|
-
var pcb_hole_rotated_pill =
|
|
1696
|
-
type:
|
|
1703
|
+
var pcb_hole_rotated_pill = z96.object({
|
|
1704
|
+
type: z96.literal("pcb_hole"),
|
|
1697
1705
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1698
|
-
pcb_group_id:
|
|
1699
|
-
subcircuit_id:
|
|
1700
|
-
pcb_component_id:
|
|
1701
|
-
hole_shape:
|
|
1702
|
-
hole_width:
|
|
1703
|
-
hole_height:
|
|
1706
|
+
pcb_group_id: z96.string().optional(),
|
|
1707
|
+
subcircuit_id: z96.string().optional(),
|
|
1708
|
+
pcb_component_id: z96.string().optional(),
|
|
1709
|
+
hole_shape: z96.literal("rotated_pill"),
|
|
1710
|
+
hole_width: z96.number(),
|
|
1711
|
+
hole_height: z96.number(),
|
|
1704
1712
|
x: distance,
|
|
1705
1713
|
y: distance,
|
|
1706
1714
|
ccw_rotation: rotation,
|
|
1707
|
-
is_covered_with_solder_mask:
|
|
1708
|
-
soldermask_margin:
|
|
1715
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
1716
|
+
soldermask_margin: z96.number().optional()
|
|
1709
1717
|
});
|
|
1710
1718
|
var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
|
|
1711
1719
|
"Defines a rotated pill-shaped hole on the PCB"
|
|
@@ -1714,147 +1722,147 @@ expectTypesMatch(true);
|
|
|
1714
1722
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill).or(pcb_hole_circle).or(pcb_hole_rect);
|
|
1715
1723
|
|
|
1716
1724
|
// src/pcb/pcb_plated_hole.ts
|
|
1717
|
-
import { z as
|
|
1718
|
-
var pcb_plated_hole_circle =
|
|
1719
|
-
type:
|
|
1720
|
-
shape:
|
|
1721
|
-
pcb_group_id:
|
|
1722
|
-
subcircuit_id:
|
|
1723
|
-
outer_diameter:
|
|
1724
|
-
hole_diameter:
|
|
1725
|
-
is_covered_with_solder_mask:
|
|
1725
|
+
import { z as z97 } from "zod";
|
|
1726
|
+
var pcb_plated_hole_circle = z97.object({
|
|
1727
|
+
type: z97.literal("pcb_plated_hole"),
|
|
1728
|
+
shape: z97.literal("circle"),
|
|
1729
|
+
pcb_group_id: z97.string().optional(),
|
|
1730
|
+
subcircuit_id: z97.string().optional(),
|
|
1731
|
+
outer_diameter: z97.number(),
|
|
1732
|
+
hole_diameter: z97.number(),
|
|
1733
|
+
is_covered_with_solder_mask: z97.boolean().optional(),
|
|
1726
1734
|
x: distance,
|
|
1727
1735
|
y: distance,
|
|
1728
|
-
layers:
|
|
1729
|
-
port_hints:
|
|
1730
|
-
pcb_component_id:
|
|
1731
|
-
pcb_port_id:
|
|
1736
|
+
layers: z97.array(layer_ref),
|
|
1737
|
+
port_hints: z97.array(z97.string()).optional(),
|
|
1738
|
+
pcb_component_id: z97.string().optional(),
|
|
1739
|
+
pcb_port_id: z97.string().optional(),
|
|
1732
1740
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1733
|
-
soldermask_margin:
|
|
1741
|
+
soldermask_margin: z97.number().optional()
|
|
1734
1742
|
});
|
|
1735
|
-
var pcb_plated_hole_oval =
|
|
1736
|
-
type:
|
|
1737
|
-
shape:
|
|
1738
|
-
pcb_group_id:
|
|
1739
|
-
subcircuit_id:
|
|
1740
|
-
outer_width:
|
|
1741
|
-
outer_height:
|
|
1742
|
-
hole_width:
|
|
1743
|
-
hole_height:
|
|
1744
|
-
is_covered_with_solder_mask:
|
|
1743
|
+
var pcb_plated_hole_oval = z97.object({
|
|
1744
|
+
type: z97.literal("pcb_plated_hole"),
|
|
1745
|
+
shape: z97.enum(["oval", "pill"]),
|
|
1746
|
+
pcb_group_id: z97.string().optional(),
|
|
1747
|
+
subcircuit_id: z97.string().optional(),
|
|
1748
|
+
outer_width: z97.number(),
|
|
1749
|
+
outer_height: z97.number(),
|
|
1750
|
+
hole_width: z97.number(),
|
|
1751
|
+
hole_height: z97.number(),
|
|
1752
|
+
is_covered_with_solder_mask: z97.boolean().optional(),
|
|
1745
1753
|
x: distance,
|
|
1746
1754
|
y: distance,
|
|
1747
1755
|
ccw_rotation: rotation,
|
|
1748
|
-
layers:
|
|
1749
|
-
port_hints:
|
|
1750
|
-
pcb_component_id:
|
|
1751
|
-
pcb_port_id:
|
|
1756
|
+
layers: z97.array(layer_ref),
|
|
1757
|
+
port_hints: z97.array(z97.string()).optional(),
|
|
1758
|
+
pcb_component_id: z97.string().optional(),
|
|
1759
|
+
pcb_port_id: z97.string().optional(),
|
|
1752
1760
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1753
|
-
soldermask_margin:
|
|
1761
|
+
soldermask_margin: z97.number().optional()
|
|
1754
1762
|
});
|
|
1755
|
-
var pcb_circular_hole_with_rect_pad =
|
|
1756
|
-
type:
|
|
1757
|
-
shape:
|
|
1758
|
-
pcb_group_id:
|
|
1759
|
-
subcircuit_id:
|
|
1760
|
-
hole_shape:
|
|
1761
|
-
pad_shape:
|
|
1762
|
-
hole_diameter:
|
|
1763
|
-
rect_pad_width:
|
|
1764
|
-
rect_pad_height:
|
|
1765
|
-
rect_border_radius:
|
|
1763
|
+
var pcb_circular_hole_with_rect_pad = z97.object({
|
|
1764
|
+
type: z97.literal("pcb_plated_hole"),
|
|
1765
|
+
shape: z97.literal("circular_hole_with_rect_pad"),
|
|
1766
|
+
pcb_group_id: z97.string().optional(),
|
|
1767
|
+
subcircuit_id: z97.string().optional(),
|
|
1768
|
+
hole_shape: z97.literal("circle"),
|
|
1769
|
+
pad_shape: z97.literal("rect"),
|
|
1770
|
+
hole_diameter: z97.number(),
|
|
1771
|
+
rect_pad_width: z97.number(),
|
|
1772
|
+
rect_pad_height: z97.number(),
|
|
1773
|
+
rect_border_radius: z97.number().optional(),
|
|
1766
1774
|
hole_offset_x: distance.default(0),
|
|
1767
1775
|
hole_offset_y: distance.default(0),
|
|
1768
|
-
is_covered_with_solder_mask:
|
|
1776
|
+
is_covered_with_solder_mask: z97.boolean().optional(),
|
|
1769
1777
|
x: distance,
|
|
1770
1778
|
y: distance,
|
|
1771
|
-
layers:
|
|
1772
|
-
port_hints:
|
|
1773
|
-
pcb_component_id:
|
|
1774
|
-
pcb_port_id:
|
|
1779
|
+
layers: z97.array(layer_ref),
|
|
1780
|
+
port_hints: z97.array(z97.string()).optional(),
|
|
1781
|
+
pcb_component_id: z97.string().optional(),
|
|
1782
|
+
pcb_port_id: z97.string().optional(),
|
|
1775
1783
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1776
|
-
soldermask_margin:
|
|
1784
|
+
soldermask_margin: z97.number().optional(),
|
|
1777
1785
|
rect_ccw_rotation: rotation.optional()
|
|
1778
1786
|
});
|
|
1779
|
-
var pcb_pill_hole_with_rect_pad =
|
|
1780
|
-
type:
|
|
1781
|
-
shape:
|
|
1782
|
-
pcb_group_id:
|
|
1783
|
-
subcircuit_id:
|
|
1784
|
-
hole_shape:
|
|
1785
|
-
pad_shape:
|
|
1786
|
-
hole_width:
|
|
1787
|
-
hole_height:
|
|
1788
|
-
rect_pad_width:
|
|
1789
|
-
rect_pad_height:
|
|
1790
|
-
rect_border_radius:
|
|
1787
|
+
var pcb_pill_hole_with_rect_pad = z97.object({
|
|
1788
|
+
type: z97.literal("pcb_plated_hole"),
|
|
1789
|
+
shape: z97.literal("pill_hole_with_rect_pad"),
|
|
1790
|
+
pcb_group_id: z97.string().optional(),
|
|
1791
|
+
subcircuit_id: z97.string().optional(),
|
|
1792
|
+
hole_shape: z97.literal("pill"),
|
|
1793
|
+
pad_shape: z97.literal("rect"),
|
|
1794
|
+
hole_width: z97.number(),
|
|
1795
|
+
hole_height: z97.number(),
|
|
1796
|
+
rect_pad_width: z97.number(),
|
|
1797
|
+
rect_pad_height: z97.number(),
|
|
1798
|
+
rect_border_radius: z97.number().optional(),
|
|
1791
1799
|
hole_offset_x: distance.default(0),
|
|
1792
1800
|
hole_offset_y: distance.default(0),
|
|
1793
|
-
is_covered_with_solder_mask:
|
|
1801
|
+
is_covered_with_solder_mask: z97.boolean().optional(),
|
|
1794
1802
|
x: distance,
|
|
1795
1803
|
y: distance,
|
|
1796
|
-
layers:
|
|
1797
|
-
port_hints:
|
|
1798
|
-
pcb_component_id:
|
|
1799
|
-
pcb_port_id:
|
|
1804
|
+
layers: z97.array(layer_ref),
|
|
1805
|
+
port_hints: z97.array(z97.string()).optional(),
|
|
1806
|
+
pcb_component_id: z97.string().optional(),
|
|
1807
|
+
pcb_port_id: z97.string().optional(),
|
|
1800
1808
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1801
|
-
soldermask_margin:
|
|
1809
|
+
soldermask_margin: z97.number().optional()
|
|
1802
1810
|
});
|
|
1803
|
-
var pcb_rotated_pill_hole_with_rect_pad =
|
|
1804
|
-
type:
|
|
1805
|
-
shape:
|
|
1806
|
-
pcb_group_id:
|
|
1807
|
-
subcircuit_id:
|
|
1808
|
-
hole_shape:
|
|
1809
|
-
pad_shape:
|
|
1810
|
-
hole_width:
|
|
1811
|
-
hole_height:
|
|
1811
|
+
var pcb_rotated_pill_hole_with_rect_pad = z97.object({
|
|
1812
|
+
type: z97.literal("pcb_plated_hole"),
|
|
1813
|
+
shape: z97.literal("rotated_pill_hole_with_rect_pad"),
|
|
1814
|
+
pcb_group_id: z97.string().optional(),
|
|
1815
|
+
subcircuit_id: z97.string().optional(),
|
|
1816
|
+
hole_shape: z97.literal("rotated_pill"),
|
|
1817
|
+
pad_shape: z97.literal("rect"),
|
|
1818
|
+
hole_width: z97.number(),
|
|
1819
|
+
hole_height: z97.number(),
|
|
1812
1820
|
hole_ccw_rotation: rotation,
|
|
1813
|
-
rect_pad_width:
|
|
1814
|
-
rect_pad_height:
|
|
1815
|
-
rect_border_radius:
|
|
1821
|
+
rect_pad_width: z97.number(),
|
|
1822
|
+
rect_pad_height: z97.number(),
|
|
1823
|
+
rect_border_radius: z97.number().optional(),
|
|
1816
1824
|
rect_ccw_rotation: rotation,
|
|
1817
1825
|
hole_offset_x: distance.default(0),
|
|
1818
1826
|
hole_offset_y: distance.default(0),
|
|
1819
|
-
is_covered_with_solder_mask:
|
|
1827
|
+
is_covered_with_solder_mask: z97.boolean().optional(),
|
|
1820
1828
|
x: distance,
|
|
1821
1829
|
y: distance,
|
|
1822
|
-
layers:
|
|
1823
|
-
port_hints:
|
|
1824
|
-
pcb_component_id:
|
|
1825
|
-
pcb_port_id:
|
|
1830
|
+
layers: z97.array(layer_ref),
|
|
1831
|
+
port_hints: z97.array(z97.string()).optional(),
|
|
1832
|
+
pcb_component_id: z97.string().optional(),
|
|
1833
|
+
pcb_port_id: z97.string().optional(),
|
|
1826
1834
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1827
|
-
soldermask_margin:
|
|
1835
|
+
soldermask_margin: z97.number().optional()
|
|
1828
1836
|
});
|
|
1829
|
-
var pcb_hole_with_polygon_pad =
|
|
1830
|
-
type:
|
|
1831
|
-
shape:
|
|
1832
|
-
pcb_group_id:
|
|
1833
|
-
subcircuit_id:
|
|
1834
|
-
hole_shape:
|
|
1835
|
-
hole_diameter:
|
|
1836
|
-
hole_width:
|
|
1837
|
-
hole_height:
|
|
1838
|
-
pad_outline:
|
|
1839
|
-
|
|
1837
|
+
var pcb_hole_with_polygon_pad = z97.object({
|
|
1838
|
+
type: z97.literal("pcb_plated_hole"),
|
|
1839
|
+
shape: z97.literal("hole_with_polygon_pad"),
|
|
1840
|
+
pcb_group_id: z97.string().optional(),
|
|
1841
|
+
subcircuit_id: z97.string().optional(),
|
|
1842
|
+
hole_shape: z97.enum(["circle", "oval", "pill", "rotated_pill"]),
|
|
1843
|
+
hole_diameter: z97.number().optional(),
|
|
1844
|
+
hole_width: z97.number().optional(),
|
|
1845
|
+
hole_height: z97.number().optional(),
|
|
1846
|
+
pad_outline: z97.array(
|
|
1847
|
+
z97.object({
|
|
1840
1848
|
x: distance,
|
|
1841
1849
|
y: distance
|
|
1842
1850
|
})
|
|
1843
1851
|
).min(3),
|
|
1844
1852
|
hole_offset_x: distance.default(0),
|
|
1845
1853
|
hole_offset_y: distance.default(0),
|
|
1846
|
-
is_covered_with_solder_mask:
|
|
1854
|
+
is_covered_with_solder_mask: z97.boolean().optional(),
|
|
1847
1855
|
x: distance,
|
|
1848
1856
|
y: distance,
|
|
1849
|
-
layers:
|
|
1850
|
-
port_hints:
|
|
1851
|
-
pcb_component_id:
|
|
1852
|
-
pcb_port_id:
|
|
1857
|
+
layers: z97.array(layer_ref),
|
|
1858
|
+
port_hints: z97.array(z97.string()).optional(),
|
|
1859
|
+
pcb_component_id: z97.string().optional(),
|
|
1860
|
+
pcb_port_id: z97.string().optional(),
|
|
1853
1861
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1854
|
-
soldermask_margin:
|
|
1862
|
+
soldermask_margin: z97.number().optional(),
|
|
1855
1863
|
ccw_rotation: rotation.optional()
|
|
1856
1864
|
});
|
|
1857
|
-
var pcb_plated_hole =
|
|
1865
|
+
var pcb_plated_hole = z97.union([
|
|
1858
1866
|
pcb_plated_hole_circle,
|
|
1859
1867
|
pcb_plated_hole_oval,
|
|
1860
1868
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -1872,138 +1880,138 @@ expectTypesMatch(true);
|
|
|
1872
1880
|
expectTypesMatch(true);
|
|
1873
1881
|
|
|
1874
1882
|
// src/pcb/pcb_port.ts
|
|
1875
|
-
import { z as
|
|
1876
|
-
var pcb_port =
|
|
1877
|
-
type:
|
|
1883
|
+
import { z as z98 } from "zod";
|
|
1884
|
+
var pcb_port = z98.object({
|
|
1885
|
+
type: z98.literal("pcb_port"),
|
|
1878
1886
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
1879
|
-
pcb_group_id:
|
|
1880
|
-
subcircuit_id:
|
|
1881
|
-
source_port_id:
|
|
1882
|
-
pcb_component_id:
|
|
1887
|
+
pcb_group_id: z98.string().optional(),
|
|
1888
|
+
subcircuit_id: z98.string().optional(),
|
|
1889
|
+
source_port_id: z98.string(),
|
|
1890
|
+
pcb_component_id: z98.string().optional(),
|
|
1883
1891
|
x: distance,
|
|
1884
1892
|
y: distance,
|
|
1885
|
-
layers:
|
|
1886
|
-
is_board_pinout:
|
|
1893
|
+
layers: z98.array(layer_ref),
|
|
1894
|
+
is_board_pinout: z98.boolean().optional()
|
|
1887
1895
|
}).describe("Defines a port on the PCB");
|
|
1888
1896
|
expectTypesMatch(true);
|
|
1889
1897
|
|
|
1890
1898
|
// src/pcb/pcb_smtpad.ts
|
|
1891
|
-
import { z as
|
|
1892
|
-
var pcb_smtpad_circle =
|
|
1893
|
-
type:
|
|
1894
|
-
shape:
|
|
1899
|
+
import { z as z99 } from "zod";
|
|
1900
|
+
var pcb_smtpad_circle = z99.object({
|
|
1901
|
+
type: z99.literal("pcb_smtpad"),
|
|
1902
|
+
shape: z99.literal("circle"),
|
|
1895
1903
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1896
|
-
pcb_group_id:
|
|
1897
|
-
subcircuit_id:
|
|
1904
|
+
pcb_group_id: z99.string().optional(),
|
|
1905
|
+
subcircuit_id: z99.string().optional(),
|
|
1898
1906
|
x: distance,
|
|
1899
1907
|
y: distance,
|
|
1900
|
-
radius:
|
|
1908
|
+
radius: z99.number(),
|
|
1901
1909
|
layer: layer_ref,
|
|
1902
|
-
port_hints:
|
|
1903
|
-
pcb_component_id:
|
|
1904
|
-
pcb_port_id:
|
|
1905
|
-
is_covered_with_solder_mask:
|
|
1906
|
-
soldermask_margin:
|
|
1910
|
+
port_hints: z99.array(z99.string()).optional(),
|
|
1911
|
+
pcb_component_id: z99.string().optional(),
|
|
1912
|
+
pcb_port_id: z99.string().optional(),
|
|
1913
|
+
is_covered_with_solder_mask: z99.boolean().optional(),
|
|
1914
|
+
soldermask_margin: z99.number().optional()
|
|
1907
1915
|
});
|
|
1908
|
-
var pcb_smtpad_rect =
|
|
1909
|
-
type:
|
|
1910
|
-
shape:
|
|
1916
|
+
var pcb_smtpad_rect = z99.object({
|
|
1917
|
+
type: z99.literal("pcb_smtpad"),
|
|
1918
|
+
shape: z99.literal("rect"),
|
|
1911
1919
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1912
|
-
pcb_group_id:
|
|
1913
|
-
subcircuit_id:
|
|
1920
|
+
pcb_group_id: z99.string().optional(),
|
|
1921
|
+
subcircuit_id: z99.string().optional(),
|
|
1914
1922
|
x: distance,
|
|
1915
1923
|
y: distance,
|
|
1916
|
-
width:
|
|
1917
|
-
height:
|
|
1918
|
-
rect_border_radius:
|
|
1919
|
-
corner_radius:
|
|
1924
|
+
width: z99.number(),
|
|
1925
|
+
height: z99.number(),
|
|
1926
|
+
rect_border_radius: z99.number().optional(),
|
|
1927
|
+
corner_radius: z99.number().optional(),
|
|
1920
1928
|
layer: layer_ref,
|
|
1921
|
-
port_hints:
|
|
1922
|
-
pcb_component_id:
|
|
1923
|
-
pcb_port_id:
|
|
1924
|
-
is_covered_with_solder_mask:
|
|
1925
|
-
soldermask_margin:
|
|
1926
|
-
soldermask_margin_left:
|
|
1927
|
-
soldermask_margin_top:
|
|
1928
|
-
soldermask_margin_right:
|
|
1929
|
-
soldermask_margin_bottom:
|
|
1929
|
+
port_hints: z99.array(z99.string()).optional(),
|
|
1930
|
+
pcb_component_id: z99.string().optional(),
|
|
1931
|
+
pcb_port_id: z99.string().optional(),
|
|
1932
|
+
is_covered_with_solder_mask: z99.boolean().optional(),
|
|
1933
|
+
soldermask_margin: z99.number().optional(),
|
|
1934
|
+
soldermask_margin_left: z99.number().optional(),
|
|
1935
|
+
soldermask_margin_top: z99.number().optional(),
|
|
1936
|
+
soldermask_margin_right: z99.number().optional(),
|
|
1937
|
+
soldermask_margin_bottom: z99.number().optional()
|
|
1930
1938
|
});
|
|
1931
|
-
var pcb_smtpad_rotated_rect =
|
|
1932
|
-
type:
|
|
1933
|
-
shape:
|
|
1939
|
+
var pcb_smtpad_rotated_rect = z99.object({
|
|
1940
|
+
type: z99.literal("pcb_smtpad"),
|
|
1941
|
+
shape: z99.literal("rotated_rect"),
|
|
1934
1942
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1935
|
-
pcb_group_id:
|
|
1936
|
-
subcircuit_id:
|
|
1943
|
+
pcb_group_id: z99.string().optional(),
|
|
1944
|
+
subcircuit_id: z99.string().optional(),
|
|
1937
1945
|
x: distance,
|
|
1938
1946
|
y: distance,
|
|
1939
|
-
width:
|
|
1940
|
-
height:
|
|
1941
|
-
rect_border_radius:
|
|
1942
|
-
corner_radius:
|
|
1947
|
+
width: z99.number(),
|
|
1948
|
+
height: z99.number(),
|
|
1949
|
+
rect_border_radius: z99.number().optional(),
|
|
1950
|
+
corner_radius: z99.number().optional(),
|
|
1943
1951
|
ccw_rotation: rotation,
|
|
1944
1952
|
layer: layer_ref,
|
|
1945
|
-
port_hints:
|
|
1946
|
-
pcb_component_id:
|
|
1947
|
-
pcb_port_id:
|
|
1948
|
-
is_covered_with_solder_mask:
|
|
1949
|
-
soldermask_margin:
|
|
1950
|
-
soldermask_margin_left:
|
|
1951
|
-
soldermask_margin_top:
|
|
1952
|
-
soldermask_margin_right:
|
|
1953
|
-
soldermask_margin_bottom:
|
|
1953
|
+
port_hints: z99.array(z99.string()).optional(),
|
|
1954
|
+
pcb_component_id: z99.string().optional(),
|
|
1955
|
+
pcb_port_id: z99.string().optional(),
|
|
1956
|
+
is_covered_with_solder_mask: z99.boolean().optional(),
|
|
1957
|
+
soldermask_margin: z99.number().optional(),
|
|
1958
|
+
soldermask_margin_left: z99.number().optional(),
|
|
1959
|
+
soldermask_margin_top: z99.number().optional(),
|
|
1960
|
+
soldermask_margin_right: z99.number().optional(),
|
|
1961
|
+
soldermask_margin_bottom: z99.number().optional()
|
|
1954
1962
|
});
|
|
1955
|
-
var pcb_smtpad_pill =
|
|
1956
|
-
type:
|
|
1957
|
-
shape:
|
|
1963
|
+
var pcb_smtpad_pill = z99.object({
|
|
1964
|
+
type: z99.literal("pcb_smtpad"),
|
|
1965
|
+
shape: z99.literal("pill"),
|
|
1958
1966
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1959
|
-
pcb_group_id:
|
|
1960
|
-
subcircuit_id:
|
|
1967
|
+
pcb_group_id: z99.string().optional(),
|
|
1968
|
+
subcircuit_id: z99.string().optional(),
|
|
1961
1969
|
x: distance,
|
|
1962
1970
|
y: distance,
|
|
1963
|
-
width:
|
|
1964
|
-
height:
|
|
1965
|
-
radius:
|
|
1971
|
+
width: z99.number(),
|
|
1972
|
+
height: z99.number(),
|
|
1973
|
+
radius: z99.number(),
|
|
1966
1974
|
layer: layer_ref,
|
|
1967
|
-
port_hints:
|
|
1968
|
-
pcb_component_id:
|
|
1969
|
-
pcb_port_id:
|
|
1970
|
-
is_covered_with_solder_mask:
|
|
1971
|
-
soldermask_margin:
|
|
1975
|
+
port_hints: z99.array(z99.string()).optional(),
|
|
1976
|
+
pcb_component_id: z99.string().optional(),
|
|
1977
|
+
pcb_port_id: z99.string().optional(),
|
|
1978
|
+
is_covered_with_solder_mask: z99.boolean().optional(),
|
|
1979
|
+
soldermask_margin: z99.number().optional()
|
|
1972
1980
|
});
|
|
1973
|
-
var pcb_smtpad_rotated_pill =
|
|
1974
|
-
type:
|
|
1975
|
-
shape:
|
|
1981
|
+
var pcb_smtpad_rotated_pill = z99.object({
|
|
1982
|
+
type: z99.literal("pcb_smtpad"),
|
|
1983
|
+
shape: z99.literal("rotated_pill"),
|
|
1976
1984
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1977
|
-
pcb_group_id:
|
|
1978
|
-
subcircuit_id:
|
|
1985
|
+
pcb_group_id: z99.string().optional(),
|
|
1986
|
+
subcircuit_id: z99.string().optional(),
|
|
1979
1987
|
x: distance,
|
|
1980
1988
|
y: distance,
|
|
1981
|
-
width:
|
|
1982
|
-
height:
|
|
1983
|
-
radius:
|
|
1989
|
+
width: z99.number(),
|
|
1990
|
+
height: z99.number(),
|
|
1991
|
+
radius: z99.number(),
|
|
1984
1992
|
ccw_rotation: rotation,
|
|
1985
1993
|
layer: layer_ref,
|
|
1986
|
-
port_hints:
|
|
1987
|
-
pcb_component_id:
|
|
1988
|
-
pcb_port_id:
|
|
1989
|
-
is_covered_with_solder_mask:
|
|
1990
|
-
soldermask_margin:
|
|
1994
|
+
port_hints: z99.array(z99.string()).optional(),
|
|
1995
|
+
pcb_component_id: z99.string().optional(),
|
|
1996
|
+
pcb_port_id: z99.string().optional(),
|
|
1997
|
+
is_covered_with_solder_mask: z99.boolean().optional(),
|
|
1998
|
+
soldermask_margin: z99.number().optional()
|
|
1991
1999
|
});
|
|
1992
|
-
var pcb_smtpad_polygon =
|
|
1993
|
-
type:
|
|
1994
|
-
shape:
|
|
2000
|
+
var pcb_smtpad_polygon = z99.object({
|
|
2001
|
+
type: z99.literal("pcb_smtpad"),
|
|
2002
|
+
shape: z99.literal("polygon"),
|
|
1995
2003
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1996
|
-
pcb_group_id:
|
|
1997
|
-
subcircuit_id:
|
|
1998
|
-
points:
|
|
2004
|
+
pcb_group_id: z99.string().optional(),
|
|
2005
|
+
subcircuit_id: z99.string().optional(),
|
|
2006
|
+
points: z99.array(point),
|
|
1999
2007
|
layer: layer_ref,
|
|
2000
|
-
port_hints:
|
|
2001
|
-
pcb_component_id:
|
|
2002
|
-
pcb_port_id:
|
|
2003
|
-
is_covered_with_solder_mask:
|
|
2004
|
-
soldermask_margin:
|
|
2008
|
+
port_hints: z99.array(z99.string()).optional(),
|
|
2009
|
+
pcb_component_id: z99.string().optional(),
|
|
2010
|
+
pcb_port_id: z99.string().optional(),
|
|
2011
|
+
is_covered_with_solder_mask: z99.boolean().optional(),
|
|
2012
|
+
soldermask_margin: z99.number().optional()
|
|
2005
2013
|
});
|
|
2006
|
-
var pcb_smtpad =
|
|
2014
|
+
var pcb_smtpad = z99.discriminatedUnion("shape", [
|
|
2007
2015
|
pcb_smtpad_circle,
|
|
2008
2016
|
pcb_smtpad_rect,
|
|
2009
2017
|
pcb_smtpad_rotated_rect,
|
|
@@ -2019,79 +2027,79 @@ expectTypesMatch(true);
|
|
|
2019
2027
|
expectTypesMatch(true);
|
|
2020
2028
|
|
|
2021
2029
|
// src/pcb/pcb_solder_paste.ts
|
|
2022
|
-
import { z as
|
|
2023
|
-
var pcb_solder_paste_circle =
|
|
2024
|
-
type:
|
|
2025
|
-
shape:
|
|
2030
|
+
import { z as z100 } from "zod";
|
|
2031
|
+
var pcb_solder_paste_circle = z100.object({
|
|
2032
|
+
type: z100.literal("pcb_solder_paste"),
|
|
2033
|
+
shape: z100.literal("circle"),
|
|
2026
2034
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2027
|
-
pcb_group_id:
|
|
2028
|
-
subcircuit_id:
|
|
2035
|
+
pcb_group_id: z100.string().optional(),
|
|
2036
|
+
subcircuit_id: z100.string().optional(),
|
|
2029
2037
|
x: distance,
|
|
2030
2038
|
y: distance,
|
|
2031
|
-
radius:
|
|
2039
|
+
radius: z100.number(),
|
|
2032
2040
|
layer: layer_ref,
|
|
2033
|
-
pcb_component_id:
|
|
2034
|
-
pcb_smtpad_id:
|
|
2041
|
+
pcb_component_id: z100.string().optional(),
|
|
2042
|
+
pcb_smtpad_id: z100.string().optional()
|
|
2035
2043
|
});
|
|
2036
|
-
var pcb_solder_paste_rect =
|
|
2037
|
-
type:
|
|
2038
|
-
shape:
|
|
2044
|
+
var pcb_solder_paste_rect = z100.object({
|
|
2045
|
+
type: z100.literal("pcb_solder_paste"),
|
|
2046
|
+
shape: z100.literal("rect"),
|
|
2039
2047
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2040
|
-
pcb_group_id:
|
|
2041
|
-
subcircuit_id:
|
|
2048
|
+
pcb_group_id: z100.string().optional(),
|
|
2049
|
+
subcircuit_id: z100.string().optional(),
|
|
2042
2050
|
x: distance,
|
|
2043
2051
|
y: distance,
|
|
2044
|
-
width:
|
|
2045
|
-
height:
|
|
2052
|
+
width: z100.number(),
|
|
2053
|
+
height: z100.number(),
|
|
2046
2054
|
layer: layer_ref,
|
|
2047
|
-
pcb_component_id:
|
|
2048
|
-
pcb_smtpad_id:
|
|
2055
|
+
pcb_component_id: z100.string().optional(),
|
|
2056
|
+
pcb_smtpad_id: z100.string().optional()
|
|
2049
2057
|
});
|
|
2050
|
-
var pcb_solder_paste_pill =
|
|
2051
|
-
type:
|
|
2052
|
-
shape:
|
|
2058
|
+
var pcb_solder_paste_pill = z100.object({
|
|
2059
|
+
type: z100.literal("pcb_solder_paste"),
|
|
2060
|
+
shape: z100.literal("pill"),
|
|
2053
2061
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2054
|
-
pcb_group_id:
|
|
2055
|
-
subcircuit_id:
|
|
2062
|
+
pcb_group_id: z100.string().optional(),
|
|
2063
|
+
subcircuit_id: z100.string().optional(),
|
|
2056
2064
|
x: distance,
|
|
2057
2065
|
y: distance,
|
|
2058
|
-
width:
|
|
2059
|
-
height:
|
|
2060
|
-
radius:
|
|
2066
|
+
width: z100.number(),
|
|
2067
|
+
height: z100.number(),
|
|
2068
|
+
radius: z100.number(),
|
|
2061
2069
|
layer: layer_ref,
|
|
2062
|
-
pcb_component_id:
|
|
2063
|
-
pcb_smtpad_id:
|
|
2070
|
+
pcb_component_id: z100.string().optional(),
|
|
2071
|
+
pcb_smtpad_id: z100.string().optional()
|
|
2064
2072
|
});
|
|
2065
|
-
var pcb_solder_paste_rotated_rect =
|
|
2066
|
-
type:
|
|
2067
|
-
shape:
|
|
2073
|
+
var pcb_solder_paste_rotated_rect = z100.object({
|
|
2074
|
+
type: z100.literal("pcb_solder_paste"),
|
|
2075
|
+
shape: z100.literal("rotated_rect"),
|
|
2068
2076
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2069
|
-
pcb_group_id:
|
|
2070
|
-
subcircuit_id:
|
|
2077
|
+
pcb_group_id: z100.string().optional(),
|
|
2078
|
+
subcircuit_id: z100.string().optional(),
|
|
2071
2079
|
x: distance,
|
|
2072
2080
|
y: distance,
|
|
2073
|
-
width:
|
|
2074
|
-
height:
|
|
2081
|
+
width: z100.number(),
|
|
2082
|
+
height: z100.number(),
|
|
2075
2083
|
ccw_rotation: distance,
|
|
2076
2084
|
layer: layer_ref,
|
|
2077
|
-
pcb_component_id:
|
|
2078
|
-
pcb_smtpad_id:
|
|
2085
|
+
pcb_component_id: z100.string().optional(),
|
|
2086
|
+
pcb_smtpad_id: z100.string().optional()
|
|
2079
2087
|
});
|
|
2080
|
-
var pcb_solder_paste_oval =
|
|
2081
|
-
type:
|
|
2082
|
-
shape:
|
|
2088
|
+
var pcb_solder_paste_oval = z100.object({
|
|
2089
|
+
type: z100.literal("pcb_solder_paste"),
|
|
2090
|
+
shape: z100.literal("oval"),
|
|
2083
2091
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2084
|
-
pcb_group_id:
|
|
2085
|
-
subcircuit_id:
|
|
2092
|
+
pcb_group_id: z100.string().optional(),
|
|
2093
|
+
subcircuit_id: z100.string().optional(),
|
|
2086
2094
|
x: distance,
|
|
2087
2095
|
y: distance,
|
|
2088
|
-
width:
|
|
2089
|
-
height:
|
|
2096
|
+
width: z100.number(),
|
|
2097
|
+
height: z100.number(),
|
|
2090
2098
|
layer: layer_ref,
|
|
2091
|
-
pcb_component_id:
|
|
2092
|
-
pcb_smtpad_id:
|
|
2099
|
+
pcb_component_id: z100.string().optional(),
|
|
2100
|
+
pcb_smtpad_id: z100.string().optional()
|
|
2093
2101
|
});
|
|
2094
|
-
var pcb_solder_paste =
|
|
2102
|
+
var pcb_solder_paste = z100.union([
|
|
2095
2103
|
pcb_solder_paste_circle,
|
|
2096
2104
|
pcb_solder_paste_rect,
|
|
2097
2105
|
pcb_solder_paste_pill,
|
|
@@ -2107,173 +2115,173 @@ expectTypesMatch(
|
|
|
2107
2115
|
expectTypesMatch(true);
|
|
2108
2116
|
|
|
2109
2117
|
// src/pcb/pcb_text.ts
|
|
2110
|
-
import { z as
|
|
2111
|
-
var pcb_text =
|
|
2112
|
-
type:
|
|
2118
|
+
import { z as z101 } from "zod";
|
|
2119
|
+
var pcb_text = z101.object({
|
|
2120
|
+
type: z101.literal("pcb_text"),
|
|
2113
2121
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
2114
|
-
pcb_group_id:
|
|
2115
|
-
subcircuit_id:
|
|
2116
|
-
text:
|
|
2122
|
+
pcb_group_id: z101.string().optional(),
|
|
2123
|
+
subcircuit_id: z101.string().optional(),
|
|
2124
|
+
text: z101.string(),
|
|
2117
2125
|
center: point,
|
|
2118
2126
|
layer: layer_ref,
|
|
2119
2127
|
width: length,
|
|
2120
2128
|
height: length,
|
|
2121
|
-
lines:
|
|
2129
|
+
lines: z101.number(),
|
|
2122
2130
|
// @ts-ignore
|
|
2123
|
-
align:
|
|
2131
|
+
align: z101.enum(["bottom-left"])
|
|
2124
2132
|
}).describe("Defines text on the PCB");
|
|
2125
2133
|
expectTypesMatch(true);
|
|
2126
2134
|
|
|
2127
2135
|
// src/pcb/pcb_trace.ts
|
|
2128
|
-
import { z as
|
|
2129
|
-
var pcb_trace_route_point_wire =
|
|
2130
|
-
route_type:
|
|
2136
|
+
import { z as z102 } from "zod";
|
|
2137
|
+
var pcb_trace_route_point_wire = z102.object({
|
|
2138
|
+
route_type: z102.literal("wire"),
|
|
2131
2139
|
x: distance,
|
|
2132
2140
|
y: distance,
|
|
2133
2141
|
width: distance,
|
|
2134
|
-
copper_pour_id:
|
|
2135
|
-
is_inside_copper_pour:
|
|
2136
|
-
start_pcb_port_id:
|
|
2137
|
-
end_pcb_port_id:
|
|
2142
|
+
copper_pour_id: z102.string().optional(),
|
|
2143
|
+
is_inside_copper_pour: z102.boolean().optional(),
|
|
2144
|
+
start_pcb_port_id: z102.string().optional(),
|
|
2145
|
+
end_pcb_port_id: z102.string().optional(),
|
|
2138
2146
|
layer: layer_ref
|
|
2139
2147
|
});
|
|
2140
|
-
var pcb_trace_route_point_via =
|
|
2141
|
-
route_type:
|
|
2148
|
+
var pcb_trace_route_point_via = z102.object({
|
|
2149
|
+
route_type: z102.literal("via"),
|
|
2142
2150
|
x: distance,
|
|
2143
2151
|
y: distance,
|
|
2144
|
-
copper_pour_id:
|
|
2145
|
-
is_inside_copper_pour:
|
|
2152
|
+
copper_pour_id: z102.string().optional(),
|
|
2153
|
+
is_inside_copper_pour: z102.boolean().optional(),
|
|
2146
2154
|
hole_diameter: distance.optional(),
|
|
2147
2155
|
outer_diameter: distance.optional(),
|
|
2148
2156
|
from_layer: layer_ref,
|
|
2149
2157
|
to_layer: layer_ref
|
|
2150
2158
|
});
|
|
2151
|
-
var pcb_trace_route_point_through_pad =
|
|
2152
|
-
route_type:
|
|
2159
|
+
var pcb_trace_route_point_through_pad = z102.object({
|
|
2160
|
+
route_type: z102.literal("through_pad"),
|
|
2153
2161
|
start: point,
|
|
2154
2162
|
end: point,
|
|
2155
2163
|
width: distance,
|
|
2156
2164
|
start_layer: layer_ref,
|
|
2157
2165
|
end_layer: layer_ref,
|
|
2158
|
-
pcb_smtpad_id:
|
|
2159
|
-
pcb_plated_hole_id:
|
|
2166
|
+
pcb_smtpad_id: z102.string().optional(),
|
|
2167
|
+
pcb_plated_hole_id: z102.string().optional()
|
|
2160
2168
|
});
|
|
2161
|
-
var pcb_trace_route_point =
|
|
2169
|
+
var pcb_trace_route_point = z102.union([
|
|
2162
2170
|
pcb_trace_route_point_wire,
|
|
2163
2171
|
pcb_trace_route_point_via,
|
|
2164
2172
|
pcb_trace_route_point_through_pad
|
|
2165
2173
|
]);
|
|
2166
|
-
var pcb_trace =
|
|
2167
|
-
type:
|
|
2168
|
-
source_trace_id:
|
|
2169
|
-
pcb_component_id:
|
|
2174
|
+
var pcb_trace = z102.object({
|
|
2175
|
+
type: z102.literal("pcb_trace"),
|
|
2176
|
+
source_trace_id: z102.string().optional(),
|
|
2177
|
+
pcb_component_id: z102.string().optional(),
|
|
2170
2178
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
2171
|
-
pcb_group_id:
|
|
2172
|
-
subcircuit_id:
|
|
2173
|
-
route_thickness_mode:
|
|
2174
|
-
route_order_index:
|
|
2175
|
-
should_round_corners:
|
|
2176
|
-
trace_length:
|
|
2177
|
-
highlight_color:
|
|
2178
|
-
route:
|
|
2179
|
+
pcb_group_id: z102.string().optional(),
|
|
2180
|
+
subcircuit_id: z102.string().optional(),
|
|
2181
|
+
route_thickness_mode: z102.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
2182
|
+
route_order_index: z102.number().optional(),
|
|
2183
|
+
should_round_corners: z102.boolean().optional(),
|
|
2184
|
+
trace_length: z102.number().optional(),
|
|
2185
|
+
highlight_color: z102.string().optional(),
|
|
2186
|
+
route: z102.array(pcb_trace_route_point)
|
|
2179
2187
|
}).describe("Defines a trace on the PCB");
|
|
2180
2188
|
expectTypesMatch(true);
|
|
2181
2189
|
expectTypesMatch(true);
|
|
2182
2190
|
|
|
2183
2191
|
// src/pcb/pcb_trace_warning.ts
|
|
2184
|
-
import { z as
|
|
2185
|
-
var pcb_trace_warning =
|
|
2186
|
-
type:
|
|
2192
|
+
import { z as z103 } from "zod";
|
|
2193
|
+
var pcb_trace_warning = z103.object({
|
|
2194
|
+
type: z103.literal("pcb_trace_warning"),
|
|
2187
2195
|
pcb_trace_warning_id: getZodPrefixedIdWithDefault("pcb_trace_warning"),
|
|
2188
|
-
warning_type:
|
|
2189
|
-
message:
|
|
2196
|
+
warning_type: z103.literal("pcb_trace_warning").default("pcb_trace_warning"),
|
|
2197
|
+
message: z103.string(),
|
|
2190
2198
|
center: point.optional(),
|
|
2191
|
-
pcb_trace_id:
|
|
2192
|
-
source_trace_id:
|
|
2193
|
-
pcb_component_ids:
|
|
2194
|
-
pcb_port_ids:
|
|
2195
|
-
subcircuit_id:
|
|
2199
|
+
pcb_trace_id: z103.string(),
|
|
2200
|
+
source_trace_id: z103.string(),
|
|
2201
|
+
pcb_component_ids: z103.array(z103.string()),
|
|
2202
|
+
pcb_port_ids: z103.array(z103.string()),
|
|
2203
|
+
subcircuit_id: z103.string().optional()
|
|
2196
2204
|
}).describe("Defines a trace warning on the PCB");
|
|
2197
2205
|
expectTypesMatch(true);
|
|
2198
2206
|
|
|
2199
2207
|
// src/pcb/pcb_trace_error.ts
|
|
2200
|
-
import { z as
|
|
2208
|
+
import { z as z104 } from "zod";
|
|
2201
2209
|
var pcb_trace_error = base_circuit_json_error.extend({
|
|
2202
|
-
type:
|
|
2210
|
+
type: z104.literal("pcb_trace_error"),
|
|
2203
2211
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
2204
|
-
error_type:
|
|
2212
|
+
error_type: z104.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
2205
2213
|
center: point.optional(),
|
|
2206
|
-
pcb_trace_id:
|
|
2207
|
-
source_trace_id:
|
|
2208
|
-
pcb_component_ids:
|
|
2209
|
-
pcb_port_ids:
|
|
2210
|
-
subcircuit_id:
|
|
2214
|
+
pcb_trace_id: z104.string(),
|
|
2215
|
+
source_trace_id: z104.string(),
|
|
2216
|
+
pcb_component_ids: z104.array(z104.string()),
|
|
2217
|
+
pcb_port_ids: z104.array(z104.string()),
|
|
2218
|
+
subcircuit_id: z104.string().optional()
|
|
2211
2219
|
}).describe("Defines a trace error on the PCB");
|
|
2212
2220
|
expectTypesMatch(true);
|
|
2213
2221
|
|
|
2214
2222
|
// src/pcb/pcb_trace_missing_error.ts
|
|
2215
|
-
import { z as
|
|
2223
|
+
import { z as z105 } from "zod";
|
|
2216
2224
|
var pcb_trace_missing_error = base_circuit_json_error.extend({
|
|
2217
|
-
type:
|
|
2225
|
+
type: z105.literal("pcb_trace_missing_error"),
|
|
2218
2226
|
pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
|
|
2219
2227
|
"pcb_trace_missing_error"
|
|
2220
2228
|
),
|
|
2221
|
-
error_type:
|
|
2229
|
+
error_type: z105.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
|
|
2222
2230
|
center: point.optional(),
|
|
2223
|
-
source_trace_id:
|
|
2224
|
-
pcb_component_ids:
|
|
2225
|
-
pcb_port_ids:
|
|
2226
|
-
subcircuit_id:
|
|
2231
|
+
source_trace_id: z105.string(),
|
|
2232
|
+
pcb_component_ids: z105.array(z105.string()),
|
|
2233
|
+
pcb_port_ids: z105.array(z105.string()),
|
|
2234
|
+
subcircuit_id: z105.string().optional()
|
|
2227
2235
|
}).describe(
|
|
2228
2236
|
"Defines an error when a source trace has no corresponding PCB trace"
|
|
2229
2237
|
);
|
|
2230
2238
|
expectTypesMatch(true);
|
|
2231
2239
|
|
|
2232
2240
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
2233
|
-
import { z as
|
|
2241
|
+
import { z as z106 } from "zod";
|
|
2234
2242
|
var pcb_port_not_matched_error = base_circuit_json_error.extend({
|
|
2235
|
-
type:
|
|
2243
|
+
type: z106.literal("pcb_port_not_matched_error"),
|
|
2236
2244
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2237
|
-
error_type:
|
|
2238
|
-
pcb_component_ids:
|
|
2239
|
-
subcircuit_id:
|
|
2245
|
+
error_type: z106.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
2246
|
+
pcb_component_ids: z106.array(z106.string()),
|
|
2247
|
+
subcircuit_id: z106.string().optional()
|
|
2240
2248
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
2241
2249
|
expectTypesMatch(true);
|
|
2242
2250
|
|
|
2243
2251
|
// src/pcb/pcb_port_not_connected_error.ts
|
|
2244
|
-
import { z as
|
|
2252
|
+
import { z as z107 } from "zod";
|
|
2245
2253
|
var pcb_port_not_connected_error = base_circuit_json_error.extend({
|
|
2246
|
-
type:
|
|
2254
|
+
type: z107.literal("pcb_port_not_connected_error"),
|
|
2247
2255
|
pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
|
|
2248
2256
|
"pcb_port_not_connected_error"
|
|
2249
2257
|
),
|
|
2250
|
-
error_type:
|
|
2251
|
-
pcb_port_ids:
|
|
2252
|
-
pcb_component_ids:
|
|
2253
|
-
subcircuit_id:
|
|
2258
|
+
error_type: z107.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
|
|
2259
|
+
pcb_port_ids: z107.array(z107.string()),
|
|
2260
|
+
pcb_component_ids: z107.array(z107.string()),
|
|
2261
|
+
subcircuit_id: z107.string().optional()
|
|
2254
2262
|
}).describe("Defines an error when a pcb port is not connected to any trace");
|
|
2255
2263
|
expectTypesMatch(
|
|
2256
2264
|
true
|
|
2257
2265
|
);
|
|
2258
2266
|
|
|
2259
2267
|
// src/pcb/pcb_net.ts
|
|
2260
|
-
import { z as
|
|
2261
|
-
var pcb_net =
|
|
2262
|
-
type:
|
|
2268
|
+
import { z as z108 } from "zod";
|
|
2269
|
+
var pcb_net = z108.object({
|
|
2270
|
+
type: z108.literal("pcb_net"),
|
|
2263
2271
|
pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
|
|
2264
|
-
source_net_id:
|
|
2265
|
-
highlight_color:
|
|
2272
|
+
source_net_id: z108.string().optional(),
|
|
2273
|
+
highlight_color: z108.string().optional()
|
|
2266
2274
|
}).describe("Defines a net on the PCB");
|
|
2267
2275
|
expectTypesMatch(true);
|
|
2268
2276
|
|
|
2269
2277
|
// src/pcb/pcb_via.ts
|
|
2270
|
-
import { z as
|
|
2271
|
-
var pcb_via =
|
|
2272
|
-
type:
|
|
2278
|
+
import { z as z109 } from "zod";
|
|
2279
|
+
var pcb_via = z109.object({
|
|
2280
|
+
type: z109.literal("pcb_via"),
|
|
2273
2281
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
2274
|
-
pcb_group_id:
|
|
2275
|
-
subcircuit_id:
|
|
2276
|
-
subcircuit_connectivity_map_key:
|
|
2282
|
+
pcb_group_id: z109.string().optional(),
|
|
2283
|
+
subcircuit_id: z109.string().optional(),
|
|
2284
|
+
subcircuit_connectivity_map_key: z109.string().optional(),
|
|
2277
2285
|
x: distance,
|
|
2278
2286
|
y: distance,
|
|
2279
2287
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -2282,103 +2290,103 @@ var pcb_via = z108.object({
|
|
|
2282
2290
|
from_layer: layer_ref.optional(),
|
|
2283
2291
|
/** @deprecated */
|
|
2284
2292
|
to_layer: layer_ref.optional(),
|
|
2285
|
-
layers:
|
|
2286
|
-
pcb_trace_id:
|
|
2287
|
-
net_is_assignable:
|
|
2288
|
-
net_assigned:
|
|
2289
|
-
is_tented:
|
|
2293
|
+
layers: z109.array(layer_ref),
|
|
2294
|
+
pcb_trace_id: z109.string().optional(),
|
|
2295
|
+
net_is_assignable: z109.boolean().optional(),
|
|
2296
|
+
net_assigned: z109.boolean().optional(),
|
|
2297
|
+
is_tented: z109.boolean().optional()
|
|
2290
2298
|
}).describe("Defines a via on the PCB");
|
|
2291
2299
|
expectTypesMatch(true);
|
|
2292
2300
|
|
|
2293
2301
|
// src/pcb/pcb_board.ts
|
|
2294
|
-
import { z as
|
|
2295
|
-
var pcb_board =
|
|
2296
|
-
type:
|
|
2302
|
+
import { z as z110 } from "zod";
|
|
2303
|
+
var pcb_board = z110.object({
|
|
2304
|
+
type: z110.literal("pcb_board"),
|
|
2297
2305
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
2298
|
-
pcb_panel_id:
|
|
2299
|
-
carrier_pcb_board_id:
|
|
2300
|
-
is_subcircuit:
|
|
2301
|
-
subcircuit_id:
|
|
2302
|
-
is_mounted_to_carrier_board:
|
|
2306
|
+
pcb_panel_id: z110.string().optional(),
|
|
2307
|
+
carrier_pcb_board_id: z110.string().optional(),
|
|
2308
|
+
is_subcircuit: z110.boolean().optional(),
|
|
2309
|
+
subcircuit_id: z110.string().optional(),
|
|
2310
|
+
is_mounted_to_carrier_board: z110.boolean().optional(),
|
|
2303
2311
|
width: length.optional(),
|
|
2304
2312
|
height: length.optional(),
|
|
2305
2313
|
center: point,
|
|
2306
|
-
display_offset_x:
|
|
2314
|
+
display_offset_x: z110.string().optional().describe(
|
|
2307
2315
|
"How to display the x offset for this board, usually corresponding with how the user specified it"
|
|
2308
2316
|
),
|
|
2309
|
-
display_offset_y:
|
|
2317
|
+
display_offset_y: z110.string().optional().describe(
|
|
2310
2318
|
"How to display the y offset for this board, usually corresponding with how the user specified it"
|
|
2311
2319
|
),
|
|
2312
2320
|
thickness: length.optional().default(1.4),
|
|
2313
|
-
num_layers:
|
|
2314
|
-
outline:
|
|
2315
|
-
shape:
|
|
2316
|
-
material:
|
|
2317
|
-
solder_mask_color:
|
|
2318
|
-
silkscreen_color:
|
|
2321
|
+
num_layers: z110.number().optional().default(4),
|
|
2322
|
+
outline: z110.array(point).optional(),
|
|
2323
|
+
shape: z110.enum(["rect", "polygon"]).optional(),
|
|
2324
|
+
material: z110.enum(["fr4", "fr1"]).default("fr4"),
|
|
2325
|
+
solder_mask_color: z110.string().optional(),
|
|
2326
|
+
silkscreen_color: z110.string().optional(),
|
|
2319
2327
|
anchor_position: point.optional(),
|
|
2320
2328
|
anchor_alignment: ninePointAnchor.optional(),
|
|
2321
|
-
position_mode:
|
|
2329
|
+
position_mode: z110.enum(["relative_to_panel_anchor", "none"]).optional()
|
|
2322
2330
|
}).merge(manufacturing_drc_properties).describe("Defines the board outline of the PCB");
|
|
2323
2331
|
expectTypesMatch(true);
|
|
2324
2332
|
|
|
2325
2333
|
// src/pcb/pcb_panel.ts
|
|
2326
|
-
import { z as
|
|
2327
|
-
var pcb_panel =
|
|
2328
|
-
type:
|
|
2334
|
+
import { z as z111 } from "zod";
|
|
2335
|
+
var pcb_panel = z111.object({
|
|
2336
|
+
type: z111.literal("pcb_panel"),
|
|
2329
2337
|
pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
|
|
2330
2338
|
width: length,
|
|
2331
2339
|
height: length,
|
|
2332
2340
|
center: point,
|
|
2333
2341
|
thickness: length.optional().default(1.4),
|
|
2334
|
-
covered_with_solder_mask:
|
|
2342
|
+
covered_with_solder_mask: z111.boolean().optional().default(true)
|
|
2335
2343
|
}).describe("Defines a PCB panel that can contain multiple boards");
|
|
2336
2344
|
expectTypesMatch(true);
|
|
2337
2345
|
|
|
2338
2346
|
// src/pcb/pcb_placement_error.ts
|
|
2339
|
-
import { z as
|
|
2347
|
+
import { z as z112 } from "zod";
|
|
2340
2348
|
var pcb_placement_error = base_circuit_json_error.extend({
|
|
2341
|
-
type:
|
|
2349
|
+
type: z112.literal("pcb_placement_error"),
|
|
2342
2350
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
2343
|
-
error_type:
|
|
2344
|
-
subcircuit_id:
|
|
2351
|
+
error_type: z112.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
2352
|
+
subcircuit_id: z112.string().optional()
|
|
2345
2353
|
}).describe("Defines a placement error on the PCB");
|
|
2346
2354
|
expectTypesMatch(true);
|
|
2347
2355
|
|
|
2348
2356
|
// src/pcb/pcb_panelization_placement_error.ts
|
|
2349
|
-
import { z as
|
|
2357
|
+
import { z as z113 } from "zod";
|
|
2350
2358
|
var pcb_panelization_placement_error = base_circuit_json_error.extend({
|
|
2351
|
-
type:
|
|
2359
|
+
type: z113.literal("pcb_panelization_placement_error"),
|
|
2352
2360
|
pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault(
|
|
2353
2361
|
"pcb_panelization_placement_error"
|
|
2354
2362
|
),
|
|
2355
|
-
error_type:
|
|
2356
|
-
pcb_panel_id:
|
|
2357
|
-
pcb_board_id:
|
|
2358
|
-
subcircuit_id:
|
|
2363
|
+
error_type: z113.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
|
|
2364
|
+
pcb_panel_id: z113.string().optional(),
|
|
2365
|
+
pcb_board_id: z113.string().optional(),
|
|
2366
|
+
subcircuit_id: z113.string().optional()
|
|
2359
2367
|
}).describe("Defines a panelization placement error on the PCB");
|
|
2360
2368
|
expectTypesMatch(true);
|
|
2361
2369
|
|
|
2362
2370
|
// src/pcb/pcb_trace_hint.ts
|
|
2363
|
-
import { z as
|
|
2364
|
-
var pcb_trace_hint =
|
|
2365
|
-
type:
|
|
2371
|
+
import { z as z114 } from "zod";
|
|
2372
|
+
var pcb_trace_hint = z114.object({
|
|
2373
|
+
type: z114.literal("pcb_trace_hint"),
|
|
2366
2374
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
2367
|
-
pcb_port_id:
|
|
2368
|
-
pcb_component_id:
|
|
2369
|
-
route:
|
|
2370
|
-
subcircuit_id:
|
|
2375
|
+
pcb_port_id: z114.string(),
|
|
2376
|
+
pcb_component_id: z114.string(),
|
|
2377
|
+
route: z114.array(route_hint_point),
|
|
2378
|
+
subcircuit_id: z114.string().optional()
|
|
2371
2379
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
2372
2380
|
expectTypesMatch(true);
|
|
2373
2381
|
|
|
2374
2382
|
// src/pcb/pcb_silkscreen_line.ts
|
|
2375
|
-
import { z as
|
|
2376
|
-
var pcb_silkscreen_line =
|
|
2377
|
-
type:
|
|
2383
|
+
import { z as z115 } from "zod";
|
|
2384
|
+
var pcb_silkscreen_line = z115.object({
|
|
2385
|
+
type: z115.literal("pcb_silkscreen_line"),
|
|
2378
2386
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
2379
|
-
pcb_component_id:
|
|
2380
|
-
pcb_group_id:
|
|
2381
|
-
subcircuit_id:
|
|
2387
|
+
pcb_component_id: z115.string(),
|
|
2388
|
+
pcb_group_id: z115.string().optional(),
|
|
2389
|
+
subcircuit_id: z115.string().optional(),
|
|
2382
2390
|
stroke_width: distance.default("0.1mm"),
|
|
2383
2391
|
x1: distance,
|
|
2384
2392
|
y1: distance,
|
|
@@ -2389,32 +2397,32 @@ var pcb_silkscreen_line = z114.object({
|
|
|
2389
2397
|
expectTypesMatch(true);
|
|
2390
2398
|
|
|
2391
2399
|
// src/pcb/pcb_silkscreen_path.ts
|
|
2392
|
-
import { z as
|
|
2393
|
-
var pcb_silkscreen_path =
|
|
2394
|
-
type:
|
|
2400
|
+
import { z as z116 } from "zod";
|
|
2401
|
+
var pcb_silkscreen_path = z116.object({
|
|
2402
|
+
type: z116.literal("pcb_silkscreen_path"),
|
|
2395
2403
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
2396
|
-
pcb_component_id:
|
|
2397
|
-
pcb_group_id:
|
|
2398
|
-
subcircuit_id:
|
|
2404
|
+
pcb_component_id: z116.string(),
|
|
2405
|
+
pcb_group_id: z116.string().optional(),
|
|
2406
|
+
subcircuit_id: z116.string().optional(),
|
|
2399
2407
|
layer: visible_layer,
|
|
2400
|
-
route:
|
|
2408
|
+
route: z116.array(point),
|
|
2401
2409
|
stroke_width: length
|
|
2402
2410
|
}).describe("Defines a silkscreen path on the PCB");
|
|
2403
2411
|
expectTypesMatch(true);
|
|
2404
2412
|
|
|
2405
2413
|
// src/pcb/pcb_silkscreen_text.ts
|
|
2406
|
-
import { z as
|
|
2407
|
-
var pcb_silkscreen_text =
|
|
2408
|
-
type:
|
|
2414
|
+
import { z as z117 } from "zod";
|
|
2415
|
+
var pcb_silkscreen_text = z117.object({
|
|
2416
|
+
type: z117.literal("pcb_silkscreen_text"),
|
|
2409
2417
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
2410
|
-
pcb_group_id:
|
|
2411
|
-
subcircuit_id:
|
|
2412
|
-
font:
|
|
2418
|
+
pcb_group_id: z117.string().optional(),
|
|
2419
|
+
subcircuit_id: z117.string().optional(),
|
|
2420
|
+
font: z117.literal("tscircuit2024").default("tscircuit2024"),
|
|
2413
2421
|
font_size: distance.default("0.2mm"),
|
|
2414
|
-
pcb_component_id:
|
|
2415
|
-
text:
|
|
2416
|
-
is_knockout:
|
|
2417
|
-
knockout_padding:
|
|
2422
|
+
pcb_component_id: z117.string(),
|
|
2423
|
+
text: z117.string(),
|
|
2424
|
+
is_knockout: z117.boolean().default(false).optional(),
|
|
2425
|
+
knockout_padding: z117.object({
|
|
2418
2426
|
left: length,
|
|
2419
2427
|
top: length,
|
|
2420
2428
|
bottom: length,
|
|
@@ -2425,27 +2433,27 @@ var pcb_silkscreen_text = z116.object({
|
|
|
2425
2433
|
bottom: "0.2mm",
|
|
2426
2434
|
right: "0.2mm"
|
|
2427
2435
|
}).optional(),
|
|
2428
|
-
ccw_rotation:
|
|
2436
|
+
ccw_rotation: z117.number().optional(),
|
|
2429
2437
|
layer: layer_ref,
|
|
2430
|
-
is_mirrored:
|
|
2438
|
+
is_mirrored: z117.boolean().default(false).optional(),
|
|
2431
2439
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2432
2440
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2433
2441
|
}).describe("Defines silkscreen text on the PCB");
|
|
2434
2442
|
expectTypesMatch(true);
|
|
2435
2443
|
|
|
2436
2444
|
// src/pcb/pcb_copper_text.ts
|
|
2437
|
-
import { z as
|
|
2438
|
-
var pcb_copper_text =
|
|
2439
|
-
type:
|
|
2445
|
+
import { z as z118 } from "zod";
|
|
2446
|
+
var pcb_copper_text = z118.object({
|
|
2447
|
+
type: z118.literal("pcb_copper_text"),
|
|
2440
2448
|
pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
|
|
2441
|
-
pcb_group_id:
|
|
2442
|
-
subcircuit_id:
|
|
2443
|
-
font:
|
|
2449
|
+
pcb_group_id: z118.string().optional(),
|
|
2450
|
+
subcircuit_id: z118.string().optional(),
|
|
2451
|
+
font: z118.literal("tscircuit2024").default("tscircuit2024"),
|
|
2444
2452
|
font_size: distance.default("0.2mm"),
|
|
2445
|
-
pcb_component_id:
|
|
2446
|
-
text:
|
|
2447
|
-
is_knockout:
|
|
2448
|
-
knockout_padding:
|
|
2453
|
+
pcb_component_id: z118.string(),
|
|
2454
|
+
text: z118.string(),
|
|
2455
|
+
is_knockout: z118.boolean().default(false).optional(),
|
|
2456
|
+
knockout_padding: z118.object({
|
|
2449
2457
|
left: length,
|
|
2450
2458
|
top: length,
|
|
2451
2459
|
bottom: length,
|
|
@@ -2456,61 +2464,61 @@ var pcb_copper_text = z117.object({
|
|
|
2456
2464
|
bottom: "0.2mm",
|
|
2457
2465
|
right: "0.2mm"
|
|
2458
2466
|
}).optional(),
|
|
2459
|
-
ccw_rotation:
|
|
2467
|
+
ccw_rotation: z118.number().optional(),
|
|
2460
2468
|
layer: layer_ref,
|
|
2461
|
-
is_mirrored:
|
|
2469
|
+
is_mirrored: z118.boolean().default(false).optional(),
|
|
2462
2470
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2463
2471
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2464
2472
|
}).describe("Defines copper text on the PCB");
|
|
2465
2473
|
expectTypesMatch(true);
|
|
2466
2474
|
|
|
2467
2475
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
2468
|
-
import { z as
|
|
2469
|
-
var pcb_silkscreen_rect =
|
|
2470
|
-
type:
|
|
2476
|
+
import { z as z119 } from "zod";
|
|
2477
|
+
var pcb_silkscreen_rect = z119.object({
|
|
2478
|
+
type: z119.literal("pcb_silkscreen_rect"),
|
|
2471
2479
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
2472
|
-
pcb_component_id:
|
|
2473
|
-
pcb_group_id:
|
|
2474
|
-
subcircuit_id:
|
|
2480
|
+
pcb_component_id: z119.string(),
|
|
2481
|
+
pcb_group_id: z119.string().optional(),
|
|
2482
|
+
subcircuit_id: z119.string().optional(),
|
|
2475
2483
|
center: point,
|
|
2476
2484
|
width: length,
|
|
2477
2485
|
height: length,
|
|
2478
2486
|
layer: layer_ref,
|
|
2479
2487
|
stroke_width: length.default("1mm"),
|
|
2480
2488
|
corner_radius: length.optional(),
|
|
2481
|
-
is_filled:
|
|
2482
|
-
has_stroke:
|
|
2483
|
-
is_stroke_dashed:
|
|
2484
|
-
ccw_rotation:
|
|
2489
|
+
is_filled: z119.boolean().default(true).optional(),
|
|
2490
|
+
has_stroke: z119.boolean().optional(),
|
|
2491
|
+
is_stroke_dashed: z119.boolean().optional(),
|
|
2492
|
+
ccw_rotation: z119.number().optional()
|
|
2485
2493
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
2486
2494
|
expectTypesMatch(true);
|
|
2487
2495
|
|
|
2488
2496
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
2489
|
-
import { z as
|
|
2490
|
-
var pcb_silkscreen_circle =
|
|
2491
|
-
type:
|
|
2497
|
+
import { z as z120 } from "zod";
|
|
2498
|
+
var pcb_silkscreen_circle = z120.object({
|
|
2499
|
+
type: z120.literal("pcb_silkscreen_circle"),
|
|
2492
2500
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
2493
2501
|
"pcb_silkscreen_circle"
|
|
2494
2502
|
),
|
|
2495
|
-
pcb_component_id:
|
|
2496
|
-
pcb_group_id:
|
|
2497
|
-
subcircuit_id:
|
|
2503
|
+
pcb_component_id: z120.string(),
|
|
2504
|
+
pcb_group_id: z120.string().optional(),
|
|
2505
|
+
subcircuit_id: z120.string().optional(),
|
|
2498
2506
|
center: point,
|
|
2499
2507
|
radius: length,
|
|
2500
2508
|
layer: visible_layer,
|
|
2501
2509
|
stroke_width: length.default("1mm"),
|
|
2502
|
-
is_filled:
|
|
2510
|
+
is_filled: z120.boolean().optional()
|
|
2503
2511
|
}).describe("Defines a silkscreen circle on the PCB");
|
|
2504
2512
|
expectTypesMatch(true);
|
|
2505
2513
|
|
|
2506
2514
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
2507
|
-
import { z as
|
|
2508
|
-
var pcb_silkscreen_oval =
|
|
2509
|
-
type:
|
|
2515
|
+
import { z as z121 } from "zod";
|
|
2516
|
+
var pcb_silkscreen_oval = z121.object({
|
|
2517
|
+
type: z121.literal("pcb_silkscreen_oval"),
|
|
2510
2518
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
2511
|
-
pcb_component_id:
|
|
2512
|
-
pcb_group_id:
|
|
2513
|
-
subcircuit_id:
|
|
2519
|
+
pcb_component_id: z121.string(),
|
|
2520
|
+
pcb_group_id: z121.string().optional(),
|
|
2521
|
+
subcircuit_id: z121.string().optional(),
|
|
2514
2522
|
center: point,
|
|
2515
2523
|
radius_x: distance,
|
|
2516
2524
|
radius_y: distance,
|
|
@@ -2520,265 +2528,265 @@ var pcb_silkscreen_oval = z120.object({
|
|
|
2520
2528
|
expectTypesMatch(true);
|
|
2521
2529
|
|
|
2522
2530
|
// src/pcb/pcb_silkscreen_graphic.ts
|
|
2523
|
-
import { z as
|
|
2524
|
-
var pcb_silkscreen_graphic_base =
|
|
2525
|
-
type:
|
|
2531
|
+
import { z as z122 } from "zod";
|
|
2532
|
+
var pcb_silkscreen_graphic_base = z122.object({
|
|
2533
|
+
type: z122.literal("pcb_silkscreen_graphic"),
|
|
2526
2534
|
pcb_silkscreen_graphic_id: getZodPrefixedIdWithDefault(
|
|
2527
2535
|
"pcb_silkscreen_graphic"
|
|
2528
2536
|
),
|
|
2529
|
-
pcb_component_id:
|
|
2530
|
-
pcb_group_id:
|
|
2531
|
-
subcircuit_id:
|
|
2537
|
+
pcb_component_id: z122.string(),
|
|
2538
|
+
pcb_group_id: z122.string().optional(),
|
|
2539
|
+
subcircuit_id: z122.string().optional(),
|
|
2532
2540
|
layer: visible_layer,
|
|
2533
2541
|
image_asset: asset.optional()
|
|
2534
2542
|
});
|
|
2535
2543
|
var pcb_silkscreen_graphic_brep = pcb_silkscreen_graphic_base.extend({
|
|
2536
|
-
shape:
|
|
2544
|
+
shape: z122.literal("brep"),
|
|
2537
2545
|
brep_shape
|
|
2538
2546
|
}).describe("Defines a BRep silkscreen graphic on the PCB");
|
|
2539
2547
|
expectTypesMatch(
|
|
2540
2548
|
true
|
|
2541
2549
|
);
|
|
2542
|
-
var pcb_silkscreen_graphic =
|
|
2550
|
+
var pcb_silkscreen_graphic = z122.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
|
|
2543
2551
|
expectTypesMatch(true);
|
|
2544
2552
|
|
|
2545
2553
|
// src/pcb/pcb_silkscreen_pill.ts
|
|
2546
|
-
import { z as
|
|
2547
|
-
var pcb_silkscreen_pill =
|
|
2548
|
-
type:
|
|
2554
|
+
import { z as z123 } from "zod";
|
|
2555
|
+
var pcb_silkscreen_pill = z123.object({
|
|
2556
|
+
type: z123.literal("pcb_silkscreen_pill"),
|
|
2549
2557
|
pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
|
|
2550
|
-
pcb_component_id:
|
|
2551
|
-
pcb_group_id:
|
|
2552
|
-
subcircuit_id:
|
|
2558
|
+
pcb_component_id: z123.string(),
|
|
2559
|
+
pcb_group_id: z123.string().optional(),
|
|
2560
|
+
subcircuit_id: z123.string().optional(),
|
|
2553
2561
|
center: point,
|
|
2554
2562
|
width: length,
|
|
2555
2563
|
height: length,
|
|
2556
2564
|
layer: layer_ref,
|
|
2557
|
-
ccw_rotation:
|
|
2565
|
+
ccw_rotation: z123.number().optional()
|
|
2558
2566
|
}).describe("Defines a silkscreen pill on the PCB");
|
|
2559
2567
|
expectTypesMatch(true);
|
|
2560
2568
|
|
|
2561
2569
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
2562
|
-
import { z as
|
|
2563
|
-
var pcb_fabrication_note_text =
|
|
2564
|
-
type:
|
|
2570
|
+
import { z as z124 } from "zod";
|
|
2571
|
+
var pcb_fabrication_note_text = z124.object({
|
|
2572
|
+
type: z124.literal("pcb_fabrication_note_text"),
|
|
2565
2573
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
2566
2574
|
"pcb_fabrication_note_text"
|
|
2567
2575
|
),
|
|
2568
|
-
subcircuit_id:
|
|
2569
|
-
pcb_group_id:
|
|
2570
|
-
font:
|
|
2576
|
+
subcircuit_id: z124.string().optional(),
|
|
2577
|
+
pcb_group_id: z124.string().optional(),
|
|
2578
|
+
font: z124.literal("tscircuit2024").default("tscircuit2024"),
|
|
2571
2579
|
font_size: distance.default("1mm"),
|
|
2572
|
-
pcb_component_id:
|
|
2573
|
-
text:
|
|
2574
|
-
ccw_rotation:
|
|
2580
|
+
pcb_component_id: z124.string(),
|
|
2581
|
+
text: z124.string(),
|
|
2582
|
+
ccw_rotation: z124.number().optional(),
|
|
2575
2583
|
layer: visible_layer,
|
|
2576
2584
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2577
|
-
anchor_alignment:
|
|
2578
|
-
color:
|
|
2585
|
+
anchor_alignment: z124.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2586
|
+
color: z124.string().optional()
|
|
2579
2587
|
}).describe(
|
|
2580
2588
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
2581
2589
|
);
|
|
2582
2590
|
expectTypesMatch(true);
|
|
2583
2591
|
|
|
2584
2592
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
2585
|
-
import { z as
|
|
2586
|
-
var pcb_fabrication_note_path =
|
|
2587
|
-
type:
|
|
2593
|
+
import { z as z125 } from "zod";
|
|
2594
|
+
var pcb_fabrication_note_path = z125.object({
|
|
2595
|
+
type: z125.literal("pcb_fabrication_note_path"),
|
|
2588
2596
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
2589
2597
|
"pcb_fabrication_note_path"
|
|
2590
2598
|
),
|
|
2591
|
-
pcb_component_id:
|
|
2592
|
-
subcircuit_id:
|
|
2599
|
+
pcb_component_id: z125.string(),
|
|
2600
|
+
subcircuit_id: z125.string().optional(),
|
|
2593
2601
|
layer: layer_ref,
|
|
2594
|
-
route:
|
|
2602
|
+
route: z125.array(point),
|
|
2595
2603
|
stroke_width: length,
|
|
2596
|
-
color:
|
|
2604
|
+
color: z125.string().optional()
|
|
2597
2605
|
}).describe(
|
|
2598
2606
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
2599
2607
|
);
|
|
2600
2608
|
expectTypesMatch(true);
|
|
2601
2609
|
|
|
2602
2610
|
// src/pcb/pcb_fabrication_note_rect.ts
|
|
2603
|
-
import { z as
|
|
2604
|
-
var pcb_fabrication_note_rect =
|
|
2605
|
-
type:
|
|
2611
|
+
import { z as z126 } from "zod";
|
|
2612
|
+
var pcb_fabrication_note_rect = z126.object({
|
|
2613
|
+
type: z126.literal("pcb_fabrication_note_rect"),
|
|
2606
2614
|
pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
|
|
2607
2615
|
"pcb_fabrication_note_rect"
|
|
2608
2616
|
),
|
|
2609
|
-
pcb_component_id:
|
|
2610
|
-
pcb_group_id:
|
|
2611
|
-
subcircuit_id:
|
|
2617
|
+
pcb_component_id: z126.string(),
|
|
2618
|
+
pcb_group_id: z126.string().optional(),
|
|
2619
|
+
subcircuit_id: z126.string().optional(),
|
|
2612
2620
|
center: point,
|
|
2613
2621
|
width: length,
|
|
2614
2622
|
height: length,
|
|
2615
2623
|
layer: visible_layer,
|
|
2616
2624
|
stroke_width: length.default("0.1mm"),
|
|
2617
2625
|
corner_radius: length.optional(),
|
|
2618
|
-
is_filled:
|
|
2619
|
-
has_stroke:
|
|
2620
|
-
is_stroke_dashed:
|
|
2621
|
-
color:
|
|
2626
|
+
is_filled: z126.boolean().optional(),
|
|
2627
|
+
has_stroke: z126.boolean().optional(),
|
|
2628
|
+
is_stroke_dashed: z126.boolean().optional(),
|
|
2629
|
+
color: z126.string().optional()
|
|
2622
2630
|
}).describe("Defines a fabrication note rectangle on the PCB");
|
|
2623
2631
|
expectTypesMatch(true);
|
|
2624
2632
|
|
|
2625
2633
|
// src/pcb/pcb_fabrication_note_dimension.ts
|
|
2626
|
-
import { z as
|
|
2627
|
-
var pcb_fabrication_note_dimension =
|
|
2628
|
-
type:
|
|
2634
|
+
import { z as z127 } from "zod";
|
|
2635
|
+
var pcb_fabrication_note_dimension = z127.object({
|
|
2636
|
+
type: z127.literal("pcb_fabrication_note_dimension"),
|
|
2629
2637
|
pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
|
|
2630
2638
|
"pcb_fabrication_note_dimension"
|
|
2631
2639
|
),
|
|
2632
|
-
pcb_component_id:
|
|
2633
|
-
pcb_group_id:
|
|
2634
|
-
subcircuit_id:
|
|
2640
|
+
pcb_component_id: z127.string(),
|
|
2641
|
+
pcb_group_id: z127.string().optional(),
|
|
2642
|
+
subcircuit_id: z127.string().optional(),
|
|
2635
2643
|
layer: visible_layer,
|
|
2636
2644
|
from: point,
|
|
2637
2645
|
to: point,
|
|
2638
|
-
text:
|
|
2639
|
-
text_ccw_rotation:
|
|
2646
|
+
text: z127.string().optional(),
|
|
2647
|
+
text_ccw_rotation: z127.number().optional(),
|
|
2640
2648
|
offset: length.optional(),
|
|
2641
2649
|
offset_distance: length.optional(),
|
|
2642
|
-
offset_direction:
|
|
2643
|
-
x:
|
|
2644
|
-
y:
|
|
2650
|
+
offset_direction: z127.object({
|
|
2651
|
+
x: z127.number(),
|
|
2652
|
+
y: z127.number()
|
|
2645
2653
|
}).optional(),
|
|
2646
|
-
font:
|
|
2654
|
+
font: z127.literal("tscircuit2024").default("tscircuit2024"),
|
|
2647
2655
|
font_size: length.default("1mm"),
|
|
2648
|
-
color:
|
|
2656
|
+
color: z127.string().optional(),
|
|
2649
2657
|
arrow_size: length.default("1mm")
|
|
2650
2658
|
}).describe("Defines a measurement annotation within PCB fabrication notes");
|
|
2651
2659
|
expectTypesMatch(true);
|
|
2652
2660
|
|
|
2653
2661
|
// src/pcb/pcb_note_text.ts
|
|
2654
|
-
import { z as z127 } from "zod";
|
|
2655
|
-
var pcb_note_text = z127.object({
|
|
2656
|
-
type: z127.literal("pcb_note_text"),
|
|
2657
|
-
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2658
|
-
pcb_component_id: z127.string().optional(),
|
|
2659
|
-
pcb_group_id: z127.string().optional(),
|
|
2660
|
-
subcircuit_id: z127.string().optional(),
|
|
2661
|
-
name: z127.string().optional(),
|
|
2662
|
-
font: z127.literal("tscircuit2024").default("tscircuit2024"),
|
|
2663
|
-
font_size: distance.default("1mm"),
|
|
2664
|
-
text: z127.string().optional(),
|
|
2665
|
-
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2666
|
-
anchor_alignment: z127.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2667
|
-
layer: visible_layer.default("top"),
|
|
2668
|
-
is_mirrored_from_top_view: z127.boolean().optional(),
|
|
2669
|
-
color: z127.string().optional()
|
|
2670
|
-
}).describe("Defines a documentation note in text on the PCB");
|
|
2671
|
-
expectTypesMatch(true);
|
|
2672
|
-
|
|
2673
|
-
// src/pcb/pcb_note_rect.ts
|
|
2674
2662
|
import { z as z128 } from "zod";
|
|
2675
|
-
var
|
|
2676
|
-
type: z128.literal("
|
|
2677
|
-
|
|
2663
|
+
var pcb_note_text = z128.object({
|
|
2664
|
+
type: z128.literal("pcb_note_text"),
|
|
2665
|
+
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2678
2666
|
pcb_component_id: z128.string().optional(),
|
|
2679
2667
|
pcb_group_id: z128.string().optional(),
|
|
2680
2668
|
subcircuit_id: z128.string().optional(),
|
|
2681
2669
|
name: z128.string().optional(),
|
|
2670
|
+
font: z128.literal("tscircuit2024").default("tscircuit2024"),
|
|
2671
|
+
font_size: distance.default("1mm"),
|
|
2682
2672
|
text: z128.string().optional(),
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
height: length,
|
|
2673
|
+
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2674
|
+
anchor_alignment: z128.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2686
2675
|
layer: visible_layer.default("top"),
|
|
2687
|
-
|
|
2688
|
-
corner_radius: length.optional(),
|
|
2689
|
-
is_filled: z128.boolean().optional(),
|
|
2690
|
-
has_stroke: z128.boolean().optional(),
|
|
2691
|
-
is_stroke_dashed: z128.boolean().optional(),
|
|
2676
|
+
is_mirrored_from_top_view: z128.boolean().optional(),
|
|
2692
2677
|
color: z128.string().optional()
|
|
2693
|
-
}).describe("Defines a
|
|
2678
|
+
}).describe("Defines a documentation note in text on the PCB");
|
|
2694
2679
|
expectTypesMatch(true);
|
|
2695
2680
|
|
|
2696
|
-
// src/pcb/
|
|
2681
|
+
// src/pcb/pcb_note_rect.ts
|
|
2697
2682
|
import { z as z129 } from "zod";
|
|
2698
|
-
var
|
|
2699
|
-
type: z129.literal("
|
|
2700
|
-
|
|
2683
|
+
var pcb_note_rect = z129.object({
|
|
2684
|
+
type: z129.literal("pcb_note_rect"),
|
|
2685
|
+
pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
|
|
2701
2686
|
pcb_component_id: z129.string().optional(),
|
|
2702
2687
|
pcb_group_id: z129.string().optional(),
|
|
2703
2688
|
subcircuit_id: z129.string().optional(),
|
|
2704
2689
|
name: z129.string().optional(),
|
|
2705
2690
|
text: z129.string().optional(),
|
|
2706
|
-
|
|
2691
|
+
center: point,
|
|
2692
|
+
width: length,
|
|
2693
|
+
height: length,
|
|
2707
2694
|
layer: visible_layer.default("top"),
|
|
2708
2695
|
stroke_width: length.default("0.1mm"),
|
|
2696
|
+
corner_radius: length.optional(),
|
|
2697
|
+
is_filled: z129.boolean().optional(),
|
|
2698
|
+
has_stroke: z129.boolean().optional(),
|
|
2699
|
+
is_stroke_dashed: z129.boolean().optional(),
|
|
2709
2700
|
color: z129.string().optional()
|
|
2710
|
-
}).describe("Defines a
|
|
2701
|
+
}).describe("Defines a rectangular documentation note on the PCB");
|
|
2711
2702
|
expectTypesMatch(true);
|
|
2712
2703
|
|
|
2713
|
-
// src/pcb/
|
|
2704
|
+
// src/pcb/pcb_note_path.ts
|
|
2714
2705
|
import { z as z130 } from "zod";
|
|
2715
|
-
var
|
|
2716
|
-
type: z130.literal("
|
|
2717
|
-
|
|
2706
|
+
var pcb_note_path = z130.object({
|
|
2707
|
+
type: z130.literal("pcb_note_path"),
|
|
2708
|
+
pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
|
|
2718
2709
|
pcb_component_id: z130.string().optional(),
|
|
2719
2710
|
pcb_group_id: z130.string().optional(),
|
|
2720
2711
|
subcircuit_id: z130.string().optional(),
|
|
2721
2712
|
name: z130.string().optional(),
|
|
2722
2713
|
text: z130.string().optional(),
|
|
2714
|
+
route: z130.array(point),
|
|
2715
|
+
layer: visible_layer.default("top"),
|
|
2716
|
+
stroke_width: length.default("0.1mm"),
|
|
2717
|
+
color: z130.string().optional()
|
|
2718
|
+
}).describe("Defines a polyline documentation note on the PCB");
|
|
2719
|
+
expectTypesMatch(true);
|
|
2720
|
+
|
|
2721
|
+
// src/pcb/pcb_note_line.ts
|
|
2722
|
+
import { z as z131 } from "zod";
|
|
2723
|
+
var pcb_note_line = z131.object({
|
|
2724
|
+
type: z131.literal("pcb_note_line"),
|
|
2725
|
+
pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
|
|
2726
|
+
pcb_component_id: z131.string().optional(),
|
|
2727
|
+
pcb_group_id: z131.string().optional(),
|
|
2728
|
+
subcircuit_id: z131.string().optional(),
|
|
2729
|
+
name: z131.string().optional(),
|
|
2730
|
+
text: z131.string().optional(),
|
|
2723
2731
|
x1: distance,
|
|
2724
2732
|
y1: distance,
|
|
2725
2733
|
x2: distance,
|
|
2726
2734
|
y2: distance,
|
|
2727
2735
|
layer: visible_layer.default("top"),
|
|
2728
2736
|
stroke_width: distance.default("0.1mm"),
|
|
2729
|
-
color:
|
|
2730
|
-
is_dashed:
|
|
2737
|
+
color: z131.string().optional(),
|
|
2738
|
+
is_dashed: z131.boolean().optional()
|
|
2731
2739
|
}).describe("Defines a straight documentation note line on the PCB");
|
|
2732
2740
|
expectTypesMatch(true);
|
|
2733
2741
|
|
|
2734
2742
|
// src/pcb/pcb_note_dimension.ts
|
|
2735
|
-
import { z as
|
|
2736
|
-
var pcb_note_dimension =
|
|
2737
|
-
type:
|
|
2743
|
+
import { z as z132 } from "zod";
|
|
2744
|
+
var pcb_note_dimension = z132.object({
|
|
2745
|
+
type: z132.literal("pcb_note_dimension"),
|
|
2738
2746
|
pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
|
|
2739
|
-
pcb_component_id:
|
|
2740
|
-
pcb_group_id:
|
|
2741
|
-
subcircuit_id:
|
|
2742
|
-
name:
|
|
2747
|
+
pcb_component_id: z132.string().optional(),
|
|
2748
|
+
pcb_group_id: z132.string().optional(),
|
|
2749
|
+
subcircuit_id: z132.string().optional(),
|
|
2750
|
+
name: z132.string().optional(),
|
|
2743
2751
|
from: point,
|
|
2744
2752
|
to: point,
|
|
2745
|
-
text:
|
|
2746
|
-
text_ccw_rotation:
|
|
2753
|
+
text: z132.string().optional(),
|
|
2754
|
+
text_ccw_rotation: z132.number().optional(),
|
|
2747
2755
|
offset_distance: length.optional(),
|
|
2748
|
-
offset_direction:
|
|
2749
|
-
x:
|
|
2750
|
-
y:
|
|
2756
|
+
offset_direction: z132.object({
|
|
2757
|
+
x: z132.number(),
|
|
2758
|
+
y: z132.number()
|
|
2751
2759
|
}).optional(),
|
|
2752
|
-
font:
|
|
2760
|
+
font: z132.literal("tscircuit2024").default("tscircuit2024"),
|
|
2753
2761
|
font_size: length.default("1mm"),
|
|
2754
2762
|
layer: visible_layer.default("top"),
|
|
2755
|
-
color:
|
|
2763
|
+
color: z132.string().optional(),
|
|
2756
2764
|
arrow_size: length.default("1mm")
|
|
2757
2765
|
}).describe("Defines a measurement annotation within PCB documentation notes");
|
|
2758
2766
|
expectTypesMatch(true);
|
|
2759
2767
|
|
|
2760
2768
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
2761
|
-
import { z as
|
|
2769
|
+
import { z as z133 } from "zod";
|
|
2762
2770
|
var pcb_footprint_overlap_error = base_circuit_json_error.extend({
|
|
2763
|
-
type:
|
|
2771
|
+
type: z133.literal("pcb_footprint_overlap_error"),
|
|
2764
2772
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2765
|
-
error_type:
|
|
2766
|
-
pcb_smtpad_ids:
|
|
2767
|
-
pcb_plated_hole_ids:
|
|
2768
|
-
pcb_hole_ids:
|
|
2769
|
-
pcb_keepout_ids:
|
|
2773
|
+
error_type: z133.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
2774
|
+
pcb_smtpad_ids: z133.array(z133.string()).optional(),
|
|
2775
|
+
pcb_plated_hole_ids: z133.array(z133.string()).optional(),
|
|
2776
|
+
pcb_hole_ids: z133.array(z133.string()).optional(),
|
|
2777
|
+
pcb_keepout_ids: z133.array(z133.string()).optional()
|
|
2770
2778
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
2771
2779
|
expectTypesMatch(
|
|
2772
2780
|
true
|
|
2773
2781
|
);
|
|
2774
2782
|
|
|
2775
2783
|
// src/pcb/pcb_courtyard_overlap_error.ts
|
|
2776
|
-
import { z as
|
|
2784
|
+
import { z as z134 } from "zod";
|
|
2777
2785
|
var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
|
|
2778
|
-
type:
|
|
2786
|
+
type: z134.literal("pcb_courtyard_overlap_error"),
|
|
2779
2787
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2780
|
-
error_type:
|
|
2781
|
-
pcb_component_ids:
|
|
2788
|
+
error_type: z134.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
|
|
2789
|
+
pcb_component_ids: z134.tuple([z134.string(), z134.string()])
|
|
2782
2790
|
}).describe(
|
|
2783
2791
|
"Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
|
|
2784
2792
|
);
|
|
@@ -2787,49 +2795,49 @@ expectTypesMatch(
|
|
|
2787
2795
|
);
|
|
2788
2796
|
|
|
2789
2797
|
// src/pcb/pcb_keepout.ts
|
|
2790
|
-
import { z as
|
|
2791
|
-
var pcb_keepout =
|
|
2792
|
-
type:
|
|
2793
|
-
shape:
|
|
2794
|
-
pcb_group_id:
|
|
2795
|
-
subcircuit_id:
|
|
2798
|
+
import { z as z135 } from "zod";
|
|
2799
|
+
var pcb_keepout = z135.object({
|
|
2800
|
+
type: z135.literal("pcb_keepout"),
|
|
2801
|
+
shape: z135.literal("rect"),
|
|
2802
|
+
pcb_group_id: z135.string().optional(),
|
|
2803
|
+
subcircuit_id: z135.string().optional(),
|
|
2796
2804
|
center: point,
|
|
2797
2805
|
width: distance,
|
|
2798
2806
|
height: distance,
|
|
2799
|
-
pcb_keepout_id:
|
|
2800
|
-
layers:
|
|
2807
|
+
pcb_keepout_id: z135.string(),
|
|
2808
|
+
layers: z135.array(z135.string()),
|
|
2801
2809
|
// Specify layers where the keepout applies
|
|
2802
|
-
description:
|
|
2810
|
+
description: z135.string().optional()
|
|
2803
2811
|
// Optional description of the keepout
|
|
2804
2812
|
}).or(
|
|
2805
|
-
|
|
2806
|
-
type:
|
|
2807
|
-
shape:
|
|
2808
|
-
pcb_group_id:
|
|
2809
|
-
subcircuit_id:
|
|
2813
|
+
z135.object({
|
|
2814
|
+
type: z135.literal("pcb_keepout"),
|
|
2815
|
+
shape: z135.literal("circle"),
|
|
2816
|
+
pcb_group_id: z135.string().optional(),
|
|
2817
|
+
subcircuit_id: z135.string().optional(),
|
|
2810
2818
|
center: point,
|
|
2811
2819
|
radius: distance,
|
|
2812
|
-
pcb_keepout_id:
|
|
2813
|
-
layers:
|
|
2820
|
+
pcb_keepout_id: z135.string(),
|
|
2821
|
+
layers: z135.array(z135.string()),
|
|
2814
2822
|
// Specify layers where the keepout applies
|
|
2815
|
-
description:
|
|
2823
|
+
description: z135.string().optional()
|
|
2816
2824
|
// Optional description of the keepout
|
|
2817
2825
|
})
|
|
2818
2826
|
);
|
|
2819
2827
|
expectTypesMatch(true);
|
|
2820
2828
|
|
|
2821
2829
|
// src/pcb/pcb_cutout.ts
|
|
2822
|
-
import { z as
|
|
2823
|
-
var pcb_cutout_base =
|
|
2824
|
-
type:
|
|
2830
|
+
import { z as z136 } from "zod";
|
|
2831
|
+
var pcb_cutout_base = z136.object({
|
|
2832
|
+
type: z136.literal("pcb_cutout"),
|
|
2825
2833
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
2826
|
-
pcb_group_id:
|
|
2827
|
-
subcircuit_id:
|
|
2828
|
-
pcb_board_id:
|
|
2829
|
-
pcb_panel_id:
|
|
2834
|
+
pcb_group_id: z136.string().optional(),
|
|
2835
|
+
subcircuit_id: z136.string().optional(),
|
|
2836
|
+
pcb_board_id: z136.string().optional(),
|
|
2837
|
+
pcb_panel_id: z136.string().optional()
|
|
2830
2838
|
});
|
|
2831
2839
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
2832
|
-
shape:
|
|
2840
|
+
shape: z136.literal("rect"),
|
|
2833
2841
|
center: point,
|
|
2834
2842
|
width: length,
|
|
2835
2843
|
height: length,
|
|
@@ -2838,26 +2846,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
2838
2846
|
});
|
|
2839
2847
|
expectTypesMatch(true);
|
|
2840
2848
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
2841
|
-
shape:
|
|
2849
|
+
shape: z136.literal("circle"),
|
|
2842
2850
|
center: point,
|
|
2843
2851
|
radius: length
|
|
2844
2852
|
});
|
|
2845
2853
|
expectTypesMatch(true);
|
|
2846
2854
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
2847
|
-
shape:
|
|
2848
|
-
points:
|
|
2855
|
+
shape: z136.literal("polygon"),
|
|
2856
|
+
points: z136.array(point)
|
|
2849
2857
|
});
|
|
2850
2858
|
expectTypesMatch(true);
|
|
2851
2859
|
var pcb_cutout_path = pcb_cutout_base.extend({
|
|
2852
|
-
shape:
|
|
2853
|
-
route:
|
|
2860
|
+
shape: z136.literal("path"),
|
|
2861
|
+
route: z136.array(point),
|
|
2854
2862
|
slot_width: length,
|
|
2855
2863
|
slot_length: length.optional(),
|
|
2856
2864
|
space_between_slots: length.optional(),
|
|
2857
2865
|
slot_corner_radius: length.optional()
|
|
2858
2866
|
});
|
|
2859
2867
|
expectTypesMatch(true);
|
|
2860
|
-
var pcb_cutout =
|
|
2868
|
+
var pcb_cutout = z136.discriminatedUnion("shape", [
|
|
2861
2869
|
pcb_cutout_rect,
|
|
2862
2870
|
pcb_cutout_circle,
|
|
2863
2871
|
pcb_cutout_polygon,
|
|
@@ -2866,169 +2874,169 @@ var pcb_cutout = z135.discriminatedUnion("shape", [
|
|
|
2866
2874
|
expectTypesMatch(true);
|
|
2867
2875
|
|
|
2868
2876
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
2869
|
-
import { z as
|
|
2877
|
+
import { z as z137 } from "zod";
|
|
2870
2878
|
var pcb_missing_footprint_error = base_circuit_json_error.extend({
|
|
2871
|
-
type:
|
|
2879
|
+
type: z137.literal("pcb_missing_footprint_error"),
|
|
2872
2880
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
2873
2881
|
"pcb_missing_footprint_error"
|
|
2874
2882
|
),
|
|
2875
|
-
pcb_group_id:
|
|
2876
|
-
subcircuit_id:
|
|
2877
|
-
error_type:
|
|
2878
|
-
source_component_id:
|
|
2883
|
+
pcb_group_id: z137.string().optional(),
|
|
2884
|
+
subcircuit_id: z137.string().optional(),
|
|
2885
|
+
error_type: z137.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
2886
|
+
source_component_id: z137.string()
|
|
2879
2887
|
}).describe("Defines a missing footprint error on the PCB");
|
|
2880
2888
|
expectTypesMatch(
|
|
2881
2889
|
true
|
|
2882
2890
|
);
|
|
2883
2891
|
|
|
2884
2892
|
// src/pcb/external_footprint_load_error.ts
|
|
2885
|
-
import { z as
|
|
2893
|
+
import { z as z138 } from "zod";
|
|
2886
2894
|
var external_footprint_load_error = base_circuit_json_error.extend({
|
|
2887
|
-
type:
|
|
2895
|
+
type: z138.literal("external_footprint_load_error"),
|
|
2888
2896
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2889
2897
|
"external_footprint_load_error"
|
|
2890
2898
|
),
|
|
2891
|
-
pcb_component_id:
|
|
2892
|
-
source_component_id:
|
|
2893
|
-
pcb_group_id:
|
|
2894
|
-
subcircuit_id:
|
|
2895
|
-
footprinter_string:
|
|
2896
|
-
error_type:
|
|
2899
|
+
pcb_component_id: z138.string(),
|
|
2900
|
+
source_component_id: z138.string(),
|
|
2901
|
+
pcb_group_id: z138.string().optional(),
|
|
2902
|
+
subcircuit_id: z138.string().optional(),
|
|
2903
|
+
footprinter_string: z138.string().optional(),
|
|
2904
|
+
error_type: z138.literal("external_footprint_load_error").default("external_footprint_load_error")
|
|
2897
2905
|
}).describe("Defines an error when an external footprint fails to load");
|
|
2898
2906
|
expectTypesMatch(true);
|
|
2899
2907
|
|
|
2900
2908
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
2901
|
-
import { z as
|
|
2909
|
+
import { z as z139 } from "zod";
|
|
2902
2910
|
var circuit_json_footprint_load_error = base_circuit_json_error.extend({
|
|
2903
|
-
type:
|
|
2911
|
+
type: z139.literal("circuit_json_footprint_load_error"),
|
|
2904
2912
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2905
2913
|
"circuit_json_footprint_load_error"
|
|
2906
2914
|
),
|
|
2907
|
-
pcb_component_id:
|
|
2908
|
-
source_component_id:
|
|
2909
|
-
pcb_group_id:
|
|
2910
|
-
subcircuit_id:
|
|
2911
|
-
error_type:
|
|
2912
|
-
circuit_json:
|
|
2915
|
+
pcb_component_id: z139.string(),
|
|
2916
|
+
source_component_id: z139.string(),
|
|
2917
|
+
pcb_group_id: z139.string().optional(),
|
|
2918
|
+
subcircuit_id: z139.string().optional(),
|
|
2919
|
+
error_type: z139.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
|
|
2920
|
+
circuit_json: z139.array(z139.any()).optional()
|
|
2913
2921
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
2914
2922
|
expectTypesMatch(true);
|
|
2915
2923
|
|
|
2916
2924
|
// src/pcb/pcb_group.ts
|
|
2917
|
-
import { z as
|
|
2918
|
-
var pcb_group =
|
|
2919
|
-
type:
|
|
2925
|
+
import { z as z140 } from "zod";
|
|
2926
|
+
var pcb_group = z140.object({
|
|
2927
|
+
type: z140.literal("pcb_group"),
|
|
2920
2928
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
2921
|
-
source_group_id:
|
|
2922
|
-
is_subcircuit:
|
|
2923
|
-
subcircuit_id:
|
|
2929
|
+
source_group_id: z140.string(),
|
|
2930
|
+
is_subcircuit: z140.boolean().optional(),
|
|
2931
|
+
subcircuit_id: z140.string().optional(),
|
|
2924
2932
|
width: length.optional(),
|
|
2925
2933
|
height: length.optional(),
|
|
2926
2934
|
center: point,
|
|
2927
|
-
display_offset_x:
|
|
2935
|
+
display_offset_x: z140.string().optional().describe(
|
|
2928
2936
|
"How to display the x offset for this group, usually corresponding with how the user specified it"
|
|
2929
2937
|
),
|
|
2930
|
-
display_offset_y:
|
|
2938
|
+
display_offset_y: z140.string().optional().describe(
|
|
2931
2939
|
"How to display the y offset for this group, usually corresponding with how the user specified it"
|
|
2932
2940
|
),
|
|
2933
|
-
outline:
|
|
2941
|
+
outline: z140.array(point).optional(),
|
|
2934
2942
|
anchor_position: point.optional(),
|
|
2935
2943
|
anchor_alignment: ninePointAnchor.default("center"),
|
|
2936
|
-
position_mode:
|
|
2937
|
-
positioned_relative_to_pcb_group_id:
|
|
2938
|
-
positioned_relative_to_pcb_board_id:
|
|
2939
|
-
pcb_component_ids:
|
|
2940
|
-
child_layout_mode:
|
|
2941
|
-
name:
|
|
2942
|
-
description:
|
|
2943
|
-
layout_mode:
|
|
2944
|
-
autorouter_configuration:
|
|
2944
|
+
position_mode: z140.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
|
|
2945
|
+
positioned_relative_to_pcb_group_id: z140.string().optional(),
|
|
2946
|
+
positioned_relative_to_pcb_board_id: z140.string().optional(),
|
|
2947
|
+
pcb_component_ids: z140.array(z140.string()),
|
|
2948
|
+
child_layout_mode: z140.enum(["packed", "none"]).optional(),
|
|
2949
|
+
name: z140.string().optional(),
|
|
2950
|
+
description: z140.string().optional(),
|
|
2951
|
+
layout_mode: z140.string().optional(),
|
|
2952
|
+
autorouter_configuration: z140.object({
|
|
2945
2953
|
trace_clearance: length
|
|
2946
2954
|
}).optional(),
|
|
2947
|
-
autorouter_used_string:
|
|
2955
|
+
autorouter_used_string: z140.string().optional()
|
|
2948
2956
|
}).describe("Defines a group of components on the PCB");
|
|
2949
2957
|
expectTypesMatch(true);
|
|
2950
2958
|
|
|
2951
2959
|
// src/pcb/pcb_autorouting_error.ts
|
|
2952
|
-
import { z as
|
|
2960
|
+
import { z as z141 } from "zod";
|
|
2953
2961
|
var pcb_autorouting_error = base_circuit_json_error.extend({
|
|
2954
|
-
type:
|
|
2962
|
+
type: z141.literal("pcb_autorouting_error"),
|
|
2955
2963
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
2956
|
-
error_type:
|
|
2957
|
-
subcircuit_id:
|
|
2964
|
+
error_type: z141.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
2965
|
+
subcircuit_id: z141.string().optional()
|
|
2958
2966
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
2959
2967
|
expectTypesMatch(true);
|
|
2960
2968
|
|
|
2961
2969
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
2962
|
-
import { z as
|
|
2963
|
-
var pcb_manual_edit_conflict_warning =
|
|
2964
|
-
type:
|
|
2970
|
+
import { z as z142 } from "zod";
|
|
2971
|
+
var pcb_manual_edit_conflict_warning = z142.object({
|
|
2972
|
+
type: z142.literal("pcb_manual_edit_conflict_warning"),
|
|
2965
2973
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
2966
2974
|
"pcb_manual_edit_conflict_warning"
|
|
2967
2975
|
),
|
|
2968
|
-
warning_type:
|
|
2969
|
-
message:
|
|
2970
|
-
pcb_component_id:
|
|
2971
|
-
pcb_group_id:
|
|
2972
|
-
subcircuit_id:
|
|
2973
|
-
source_component_id:
|
|
2976
|
+
warning_type: z142.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
2977
|
+
message: z142.string(),
|
|
2978
|
+
pcb_component_id: z142.string(),
|
|
2979
|
+
pcb_group_id: z142.string().optional(),
|
|
2980
|
+
subcircuit_id: z142.string().optional(),
|
|
2981
|
+
source_component_id: z142.string()
|
|
2974
2982
|
}).describe(
|
|
2975
2983
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
2976
2984
|
);
|
|
2977
2985
|
expectTypesMatch(true);
|
|
2978
2986
|
|
|
2979
2987
|
// src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
|
|
2980
|
-
import { z as
|
|
2981
|
-
var connectorOrientationDirection =
|
|
2982
|
-
var pcb_connector_not_in_accessible_orientation_warning =
|
|
2983
|
-
type:
|
|
2988
|
+
import { z as z143 } from "zod";
|
|
2989
|
+
var connectorOrientationDirection = z143.enum(["x-", "x+", "y+", "y-"]);
|
|
2990
|
+
var pcb_connector_not_in_accessible_orientation_warning = z143.object({
|
|
2991
|
+
type: z143.literal("pcb_connector_not_in_accessible_orientation_warning"),
|
|
2984
2992
|
pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
|
|
2985
2993
|
"pcb_connector_not_in_accessible_orientation_warning"
|
|
2986
2994
|
),
|
|
2987
|
-
warning_type:
|
|
2988
|
-
message:
|
|
2989
|
-
pcb_component_id:
|
|
2990
|
-
source_component_id:
|
|
2991
|
-
pcb_board_id:
|
|
2995
|
+
warning_type: z143.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
|
|
2996
|
+
message: z143.string(),
|
|
2997
|
+
pcb_component_id: z143.string(),
|
|
2998
|
+
source_component_id: z143.string().optional(),
|
|
2999
|
+
pcb_board_id: z143.string().optional(),
|
|
2992
3000
|
facing_direction: connectorOrientationDirection,
|
|
2993
3001
|
recommended_facing_direction: connectorOrientationDirection,
|
|
2994
|
-
subcircuit_id:
|
|
3002
|
+
subcircuit_id: z143.string().optional()
|
|
2995
3003
|
}).describe(
|
|
2996
3004
|
"Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
|
|
2997
3005
|
);
|
|
2998
3006
|
expectTypesMatch(true);
|
|
2999
3007
|
|
|
3000
3008
|
// src/pcb/supplier_footprint_mismatch_warning.ts
|
|
3001
|
-
import { z as
|
|
3002
|
-
var supplier_footprint_mismatch_warning =
|
|
3003
|
-
type:
|
|
3009
|
+
import { z as z144 } from "zod";
|
|
3010
|
+
var supplier_footprint_mismatch_warning = z144.object({
|
|
3011
|
+
type: z144.literal("supplier_footprint_mismatch_warning"),
|
|
3004
3012
|
supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
|
|
3005
3013
|
"supplier_footprint_mismatch_warning"
|
|
3006
3014
|
),
|
|
3007
|
-
warning_type:
|
|
3008
|
-
message:
|
|
3009
|
-
source_component_id:
|
|
3010
|
-
pcb_component_id:
|
|
3011
|
-
pcb_group_id:
|
|
3012
|
-
subcircuit_id:
|
|
3015
|
+
warning_type: z144.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
|
|
3016
|
+
message: z144.string(),
|
|
3017
|
+
source_component_id: z144.string(),
|
|
3018
|
+
pcb_component_id: z144.string().optional(),
|
|
3019
|
+
pcb_group_id: z144.string().optional(),
|
|
3020
|
+
subcircuit_id: z144.string().optional(),
|
|
3013
3021
|
supplier_name: supplier_name.optional(),
|
|
3014
|
-
supplier_part_number:
|
|
3015
|
-
supplier_footprint_url:
|
|
3016
|
-
footprint_copper_intersection_over_union:
|
|
3022
|
+
supplier_part_number: z144.string().optional(),
|
|
3023
|
+
supplier_footprint_url: z144.string().optional(),
|
|
3024
|
+
footprint_copper_intersection_over_union: z144.number()
|
|
3017
3025
|
}).describe(
|
|
3018
3026
|
"Warning emitted when a supplier part footprint does not match the expected footprint"
|
|
3019
3027
|
);
|
|
3020
3028
|
expectTypesMatch(true);
|
|
3021
3029
|
|
|
3022
3030
|
// src/pcb/pcb_breakout_point.ts
|
|
3023
|
-
import { z as
|
|
3024
|
-
var pcb_breakout_point =
|
|
3025
|
-
type:
|
|
3031
|
+
import { z as z145 } from "zod";
|
|
3032
|
+
var pcb_breakout_point = z145.object({
|
|
3033
|
+
type: z145.literal("pcb_breakout_point"),
|
|
3026
3034
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
3027
|
-
pcb_group_id:
|
|
3028
|
-
subcircuit_id:
|
|
3029
|
-
source_trace_id:
|
|
3030
|
-
source_port_id:
|
|
3031
|
-
source_net_id:
|
|
3035
|
+
pcb_group_id: z145.string(),
|
|
3036
|
+
subcircuit_id: z145.string().optional(),
|
|
3037
|
+
source_trace_id: z145.string().optional(),
|
|
3038
|
+
source_port_id: z145.string().optional(),
|
|
3039
|
+
source_net_id: z145.string().optional(),
|
|
3032
3040
|
x: distance,
|
|
3033
3041
|
y: distance
|
|
3034
3042
|
}).describe(
|
|
@@ -3037,61 +3045,61 @@ var pcb_breakout_point = z144.object({
|
|
|
3037
3045
|
expectTypesMatch(true);
|
|
3038
3046
|
|
|
3039
3047
|
// src/pcb/pcb_ground_plane.ts
|
|
3040
|
-
import { z as
|
|
3041
|
-
var pcb_ground_plane =
|
|
3042
|
-
type:
|
|
3048
|
+
import { z as z146 } from "zod";
|
|
3049
|
+
var pcb_ground_plane = z146.object({
|
|
3050
|
+
type: z146.literal("pcb_ground_plane"),
|
|
3043
3051
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
3044
|
-
source_pcb_ground_plane_id:
|
|
3045
|
-
source_net_id:
|
|
3046
|
-
pcb_group_id:
|
|
3047
|
-
subcircuit_id:
|
|
3052
|
+
source_pcb_ground_plane_id: z146.string(),
|
|
3053
|
+
source_net_id: z146.string(),
|
|
3054
|
+
pcb_group_id: z146.string().optional(),
|
|
3055
|
+
subcircuit_id: z146.string().optional()
|
|
3048
3056
|
}).describe("Defines a ground plane on the PCB");
|
|
3049
3057
|
expectTypesMatch(true);
|
|
3050
3058
|
|
|
3051
3059
|
// src/pcb/pcb_ground_plane_region.ts
|
|
3052
|
-
import { z as
|
|
3053
|
-
var pcb_ground_plane_region =
|
|
3054
|
-
type:
|
|
3060
|
+
import { z as z147 } from "zod";
|
|
3061
|
+
var pcb_ground_plane_region = z147.object({
|
|
3062
|
+
type: z147.literal("pcb_ground_plane_region"),
|
|
3055
3063
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
3056
3064
|
"pcb_ground_plane_region"
|
|
3057
3065
|
),
|
|
3058
|
-
pcb_ground_plane_id:
|
|
3059
|
-
pcb_group_id:
|
|
3060
|
-
subcircuit_id:
|
|
3066
|
+
pcb_ground_plane_id: z147.string(),
|
|
3067
|
+
pcb_group_id: z147.string().optional(),
|
|
3068
|
+
subcircuit_id: z147.string().optional(),
|
|
3061
3069
|
layer: layer_ref,
|
|
3062
|
-
points:
|
|
3070
|
+
points: z147.array(point)
|
|
3063
3071
|
}).describe("Defines a polygon region of a ground plane");
|
|
3064
3072
|
expectTypesMatch(true);
|
|
3065
3073
|
|
|
3066
3074
|
// src/pcb/pcb_thermal_spoke.ts
|
|
3067
|
-
import { z as
|
|
3068
|
-
var pcb_thermal_spoke =
|
|
3069
|
-
type:
|
|
3075
|
+
import { z as z148 } from "zod";
|
|
3076
|
+
var pcb_thermal_spoke = z148.object({
|
|
3077
|
+
type: z148.literal("pcb_thermal_spoke"),
|
|
3070
3078
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
3071
|
-
pcb_ground_plane_id:
|
|
3072
|
-
shape:
|
|
3073
|
-
spoke_count:
|
|
3079
|
+
pcb_ground_plane_id: z148.string(),
|
|
3080
|
+
shape: z148.string(),
|
|
3081
|
+
spoke_count: z148.number(),
|
|
3074
3082
|
spoke_thickness: distance,
|
|
3075
3083
|
spoke_inner_diameter: distance,
|
|
3076
3084
|
spoke_outer_diameter: distance,
|
|
3077
|
-
pcb_plated_hole_id:
|
|
3078
|
-
subcircuit_id:
|
|
3085
|
+
pcb_plated_hole_id: z148.string().optional(),
|
|
3086
|
+
subcircuit_id: z148.string().optional()
|
|
3079
3087
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
3080
3088
|
expectTypesMatch(true);
|
|
3081
3089
|
|
|
3082
3090
|
// src/pcb/pcb_copper_pour.ts
|
|
3083
|
-
import { z as
|
|
3084
|
-
var pcb_copper_pour_base =
|
|
3085
|
-
type:
|
|
3091
|
+
import { z as z149 } from "zod";
|
|
3092
|
+
var pcb_copper_pour_base = z149.object({
|
|
3093
|
+
type: z149.literal("pcb_copper_pour"),
|
|
3086
3094
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
3087
|
-
pcb_group_id:
|
|
3088
|
-
subcircuit_id:
|
|
3095
|
+
pcb_group_id: z149.string().optional(),
|
|
3096
|
+
subcircuit_id: z149.string().optional(),
|
|
3089
3097
|
layer: layer_ref,
|
|
3090
|
-
source_net_id:
|
|
3091
|
-
covered_with_solder_mask:
|
|
3098
|
+
source_net_id: z149.string().optional(),
|
|
3099
|
+
covered_with_solder_mask: z149.boolean().optional().default(true)
|
|
3092
3100
|
});
|
|
3093
3101
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
3094
|
-
shape:
|
|
3102
|
+
shape: z149.literal("rect"),
|
|
3095
3103
|
center: point,
|
|
3096
3104
|
width: length,
|
|
3097
3105
|
height: length,
|
|
@@ -3099,16 +3107,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
3099
3107
|
});
|
|
3100
3108
|
expectTypesMatch(true);
|
|
3101
3109
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
3102
|
-
shape:
|
|
3110
|
+
shape: z149.literal("brep"),
|
|
3103
3111
|
brep_shape
|
|
3104
3112
|
});
|
|
3105
3113
|
expectTypesMatch(true);
|
|
3106
3114
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
3107
|
-
shape:
|
|
3108
|
-
points:
|
|
3115
|
+
shape: z149.literal("polygon"),
|
|
3116
|
+
points: z149.array(point)
|
|
3109
3117
|
});
|
|
3110
3118
|
expectTypesMatch(true);
|
|
3111
|
-
var pcb_copper_pour =
|
|
3119
|
+
var pcb_copper_pour = z149.discriminatedUnion("shape", [
|
|
3112
3120
|
pcb_copper_pour_rect,
|
|
3113
3121
|
pcb_copper_pour_brep,
|
|
3114
3122
|
pcb_copper_pour_polygon
|
|
@@ -3116,99 +3124,99 @@ var pcb_copper_pour = z148.discriminatedUnion("shape", [
|
|
|
3116
3124
|
expectTypesMatch(true);
|
|
3117
3125
|
|
|
3118
3126
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
3119
|
-
import { z as
|
|
3127
|
+
import { z as z150 } from "zod";
|
|
3120
3128
|
var pcb_component_outside_board_error = base_circuit_json_error.extend({
|
|
3121
|
-
type:
|
|
3129
|
+
type: z150.literal("pcb_component_outside_board_error"),
|
|
3122
3130
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
3123
3131
|
"pcb_component_outside_board_error"
|
|
3124
3132
|
),
|
|
3125
|
-
error_type:
|
|
3126
|
-
pcb_component_id:
|
|
3127
|
-
pcb_board_id:
|
|
3133
|
+
error_type: z150.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
3134
|
+
pcb_component_id: z150.string(),
|
|
3135
|
+
pcb_board_id: z150.string(),
|
|
3128
3136
|
component_center: point,
|
|
3129
|
-
component_bounds:
|
|
3130
|
-
min_x:
|
|
3131
|
-
max_x:
|
|
3132
|
-
min_y:
|
|
3133
|
-
max_y:
|
|
3137
|
+
component_bounds: z150.object({
|
|
3138
|
+
min_x: z150.number(),
|
|
3139
|
+
max_x: z150.number(),
|
|
3140
|
+
min_y: z150.number(),
|
|
3141
|
+
max_y: z150.number()
|
|
3134
3142
|
}),
|
|
3135
|
-
subcircuit_id:
|
|
3136
|
-
source_component_id:
|
|
3143
|
+
subcircuit_id: z150.string().optional(),
|
|
3144
|
+
source_component_id: z150.string().optional()
|
|
3137
3145
|
}).describe(
|
|
3138
3146
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
3139
3147
|
);
|
|
3140
3148
|
expectTypesMatch(true);
|
|
3141
3149
|
|
|
3142
3150
|
// src/pcb/pcb_component_not_on_board_edge_error.ts
|
|
3143
|
-
import { z as
|
|
3151
|
+
import { z as z151 } from "zod";
|
|
3144
3152
|
var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
|
|
3145
|
-
type:
|
|
3153
|
+
type: z151.literal("pcb_component_not_on_board_edge_error"),
|
|
3146
3154
|
pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
|
|
3147
3155
|
"pcb_component_not_on_board_edge_error"
|
|
3148
3156
|
),
|
|
3149
|
-
error_type:
|
|
3150
|
-
pcb_component_id:
|
|
3151
|
-
pcb_board_id:
|
|
3157
|
+
error_type: z151.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
|
|
3158
|
+
pcb_component_id: z151.string(),
|
|
3159
|
+
pcb_board_id: z151.string(),
|
|
3152
3160
|
component_center: point,
|
|
3153
|
-
pad_to_nearest_board_edge_distance:
|
|
3154
|
-
source_component_id:
|
|
3155
|
-
subcircuit_id:
|
|
3161
|
+
pad_to_nearest_board_edge_distance: z151.number(),
|
|
3162
|
+
source_component_id: z151.string().optional(),
|
|
3163
|
+
subcircuit_id: z151.string().optional()
|
|
3156
3164
|
}).describe(
|
|
3157
3165
|
"Error emitted when a component that must be placed on the board edge is centered away from the edge"
|
|
3158
3166
|
);
|
|
3159
3167
|
expectTypesMatch(true);
|
|
3160
3168
|
|
|
3161
3169
|
// src/pcb/pcb_component_invalid_layer_error.ts
|
|
3162
|
-
import { z as
|
|
3170
|
+
import { z as z152 } from "zod";
|
|
3163
3171
|
var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
|
|
3164
|
-
type:
|
|
3172
|
+
type: z152.literal("pcb_component_invalid_layer_error"),
|
|
3165
3173
|
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
|
|
3166
3174
|
"pcb_component_invalid_layer_error"
|
|
3167
3175
|
),
|
|
3168
|
-
error_type:
|
|
3169
|
-
pcb_component_id:
|
|
3170
|
-
source_component_id:
|
|
3176
|
+
error_type: z152.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
|
|
3177
|
+
pcb_component_id: z152.string().optional(),
|
|
3178
|
+
source_component_id: z152.string(),
|
|
3171
3179
|
layer: layer_ref,
|
|
3172
|
-
subcircuit_id:
|
|
3180
|
+
subcircuit_id: z152.string().optional()
|
|
3173
3181
|
}).describe(
|
|
3174
3182
|
"Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
|
|
3175
3183
|
);
|
|
3176
3184
|
expectTypesMatch(true);
|
|
3177
3185
|
|
|
3178
3186
|
// src/pcb/pcb_via_clearance_error.ts
|
|
3179
|
-
import { z as
|
|
3187
|
+
import { z as z153 } from "zod";
|
|
3180
3188
|
var pcb_via_clearance_error = base_circuit_json_error.extend({
|
|
3181
|
-
type:
|
|
3189
|
+
type: z153.literal("pcb_via_clearance_error"),
|
|
3182
3190
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
3183
|
-
error_type:
|
|
3184
|
-
pcb_via_ids:
|
|
3191
|
+
error_type: z153.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
3192
|
+
pcb_via_ids: z153.array(z153.string()).min(2),
|
|
3185
3193
|
minimum_clearance: distance.optional(),
|
|
3186
3194
|
actual_clearance: distance.optional(),
|
|
3187
|
-
pcb_center:
|
|
3188
|
-
x:
|
|
3189
|
-
y:
|
|
3195
|
+
pcb_center: z153.object({
|
|
3196
|
+
x: z153.number().optional(),
|
|
3197
|
+
y: z153.number().optional()
|
|
3190
3198
|
}).optional(),
|
|
3191
|
-
subcircuit_id:
|
|
3199
|
+
subcircuit_id: z153.string().optional()
|
|
3192
3200
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
3193
3201
|
expectTypesMatch(true);
|
|
3194
3202
|
|
|
3195
3203
|
// src/pcb/pcb_via_trace_clearance_error.ts
|
|
3196
|
-
import { z as
|
|
3204
|
+
import { z as z154 } from "zod";
|
|
3197
3205
|
var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
|
|
3198
|
-
type:
|
|
3206
|
+
type: z154.literal("pcb_via_trace_clearance_error"),
|
|
3199
3207
|
pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3200
3208
|
"pcb_via_trace_clearance_error"
|
|
3201
3209
|
),
|
|
3202
|
-
error_type:
|
|
3203
|
-
pcb_via_id:
|
|
3204
|
-
pcb_trace_id:
|
|
3210
|
+
error_type: z154.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
|
|
3211
|
+
pcb_via_id: z154.string(),
|
|
3212
|
+
pcb_trace_id: z154.string(),
|
|
3205
3213
|
minimum_clearance: distance.optional(),
|
|
3206
3214
|
actual_clearance: distance.optional(),
|
|
3207
|
-
center:
|
|
3208
|
-
x:
|
|
3209
|
-
y:
|
|
3215
|
+
center: z154.object({
|
|
3216
|
+
x: z154.number().optional(),
|
|
3217
|
+
y: z154.number().optional()
|
|
3210
3218
|
}).optional(),
|
|
3211
|
-
subcircuit_id:
|
|
3219
|
+
subcircuit_id: z154.string().optional()
|
|
3212
3220
|
}).describe(
|
|
3213
3221
|
"Error emitted when a via and trace are closer than the allowed clearance"
|
|
3214
3222
|
);
|
|
@@ -3217,41 +3225,41 @@ expectTypesMatch(
|
|
|
3217
3225
|
);
|
|
3218
3226
|
|
|
3219
3227
|
// src/pcb/pcb_pad_pad_clearance_error.ts
|
|
3220
|
-
import { z as
|
|
3228
|
+
import { z as z155 } from "zod";
|
|
3221
3229
|
var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
|
|
3222
|
-
type:
|
|
3230
|
+
type: z155.literal("pcb_pad_pad_clearance_error"),
|
|
3223
3231
|
pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3224
3232
|
"pcb_pad_pad_clearance_error"
|
|
3225
3233
|
),
|
|
3226
|
-
error_type:
|
|
3227
|
-
pcb_pad_ids:
|
|
3234
|
+
error_type: z155.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
|
|
3235
|
+
pcb_pad_ids: z155.array(z155.string()).min(2),
|
|
3228
3236
|
minimum_clearance: distance.optional(),
|
|
3229
3237
|
actual_clearance: distance.optional(),
|
|
3230
|
-
center:
|
|
3231
|
-
x:
|
|
3232
|
-
y:
|
|
3238
|
+
center: z155.object({
|
|
3239
|
+
x: z155.number().optional(),
|
|
3240
|
+
y: z155.number().optional()
|
|
3233
3241
|
}).optional(),
|
|
3234
|
-
subcircuit_id:
|
|
3242
|
+
subcircuit_id: z155.string().optional()
|
|
3235
3243
|
}).describe("Error emitted when pads are closer than the allowed clearance");
|
|
3236
3244
|
expectTypesMatch(true);
|
|
3237
3245
|
|
|
3238
3246
|
// src/pcb/pcb_pad_trace_clearance_error.ts
|
|
3239
|
-
import { z as
|
|
3247
|
+
import { z as z156 } from "zod";
|
|
3240
3248
|
var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
|
|
3241
|
-
type:
|
|
3249
|
+
type: z156.literal("pcb_pad_trace_clearance_error"),
|
|
3242
3250
|
pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3243
3251
|
"pcb_pad_trace_clearance_error"
|
|
3244
3252
|
),
|
|
3245
|
-
error_type:
|
|
3246
|
-
pcb_pad_id:
|
|
3247
|
-
pcb_trace_id:
|
|
3253
|
+
error_type: z156.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
|
|
3254
|
+
pcb_pad_id: z156.string(),
|
|
3255
|
+
pcb_trace_id: z156.string(),
|
|
3248
3256
|
minimum_clearance: distance.optional(),
|
|
3249
3257
|
actual_clearance: distance.optional(),
|
|
3250
|
-
center:
|
|
3251
|
-
x:
|
|
3252
|
-
y:
|
|
3258
|
+
center: z156.object({
|
|
3259
|
+
x: z156.number().optional(),
|
|
3260
|
+
y: z156.number().optional()
|
|
3253
3261
|
}).optional(),
|
|
3254
|
-
subcircuit_id:
|
|
3262
|
+
subcircuit_id: z156.string().optional()
|
|
3255
3263
|
}).describe(
|
|
3256
3264
|
"Error emitted when a pad and trace are closer than allowed clearance"
|
|
3257
3265
|
);
|
|
@@ -3260,89 +3268,89 @@ expectTypesMatch(
|
|
|
3260
3268
|
);
|
|
3261
3269
|
|
|
3262
3270
|
// src/pcb/pcb_courtyard_rect.ts
|
|
3263
|
-
import { z as
|
|
3264
|
-
var pcb_courtyard_rect =
|
|
3265
|
-
type:
|
|
3271
|
+
import { z as z157 } from "zod";
|
|
3272
|
+
var pcb_courtyard_rect = z157.object({
|
|
3273
|
+
type: z157.literal("pcb_courtyard_rect"),
|
|
3266
3274
|
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
3267
|
-
pcb_component_id:
|
|
3268
|
-
pcb_group_id:
|
|
3269
|
-
subcircuit_id:
|
|
3275
|
+
pcb_component_id: z157.string(),
|
|
3276
|
+
pcb_group_id: z157.string().optional(),
|
|
3277
|
+
subcircuit_id: z157.string().optional(),
|
|
3270
3278
|
center: point,
|
|
3271
3279
|
width: length,
|
|
3272
3280
|
height: length,
|
|
3273
3281
|
layer: visible_layer,
|
|
3274
3282
|
ccw_rotation: rotation.optional(),
|
|
3275
|
-
color:
|
|
3283
|
+
color: z157.string().optional()
|
|
3276
3284
|
}).describe("Defines a courtyard rectangle on the PCB");
|
|
3277
3285
|
expectTypesMatch(true);
|
|
3278
3286
|
|
|
3279
3287
|
// src/pcb/pcb_courtyard_outline.ts
|
|
3280
|
-
import { z as
|
|
3281
|
-
var pcb_courtyard_outline =
|
|
3282
|
-
type:
|
|
3288
|
+
import { z as z158 } from "zod";
|
|
3289
|
+
var pcb_courtyard_outline = z158.object({
|
|
3290
|
+
type: z158.literal("pcb_courtyard_outline"),
|
|
3283
3291
|
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
3284
3292
|
"pcb_courtyard_outline"
|
|
3285
3293
|
),
|
|
3286
|
-
pcb_component_id:
|
|
3287
|
-
pcb_group_id:
|
|
3288
|
-
subcircuit_id:
|
|
3294
|
+
pcb_component_id: z158.string(),
|
|
3295
|
+
pcb_group_id: z158.string().optional(),
|
|
3296
|
+
subcircuit_id: z158.string().optional(),
|
|
3289
3297
|
layer: visible_layer,
|
|
3290
|
-
outline:
|
|
3298
|
+
outline: z158.array(point).min(2)
|
|
3291
3299
|
}).describe("Defines a courtyard outline on the PCB");
|
|
3292
3300
|
expectTypesMatch(true);
|
|
3293
3301
|
|
|
3294
3302
|
// src/pcb/pcb_courtyard_polygon.ts
|
|
3295
|
-
import { z as
|
|
3296
|
-
var pcb_courtyard_polygon =
|
|
3297
|
-
type:
|
|
3303
|
+
import { z as z159 } from "zod";
|
|
3304
|
+
var pcb_courtyard_polygon = z159.object({
|
|
3305
|
+
type: z159.literal("pcb_courtyard_polygon"),
|
|
3298
3306
|
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
|
|
3299
3307
|
"pcb_courtyard_polygon"
|
|
3300
3308
|
),
|
|
3301
|
-
pcb_component_id:
|
|
3302
|
-
pcb_group_id:
|
|
3303
|
-
subcircuit_id:
|
|
3309
|
+
pcb_component_id: z159.string(),
|
|
3310
|
+
pcb_group_id: z159.string().optional(),
|
|
3311
|
+
subcircuit_id: z159.string().optional(),
|
|
3304
3312
|
layer: visible_layer,
|
|
3305
|
-
points:
|
|
3306
|
-
color:
|
|
3313
|
+
points: z159.array(point).min(3),
|
|
3314
|
+
color: z159.string().optional()
|
|
3307
3315
|
}).describe("Defines a courtyard polygon on the PCB");
|
|
3308
3316
|
expectTypesMatch(true);
|
|
3309
3317
|
|
|
3310
3318
|
// src/pcb/pcb_courtyard_circle.ts
|
|
3311
|
-
import { z as
|
|
3312
|
-
var pcb_courtyard_circle =
|
|
3313
|
-
type:
|
|
3319
|
+
import { z as z160 } from "zod";
|
|
3320
|
+
var pcb_courtyard_circle = z160.object({
|
|
3321
|
+
type: z160.literal("pcb_courtyard_circle"),
|
|
3314
3322
|
pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
|
|
3315
3323
|
"pcb_courtyard_circle"
|
|
3316
3324
|
),
|
|
3317
|
-
pcb_component_id:
|
|
3318
|
-
pcb_group_id:
|
|
3319
|
-
subcircuit_id:
|
|
3325
|
+
pcb_component_id: z160.string(),
|
|
3326
|
+
pcb_group_id: z160.string().optional(),
|
|
3327
|
+
subcircuit_id: z160.string().optional(),
|
|
3320
3328
|
center: point,
|
|
3321
3329
|
radius: length,
|
|
3322
3330
|
layer: visible_layer,
|
|
3323
|
-
color:
|
|
3331
|
+
color: z160.string().optional()
|
|
3324
3332
|
}).describe("Defines a courtyard circle on the PCB");
|
|
3325
3333
|
expectTypesMatch(true);
|
|
3326
3334
|
|
|
3327
3335
|
// src/pcb/pcb_courtyard_pill.ts
|
|
3328
|
-
import { z as
|
|
3329
|
-
var pcb_courtyard_pill =
|
|
3330
|
-
type:
|
|
3336
|
+
import { z as z161 } from "zod";
|
|
3337
|
+
var pcb_courtyard_pill = z161.object({
|
|
3338
|
+
type: z161.literal("pcb_courtyard_pill"),
|
|
3331
3339
|
pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
|
|
3332
|
-
pcb_component_id:
|
|
3333
|
-
pcb_group_id:
|
|
3334
|
-
subcircuit_id:
|
|
3340
|
+
pcb_component_id: z161.string(),
|
|
3341
|
+
pcb_group_id: z161.string().optional(),
|
|
3342
|
+
subcircuit_id: z161.string().optional(),
|
|
3335
3343
|
center: point,
|
|
3336
3344
|
width: length,
|
|
3337
3345
|
height: length,
|
|
3338
3346
|
radius: length,
|
|
3339
3347
|
layer: visible_layer,
|
|
3340
|
-
color:
|
|
3348
|
+
color: z161.string().optional()
|
|
3341
3349
|
}).describe("Defines a courtyard pill on the PCB");
|
|
3342
3350
|
expectTypesMatch(true);
|
|
3343
3351
|
|
|
3344
3352
|
// src/cad/cad_component.ts
|
|
3345
|
-
import { z as
|
|
3353
|
+
import { z as z162 } from "zod";
|
|
3346
3354
|
|
|
3347
3355
|
// src/cad/cad_model_conventions.ts
|
|
3348
3356
|
var cad_model_formats = [
|
|
@@ -3373,49 +3381,49 @@ var cadModelDefaultDirectionMap = {
|
|
|
3373
3381
|
};
|
|
3374
3382
|
|
|
3375
3383
|
// src/cad/cad_component.ts
|
|
3376
|
-
var cad_component =
|
|
3377
|
-
type:
|
|
3378
|
-
cad_component_id:
|
|
3379
|
-
pcb_component_id:
|
|
3380
|
-
source_component_id:
|
|
3384
|
+
var cad_component = z162.object({
|
|
3385
|
+
type: z162.literal("cad_component"),
|
|
3386
|
+
cad_component_id: z162.string(),
|
|
3387
|
+
pcb_component_id: z162.string(),
|
|
3388
|
+
source_component_id: z162.string(),
|
|
3381
3389
|
position: point3,
|
|
3382
3390
|
rotation: point3.optional(),
|
|
3383
3391
|
size: point3.optional(),
|
|
3384
3392
|
layer: layer_ref.optional(),
|
|
3385
|
-
subcircuit_id:
|
|
3393
|
+
subcircuit_id: z162.string().optional(),
|
|
3386
3394
|
// These are all ways to generate/load the 3d model
|
|
3387
|
-
footprinter_string:
|
|
3388
|
-
model_obj_url:
|
|
3389
|
-
model_stl_url:
|
|
3390
|
-
model_3mf_url:
|
|
3391
|
-
model_gltf_url:
|
|
3392
|
-
model_glb_url:
|
|
3393
|
-
model_step_url:
|
|
3394
|
-
model_wrl_url:
|
|
3395
|
+
footprinter_string: z162.string().optional(),
|
|
3396
|
+
model_obj_url: z162.string().optional(),
|
|
3397
|
+
model_stl_url: z162.string().optional(),
|
|
3398
|
+
model_3mf_url: z162.string().optional(),
|
|
3399
|
+
model_gltf_url: z162.string().optional(),
|
|
3400
|
+
model_glb_url: z162.string().optional(),
|
|
3401
|
+
model_step_url: z162.string().optional(),
|
|
3402
|
+
model_wrl_url: z162.string().optional(),
|
|
3395
3403
|
model_asset: asset.optional(),
|
|
3396
|
-
model_unit_to_mm_scale_factor:
|
|
3397
|
-
model_board_normal_direction:
|
|
3404
|
+
model_unit_to_mm_scale_factor: z162.number().optional(),
|
|
3405
|
+
model_board_normal_direction: z162.enum(cad_model_axis_directions).optional().describe(
|
|
3398
3406
|
`The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
|
|
3399
3407
|
),
|
|
3400
3408
|
model_origin_position: point3.optional(),
|
|
3401
|
-
model_origin_alignment:
|
|
3409
|
+
model_origin_alignment: z162.enum([
|
|
3402
3410
|
"unknown",
|
|
3403
3411
|
"center",
|
|
3404
3412
|
"center_of_component_on_board_surface",
|
|
3405
3413
|
"bottom_center_of_component"
|
|
3406
3414
|
]).optional(),
|
|
3407
|
-
model_object_fit:
|
|
3408
|
-
model_jscad:
|
|
3409
|
-
show_as_translucent_model:
|
|
3410
|
-
show_as_bounding_box:
|
|
3411
|
-
anchor_alignment:
|
|
3415
|
+
model_object_fit: z162.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
|
|
3416
|
+
model_jscad: z162.any().optional(),
|
|
3417
|
+
show_as_translucent_model: z162.boolean().optional(),
|
|
3418
|
+
show_as_bounding_box: z162.boolean().optional(),
|
|
3419
|
+
anchor_alignment: z162.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
|
|
3412
3420
|
}).describe("Defines a component on the PCB");
|
|
3413
3421
|
expectTypesMatch(true);
|
|
3414
3422
|
|
|
3415
3423
|
// src/simulation/simulation_voltage_source.ts
|
|
3416
|
-
import { z as
|
|
3417
|
-
var wave_shape =
|
|
3418
|
-
var percentage =
|
|
3424
|
+
import { z as z163 } from "zod";
|
|
3425
|
+
var wave_shape = z163.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
3426
|
+
var percentage = z163.union([z163.string(), z163.number()]).transform((val) => {
|
|
3419
3427
|
if (typeof val === "string") {
|
|
3420
3428
|
if (val.endsWith("%")) {
|
|
3421
3429
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3424,30 +3432,30 @@ var percentage = z162.union([z162.string(), z162.number()]).transform((val) => {
|
|
|
3424
3432
|
}
|
|
3425
3433
|
return val;
|
|
3426
3434
|
}).pipe(
|
|
3427
|
-
|
|
3435
|
+
z163.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3428
3436
|
);
|
|
3429
|
-
var simulation_dc_voltage_source =
|
|
3430
|
-
type:
|
|
3437
|
+
var simulation_dc_voltage_source = z163.object({
|
|
3438
|
+
type: z163.literal("simulation_voltage_source"),
|
|
3431
3439
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3432
3440
|
"simulation_voltage_source"
|
|
3433
3441
|
),
|
|
3434
|
-
is_dc_source:
|
|
3435
|
-
positive_source_port_id:
|
|
3436
|
-
negative_source_port_id:
|
|
3437
|
-
positive_source_net_id:
|
|
3438
|
-
negative_source_net_id:
|
|
3442
|
+
is_dc_source: z163.literal(true).optional().default(true),
|
|
3443
|
+
positive_source_port_id: z163.string().optional(),
|
|
3444
|
+
negative_source_port_id: z163.string().optional(),
|
|
3445
|
+
positive_source_net_id: z163.string().optional(),
|
|
3446
|
+
negative_source_net_id: z163.string().optional(),
|
|
3439
3447
|
voltage
|
|
3440
3448
|
}).describe("Defines a DC voltage source for simulation");
|
|
3441
|
-
var simulation_ac_voltage_source =
|
|
3442
|
-
type:
|
|
3449
|
+
var simulation_ac_voltage_source = z163.object({
|
|
3450
|
+
type: z163.literal("simulation_voltage_source"),
|
|
3443
3451
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3444
3452
|
"simulation_voltage_source"
|
|
3445
3453
|
),
|
|
3446
|
-
is_dc_source:
|
|
3447
|
-
terminal1_source_port_id:
|
|
3448
|
-
terminal2_source_port_id:
|
|
3449
|
-
terminal1_source_net_id:
|
|
3450
|
-
terminal2_source_net_id:
|
|
3454
|
+
is_dc_source: z163.literal(false),
|
|
3455
|
+
terminal1_source_port_id: z163.string().optional(),
|
|
3456
|
+
terminal2_source_port_id: z163.string().optional(),
|
|
3457
|
+
terminal1_source_net_id: z163.string().optional(),
|
|
3458
|
+
terminal2_source_net_id: z163.string().optional(),
|
|
3451
3459
|
voltage: voltage.optional(),
|
|
3452
3460
|
frequency: frequency.optional(),
|
|
3453
3461
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -3460,14 +3468,14 @@ var simulation_ac_voltage_source = z162.object({
|
|
|
3460
3468
|
pulse_width: ms.optional(),
|
|
3461
3469
|
period: ms.optional()
|
|
3462
3470
|
}).describe("Defines an AC voltage source for simulation");
|
|
3463
|
-
var simulation_voltage_source =
|
|
3471
|
+
var simulation_voltage_source = z163.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
3464
3472
|
expectTypesMatch(true);
|
|
3465
3473
|
expectTypesMatch(true);
|
|
3466
3474
|
expectTypesMatch(true);
|
|
3467
3475
|
|
|
3468
3476
|
// src/simulation/simulation_current_source.ts
|
|
3469
|
-
import { z as
|
|
3470
|
-
var percentage2 =
|
|
3477
|
+
import { z as z164 } from "zod";
|
|
3478
|
+
var percentage2 = z164.union([z164.string(), z164.number()]).transform((val) => {
|
|
3471
3479
|
if (typeof val === "string") {
|
|
3472
3480
|
if (val.endsWith("%")) {
|
|
3473
3481
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3476,30 +3484,30 @@ var percentage2 = z163.union([z163.string(), z163.number()]).transform((val) =>
|
|
|
3476
3484
|
}
|
|
3477
3485
|
return val;
|
|
3478
3486
|
}).pipe(
|
|
3479
|
-
|
|
3487
|
+
z164.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3480
3488
|
);
|
|
3481
|
-
var simulation_dc_current_source =
|
|
3482
|
-
type:
|
|
3489
|
+
var simulation_dc_current_source = z164.object({
|
|
3490
|
+
type: z164.literal("simulation_current_source"),
|
|
3483
3491
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3484
3492
|
"simulation_current_source"
|
|
3485
3493
|
),
|
|
3486
|
-
is_dc_source:
|
|
3487
|
-
positive_source_port_id:
|
|
3488
|
-
negative_source_port_id:
|
|
3489
|
-
positive_source_net_id:
|
|
3490
|
-
negative_source_net_id:
|
|
3494
|
+
is_dc_source: z164.literal(true).optional().default(true),
|
|
3495
|
+
positive_source_port_id: z164.string().optional(),
|
|
3496
|
+
negative_source_port_id: z164.string().optional(),
|
|
3497
|
+
positive_source_net_id: z164.string().optional(),
|
|
3498
|
+
negative_source_net_id: z164.string().optional(),
|
|
3491
3499
|
current
|
|
3492
3500
|
}).describe("Defines a DC current source for simulation");
|
|
3493
|
-
var simulation_ac_current_source =
|
|
3494
|
-
type:
|
|
3501
|
+
var simulation_ac_current_source = z164.object({
|
|
3502
|
+
type: z164.literal("simulation_current_source"),
|
|
3495
3503
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3496
3504
|
"simulation_current_source"
|
|
3497
3505
|
),
|
|
3498
|
-
is_dc_source:
|
|
3499
|
-
terminal1_source_port_id:
|
|
3500
|
-
terminal2_source_port_id:
|
|
3501
|
-
terminal1_source_net_id:
|
|
3502
|
-
terminal2_source_net_id:
|
|
3506
|
+
is_dc_source: z164.literal(false),
|
|
3507
|
+
terminal1_source_port_id: z164.string().optional(),
|
|
3508
|
+
terminal2_source_port_id: z164.string().optional(),
|
|
3509
|
+
terminal1_source_net_id: z164.string().optional(),
|
|
3510
|
+
terminal2_source_net_id: z164.string().optional(),
|
|
3503
3511
|
current: current.optional(),
|
|
3504
3512
|
frequency: frequency.optional(),
|
|
3505
3513
|
peak_to_peak_current: current.optional(),
|
|
@@ -3507,31 +3515,31 @@ var simulation_ac_current_source = z163.object({
|
|
|
3507
3515
|
phase: rotation.optional(),
|
|
3508
3516
|
duty_cycle: percentage2.optional()
|
|
3509
3517
|
}).describe("Defines an AC current source for simulation");
|
|
3510
|
-
var simulation_current_source =
|
|
3518
|
+
var simulation_current_source = z164.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
|
|
3511
3519
|
expectTypesMatch(true);
|
|
3512
3520
|
expectTypesMatch(true);
|
|
3513
3521
|
expectTypesMatch(true);
|
|
3514
3522
|
|
|
3515
3523
|
// src/simulation/simulation_experiment.ts
|
|
3516
|
-
import { z as
|
|
3517
|
-
var experiment_type =
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
|
|
3521
|
-
|
|
3524
|
+
import { z as z165 } from "zod";
|
|
3525
|
+
var experiment_type = z165.union([
|
|
3526
|
+
z165.literal("spice_dc_sweep"),
|
|
3527
|
+
z165.literal("spice_dc_operating_point"),
|
|
3528
|
+
z165.literal("spice_transient_analysis"),
|
|
3529
|
+
z165.literal("spice_ac_analysis")
|
|
3522
3530
|
]);
|
|
3523
|
-
var spice_simulation_options =
|
|
3524
|
-
method:
|
|
3525
|
-
reltol:
|
|
3526
|
-
abstol:
|
|
3527
|
-
vntol:
|
|
3531
|
+
var spice_simulation_options = z165.object({
|
|
3532
|
+
method: z165.enum(["trap", "gear"]).optional(),
|
|
3533
|
+
reltol: z165.union([z165.number(), z165.string()]).optional(),
|
|
3534
|
+
abstol: z165.union([z165.number(), z165.string()]).optional(),
|
|
3535
|
+
vntol: z165.union([z165.number(), z165.string()]).optional()
|
|
3528
3536
|
}).describe("SPICE solver options for a simulation experiment");
|
|
3529
|
-
var simulation_experiment =
|
|
3530
|
-
type:
|
|
3537
|
+
var simulation_experiment = z165.object({
|
|
3538
|
+
type: z165.literal("simulation_experiment"),
|
|
3531
3539
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
3532
3540
|
"simulation_experiment"
|
|
3533
3541
|
),
|
|
3534
|
-
name:
|
|
3542
|
+
name: z165.string(),
|
|
3535
3543
|
experiment_type,
|
|
3536
3544
|
time_per_step: duration_ms.optional(),
|
|
3537
3545
|
start_time_ms: ms.optional(),
|
|
@@ -3541,80 +3549,73 @@ var simulation_experiment = z164.object({
|
|
|
3541
3549
|
expectTypesMatch(true);
|
|
3542
3550
|
|
|
3543
3551
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
3544
|
-
import { z as
|
|
3545
|
-
var simulation_transient_voltage_graph =
|
|
3546
|
-
type:
|
|
3552
|
+
import { z as z166 } from "zod";
|
|
3553
|
+
var simulation_transient_voltage_graph = z166.object({
|
|
3554
|
+
type: z166.literal("simulation_transient_voltage_graph"),
|
|
3547
3555
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
3548
3556
|
"simulation_transient_voltage_graph"
|
|
3549
3557
|
),
|
|
3550
|
-
simulation_experiment_id:
|
|
3551
|
-
timestamps_ms:
|
|
3552
|
-
voltage_levels:
|
|
3553
|
-
source_component_id:
|
|
3554
|
-
subcircuit_connectivity_map_key:
|
|
3558
|
+
simulation_experiment_id: z166.string(),
|
|
3559
|
+
timestamps_ms: z166.array(z166.number()).optional(),
|
|
3560
|
+
voltage_levels: z166.array(z166.number()),
|
|
3561
|
+
source_component_id: z166.string().optional(),
|
|
3562
|
+
subcircuit_connectivity_map_key: z166.string().optional(),
|
|
3555
3563
|
time_per_step: duration_ms,
|
|
3556
3564
|
start_time_ms: ms,
|
|
3557
3565
|
end_time_ms: ms,
|
|
3558
|
-
name:
|
|
3559
|
-
color:
|
|
3566
|
+
name: z166.string().optional(),
|
|
3567
|
+
color: z166.string().optional()
|
|
3560
3568
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
3561
3569
|
expectTypesMatch(true);
|
|
3562
3570
|
|
|
3563
3571
|
// src/simulation/simulation_transient_current_graph.ts
|
|
3564
|
-
import { z as
|
|
3565
|
-
var simulation_transient_current_graph =
|
|
3566
|
-
type:
|
|
3572
|
+
import { z as z167 } from "zod";
|
|
3573
|
+
var simulation_transient_current_graph = z167.object({
|
|
3574
|
+
type: z167.literal("simulation_transient_current_graph"),
|
|
3567
3575
|
simulation_transient_current_graph_id: getZodPrefixedIdWithDefault(
|
|
3568
3576
|
"simulation_transient_current_graph"
|
|
3569
3577
|
),
|
|
3570
|
-
simulation_experiment_id:
|
|
3571
|
-
timestamps_ms:
|
|
3572
|
-
current_levels:
|
|
3573
|
-
source_component_id:
|
|
3574
|
-
subcircuit_connectivity_map_key:
|
|
3578
|
+
simulation_experiment_id: z167.string(),
|
|
3579
|
+
timestamps_ms: z167.array(z167.number()).optional(),
|
|
3580
|
+
current_levels: z167.array(z167.number()),
|
|
3581
|
+
source_component_id: z167.string().optional(),
|
|
3582
|
+
subcircuit_connectivity_map_key: z167.string().optional(),
|
|
3575
3583
|
time_per_step: duration_ms,
|
|
3576
3584
|
start_time_ms: ms,
|
|
3577
3585
|
end_time_ms: ms,
|
|
3578
|
-
name:
|
|
3579
|
-
color:
|
|
3586
|
+
name: z167.string().optional(),
|
|
3587
|
+
color: z167.string().optional()
|
|
3580
3588
|
}).describe("Stores current measurements over time for a simulation");
|
|
3581
3589
|
expectTypesMatch(true);
|
|
3582
3590
|
|
|
3583
3591
|
// src/simulation/simulation_switch.ts
|
|
3584
|
-
import { z as
|
|
3585
|
-
var simulation_switch =
|
|
3586
|
-
type:
|
|
3592
|
+
import { z as z168 } from "zod";
|
|
3593
|
+
var simulation_switch = z168.object({
|
|
3594
|
+
type: z168.literal("simulation_switch"),
|
|
3587
3595
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
3588
|
-
source_component_id:
|
|
3596
|
+
source_component_id: z168.string().optional(),
|
|
3589
3597
|
closes_at: ms.optional(),
|
|
3590
3598
|
opens_at: ms.optional(),
|
|
3591
|
-
starts_closed:
|
|
3599
|
+
starts_closed: z168.boolean().optional(),
|
|
3592
3600
|
switching_frequency: frequency.optional()
|
|
3593
3601
|
}).describe("Defines a switch for simulation timing control");
|
|
3594
3602
|
expectTypesMatch(true);
|
|
3595
3603
|
|
|
3596
3604
|
// src/simulation/simulation_voltage_probe.ts
|
|
3597
|
-
import { z as
|
|
3598
|
-
var
|
|
3599
|
-
|
|
3600
|
-
center: z168.number().optional(),
|
|
3601
|
-
offset_divs: z168.number().optional(),
|
|
3602
|
-
units_per_div: z168.number().optional()
|
|
3603
|
-
});
|
|
3604
|
-
var simulation_voltage_probe = z168.object({
|
|
3605
|
-
type: z168.literal("simulation_voltage_probe"),
|
|
3605
|
+
import { z as z169 } from "zod";
|
|
3606
|
+
var simulation_voltage_probe = z169.object({
|
|
3607
|
+
type: z169.literal("simulation_voltage_probe"),
|
|
3606
3608
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
3607
3609
|
"simulation_voltage_probe"
|
|
3608
3610
|
),
|
|
3609
|
-
source_component_id:
|
|
3610
|
-
name:
|
|
3611
|
-
signal_input_source_port_id:
|
|
3612
|
-
signal_input_source_net_id:
|
|
3613
|
-
reference_input_source_port_id:
|
|
3614
|
-
reference_input_source_net_id:
|
|
3615
|
-
subcircuit_id:
|
|
3616
|
-
color:
|
|
3617
|
-
display_options: simulation_voltage_probe_display_options.optional()
|
|
3611
|
+
source_component_id: z169.string().optional(),
|
|
3612
|
+
name: z169.string().optional(),
|
|
3613
|
+
signal_input_source_port_id: z169.string().optional(),
|
|
3614
|
+
signal_input_source_net_id: z169.string().optional(),
|
|
3615
|
+
reference_input_source_port_id: z169.string().optional(),
|
|
3616
|
+
reference_input_source_net_id: z169.string().optional(),
|
|
3617
|
+
subcircuit_id: z169.string().optional(),
|
|
3618
|
+
color: z169.string().optional()
|
|
3618
3619
|
}).describe(
|
|
3619
3620
|
"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."
|
|
3620
3621
|
).superRefine((data, ctx) => {
|
|
@@ -3624,20 +3625,20 @@ var simulation_voltage_probe = z168.object({
|
|
|
3624
3625
|
const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
|
|
3625
3626
|
if (has_ports && has_nets) {
|
|
3626
3627
|
ctx.addIssue({
|
|
3627
|
-
code:
|
|
3628
|
+
code: z169.ZodIssueCode.custom,
|
|
3628
3629
|
message: "Cannot mix port and net connections in a differential probe."
|
|
3629
3630
|
});
|
|
3630
3631
|
} else if (has_ports) {
|
|
3631
3632
|
if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
|
|
3632
3633
|
ctx.addIssue({
|
|
3633
|
-
code:
|
|
3634
|
+
code: z169.ZodIssueCode.custom,
|
|
3634
3635
|
message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
|
|
3635
3636
|
});
|
|
3636
3637
|
}
|
|
3637
3638
|
} else if (has_nets) {
|
|
3638
3639
|
if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
|
|
3639
3640
|
ctx.addIssue({
|
|
3640
|
-
code:
|
|
3641
|
+
code: z169.ZodIssueCode.custom,
|
|
3641
3642
|
message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
|
|
3642
3643
|
});
|
|
3643
3644
|
}
|
|
@@ -3645,37 +3646,29 @@ var simulation_voltage_probe = z168.object({
|
|
|
3645
3646
|
} else {
|
|
3646
3647
|
if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
|
|
3647
3648
|
ctx.addIssue({
|
|
3648
|
-
code:
|
|
3649
|
+
code: z169.ZodIssueCode.custom,
|
|
3649
3650
|
message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
|
|
3650
3651
|
});
|
|
3651
3652
|
}
|
|
3652
3653
|
}
|
|
3653
3654
|
});
|
|
3654
3655
|
expectTypesMatch(true);
|
|
3655
|
-
expectTypesMatch(true);
|
|
3656
3656
|
|
|
3657
3657
|
// src/simulation/simulation_current_probe.ts
|
|
3658
|
-
import { z as
|
|
3659
|
-
var
|
|
3660
|
-
|
|
3661
|
-
center: z169.number().optional(),
|
|
3662
|
-
offset_divs: z169.number().optional(),
|
|
3663
|
-
units_per_div: z169.number().optional()
|
|
3664
|
-
});
|
|
3665
|
-
var simulation_current_probe = z169.object({
|
|
3666
|
-
type: z169.literal("simulation_current_probe"),
|
|
3658
|
+
import { z as z170 } from "zod";
|
|
3659
|
+
var simulation_current_probe = z170.object({
|
|
3660
|
+
type: z170.literal("simulation_current_probe"),
|
|
3667
3661
|
simulation_current_probe_id: getZodPrefixedIdWithDefault(
|
|
3668
3662
|
"simulation_current_probe"
|
|
3669
3663
|
),
|
|
3670
|
-
source_component_id:
|
|
3671
|
-
name:
|
|
3672
|
-
positive_source_port_id:
|
|
3673
|
-
negative_source_port_id:
|
|
3674
|
-
positive_source_net_id:
|
|
3675
|
-
negative_source_net_id:
|
|
3676
|
-
subcircuit_id:
|
|
3677
|
-
color:
|
|
3678
|
-
display_options: simulation_current_probe_display_options.optional()
|
|
3664
|
+
source_component_id: z170.string().optional(),
|
|
3665
|
+
name: z170.string().optional(),
|
|
3666
|
+
positive_source_port_id: z170.string().optional(),
|
|
3667
|
+
negative_source_port_id: z170.string().optional(),
|
|
3668
|
+
positive_source_net_id: z170.string().optional(),
|
|
3669
|
+
negative_source_net_id: z170.string().optional(),
|
|
3670
|
+
subcircuit_id: z170.string().optional(),
|
|
3671
|
+
color: z170.string().optional()
|
|
3679
3672
|
}).describe(
|
|
3680
3673
|
"Defines a current probe for simulation. It measures current flowing from the positive endpoint to the negative endpoint."
|
|
3681
3674
|
).superRefine((data, ctx) => {
|
|
@@ -3687,7 +3680,7 @@ var simulation_current_probe = z169.object({
|
|
|
3687
3680
|
const hasNets = hasPositiveNet || hasNegativeNet;
|
|
3688
3681
|
if (hasPorts && hasNets) {
|
|
3689
3682
|
ctx.addIssue({
|
|
3690
|
-
code:
|
|
3683
|
+
code: z170.ZodIssueCode.custom,
|
|
3691
3684
|
message: "Cannot mix port and net connections in a current probe."
|
|
3692
3685
|
});
|
|
3693
3686
|
return;
|
|
@@ -3695,7 +3688,7 @@ var simulation_current_probe = z169.object({
|
|
|
3695
3688
|
if (hasPorts) {
|
|
3696
3689
|
if (!hasPositivePort || !hasNegativePort) {
|
|
3697
3690
|
ctx.addIssue({
|
|
3698
|
-
code:
|
|
3691
|
+
code: z170.ZodIssueCode.custom,
|
|
3699
3692
|
message: "Current probe using source ports requires both positive_source_port_id and negative_source_port_id."
|
|
3700
3693
|
});
|
|
3701
3694
|
}
|
|
@@ -3704,65 +3697,114 @@ var simulation_current_probe = z169.object({
|
|
|
3704
3697
|
if (hasNets) {
|
|
3705
3698
|
if (!hasPositiveNet || !hasNegativeNet) {
|
|
3706
3699
|
ctx.addIssue({
|
|
3707
|
-
code:
|
|
3700
|
+
code: z170.ZodIssueCode.custom,
|
|
3708
3701
|
message: "Current probe using source nets requires both positive_source_net_id and negative_source_net_id."
|
|
3709
3702
|
});
|
|
3710
3703
|
}
|
|
3711
3704
|
return;
|
|
3712
3705
|
}
|
|
3713
3706
|
ctx.addIssue({
|
|
3714
|
-
code:
|
|
3707
|
+
code: z170.ZodIssueCode.custom,
|
|
3715
3708
|
message: "A current probe must have either positive/negative source port ids or positive/negative source net ids."
|
|
3716
3709
|
});
|
|
3717
3710
|
});
|
|
3718
3711
|
expectTypesMatch(true);
|
|
3719
|
-
expectTypesMatch(true);
|
|
3720
3712
|
|
|
3721
3713
|
// src/simulation/simulation_unknown_experiment_error.ts
|
|
3722
|
-
import { z as
|
|
3714
|
+
import { z as z171 } from "zod";
|
|
3723
3715
|
var simulation_unknown_experiment_error = base_circuit_json_error.extend({
|
|
3724
|
-
type:
|
|
3716
|
+
type: z171.literal("simulation_unknown_experiment_error"),
|
|
3725
3717
|
simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
|
|
3726
3718
|
"simulation_unknown_experiment_error"
|
|
3727
3719
|
),
|
|
3728
|
-
error_type:
|
|
3729
|
-
simulation_experiment_id:
|
|
3730
|
-
subcircuit_id:
|
|
3720
|
+
error_type: z171.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
|
|
3721
|
+
simulation_experiment_id: z171.string().optional(),
|
|
3722
|
+
subcircuit_id: z171.string().optional()
|
|
3731
3723
|
}).describe("An unknown error occurred during the simulation experiment.");
|
|
3732
3724
|
expectTypesMatch(true);
|
|
3733
3725
|
|
|
3734
3726
|
// src/simulation/simulation_op_amp.ts
|
|
3735
|
-
import { z as
|
|
3736
|
-
var simulation_op_amp =
|
|
3737
|
-
type:
|
|
3727
|
+
import { z as z172 } from "zod";
|
|
3728
|
+
var simulation_op_amp = z172.object({
|
|
3729
|
+
type: z172.literal("simulation_op_amp"),
|
|
3738
3730
|
simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
|
|
3739
|
-
source_component_id:
|
|
3740
|
-
inverting_input_source_port_id:
|
|
3741
|
-
non_inverting_input_source_port_id:
|
|
3742
|
-
output_source_port_id:
|
|
3743
|
-
positive_supply_source_port_id:
|
|
3744
|
-
negative_supply_source_port_id:
|
|
3731
|
+
source_component_id: z172.string().optional(),
|
|
3732
|
+
inverting_input_source_port_id: z172.string(),
|
|
3733
|
+
non_inverting_input_source_port_id: z172.string(),
|
|
3734
|
+
output_source_port_id: z172.string(),
|
|
3735
|
+
positive_supply_source_port_id: z172.string(),
|
|
3736
|
+
negative_supply_source_port_id: z172.string()
|
|
3745
3737
|
}).describe("Defines a simple ideal operational amplifier for simulation");
|
|
3746
3738
|
expectTypesMatch(true);
|
|
3747
3739
|
|
|
3748
3740
|
// src/simulation/simulation_spice_subcircuit.ts
|
|
3749
|
-
import { z as
|
|
3750
|
-
var simulation_spice_subcircuit =
|
|
3751
|
-
type:
|
|
3741
|
+
import { z as z173 } from "zod";
|
|
3742
|
+
var simulation_spice_subcircuit = z173.object({
|
|
3743
|
+
type: z173.literal("simulation_spice_subcircuit"),
|
|
3752
3744
|
simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault(
|
|
3753
3745
|
"simulation_spice_subcircuit"
|
|
3754
3746
|
),
|
|
3755
|
-
source_component_id:
|
|
3756
|
-
spice_pin_to_source_port_map:
|
|
3757
|
-
subcircuit_source:
|
|
3747
|
+
source_component_id: z173.string(),
|
|
3748
|
+
spice_pin_to_source_port_map: z173.record(z173.string(), z173.string()),
|
|
3749
|
+
subcircuit_source: z173.string()
|
|
3758
3750
|
}).describe("Defines a custom SPICE subcircuit model for simulation");
|
|
3759
3751
|
expectTypesMatch(
|
|
3760
3752
|
true
|
|
3761
3753
|
);
|
|
3762
3754
|
|
|
3755
|
+
// src/simulation/simulation_oscilloscope_trace.ts
|
|
3756
|
+
import { z as z174 } from "zod";
|
|
3757
|
+
var hasValue = (value) => value !== void 0;
|
|
3758
|
+
var simulation_oscilloscope_trace = z174.object({
|
|
3759
|
+
type: z174.literal("simulation_oscilloscope_trace"),
|
|
3760
|
+
simulation_oscilloscope_trace_id: getZodPrefixedIdWithDefault(
|
|
3761
|
+
"simulation_oscilloscope_trace"
|
|
3762
|
+
),
|
|
3763
|
+
simulation_transient_voltage_graph_id: z174.string().optional(),
|
|
3764
|
+
simulation_transient_current_graph_id: z174.string().optional(),
|
|
3765
|
+
simulation_voltage_probe_id: z174.string().optional(),
|
|
3766
|
+
simulation_current_probe_id: z174.string().optional(),
|
|
3767
|
+
display_name: z174.string().optional(),
|
|
3768
|
+
color: z174.string().optional(),
|
|
3769
|
+
display_center_value: z174.number().optional(),
|
|
3770
|
+
display_center_offset_divs: z174.number().optional(),
|
|
3771
|
+
volts_per_div: z174.number().positive().optional(),
|
|
3772
|
+
amps_per_div: z174.number().positive().optional()
|
|
3773
|
+
}).describe(
|
|
3774
|
+
"Defines how a simulation measurement is rendered as an oscilloscope-style trace."
|
|
3775
|
+
).superRefine((data, ctx) => {
|
|
3776
|
+
const voltageReferences = [
|
|
3777
|
+
data.simulation_transient_voltage_graph_id,
|
|
3778
|
+
data.simulation_voltage_probe_id
|
|
3779
|
+
].filter(hasValue).length;
|
|
3780
|
+
const currentReferences = [
|
|
3781
|
+
data.simulation_transient_current_graph_id,
|
|
3782
|
+
data.simulation_current_probe_id
|
|
3783
|
+
].filter(hasValue).length;
|
|
3784
|
+
if (voltageReferences + currentReferences !== 1) {
|
|
3785
|
+
ctx.addIssue({
|
|
3786
|
+
code: z174.ZodIssueCode.custom,
|
|
3787
|
+
message: "An oscilloscope trace must reference exactly one voltage graph, current graph, voltage probe, or current probe."
|
|
3788
|
+
});
|
|
3789
|
+
}
|
|
3790
|
+
if (voltageReferences > 0 && data.amps_per_div !== void 0) {
|
|
3791
|
+
ctx.addIssue({
|
|
3792
|
+
code: z174.ZodIssueCode.custom,
|
|
3793
|
+
message: "Voltage oscilloscope traces must use volts_per_div, not amps_per_div."
|
|
3794
|
+
});
|
|
3795
|
+
}
|
|
3796
|
+
if (currentReferences > 0 && data.volts_per_div !== void 0) {
|
|
3797
|
+
ctx.addIssue({
|
|
3798
|
+
code: z174.ZodIssueCode.custom,
|
|
3799
|
+
message: "Current oscilloscope traces must use amps_per_div, not volts_per_div."
|
|
3800
|
+
});
|
|
3801
|
+
}
|
|
3802
|
+
});
|
|
3803
|
+
expectTypesMatch(true);
|
|
3804
|
+
|
|
3763
3805
|
// src/any_circuit_element.ts
|
|
3764
|
-
import { z as
|
|
3765
|
-
var any_circuit_element =
|
|
3806
|
+
import { z as z175 } from "zod";
|
|
3807
|
+
var any_circuit_element = z175.union([
|
|
3766
3808
|
source_trace,
|
|
3767
3809
|
source_port,
|
|
3768
3810
|
source_component_internal_connection,
|
|
@@ -3900,6 +3942,7 @@ var any_circuit_element = z173.union([
|
|
|
3900
3942
|
simulation_switch,
|
|
3901
3943
|
simulation_voltage_probe,
|
|
3902
3944
|
simulation_current_probe,
|
|
3945
|
+
simulation_oscilloscope_trace,
|
|
3903
3946
|
simulation_unknown_experiment_error,
|
|
3904
3947
|
simulation_op_amp,
|
|
3905
3948
|
simulation_spice_subcircuit
|
|
@@ -4079,19 +4122,18 @@ export {
|
|
|
4079
4122
|
simulation_ac_current_source,
|
|
4080
4123
|
simulation_ac_voltage_source,
|
|
4081
4124
|
simulation_current_probe,
|
|
4082
|
-
simulation_current_probe_display_options,
|
|
4083
4125
|
simulation_current_source,
|
|
4084
4126
|
simulation_dc_current_source,
|
|
4085
4127
|
simulation_dc_voltage_source,
|
|
4086
4128
|
simulation_experiment,
|
|
4087
4129
|
simulation_op_amp,
|
|
4130
|
+
simulation_oscilloscope_trace,
|
|
4088
4131
|
simulation_spice_subcircuit,
|
|
4089
4132
|
simulation_switch,
|
|
4090
4133
|
simulation_transient_current_graph,
|
|
4091
4134
|
simulation_transient_voltage_graph,
|
|
4092
4135
|
simulation_unknown_experiment_error,
|
|
4093
4136
|
simulation_voltage_probe,
|
|
4094
|
-
simulation_voltage_probe_display_options,
|
|
4095
4137
|
simulation_voltage_source,
|
|
4096
4138
|
size,
|
|
4097
4139
|
source_ambiguous_port_reference,
|
|
@@ -4118,6 +4160,7 @@ export {
|
|
|
4118
4160
|
source_port,
|
|
4119
4161
|
source_project_metadata,
|
|
4120
4162
|
source_property_ignored_warning,
|
|
4163
|
+
source_simple_ammeter,
|
|
4121
4164
|
source_simple_battery,
|
|
4122
4165
|
source_simple_capacitor,
|
|
4123
4166
|
source_simple_chip,
|