@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.
Files changed (2) hide show
  1. package/dist/index.js +40 -34
  2. 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.1859",
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.93",
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 globalConnection = baseConnections.find((connection) => {
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
- if (!globalConnection) continue;
51891
- const previousGlobalPointIndex = globalConnection.pointsToConnect.findIndex(
51892
- (globalPoint) => inputConnection.pointsToConnect.some(
51893
- (inputPoint) => srjPointsReferToSameEndpoint(globalPoint, inputPoint)
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 (previousGlobalPointIndex < 0) continue;
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
- layers: _previousLayers,
51908
- terminalVia: _previousTerminalVia,
51909
- ...previousPointWithoutLayerOverrides
51910
- } = previousPoint;
51911
- const synchronizedGlobalPoint = {
51912
- ...previousPointWithoutLayerOverrides,
51913
- x: fanoutExitPoint.x,
51914
- y: fanoutExitPoint.y,
51915
- layer: fanoutExitPoint.layer,
51916
- ...fanoutExitPoint.layers ? { layers: [...fanoutExitPoint.layers] } : {},
51917
- ...fanoutExitPoint.terminalVia ? { terminalVia: { ...fanoutExitPoint.terminalVia } } : {}
51918
- };
51919
- globalConnection.pointsToConnect[previousGlobalPointIndex] = synchronizedGlobalPoint;
51920
- if (previousPoint.pointId) {
51921
- breakoutPointIdByConnectionName.set(
51922
- inputConnection.name,
51923
- previousPoint.pointId
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.1860",
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.93",
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",