@tscircuit/core 0.0.879 → 0.0.881
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/dist/index.d.ts +749 -16
- package/dist/index.js +77 -20
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -6433,6 +6433,35 @@ function getTraceLength(route) {
|
|
|
6433
6433
|
return totalLength;
|
|
6434
6434
|
}
|
|
6435
6435
|
|
|
6436
|
+
// lib/utils/pcbStyle/getViaDiameterDefaults.ts
|
|
6437
|
+
var DEFAULT_VIA_HOLE_DIAMETER = 0.3;
|
|
6438
|
+
var DEFAULT_VIA_PAD_DIAMETER = 0.6;
|
|
6439
|
+
var parseDistance = (value, fallback) => {
|
|
6440
|
+
if (value === void 0) return fallback;
|
|
6441
|
+
if (typeof value === "number") return value;
|
|
6442
|
+
const parsed = parseFloat(value);
|
|
6443
|
+
return Number.isFinite(parsed) ? parsed : fallback;
|
|
6444
|
+
};
|
|
6445
|
+
var getViaDiameterDefaults = (pcbStyle) => {
|
|
6446
|
+
return {
|
|
6447
|
+
holeDiameter: parseDistance(
|
|
6448
|
+
pcbStyle?.viaHoleDiameter,
|
|
6449
|
+
DEFAULT_VIA_HOLE_DIAMETER
|
|
6450
|
+
),
|
|
6451
|
+
padDiameter: parseDistance(
|
|
6452
|
+
pcbStyle?.viaPadDiameter,
|
|
6453
|
+
DEFAULT_VIA_PAD_DIAMETER
|
|
6454
|
+
)
|
|
6455
|
+
};
|
|
6456
|
+
};
|
|
6457
|
+
var getViaDiameterDefaultsWithOverrides = (overrides, pcbStyle) => {
|
|
6458
|
+
const defaults = getViaDiameterDefaults(pcbStyle);
|
|
6459
|
+
return {
|
|
6460
|
+
holeDiameter: overrides.holeDiameter ?? defaults.holeDiameter,
|
|
6461
|
+
padDiameter: overrides.padDiameter ?? defaults.padDiameter
|
|
6462
|
+
};
|
|
6463
|
+
};
|
|
6464
|
+
|
|
6436
6465
|
// lib/components/primitive-components/Trace/Trace_doInitialPcbTraceRender.ts
|
|
6437
6466
|
var portToObjective = (port) => {
|
|
6438
6467
|
const portPosition = port._getGlobalPcbPositionAfterLayout();
|
|
@@ -6697,6 +6726,8 @@ function Trace_doInitialPcbTraceRender(trace) {
|
|
|
6697
6726
|
}
|
|
6698
6727
|
const mergedRoute = mergeRoutes(routes);
|
|
6699
6728
|
const traceLength = getTraceLength(mergedRoute);
|
|
6729
|
+
const pcbStyle = trace.getInheritedMergedProperty("pcbStyle");
|
|
6730
|
+
const { holeDiameter, padDiameter } = getViaDiameterDefaults(pcbStyle);
|
|
6700
6731
|
const pcb_trace = db.pcb_trace.insert({
|
|
6701
6732
|
route: mergedRoute,
|
|
6702
6733
|
source_trace_id: trace.source_trace_id,
|
|
@@ -6711,8 +6742,8 @@ function Trace_doInitialPcbTraceRender(trace) {
|
|
|
6711
6742
|
pcb_trace_id: pcb_trace.pcb_trace_id,
|
|
6712
6743
|
x: point.x,
|
|
6713
6744
|
y: point.y,
|
|
6714
|
-
hole_diameter:
|
|
6715
|
-
outer_diameter:
|
|
6745
|
+
hole_diameter: holeDiameter,
|
|
6746
|
+
outer_diameter: padDiameter,
|
|
6716
6747
|
layers: [point.from_layer, point.to_layer],
|
|
6717
6748
|
from_layer: point.from_layer,
|
|
6718
6749
|
to_layer: point.to_layer
|
|
@@ -9636,6 +9667,18 @@ var getSimpleRouteJsonFromCircuitJson = ({
|
|
|
9636
9667
|
});
|
|
9637
9668
|
if (connectedPorts.length < 2) return null;
|
|
9638
9669
|
const [portA, portB] = connectedPorts;
|
|
9670
|
+
if (portA.x === void 0 || portA.y === void 0) {
|
|
9671
|
+
console.error(
|
|
9672
|
+
`(source_port_id: ${portA.source_port_id}) for trace ${trace.source_trace_id} does not have x/y coordinates. Skipping this trace.`
|
|
9673
|
+
);
|
|
9674
|
+
return null;
|
|
9675
|
+
}
|
|
9676
|
+
if (portB.x === void 0 || portB.y === void 0) {
|
|
9677
|
+
console.error(
|
|
9678
|
+
`(source_port_id: ${portB.source_port_id}) for trace ${trace.source_trace_id} does not have x/y coordinates. Skipping this trace.`
|
|
9679
|
+
);
|
|
9680
|
+
return null;
|
|
9681
|
+
}
|
|
9639
9682
|
const layerA = portA.layers?.[0] ?? "top";
|
|
9640
9683
|
const layerB = portB.layers?.[0] ?? "top";
|
|
9641
9684
|
const matchingHints = traceHints.filter(
|
|
@@ -13714,6 +13757,8 @@ var Group6 = class extends NormalComponent3 {
|
|
|
13714
13757
|
const { output_pcb_traces } = this._asyncAutoroutingResult;
|
|
13715
13758
|
if (!output_pcb_traces) return;
|
|
13716
13759
|
const { db } = this.root;
|
|
13760
|
+
const pcbStyle = this.getInheritedMergedProperty("pcbStyle");
|
|
13761
|
+
const { holeDiameter, padDiameter } = getViaDiameterDefaults(pcbStyle);
|
|
13717
13762
|
for (const pcb_trace of output_pcb_traces) {
|
|
13718
13763
|
if (pcb_trace.type !== "pcb_trace") continue;
|
|
13719
13764
|
pcb_trace.subcircuit_id = this.subcircuit_id;
|
|
@@ -13734,8 +13779,8 @@ var Group6 = class extends NormalComponent3 {
|
|
|
13734
13779
|
pcb_trace_id: pcb_trace.pcb_trace_id,
|
|
13735
13780
|
x: point.x,
|
|
13736
13781
|
y: point.y,
|
|
13737
|
-
hole_diameter:
|
|
13738
|
-
outer_diameter:
|
|
13782
|
+
hole_diameter: holeDiameter,
|
|
13783
|
+
outer_diameter: padDiameter,
|
|
13739
13784
|
layers: [
|
|
13740
13785
|
point.from_layer,
|
|
13741
13786
|
point.to_layer
|
|
@@ -17189,9 +17234,19 @@ var Via = class extends PrimitiveComponent2 {
|
|
|
17189
17234
|
getAvailablePcbLayers() {
|
|
17190
17235
|
return ["top", "inner1", "inner2", "bottom"];
|
|
17191
17236
|
}
|
|
17237
|
+
_getResolvedViaDiameters(pcbStyle) {
|
|
17238
|
+
return getViaDiameterDefaultsWithOverrides(
|
|
17239
|
+
{
|
|
17240
|
+
holeDiameter: this._parsedProps.holeDiameter,
|
|
17241
|
+
padDiameter: this._parsedProps.outerDiameter
|
|
17242
|
+
},
|
|
17243
|
+
pcbStyle
|
|
17244
|
+
);
|
|
17245
|
+
}
|
|
17192
17246
|
getPcbSize() {
|
|
17193
|
-
const
|
|
17194
|
-
|
|
17247
|
+
const pcbStyle = this.getInheritedMergedProperty("pcbStyle");
|
|
17248
|
+
const { padDiameter } = this._getResolvedViaDiameters(pcbStyle);
|
|
17249
|
+
return { width: padDiameter, height: padDiameter };
|
|
17195
17250
|
}
|
|
17196
17251
|
_getPcbCircuitJsonBounds() {
|
|
17197
17252
|
const { db } = this.root;
|
|
@@ -17253,14 +17308,15 @@ var Via = class extends PrimitiveComponent2 {
|
|
|
17253
17308
|
doInitialPcbComponentRender() {
|
|
17254
17309
|
if (this.root?.pcbDisabled) return;
|
|
17255
17310
|
const { db } = this.root;
|
|
17256
|
-
const
|
|
17311
|
+
const pcbStyle = this.getInheritedMergedProperty("pcbStyle");
|
|
17312
|
+
const { padDiameter } = this._getResolvedViaDiameters(pcbStyle);
|
|
17257
17313
|
const position = this._getGlobalPcbPositionBeforeLayout();
|
|
17258
17314
|
const subcircuit = this.getSubcircuit();
|
|
17259
17315
|
const pcb_component = db.pcb_component.insert({
|
|
17260
17316
|
center: position,
|
|
17261
|
-
width:
|
|
17262
|
-
height:
|
|
17263
|
-
layer:
|
|
17317
|
+
width: padDiameter,
|
|
17318
|
+
height: padDiameter,
|
|
17319
|
+
layer: this._parsedProps.fromLayer ?? "top",
|
|
17264
17320
|
rotation: 0,
|
|
17265
17321
|
source_component_id: this.source_component_id,
|
|
17266
17322
|
subcircuit_id: subcircuit?.subcircuit_id ?? void 0,
|
|
@@ -17283,21 +17339,22 @@ var Via = class extends PrimitiveComponent2 {
|
|
|
17283
17339
|
doInitialPcbPrimitiveRender() {
|
|
17284
17340
|
if (this.root?.pcbDisabled) return;
|
|
17285
17341
|
const { db } = this.root;
|
|
17286
|
-
const
|
|
17342
|
+
const pcbStyle = this.getInheritedMergedProperty("pcbStyle");
|
|
17343
|
+
const { holeDiameter, padDiameter } = this._getResolvedViaDiameters(pcbStyle);
|
|
17287
17344
|
const position = this._getGlobalPcbPositionBeforeLayout();
|
|
17288
17345
|
const subcircuit = this.getSubcircuit();
|
|
17289
17346
|
const pcb_via = db.pcb_via.insert({
|
|
17290
17347
|
x: position.x,
|
|
17291
17348
|
y: position.y,
|
|
17292
|
-
hole_diameter:
|
|
17293
|
-
outer_diameter:
|
|
17349
|
+
hole_diameter: holeDiameter,
|
|
17350
|
+
outer_diameter: padDiameter,
|
|
17294
17351
|
layers: ["bottom", "top"],
|
|
17295
|
-
from_layer:
|
|
17296
|
-
to_layer:
|
|
17352
|
+
from_layer: this._parsedProps.fromLayer || "bottom",
|
|
17353
|
+
to_layer: this._parsedProps.toLayer || "top",
|
|
17297
17354
|
subcircuit_id: subcircuit?.subcircuit_id ?? void 0,
|
|
17298
17355
|
subcircuit_connectivity_map_key: this.subcircuit_connectivity_map_key ?? void 0,
|
|
17299
17356
|
pcb_group_id: this.getGroup()?.pcb_group_id ?? void 0,
|
|
17300
|
-
net_is_assignable:
|
|
17357
|
+
net_is_assignable: this._parsedProps.netIsAssignable ?? void 0
|
|
17301
17358
|
});
|
|
17302
17359
|
this.pcb_via_id = pcb_via.pcb_via_id;
|
|
17303
17360
|
}
|
|
@@ -18513,7 +18570,7 @@ var VoltageProbe = class extends PrimitiveComponent2 {
|
|
|
18513
18570
|
if (!finalName) {
|
|
18514
18571
|
finalName = targets[0].split(" > ").map((s) => s.replace(/^\./, "")).join(".");
|
|
18515
18572
|
}
|
|
18516
|
-
this.finalProbeName = finalName;
|
|
18573
|
+
this.finalProbeName = finalName ?? null;
|
|
18517
18574
|
const { simulation_voltage_probe_id } = db.simulation_voltage_probe.insert({
|
|
18518
18575
|
name: finalName,
|
|
18519
18576
|
source_port_id: port?.source_port_id ?? void 0,
|
|
@@ -18576,7 +18633,7 @@ import { identity as identity6 } from "transformation-matrix";
|
|
|
18576
18633
|
var package_default = {
|
|
18577
18634
|
name: "@tscircuit/core",
|
|
18578
18635
|
type: "module",
|
|
18579
|
-
version: "0.0.
|
|
18636
|
+
version: "0.0.880",
|
|
18580
18637
|
types: "dist/index.d.ts",
|
|
18581
18638
|
main: "dist/index.js",
|
|
18582
18639
|
module: "dist/index.js",
|
|
@@ -18620,7 +18677,7 @@ var package_default = {
|
|
|
18620
18677
|
"@tscircuit/math-utils": "^0.0.29",
|
|
18621
18678
|
"@tscircuit/miniflex": "^0.0.4",
|
|
18622
18679
|
"@tscircuit/ngspice-spice-engine": "^0.0.4",
|
|
18623
|
-
"@tscircuit/props": "^0.0.
|
|
18680
|
+
"@tscircuit/props": "^0.0.418",
|
|
18624
18681
|
"@tscircuit/schematic-autolayout": "^0.0.6",
|
|
18625
18682
|
"@tscircuit/schematic-match-adapt": "^0.0.16",
|
|
18626
18683
|
"@tscircuit/schematic-trace-solver": "^v0.0.45",
|
|
@@ -18640,7 +18697,7 @@ var package_default = {
|
|
|
18640
18697
|
"circuit-json-to-gltf": "^0.0.31",
|
|
18641
18698
|
"circuit-json-to-simple-3d": "^0.0.9",
|
|
18642
18699
|
"circuit-json-to-spice": "^0.0.25",
|
|
18643
|
-
"circuit-to-svg": "^0.0.
|
|
18700
|
+
"circuit-to-svg": "^0.0.280",
|
|
18644
18701
|
concurrently: "^9.1.2",
|
|
18645
18702
|
"connectivity-map": "^1.0.0",
|
|
18646
18703
|
debug: "^4.3.6",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tscircuit/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.881",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@tscircuit/math-utils": "^0.0.29",
|
|
46
46
|
"@tscircuit/miniflex": "^0.0.4",
|
|
47
47
|
"@tscircuit/ngspice-spice-engine": "^0.0.4",
|
|
48
|
-
"@tscircuit/props": "^0.0.
|
|
48
|
+
"@tscircuit/props": "^0.0.418",
|
|
49
49
|
"@tscircuit/schematic-autolayout": "^0.0.6",
|
|
50
50
|
"@tscircuit/schematic-match-adapt": "^0.0.16",
|
|
51
51
|
"@tscircuit/schematic-trace-solver": "^v0.0.45",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"circuit-json-to-gltf": "^0.0.31",
|
|
66
66
|
"circuit-json-to-simple-3d": "^0.0.9",
|
|
67
67
|
"circuit-json-to-spice": "^0.0.25",
|
|
68
|
-
"circuit-to-svg": "^0.0.
|
|
68
|
+
"circuit-to-svg": "^0.0.280",
|
|
69
69
|
"concurrently": "^9.1.2",
|
|
70
70
|
"connectivity-map": "^1.0.0",
|
|
71
71
|
"debug": "^4.3.6",
|