@tscircuit/capacity-autorouter 0.0.831 → 0.0.832

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
@@ -2511,6 +2511,7 @@ declare class TraceSimplificationSolver extends BaseSolver {
2511
2511
  private readonly simplificationConfig;
2512
2512
  getSolverName(): string;
2513
2513
  hdRoutes: HighDensityRoute$1[];
2514
+ private readonly preservedRouteEndpoints?;
2514
2515
  simplificationPipelineLoops: number;
2515
2516
  MAX_SIMPLIFICATION_PIPELINE_LOOPS: number;
2516
2517
  PHASE_ORDER: Phase$1[];
@@ -2534,6 +2535,8 @@ declare class TraceSimplificationSolver extends BaseSolver {
2534
2535
  * - otherHdRoutes: Immutable routed traces to avoid while simplifying
2535
2536
  * - netByConnectionName: Explicit net metadata for synthetic route names
2536
2537
  * - enableCrossingViaReduction: Enables coordinated crossing layer swaps
2538
+ * - preserveRouteEndpoints: Prevents simplification from moving endpoint
2539
+ * coordinates or layers when routes represent spliceable local sections
2537
2540
  * - iterations: Number of complete simplification iterations (default: 2)
2538
2541
  */
2539
2542
  constructor(simplificationConfig: {
@@ -2552,7 +2555,9 @@ declare class TraceSimplificationSolver extends BaseSolver {
2552
2555
  readonly otherHdRoutes?: ReadonlyArray<HighDensityRoute$1>;
2553
2556
  readonly netByConnectionName?: ReadonlyMap<string, string>;
2554
2557
  readonly enableCrossingViaReduction?: boolean;
2558
+ readonly preserveRouteEndpoints?: boolean;
2555
2559
  });
2560
+ private validatePreservedRouteEndpoints;
2556
2561
  private isSameNetObstacle;
2557
2562
  private getSameNetObstacleForSegment;
2558
2563
  private isViaInsideSameNetObstacle;
@@ -2608,6 +2613,7 @@ declare class HighDensityRouteSpatialIndex {
2608
2613
  private segmentBuckets;
2609
2614
  private viaBuckets;
2610
2615
  private CELL_SIZE;
2616
+ private maximumCopperRadius;
2611
2617
  constructor(routes: HighDensityRoute[], cellSize?: number);
2612
2618
  /**
2613
2619
  * Finds routes that potentially conflict with a given line segment within a margin.
@@ -6243,6 +6249,7 @@ declare class Pipeline9HighDensitySolver extends BaseSolver {
6243
6249
  readonly unsolvedNodePortPoints: NodeWithPortPoints[];
6244
6250
  readonly fixedRouteReplacements: Map<string, PreloadedHighDensityRoute>;
6245
6251
  readonly removedFixedRouteConnectionNames: Set<string>;
6252
+ readonly preloadedTraceMutationMasks: Map<string, boolean[]>;
6246
6253
  activeRegularSolver: HighDensitySolver | null;
6247
6254
  activeB01Solver: HighDensitySolverB01 | null;
6248
6255
  activeFallbackSolver: Pipeline9RegionalFallbackSolver | null;
@@ -6378,6 +6385,7 @@ declare class AutoroutingPipelineSolver9_PreloadedTraceGraph extends BaseSolver
6378
6385
  strawSolver?: StrawSolver;
6379
6386
  deadEndSolver?: DeadEndSolver;
6380
6387
  traceSimplificationSolver?: TraceSimplificationSolver;
6388
+ mutatedPreloadedTraceSimplificationSolver?: TraceSimplificationSolver;
6381
6389
  lengthMatchingPostProcessingSolver?: PostProcessingSolver;
6382
6390
  powerTraceExpansionSolver?: PowerTraceExpansionSolver;
6383
6391
  availableSegmentPointSolver?: AvailableSegmentPointSolver;
@@ -6427,6 +6435,8 @@ declare class AutoroutingPipelineSolver9_PreloadedTraceGraph extends BaseSolver
6427
6435
  _getOutputHdRoutes(): HighDensityRoute$1[];
6428
6436
  private getOriginalFixedHdRoutes;
6429
6437
  private getChangedPreloadedTraceSections;
6438
+ private getPreloadedFixedRouteStateAfterHighDensity;
6439
+ private getPreparedMutatedPreloadedTraceSections;
6430
6440
  private getPreloadedTraceUpdatesAfterHighDensity;
6431
6441
  private getSrjWithMaterializedPreloadedTraces;
6432
6442
  getUpdatedPreloadedTraces(): SimplifiedPcbTraces;
@@ -6810,6 +6820,7 @@ declare class SingleRouteUselessViaRemovalSolver extends BaseSolver {
6810
6820
  MAX_GEOMETRY_SHORTCUT_ADDED_LENGTH: number;
6811
6821
  ENABLE_GEOMETRY_SHORTCUTS: boolean;
6812
6822
  ENABLE_OBSTACLE_DETOUR_SHORTCUTS: boolean;
6823
+ PRESERVE_ROUTE_ENDPOINTS: boolean;
6813
6824
  geometryShortcutsApplied: number;
6814
6825
  multilayerSectionsCollapsed: number;
6815
6826
  obstacleDetourCandidatesValidated: number;
@@ -6826,6 +6837,7 @@ declare class SingleRouteUselessViaRemovalSolver extends BaseSolver {
6826
6837
  geometryShortcutObstacleMargin?: number;
6827
6838
  enableGeometryShortcuts?: boolean;
6828
6839
  enableObstacleDetourShortcuts?: boolean;
6840
+ preserveRouteEndpoints?: boolean;
6829
6841
  });
6830
6842
  private getPathLength;
6831
6843
  private normalizeShortcutPath;
@@ -6851,6 +6863,7 @@ declare class SingleRouteUselessViaRemovalSolver extends BaseSolver {
6851
6863
  geometryShortcutObstacleMargin: number;
6852
6864
  enableGeometryShortcuts: boolean;
6853
6865
  enableObstacleDetourShortcuts: boolean;
6866
+ preserveRouteEndpoints: boolean;
6854
6867
  };
6855
6868
  getOptimizedHdRoute(): HighDensityRoute;
6856
6869
  visualize(): GraphicsObject;
@@ -6872,6 +6885,8 @@ interface UselessViaRemovalSolverInput {
6872
6885
  geometryShortcutObstacleMargin?: number;
6873
6886
  enableGeometryShortcuts?: boolean;
6874
6887
  enableObstacleDetourShortcuts?: boolean;
6888
+ /** Keep the first and last route points on their original layers. */
6889
+ preserveRouteEndpoints?: boolean;
6875
6890
  }
6876
6891
  declare class UselessViaRemovalSolver extends BaseSolver {
6877
6892
  private input;