circuit-json 0.0.288 → 0.0.290
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 +30 -1
- package/dist/index.d.mts +238 -12
- package/dist/index.mjs +95 -69
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2060,9 +2060,10 @@ var pcb_note_text = z95.object({
|
|
|
2060
2060
|
pcb_component_id: z95.string().optional(),
|
|
2061
2061
|
pcb_group_id: z95.string().optional(),
|
|
2062
2062
|
subcircuit_id: z95.string().optional(),
|
|
2063
|
+
name: z95.string().optional(),
|
|
2063
2064
|
font: z95.literal("tscircuit2024").default("tscircuit2024"),
|
|
2064
2065
|
font_size: distance.default("1mm"),
|
|
2065
|
-
text: z95.string(),
|
|
2066
|
+
text: z95.string().optional(),
|
|
2066
2067
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2067
2068
|
anchor_alignment: z95.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2068
2069
|
color: z95.string().optional()
|
|
@@ -2077,6 +2078,8 @@ var pcb_note_rect = z96.object({
|
|
|
2077
2078
|
pcb_component_id: z96.string().optional(),
|
|
2078
2079
|
pcb_group_id: z96.string().optional(),
|
|
2079
2080
|
subcircuit_id: z96.string().optional(),
|
|
2081
|
+
name: z96.string().optional(),
|
|
2082
|
+
text: z96.string().optional(),
|
|
2080
2083
|
center: point,
|
|
2081
2084
|
width: length,
|
|
2082
2085
|
height: length,
|
|
@@ -2096,6 +2099,8 @@ var pcb_note_path = z97.object({
|
|
|
2096
2099
|
pcb_component_id: z97.string().optional(),
|
|
2097
2100
|
pcb_group_id: z97.string().optional(),
|
|
2098
2101
|
subcircuit_id: z97.string().optional(),
|
|
2102
|
+
name: z97.string().optional(),
|
|
2103
|
+
text: z97.string().optional(),
|
|
2099
2104
|
route: z97.array(point),
|
|
2100
2105
|
stroke_width: length.default("0.1mm"),
|
|
2101
2106
|
color: z97.string().optional()
|
|
@@ -2110,6 +2115,8 @@ var pcb_note_line = z98.object({
|
|
|
2110
2115
|
pcb_component_id: z98.string().optional(),
|
|
2111
2116
|
pcb_group_id: z98.string().optional(),
|
|
2112
2117
|
subcircuit_id: z98.string().optional(),
|
|
2118
|
+
name: z98.string().optional(),
|
|
2119
|
+
text: z98.string().optional(),
|
|
2113
2120
|
x1: distance,
|
|
2114
2121
|
y1: distance,
|
|
2115
2122
|
x2: distance,
|
|
@@ -2128,6 +2135,7 @@ var pcb_note_dimension = z99.object({
|
|
|
2128
2135
|
pcb_component_id: z99.string().optional(),
|
|
2129
2136
|
pcb_group_id: z99.string().optional(),
|
|
2130
2137
|
subcircuit_id: z99.string().optional(),
|
|
2138
|
+
name: z99.string().optional(),
|
|
2131
2139
|
from: point,
|
|
2132
2140
|
to: point,
|
|
2133
2141
|
text: z99.string().optional(),
|
|
@@ -2516,36 +2524,52 @@ var pcb_courtyard_outline = z118.object({
|
|
|
2516
2524
|
}).describe("Defines a courtyard outline on the PCB");
|
|
2517
2525
|
expectTypesMatch(true);
|
|
2518
2526
|
|
|
2519
|
-
// src/
|
|
2527
|
+
// src/pcb/pcb_courtyard_polygon.ts
|
|
2520
2528
|
import { z as z119 } from "zod";
|
|
2521
|
-
var
|
|
2522
|
-
type: z119.literal("
|
|
2523
|
-
|
|
2529
|
+
var pcb_courtyard_polygon = z119.object({
|
|
2530
|
+
type: z119.literal("pcb_courtyard_polygon"),
|
|
2531
|
+
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
|
|
2532
|
+
"pcb_courtyard_polygon"
|
|
2533
|
+
),
|
|
2524
2534
|
pcb_component_id: z119.string(),
|
|
2525
|
-
|
|
2535
|
+
pcb_group_id: z119.string().optional(),
|
|
2536
|
+
subcircuit_id: z119.string().optional(),
|
|
2537
|
+
layer: visible_layer,
|
|
2538
|
+
points: z119.array(point).min(3),
|
|
2539
|
+
color: z119.string().optional()
|
|
2540
|
+
}).describe("Defines a courtyard polygon on the PCB");
|
|
2541
|
+
expectTypesMatch(true);
|
|
2542
|
+
|
|
2543
|
+
// src/cad/cad_component.ts
|
|
2544
|
+
import { z as z120 } from "zod";
|
|
2545
|
+
var cad_component = z120.object({
|
|
2546
|
+
type: z120.literal("cad_component"),
|
|
2547
|
+
cad_component_id: z120.string(),
|
|
2548
|
+
pcb_component_id: z120.string(),
|
|
2549
|
+
source_component_id: z120.string(),
|
|
2526
2550
|
position: point3,
|
|
2527
2551
|
rotation: point3.optional(),
|
|
2528
2552
|
size: point3.optional(),
|
|
2529
2553
|
layer: layer_ref.optional(),
|
|
2530
|
-
subcircuit_id:
|
|
2554
|
+
subcircuit_id: z120.string().optional(),
|
|
2531
2555
|
// These are all ways to generate/load the 3d model
|
|
2532
|
-
footprinter_string:
|
|
2533
|
-
model_obj_url:
|
|
2534
|
-
model_stl_url:
|
|
2535
|
-
model_3mf_url:
|
|
2536
|
-
model_gltf_url:
|
|
2537
|
-
model_glb_url:
|
|
2538
|
-
model_step_url:
|
|
2539
|
-
model_wrl_url:
|
|
2540
|
-
model_unit_to_mm_scale_factor:
|
|
2541
|
-
model_jscad:
|
|
2556
|
+
footprinter_string: z120.string().optional(),
|
|
2557
|
+
model_obj_url: z120.string().optional(),
|
|
2558
|
+
model_stl_url: z120.string().optional(),
|
|
2559
|
+
model_3mf_url: z120.string().optional(),
|
|
2560
|
+
model_gltf_url: z120.string().optional(),
|
|
2561
|
+
model_glb_url: z120.string().optional(),
|
|
2562
|
+
model_step_url: z120.string().optional(),
|
|
2563
|
+
model_wrl_url: z120.string().optional(),
|
|
2564
|
+
model_unit_to_mm_scale_factor: z120.number().optional(),
|
|
2565
|
+
model_jscad: z120.any().optional()
|
|
2542
2566
|
}).describe("Defines a component on the PCB");
|
|
2543
2567
|
expectTypesMatch(true);
|
|
2544
2568
|
|
|
2545
2569
|
// src/simulation/simulation_voltage_source.ts
|
|
2546
|
-
import { z as
|
|
2547
|
-
var wave_shape =
|
|
2548
|
-
var percentage =
|
|
2570
|
+
import { z as z121 } from "zod";
|
|
2571
|
+
var wave_shape = z121.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
2572
|
+
var percentage = z121.union([z121.string(), z121.number()]).transform((val) => {
|
|
2549
2573
|
if (typeof val === "string") {
|
|
2550
2574
|
if (val.endsWith("%")) {
|
|
2551
2575
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -2554,30 +2578,30 @@ var percentage = z120.union([z120.string(), z120.number()]).transform((val) => {
|
|
|
2554
2578
|
}
|
|
2555
2579
|
return val;
|
|
2556
2580
|
}).pipe(
|
|
2557
|
-
|
|
2581
|
+
z121.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
2558
2582
|
);
|
|
2559
|
-
var simulation_dc_voltage_source =
|
|
2560
|
-
type:
|
|
2583
|
+
var simulation_dc_voltage_source = z121.object({
|
|
2584
|
+
type: z121.literal("simulation_voltage_source"),
|
|
2561
2585
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2562
2586
|
"simulation_voltage_source"
|
|
2563
2587
|
),
|
|
2564
|
-
is_dc_source:
|
|
2565
|
-
positive_source_port_id:
|
|
2566
|
-
negative_source_port_id:
|
|
2567
|
-
positive_source_net_id:
|
|
2568
|
-
negative_source_net_id:
|
|
2588
|
+
is_dc_source: z121.literal(true).optional().default(true),
|
|
2589
|
+
positive_source_port_id: z121.string().optional(),
|
|
2590
|
+
negative_source_port_id: z121.string().optional(),
|
|
2591
|
+
positive_source_net_id: z121.string().optional(),
|
|
2592
|
+
negative_source_net_id: z121.string().optional(),
|
|
2569
2593
|
voltage
|
|
2570
2594
|
}).describe("Defines a DC voltage source for simulation");
|
|
2571
|
-
var simulation_ac_voltage_source =
|
|
2572
|
-
type:
|
|
2595
|
+
var simulation_ac_voltage_source = z121.object({
|
|
2596
|
+
type: z121.literal("simulation_voltage_source"),
|
|
2573
2597
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2574
2598
|
"simulation_voltage_source"
|
|
2575
2599
|
),
|
|
2576
|
-
is_dc_source:
|
|
2577
|
-
terminal1_source_port_id:
|
|
2578
|
-
terminal2_source_port_id:
|
|
2579
|
-
terminal1_source_net_id:
|
|
2580
|
-
terminal2_source_net_id:
|
|
2600
|
+
is_dc_source: z121.literal(false),
|
|
2601
|
+
terminal1_source_port_id: z121.string().optional(),
|
|
2602
|
+
terminal2_source_port_id: z121.string().optional(),
|
|
2603
|
+
terminal1_source_net_id: z121.string().optional(),
|
|
2604
|
+
terminal2_source_net_id: z121.string().optional(),
|
|
2581
2605
|
voltage: voltage.optional(),
|
|
2582
2606
|
frequency: frequency.optional(),
|
|
2583
2607
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -2585,25 +2609,25 @@ var simulation_ac_voltage_source = z120.object({
|
|
|
2585
2609
|
phase: rotation.optional(),
|
|
2586
2610
|
duty_cycle: percentage.optional()
|
|
2587
2611
|
}).describe("Defines an AC voltage source for simulation");
|
|
2588
|
-
var simulation_voltage_source =
|
|
2612
|
+
var simulation_voltage_source = z121.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
2589
2613
|
expectTypesMatch(true);
|
|
2590
2614
|
expectTypesMatch(true);
|
|
2591
2615
|
expectTypesMatch(true);
|
|
2592
2616
|
|
|
2593
2617
|
// src/simulation/simulation_experiment.ts
|
|
2594
|
-
import { z as
|
|
2595
|
-
var experiment_type =
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2618
|
+
import { z as z122 } from "zod";
|
|
2619
|
+
var experiment_type = z122.union([
|
|
2620
|
+
z122.literal("spice_dc_sweep"),
|
|
2621
|
+
z122.literal("spice_dc_operating_point"),
|
|
2622
|
+
z122.literal("spice_transient_analysis"),
|
|
2623
|
+
z122.literal("spice_ac_analysis")
|
|
2600
2624
|
]);
|
|
2601
|
-
var simulation_experiment =
|
|
2602
|
-
type:
|
|
2625
|
+
var simulation_experiment = z122.object({
|
|
2626
|
+
type: z122.literal("simulation_experiment"),
|
|
2603
2627
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
2604
2628
|
"simulation_experiment"
|
|
2605
2629
|
),
|
|
2606
|
-
name:
|
|
2630
|
+
name: z122.string(),
|
|
2607
2631
|
experiment_type,
|
|
2608
2632
|
time_per_step: duration_ms.optional(),
|
|
2609
2633
|
start_time_ms: ms.optional(),
|
|
@@ -2612,49 +2636,49 @@ var simulation_experiment = z121.object({
|
|
|
2612
2636
|
expectTypesMatch(true);
|
|
2613
2637
|
|
|
2614
2638
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
2615
|
-
import { z as
|
|
2616
|
-
var simulation_transient_voltage_graph =
|
|
2617
|
-
type:
|
|
2639
|
+
import { z as z123 } from "zod";
|
|
2640
|
+
var simulation_transient_voltage_graph = z123.object({
|
|
2641
|
+
type: z123.literal("simulation_transient_voltage_graph"),
|
|
2618
2642
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
2619
2643
|
"simulation_transient_voltage_graph"
|
|
2620
2644
|
),
|
|
2621
|
-
simulation_experiment_id:
|
|
2622
|
-
timestamps_ms:
|
|
2623
|
-
voltage_levels:
|
|
2624
|
-
schematic_voltage_probe_id:
|
|
2625
|
-
simulation_voltage_probe_id:
|
|
2626
|
-
subcircuit_connectivity_map_key:
|
|
2645
|
+
simulation_experiment_id: z123.string(),
|
|
2646
|
+
timestamps_ms: z123.array(z123.number()).optional(),
|
|
2647
|
+
voltage_levels: z123.array(z123.number()),
|
|
2648
|
+
schematic_voltage_probe_id: z123.string().optional(),
|
|
2649
|
+
simulation_voltage_probe_id: z123.string().optional(),
|
|
2650
|
+
subcircuit_connectivity_map_key: z123.string().optional(),
|
|
2627
2651
|
time_per_step: duration_ms,
|
|
2628
2652
|
start_time_ms: ms,
|
|
2629
2653
|
end_time_ms: ms,
|
|
2630
|
-
name:
|
|
2654
|
+
name: z123.string().optional()
|
|
2631
2655
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
2632
2656
|
expectTypesMatch(true);
|
|
2633
2657
|
|
|
2634
2658
|
// src/simulation/simulation_switch.ts
|
|
2635
|
-
import { z as
|
|
2636
|
-
var simulation_switch =
|
|
2637
|
-
type:
|
|
2659
|
+
import { z as z124 } from "zod";
|
|
2660
|
+
var simulation_switch = z124.object({
|
|
2661
|
+
type: z124.literal("simulation_switch"),
|
|
2638
2662
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
2639
|
-
source_component_id:
|
|
2663
|
+
source_component_id: z124.string().optional(),
|
|
2640
2664
|
closes_at: ms.optional(),
|
|
2641
2665
|
opens_at: ms.optional(),
|
|
2642
|
-
starts_closed:
|
|
2666
|
+
starts_closed: z124.boolean().optional(),
|
|
2643
2667
|
switching_frequency: frequency.optional()
|
|
2644
2668
|
}).describe("Defines a switch for simulation timing control");
|
|
2645
2669
|
expectTypesMatch(true);
|
|
2646
2670
|
|
|
2647
2671
|
// src/simulation/simulation_voltage_probe.ts
|
|
2648
|
-
import { z as
|
|
2649
|
-
var simulation_voltage_probe =
|
|
2650
|
-
type:
|
|
2672
|
+
import { z as z125 } from "zod";
|
|
2673
|
+
var simulation_voltage_probe = z125.object({
|
|
2674
|
+
type: z125.literal("simulation_voltage_probe"),
|
|
2651
2675
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
2652
2676
|
"simulation_voltage_probe"
|
|
2653
2677
|
),
|
|
2654
|
-
source_port_id:
|
|
2655
|
-
source_net_id:
|
|
2656
|
-
name:
|
|
2657
|
-
subcircuit_id:
|
|
2678
|
+
source_port_id: z125.string().optional(),
|
|
2679
|
+
source_net_id: z125.string().optional(),
|
|
2680
|
+
name: z125.string().optional(),
|
|
2681
|
+
subcircuit_id: z125.string().optional()
|
|
2658
2682
|
}).describe(
|
|
2659
2683
|
"Defines a voltage probe for simulation, connected to a port or a net"
|
|
2660
2684
|
).refine(
|
|
@@ -2666,8 +2690,8 @@ var simulation_voltage_probe = z124.object({
|
|
|
2666
2690
|
expectTypesMatch(true);
|
|
2667
2691
|
|
|
2668
2692
|
// src/any_circuit_element.ts
|
|
2669
|
-
import { z as
|
|
2670
|
-
var any_circuit_element =
|
|
2693
|
+
import { z as z126 } from "zod";
|
|
2694
|
+
var any_circuit_element = z126.union([
|
|
2671
2695
|
source_trace,
|
|
2672
2696
|
source_port,
|
|
2673
2697
|
any_source_component,
|
|
@@ -2748,6 +2772,7 @@ var any_circuit_element = z125.union([
|
|
|
2748
2772
|
pcb_component_invalid_layer_error,
|
|
2749
2773
|
pcb_courtyard_rect,
|
|
2750
2774
|
pcb_courtyard_outline,
|
|
2775
|
+
pcb_courtyard_polygon,
|
|
2751
2776
|
schematic_box,
|
|
2752
2777
|
schematic_text,
|
|
2753
2778
|
schematic_line,
|
|
@@ -2811,6 +2836,7 @@ export {
|
|
|
2811
2836
|
pcb_copper_pour_polygon,
|
|
2812
2837
|
pcb_copper_pour_rect,
|
|
2813
2838
|
pcb_courtyard_outline,
|
|
2839
|
+
pcb_courtyard_polygon,
|
|
2814
2840
|
pcb_courtyard_rect,
|
|
2815
2841
|
pcb_cutout,
|
|
2816
2842
|
pcb_cutout_circle,
|