@tscircuit/core 0.0.1914 → 0.0.1915

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 CHANGED
@@ -1598,6 +1598,8 @@ interface PrecomputedRoutingResult {
1598
1598
  outputSimpleRouteJson?: SimpleRouteJson;
1599
1599
  }
1600
1600
  interface RoutingPhasePlan {
1601
+ /** Automatically routes connections not assigned to an explicit phase. */
1602
+ isImplicitRemainingPhase?: boolean;
1601
1603
  getPrecomputedRoutingResult?: (input: SimpleRouteJson) => PrecomputedRoutingResult;
1602
1604
  routingPhaseIndex: number | null;
1603
1605
  phaseName?: AutoroutingPhaseProps["name"];
package/dist/index.js CHANGED
@@ -61976,6 +61976,7 @@ function Group_getRoutingPhasePlans(group) {
61976
61976
  for (const plan of plans) {
61977
61977
  plan.autorouter = autoroutersByPhaseIndex.get(plan.routingPhaseIndex);
61978
61978
  const phaseProps = phasePropsByPhaseIndex.get(plan.routingPhaseIndex);
61979
+ plan.isImplicitRemainingPhase = plan.routingPhaseIndex === null && phaseProps === void 0;
61979
61980
  plan.phaseName = phaseProps?.name;
61980
61981
  plan.reroute = phaseProps?.reroute;
61981
61982
  plan.region = phaseProps?.region;
@@ -62101,6 +62102,7 @@ function Group_getRoutingPhasePlans(group) {
62101
62102
  ...breakoutPlans,
62102
62103
  {
62103
62104
  routingPhaseIndex: null,
62105
+ isImplicitRemainingPhase: true,
62104
62106
  nets: [...reroutePlan.nets],
62105
62107
  traces: [...reroutePlan.traces]
62106
62108
  },
@@ -62114,7 +62116,7 @@ function Group_getRoutingPhasePlans(group) {
62114
62116
  var package_default = {
62115
62117
  name: "@tscircuit/core",
62116
62118
  type: "module",
62117
- version: "0.0.1913",
62119
+ version: "0.0.1914",
62118
62120
  types: "dist/index.d.ts",
62119
62121
  main: "dist/index.js",
62120
62122
  module: "dist/index.js",
@@ -64136,6 +64138,7 @@ var Group5 = class extends NormalComponent3 {
64136
64138
  };
64137
64139
  const fixedFanoutTraceIds = /* @__PURE__ */ new Set();
64138
64140
  let previousStageOutputSimpleRouteJson;
64141
+ const skippedRemainingPhases = /* @__PURE__ */ new Set();
64139
64142
  for (const [
64140
64143
  routingStageIndex,
64141
64144
  {
@@ -64147,6 +64150,7 @@ var Group5 = class extends NormalComponent3 {
64147
64150
  phaseStageCount
64148
64151
  }
64149
64152
  ] of routingStages.entries()) {
64153
+ if (skippedRemainingPhases.has(routingPhasePlan)) continue;
64150
64154
  if (!usesPreviousStageOutput) {
64151
64155
  previousStageOutputSimpleRouteJson = void 0;
64152
64156
  }
@@ -64248,6 +64252,19 @@ var Group5 = class extends NormalComponent3 {
64248
64252
  );
64249
64253
  simpleRouteJson.allowViaInPad = phaseAutorouterConfig.allowViaInPad;
64250
64254
  const getPrecomputedRoutingResult = usesPreviousStageOutput ? void 0 : routingPhasePlan.getPrecomputedRoutingResult;
64255
+ const preflightRoutingCheckPolicy = this.getInheritedProperty(
64256
+ "preflightRoutingCheckPolicy"
64257
+ );
64258
+ if (routingPhasePlan.isImplicitRemainingPhase && phaseStageIndex === 0 && this.getInheritedProperty("routeRemaining") === void 0 && (preflightRoutingCheckPolicy === "basic" || preflightRoutingCheckPolicy === "conservative") && simpleRouteJson.connections.length > 50) {
64259
+ skippedRemainingPhases.add(routingPhasePlan);
64260
+ db.pcb_autorouting_error.insert({
64261
+ pcb_error_id: `pcb_autorouting_error_remaining_routes_${this.subcircuit_id}`,
64262
+ subcircuit_id: this.subcircuit_id ?? void 0,
64263
+ error_type: "pcb_autorouting_error",
64264
+ message: `Remaining routes left unrouted (over 50 traces remaining and preflightRoutingCheckPolicy="${preflightRoutingCheckPolicy}"). Set <board routeRemaining={true} /> or create <autoroutingphase /> elements for specific connections in the order you'd like to route them. The autorouter may hang unless you create autorouting phases incrementally.`
64265
+ });
64266
+ continue;
64267
+ }
64251
64268
  const simplificationHasNoTraceInput = Boolean(
64252
64269
  isTraceSimplificationPhase && simpleRouteJson.traces?.length === 0
64253
64270
  );
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.1914",
4
+ "version": "0.0.1915",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",