@tscircuit/core 0.0.1008 → 0.0.1009
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.js +47 -11
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7528,6 +7528,7 @@ function Trace_doInitialPcbManualTraceRender(trace) {
|
|
|
7528
7528
|
}
|
|
7529
7529
|
const otherPort = ports.find((p) => p !== anchorPort) ?? ports[1];
|
|
7530
7530
|
const layer = anchorPort.getAvailablePcbLayers()[0] || "top";
|
|
7531
|
+
let currentLayer = layer;
|
|
7531
7532
|
const anchorPos = anchorPort._getGlobalPcbPositionAfterLayout();
|
|
7532
7533
|
const otherPos = otherPort._getGlobalPcbPositionAfterLayout();
|
|
7533
7534
|
const route = [];
|
|
@@ -7536,13 +7537,17 @@ function Trace_doInitialPcbManualTraceRender(trace) {
|
|
|
7536
7537
|
x: anchorPos.x,
|
|
7537
7538
|
y: anchorPos.y,
|
|
7538
7539
|
width,
|
|
7539
|
-
layer,
|
|
7540
|
+
layer: currentLayer,
|
|
7540
7541
|
start_pcb_port_id: anchorPort.pcb_port_id
|
|
7541
7542
|
});
|
|
7542
7543
|
const transform = anchorPort?._computePcbGlobalTransformBeforeLayout?.() || identity3();
|
|
7543
|
-
|
|
7544
|
+
const pcbPath = props.pcbPath;
|
|
7545
|
+
for (const pt of pcbPath) {
|
|
7544
7546
|
let coordinates;
|
|
7545
7547
|
let isGlobalPosition = false;
|
|
7548
|
+
const isViaPoint = typeof pt !== "string" && pt.via;
|
|
7549
|
+
let viaFromLayer;
|
|
7550
|
+
let viaToLayer;
|
|
7546
7551
|
if (typeof pt === "string") {
|
|
7547
7552
|
const resolvedPort = trace.getSubcircuit().selectOne(pt, {
|
|
7548
7553
|
type: "port"
|
|
@@ -7564,22 +7569,37 @@ function Trace_doInitialPcbManualTraceRender(trace) {
|
|
|
7564
7569
|
} else {
|
|
7565
7570
|
coordinates = { x: pt.x, y: pt.y };
|
|
7566
7571
|
isGlobalPosition = false;
|
|
7572
|
+
if (pt.via) {
|
|
7573
|
+
viaFromLayer = pt.fromLayer ?? currentLayer;
|
|
7574
|
+
viaToLayer = pt.toLayer;
|
|
7575
|
+
}
|
|
7567
7576
|
}
|
|
7568
7577
|
const finalCoordinates = isGlobalPosition ? coordinates : applyToPoint7(transform, coordinates);
|
|
7569
|
-
|
|
7570
|
-
|
|
7571
|
-
|
|
7572
|
-
|
|
7573
|
-
|
|
7574
|
-
|
|
7575
|
-
|
|
7578
|
+
if (isViaPoint) {
|
|
7579
|
+
route.push({
|
|
7580
|
+
route_type: "via",
|
|
7581
|
+
x: finalCoordinates.x,
|
|
7582
|
+
y: finalCoordinates.y,
|
|
7583
|
+
from_layer: viaFromLayer ?? currentLayer,
|
|
7584
|
+
to_layer: viaToLayer ?? currentLayer
|
|
7585
|
+
});
|
|
7586
|
+
currentLayer = viaToLayer ?? currentLayer;
|
|
7587
|
+
} else {
|
|
7588
|
+
route.push({
|
|
7589
|
+
route_type: "wire",
|
|
7590
|
+
x: finalCoordinates.x,
|
|
7591
|
+
y: finalCoordinates.y,
|
|
7592
|
+
width,
|
|
7593
|
+
layer: currentLayer
|
|
7594
|
+
});
|
|
7595
|
+
}
|
|
7576
7596
|
}
|
|
7577
7597
|
route.push({
|
|
7578
7598
|
route_type: "wire",
|
|
7579
7599
|
x: otherPos.x,
|
|
7580
7600
|
y: otherPos.y,
|
|
7581
7601
|
width,
|
|
7582
|
-
layer,
|
|
7602
|
+
layer: currentLayer,
|
|
7583
7603
|
end_pcb_port_id: otherPort.pcb_port_id
|
|
7584
7604
|
});
|
|
7585
7605
|
const traceLength = getTraceLength(route);
|
|
@@ -7590,6 +7610,22 @@ function Trace_doInitialPcbManualTraceRender(trace) {
|
|
|
7590
7610
|
pcb_group_id: trace.getGroup()?.pcb_group_id ?? void 0,
|
|
7591
7611
|
trace_length: traceLength
|
|
7592
7612
|
});
|
|
7613
|
+
const pcbStyle = trace.getInheritedMergedProperty("pcbStyle");
|
|
7614
|
+
const { holeDiameter, padDiameter } = getViaDiameterDefaults(pcbStyle);
|
|
7615
|
+
for (const point6 of route) {
|
|
7616
|
+
if (point6.route_type === "via") {
|
|
7617
|
+
db.pcb_via.insert({
|
|
7618
|
+
pcb_trace_id: pcb_trace.pcb_trace_id,
|
|
7619
|
+
x: point6.x,
|
|
7620
|
+
y: point6.y,
|
|
7621
|
+
hole_diameter: holeDiameter,
|
|
7622
|
+
outer_diameter: padDiameter,
|
|
7623
|
+
layers: [point6.from_layer, point6.to_layer],
|
|
7624
|
+
from_layer: point6.from_layer,
|
|
7625
|
+
to_layer: point6.to_layer
|
|
7626
|
+
});
|
|
7627
|
+
}
|
|
7628
|
+
}
|
|
7593
7629
|
trace._portsRoutedOnPcb = ports;
|
|
7594
7630
|
trace.pcb_trace_id = pcb_trace.pcb_trace_id;
|
|
7595
7631
|
trace._insertErrorIfTraceIsOutsideBoard(route, ports);
|
|
@@ -21815,7 +21851,7 @@ import { identity as identity5 } from "transformation-matrix";
|
|
|
21815
21851
|
var package_default = {
|
|
21816
21852
|
name: "@tscircuit/core",
|
|
21817
21853
|
type: "module",
|
|
21818
|
-
version: "0.0.
|
|
21854
|
+
version: "0.0.1008",
|
|
21819
21855
|
types: "dist/index.d.ts",
|
|
21820
21856
|
main: "dist/index.js",
|
|
21821
21857
|
module: "dist/index.js",
|