@tscircuit/core 0.0.1860 → 0.0.1862
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 +40 -34
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -51431,7 +51431,7 @@ function Group_getRoutingPhasePlans(group) {
|
|
|
51431
51431
|
var package_default = {
|
|
51432
51432
|
name: "@tscircuit/core",
|
|
51433
51433
|
type: "module",
|
|
51434
|
-
version: "0.0.
|
|
51434
|
+
version: "0.0.1861",
|
|
51435
51435
|
types: "dist/index.d.ts",
|
|
51436
51436
|
main: "dist/index.js",
|
|
51437
51437
|
module: "dist/index.js",
|
|
@@ -51480,7 +51480,7 @@ var package_default = {
|
|
|
51480
51480
|
"@tscircuit/jlcpcb-manufacturing-specs": "git+https://github.com/tscircuit/jlcpcb-manufacturing-specs#e08af159db01a37db007e33f0a7268d0e4a279a5",
|
|
51481
51481
|
"@tscircuit/krt-wasm": "^0.1.1",
|
|
51482
51482
|
"@tscircuit/log-soup": "^1.0.2",
|
|
51483
|
-
"@tscircuit/matchpack": "^0.0.
|
|
51483
|
+
"@tscircuit/matchpack": "^0.0.95",
|
|
51484
51484
|
"@tscircuit/math-utils": "^0.0.36",
|
|
51485
51485
|
"@tscircuit/miniflex": "^0.0.4",
|
|
51486
51486
|
"@tscircuit/ngspice-spice-engine": "^0.0.20",
|
|
@@ -51872,7 +51872,7 @@ function Group_syncFanoutExitsWithGlobalConnections({
|
|
|
51872
51872
|
}
|
|
51873
51873
|
const outputConnection = outputConnectionByName.get(inputConnection.name);
|
|
51874
51874
|
if (!outputConnection) continue;
|
|
51875
|
-
const
|
|
51875
|
+
const globalConnections = baseConnections.filter((connection) => {
|
|
51876
51876
|
if (connection.routingPcbGroupId === routingPcbGroupId) return false;
|
|
51877
51877
|
const sharesSourceTrace = connection.source_trace_id === inputConnection.source_trace_id;
|
|
51878
51878
|
const sharesPointId = connection.pointsToConnect.some(
|
|
@@ -51887,14 +51887,14 @@ function Group_syncFanoutExitsWithGlobalConnections({
|
|
|
51887
51887
|
)
|
|
51888
51888
|
);
|
|
51889
51889
|
});
|
|
51890
|
-
|
|
51891
|
-
|
|
51892
|
-
|
|
51893
|
-
|
|
51890
|
+
const globalPointMatches = globalConnections.flatMap(
|
|
51891
|
+
(globalConnection) => globalConnection.pointsToConnect.flatMap(
|
|
51892
|
+
(previousPoint, pointIndex) => inputConnection.pointsToConnect.some(
|
|
51893
|
+
(inputPoint) => srjPointsReferToSameEndpoint(previousPoint, inputPoint)
|
|
51894
|
+
) ? [{ globalConnection, pointIndex, previousPoint }] : []
|
|
51894
51895
|
)
|
|
51895
51896
|
);
|
|
51896
|
-
if (
|
|
51897
|
-
const previousPoint = globalConnection.pointsToConnect[previousGlobalPointIndex];
|
|
51897
|
+
if (globalPointMatches.length === 0) continue;
|
|
51898
51898
|
const changedPointIndex = outputConnection.pointsToConnect.findIndex(
|
|
51899
51899
|
(outputPoint, pointIndex) => {
|
|
51900
51900
|
const inputPoint = inputConnection.pointsToConnect[pointIndex];
|
|
@@ -51903,32 +51903,38 @@ function Group_syncFanoutExitsWithGlobalConnections({
|
|
|
51903
51903
|
);
|
|
51904
51904
|
if (changedPointIndex < 0) continue;
|
|
51905
51905
|
const fanoutExitPoint = outputConnection.pointsToConnect[changedPointIndex];
|
|
51906
|
-
const {
|
|
51907
|
-
|
|
51908
|
-
|
|
51909
|
-
|
|
51910
|
-
}
|
|
51911
|
-
|
|
51912
|
-
|
|
51913
|
-
|
|
51914
|
-
|
|
51915
|
-
|
|
51916
|
-
|
|
51917
|
-
|
|
51918
|
-
|
|
51919
|
-
|
|
51920
|
-
|
|
51921
|
-
|
|
51922
|
-
|
|
51923
|
-
|
|
51924
|
-
|
|
51906
|
+
for (const {
|
|
51907
|
+
globalConnection,
|
|
51908
|
+
pointIndex,
|
|
51909
|
+
previousPoint
|
|
51910
|
+
} of globalPointMatches) {
|
|
51911
|
+
const {
|
|
51912
|
+
layers: _previousLayers,
|
|
51913
|
+
terminalVia: _previousTerminalVia,
|
|
51914
|
+
...previousPointWithoutLayerOverrides
|
|
51915
|
+
} = previousPoint;
|
|
51916
|
+
const synchronizedGlobalPoint = {
|
|
51917
|
+
...previousPointWithoutLayerOverrides,
|
|
51918
|
+
x: fanoutExitPoint.x,
|
|
51919
|
+
y: fanoutExitPoint.y,
|
|
51920
|
+
layer: fanoutExitPoint.layer,
|
|
51921
|
+
...fanoutExitPoint.layers ? { layers: [...fanoutExitPoint.layers] } : {},
|
|
51922
|
+
...fanoutExitPoint.terminalVia ? { terminalVia: { ...fanoutExitPoint.terminalVia } } : {}
|
|
51923
|
+
};
|
|
51924
|
+
globalConnection.pointsToConnect[pointIndex] = synchronizedGlobalPoint;
|
|
51925
|
+
if (previousPoint.pointId) {
|
|
51926
|
+
breakoutPointIdByConnectionName.set(
|
|
51927
|
+
inputConnection.name,
|
|
51928
|
+
previousPoint.pointId
|
|
51929
|
+
);
|
|
51930
|
+
}
|
|
51931
|
+
synchronizedBreakoutPoints.push({
|
|
51932
|
+
sourceTraceId: inputConnection.source_trace_id,
|
|
51933
|
+
routingPcbGroupId,
|
|
51934
|
+
previousPoint,
|
|
51935
|
+
fanoutExitPoint
|
|
51936
|
+
});
|
|
51925
51937
|
}
|
|
51926
|
-
synchronizedBreakoutPoints.push({
|
|
51927
|
-
sourceTraceId: inputConnection.source_trace_id,
|
|
51928
|
-
routingPcbGroupId,
|
|
51929
|
-
previousPoint,
|
|
51930
|
-
fanoutExitPoint
|
|
51931
|
-
});
|
|
51932
51938
|
}
|
|
51933
51939
|
const newFanoutSourceKeepouts = fanoutOutputSimpleRouteJson.obstacles.filter(
|
|
51934
51940
|
(obstacle) => obstacle.isFanoutSourceKeepout === true && obstacle.componentId !== void 0
|
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.1862",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@tscircuit/jlcpcb-manufacturing-specs": "git+https://github.com/tscircuit/jlcpcb-manufacturing-specs#e08af159db01a37db007e33f0a7268d0e4a279a5",
|
|
51
51
|
"@tscircuit/krt-wasm": "^0.1.1",
|
|
52
52
|
"@tscircuit/log-soup": "^1.0.2",
|
|
53
|
-
"@tscircuit/matchpack": "^0.0.
|
|
53
|
+
"@tscircuit/matchpack": "^0.0.95",
|
|
54
54
|
"@tscircuit/math-utils": "^0.0.36",
|
|
55
55
|
"@tscircuit/miniflex": "^0.0.4",
|
|
56
56
|
"@tscircuit/ngspice-spice-engine": "^0.0.20",
|