diff --git a/README.md b/README.md index 3179404..6422333 100644 --- a/README.md +++ b/README.md @@ -131,7 +131,7 @@ your Typescript solver, just create a file like this: ```tsx import { startAutoroutingDevServer, getSimpleRouteJson } from "autorouting-dataset" -const mySolver = (soup: AnySoupElement[]) => { +const mySolver = (soup: AnyCircuitElement[]) => { const routeJson = getSimpleRouteJson(soup) // ... @@ -208,7 +208,7 @@ url with the a JSON payload containing the following fields: ```ts interface Payload { - problem_soup: Array + problem_soup: Array simple_route_json: SimpleRouteJson } ``` diff --git a/algos/algorithm-template-ts/AI_GUIDE.md b/algos/algorithm-template-ts/AI_GUIDE.md index 925a48a..eb5a27e 100644 --- a/algos/algorithm-template-ts/AI_GUIDE.md +++ b/algos/algorithm-template-ts/AI_GUIDE.md @@ -38,7 +38,7 @@ import { type Obstacle, type SimpleRouteJson, } from "autorouting-dataset" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" export function autoroute(soup): SimplifiedPcbTrace[] { const input = getSimpleRouteJson(soup) diff --git a/algos/algorithm-template-ts/index.ts b/algos/algorithm-template-ts/index.ts index 7729aff..96bbfb3 100644 --- a/algos/algorithm-template-ts/index.ts +++ b/algos/algorithm-template-ts/index.ts @@ -1,7 +1,7 @@ import { getSimpleRouteJson, type SimplifiedPcbTrace } from "solver-utils" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" -export function autoroute(soup: AnySoupElement[]): SimplifiedPcbTrace[] { +export function autoroute(soup: AnyCircuitElement[]): SimplifiedPcbTrace[] { const input = getSimpleRouteJson(soup) // TODO: implement your algorithm here diff --git a/algos/gridless-poi/index.ts b/algos/gridless-poi/index.ts index cf1e80e..a98edc0 100644 --- a/algos/gridless-poi/index.ts +++ b/algos/gridless-poi/index.ts @@ -4,10 +4,10 @@ import { type SimplifiedPcbTrace, } from "solver-utils" import type { - AnySoupElement, + AnyCircuitElement, PcbFabricationNotePath, PcbFabricationNoteText, -} from "@tscircuit/soup" +} from "circuit-json" import { Graph } from "@dagrejs/graphlib" import { getUnclusteredOptimalPointsFromObstacles } from "./lib/get-unclustered-optimal-points-from-obstacles" @@ -20,7 +20,7 @@ import { constructGraphFromPoisWithDelaunay } from "./lib/construct-graph-from-p const debug = Debug("autorouting-dataset:gridless-poi") -export function autoroute(soup: AnySoupElement[]): SolutionWithDebugInfo { +export function autoroute(soup: AnyCircuitElement[]): SolutionWithDebugInfo { const timer = new Timer({ logOnEnd: debug.enabled }) timer.start("getSimpleRouteJson") @@ -28,7 +28,7 @@ export function autoroute(soup: AnySoupElement[]): SolutionWithDebugInfo { timer.end() const solution: (SimplifiedPcbTrace | PcbFabricationNotePath)[] = [] - const debugSolutions: Record = { + const debugSolutions: Record = { mesh: [], pois: [], } diff --git a/algos/infinite-grid-astar/index.ts b/algos/infinite-grid-astar/index.ts index fed4925..c33b3e1 100644 --- a/algos/infinite-grid-astar/index.ts +++ b/algos/infinite-grid-astar/index.ts @@ -1,8 +1,8 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { InfgridAutorouter } from "./InfgridAutorouter" import { getSimpleRouteJson, type SolutionWithDebugInfo } from "solver-utils" -export function autoroute(soup: AnySoupElement[]): SolutionWithDebugInfo { +export function autoroute(soup: AnyCircuitElement[]): SolutionWithDebugInfo { const input = getSimpleRouteJson(soup) const autorouter = new InfgridAutorouter({ diff --git a/algos/infinite-grid-ijump-astar/tests/__snapshots__/get-debug-svg.snap.svg b/algos/infinite-grid-ijump-astar/tests/__snapshots__/get-debug-svg.snap.svg index 48ebeab..4315239 100644 --- a/algos/infinite-grid-ijump-astar/tests/__snapshots__/get-debug-svg.snap.svg +++ b/algos/infinite-grid-ijump-astar/tests/__snapshots__/get-debug-svg.snap.svg @@ -9,4 +9,4 @@ .pcb-silkscreen-top { stroke: #f2eda1; } .pcb-silkscreen-bottom { stroke: #f2eda1; } .pcb-silkscreen-text { fill: #f2eda1; } - X0t1_iter[0]X01t1_iter[1]X01t1_iter[2]X01t1_iter[3] \ No newline at end of file + X0t1_iter[0]X01t1_iter[1]X01t1_iter[2]X01t1_iter[3] \ No newline at end of file diff --git a/algos/infinite-grid-ijump-astar/tests/__snapshots__/intersection-with-margin.snap.svg b/algos/infinite-grid-ijump-astar/tests/__snapshots__/intersection-with-margin.snap.svg index c96ff17..aa1dbdd 100644 --- a/algos/infinite-grid-ijump-astar/tests/__snapshots__/intersection-with-margin.snap.svg +++ b/algos/infinite-grid-ijump-astar/tests/__snapshots__/intersection-with-margin.snap.svg @@ -9,4 +9,4 @@ .pcb-silkscreen-top { stroke: #f2eda1; } .pcb-silkscreen-bottom { stroke: #f2eda1; } .pcb-silkscreen-text { fill: #f2eda1; } - X0t1_iter[0]X0t1_iter[1]X0t1_iter[2] \ No newline at end of file + X0t1_iter[0]X0t1_iter[1]X0t1_iter[2] \ No newline at end of file diff --git a/algos/infinite-grid-ijump-astar/tests/__snapshots__/multimargin.snap.svg b/algos/infinite-grid-ijump-astar/tests/__snapshots__/multimargin.snap.svg index 184e084..7cc2728 100644 --- a/algos/infinite-grid-ijump-astar/tests/__snapshots__/multimargin.snap.svg +++ b/algos/infinite-grid-ijump-astar/tests/__snapshots__/multimargin.snap.svg @@ -9,4 +9,4 @@ .pcb-silkscreen-top { stroke: #f2eda1; } .pcb-silkscreen-bottom { stroke: #f2eda1; } .pcb-silkscreen-text { fill: #f2eda1; } - X01t1_iter[0]X01234t1_iter[1]X01234t1_iter[2]X01234t1_iter[3] \ No newline at end of file + X01t1_iter[0]X01234t1_iter[1]X01234t1_iter[2]X01234t1_iter[3] \ No newline at end of file diff --git a/algos/infinite-grid-ijump-astar/tests/fixtures/get-debug-svg.ts b/algos/infinite-grid-ijump-astar/tests/fixtures/get-debug-svg.ts index dbe44dd..ddcf8f3 100644 --- a/algos/infinite-grid-ijump-astar/tests/fixtures/get-debug-svg.ts +++ b/algos/infinite-grid-ijump-astar/tests/fixtures/get-debug-svg.ts @@ -4,7 +4,7 @@ import { circuitJsonToPcbSvg } from "circuit-to-svg" import { Circuit } from "@tscircuit/core" import { transformPCBElements } from "@tscircuit/soup-util" import { translate } from "transformation-matrix" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import type { GeneralizedAstarAutorouter } from "algos/infinite-grid-ijump-astar/v2/lib/GeneralizedAstar" export const getDebugSvg = ({ @@ -15,9 +15,9 @@ export const getDebugSvg = ({ colWidth = 0, colCount = 1, }: { - inputCircuitJson: AnySoupElement[] + inputCircuitJson: AnyCircuitElement[] autorouter: GeneralizedAstarAutorouter - solution?: AnySoupElement[] | SimplifiedPcbTrace[] + solution?: AnyCircuitElement[] | SimplifiedPcbTrace[] rowHeight?: number colWidth?: number colCount?: number @@ -29,7 +29,7 @@ export const getDebugSvg = ({ }), ) - const aggCircuitJson: AnySoupElement[] = [] + const aggCircuitJson: AnyCircuitElement[] = [] const getTranslationForIndex = (i: number) => { if (colCount && colWidth) { diff --git a/algos/infinite-grid-ijump-astar/tests/get-debug-svg.test.tsx b/algos/infinite-grid-ijump-astar/tests/get-debug-svg.test.tsx index 24ed848..baa5c7d 100644 --- a/algos/infinite-grid-ijump-astar/tests/get-debug-svg.test.tsx +++ b/algos/infinite-grid-ijump-astar/tests/get-debug-svg.test.tsx @@ -5,7 +5,7 @@ import { IJumpAutorouter } from "../v2" import { Circuit } from "@tscircuit/core" import { transformPCBElements } from "@tscircuit/soup-util" import { translate } from "transformation-matrix" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { getDebugSvg } from "./fixtures/get-debug-svg" test("ijump-astar: intersection with margin", () => { diff --git a/algos/infinite-grid-ijump-astar/tests/intersection-with-margin.test.tsx b/algos/infinite-grid-ijump-astar/tests/intersection-with-margin.test.tsx index 6c52272..f72ef84 100644 --- a/algos/infinite-grid-ijump-astar/tests/intersection-with-margin.test.tsx +++ b/algos/infinite-grid-ijump-astar/tests/intersection-with-margin.test.tsx @@ -5,7 +5,7 @@ import { IJumpAutorouter } from "../v2" import { Circuit } from "@tscircuit/core" import { transformPCBElements } from "@tscircuit/soup-util" import { translate } from "transformation-matrix" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { getDebugSvg } from "./fixtures/get-debug-svg" const OneByOnePad = (props: { name: string; pcbX?: number; pcbY?: number }) => ( diff --git a/algos/infinite-grid-ijump-astar/tests/multimargin-bga.test.tsx b/algos/infinite-grid-ijump-astar/tests/multimargin-bga.test.tsx index 28d8b58..45da39c 100644 --- a/algos/infinite-grid-ijump-astar/tests/multimargin-bga.test.tsx +++ b/algos/infinite-grid-ijump-astar/tests/multimargin-bga.test.tsx @@ -5,7 +5,7 @@ import { IJumpAutorouter } from "../v2" import { Circuit } from "@tscircuit/core" import { transformPCBElements } from "@tscircuit/soup-util" import { translate } from "transformation-matrix" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { getDebugSvg } from "./fixtures/get-debug-svg" import { IJumpMultiMarginAutorouter } from "../v2/lib/IJumpMultiMarginAutorouter" diff --git a/algos/infinite-grid-ijump-astar/tests/multimargin.test.tsx b/algos/infinite-grid-ijump-astar/tests/multimargin.test.tsx index 6bd62f5..1fb44ef 100644 --- a/algos/infinite-grid-ijump-astar/tests/multimargin.test.tsx +++ b/algos/infinite-grid-ijump-astar/tests/multimargin.test.tsx @@ -5,7 +5,7 @@ import { IJumpAutorouter } from "../v2" import { Circuit } from "@tscircuit/core" import { transformPCBElements } from "@tscircuit/soup-util" import { translate } from "transformation-matrix" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { getDebugSvg } from "./fixtures/get-debug-svg" import { IJumpMultiMarginAutorouter } from "../v2/lib/IJumpMultiMarginAutorouter" diff --git a/algos/infinite-grid-ijump-astar/v1/index.ts b/algos/infinite-grid-ijump-astar/v1/index.ts index 52c3e76..891686d 100644 --- a/algos/infinite-grid-ijump-astar/v1/index.ts +++ b/algos/infinite-grid-ijump-astar/v1/index.ts @@ -5,11 +5,11 @@ import { type SimpleRouteJson, } from "solver-utils" import type { - AnySoupElement, + AnyCircuitElement, PcbFabricationNotePath, PcbFabricationNoteText, PCBSMTPad, -} from "@tscircuit/soup" +} from "circuit-json" import type { SolutionWithDebugInfo } from "autorouting-dataset/lib/solver-utils/ProblemSolver" import Debug from "debug" import { getObstaclesFromTrace } from "./lib/getObstaclesFromTrace" @@ -716,7 +716,7 @@ function routeConnection( } } -export function autoroute(soup: AnySoupElement[]): SolutionWithDebugInfo { +export function autoroute(soup: AnyCircuitElement[]): SolutionWithDebugInfo { if (debug.enabled) { debugGroup = null debugTraceCount = 0 diff --git a/algos/infinite-grid-ijump-astar/v2/index.ts b/algos/infinite-grid-ijump-astar/v2/index.ts index d87e1e4..1716513 100644 --- a/algos/infinite-grid-ijump-astar/v2/index.ts +++ b/algos/infinite-grid-ijump-astar/v2/index.ts @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import type { SolutionWithDebugInfo } from "solver-utils/ProblemSolver" import { IJumpAutorouter } from "./lib/IJumpAutorouter" import { @@ -9,7 +9,7 @@ import { import { getObstaclesFromCircuitJson } from "solver-utils/getObstaclesFromCircuitJson" import { IJumpMultiMarginAutorouter } from "./lib/IJumpMultiMarginAutorouter" -export function autoroute(soup: AnySoupElement[]): SolutionWithDebugInfo { +export function autoroute(soup: AnyCircuitElement[]): SolutionWithDebugInfo { const input = getSimpleRouteJson(soup) const autorouter = new IJumpAutorouter({ @@ -26,7 +26,7 @@ export function autoroute(soup: AnySoupElement[]): SolutionWithDebugInfo { } export function autorouteMultiMargin( - soup: AnySoupElement[], + soup: AnyCircuitElement[], ): SolutionWithDebugInfo { const input = getSimpleRouteJson(soup) diff --git a/algos/infinite-grid-ijump-astar/v2/lib/GeneralizedAstar.ts b/algos/infinite-grid-ijump-astar/v2/lib/GeneralizedAstar.ts index 1fe9164..d2e0f0b 100644 --- a/algos/infinite-grid-ijump-astar/v2/lib/GeneralizedAstar.ts +++ b/algos/infinite-grid-ijump-astar/v2/lib/GeneralizedAstar.ts @@ -1,4 +1,4 @@ -import type { AnySoupElement, LayerRef, PCBSMTPad } from "@tscircuit/soup" +import type { AnyCircuitElement, LayerRef, PCBSMTPad } from "circuit-json" // import { QuadtreeObstacleList } from "./QuadtreeObstacleList" import type { Node, Point, PointWithObstacleHit } from "./types" import { manDist, nodeName } from "./util" @@ -30,7 +30,7 @@ export class GeneralizedAstarAutorouter { closedSet: Set = new Set() debug = false - debugSolutions?: Record + debugSolutions?: Record debugMessage: string | null = null debugTraceCount: number = 0 diff --git a/algos/infinite-grid-ijump-astar/v2/lib/IJumpAutorouter.ts b/algos/infinite-grid-ijump-astar/v2/lib/IJumpAutorouter.ts index 1bfa6e8..c15337a 100644 --- a/algos/infinite-grid-ijump-astar/v2/lib/IJumpAutorouter.ts +++ b/algos/infinite-grid-ijump-astar/v2/lib/IJumpAutorouter.ts @@ -10,7 +10,7 @@ import type { } from "./types" import { clamp, dirFromAToB, dist, distAlongDir } from "./util" import { getDistanceToOvercomeObstacle } from "./getDistanceToOvercomeObstacle" -import { distance } from "@tscircuit/soup" +import { distance } from "circuit-json" export class IJumpAutorouter extends GeneralizedAstarAutorouter { MAX_ITERATIONS: number = 200 diff --git a/algos/infinite-grid-ijump-astar/v2/lib/IJumpMultiMarginAutorouter.ts b/algos/infinite-grid-ijump-astar/v2/lib/IJumpMultiMarginAutorouter.ts index 831a50d..0ae0597 100644 --- a/algos/infinite-grid-ijump-astar/v2/lib/IJumpMultiMarginAutorouter.ts +++ b/algos/infinite-grid-ijump-astar/v2/lib/IJumpMultiMarginAutorouter.ts @@ -10,7 +10,7 @@ import type { } from "./types" import { clamp, dirFromAToB, dist, distAlongDir, manDist } from "./util" import { getDistanceToOvercomeObstacle } from "./getDistanceToOvercomeObstacle" -import { distance } from "@tscircuit/soup" +import { distance } from "circuit-json" export class IJumpMultiMarginAutorouter extends GeneralizedAstarAutorouter { MAX_ITERATIONS: number = 500 diff --git a/algos/jump-point-grid/index.ts b/algos/jump-point-grid/index.ts index 067a8d9..a986064 100644 --- a/algos/jump-point-grid/index.ts +++ b/algos/jump-point-grid/index.ts @@ -1,8 +1,8 @@ import { Grid, JumpPointFinder, DiagonalMovement } from "pathfinding" import { getSimpleRouteJson, type SimplifiedPcbTrace } from "solver-utils" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" -export function autoroute(soup: AnySoupElement[]): SimplifiedPcbTrace[] { +export function autoroute(soup: AnyCircuitElement[]): SimplifiedPcbTrace[] { const input = getSimpleRouteJson(soup) const gridSize = 0.1 // Assume 1 unit grid size const bufferSize = 0 diff --git a/algos/multi-layer-ijump/MultilayerIjump.ts b/algos/multi-layer-ijump/MultilayerIjump.ts index 60a4350..83181c6 100644 --- a/algos/multi-layer-ijump/MultilayerIjump.ts +++ b/algos/multi-layer-ijump/MultilayerIjump.ts @@ -34,7 +34,7 @@ import { } from "circuit-json-to-connectivity-map" import type { ConnectionWithGoalAlternatives } from "autorouting-dataset/lib/solver-utils/ConnectionWithAlternatives" import { nanoid } from "nanoid" -import type { LayerRef, PCBTrace } from "@tscircuit/soup" +import type { LayerRef, PCBTrace } from "circuit-json" import { getAlternativeGoalBoxes, getConnectionWithAlternativeGoalBoxes, diff --git a/algos/multi-layer-ijump/index.ts b/algos/multi-layer-ijump/index.ts index a571907..1a3e9f4 100644 --- a/algos/multi-layer-ijump/index.ts +++ b/algos/multi-layer-ijump/index.ts @@ -1,10 +1,10 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import type { SolutionWithDebugInfo } from "autorouting-dataset/lib/solver-utils/ProblemSolver" import { getSimpleRouteJson } from "autorouting-dataset/lib/solver-utils/getSimpleRouteJson" import { MultilayerIjump } from "./MultilayerIjump" import { getFullConnectivityMapFromCircuitJson } from "circuit-json-to-connectivity-map" -export function autoroute(soup: AnySoupElement[]): SolutionWithDebugInfo { +export function autoroute(soup: AnyCircuitElement[]): SolutionWithDebugInfo { const connMap = getFullConnectivityMapFromCircuitJson(soup) const input = getSimpleRouteJson(soup, { layerCount: 2, diff --git a/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-bottom-crossing.snap.svg b/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-bottom-crossing.snap.svg index dddadcd..dcdef03 100644 --- a/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-bottom-crossing.snap.svg +++ b/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-bottom-crossing.snap.svg @@ -9,4 +9,4 @@ .pcb-silkscreen-top { stroke: #f2eda1; } .pcb-silkscreen-bottom { stroke: #f2eda1; } .pcb-silkscreen-text { fill: #f2eda1; } - X001t1_iter[0]X0012345t1_iter[1]X1012345t1_iter[2]X001t2_iter[0]X0012345t2_iter[1]X10123456t2_iter[2]X1012345678910t2_iter[3]X001234567891011t2_iter[4]X00123456789101112t2_iter[5]X101234567891011121314t2_iter[6]X001234567891011121314t2_iter[7]X10123456789101112131415t2_iter[8]X1012345678910111213141516t2_iter[9]X00123456789101112131415161718t2_iter[10]X101234567891011121314151617t2_iter[11]X00123456789101112131415161718192021t2_iter[12]X00123456789101112131415161718192021t2_iter[13]X101234567891011121314151617181920t2_iter[14]X1012345678910111213141516171819t2_iter[15] \ No newline at end of file + X001t1_iter[0]X0012345t1_iter[1]X1012345t1_iter[2]X001t2_iter[0]X0012345t2_iter[1]X10123456t2_iter[2]X1012345678910t2_iter[3]X001234567891011t2_iter[4]X00123456789101112t2_iter[5]X101234567891011121314t2_iter[6]X001234567891011121314t2_iter[7]X10123456789101112131415t2_iter[8]X1012345678910111213141516t2_iter[9]X00123456789101112131415161718t2_iter[10]X101234567891011121314151617t2_iter[11]X00123456789101112131415161718192021t2_iter[12]X00123456789101112131415161718192021t2_iter[13]X101234567891011121314151617181920t2_iter[14]X1012345678910111213141516171819t2_iter[15] \ No newline at end of file diff --git a/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-ijump-simple.snap.svg b/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-ijump-simple.snap.svg index def3bb7..1fc8636 100644 --- a/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-ijump-simple.snap.svg +++ b/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-ijump-simple.snap.svg @@ -9,4 +9,4 @@ .pcb-silkscreen-top { stroke: #f2eda1; } .pcb-silkscreen-bottom { stroke: #f2eda1; } .pcb-silkscreen-text { fill: #f2eda1; } - X001t1_iter[0]X0012345t1_iter[1]X1012345t1_iter[2] \ No newline at end of file + X001t1_iter[0]X0012345t1_iter[1]X1012345t1_iter[2] \ No newline at end of file diff --git a/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-ijump-single-layer.snap.svg b/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-ijump-single-layer.snap.svg index e72f2f2..49bfcd6 100644 --- a/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-ijump-single-layer.snap.svg +++ b/algos/multi-layer-ijump/tests/__snapshots__/multi-layer-ijump-single-layer.snap.svg @@ -9,4 +9,4 @@ .pcb-silkscreen-top { stroke: #f2eda1; } .pcb-silkscreen-bottom { stroke: #f2eda1; } .pcb-silkscreen-text { fill: #f2eda1; } - X001t1_iter[0]X0012345t1_iter[1]X00123456t1_iter[2]X001234567t1_iter[3] \ No newline at end of file + X001t1_iter[0]X0012345t1_iter[1]X00123456t1_iter[2]X001234567t1_iter[3] \ No newline at end of file diff --git a/algos/multi-layer-ijump/tests/multi-layer-bottom-crossing.test.tsx b/algos/multi-layer-ijump/tests/multi-layer-bottom-crossing.test.tsx index 6a8109c..c70a4c8 100644 --- a/algos/multi-layer-ijump/tests/multi-layer-bottom-crossing.test.tsx +++ b/algos/multi-layer-ijump/tests/multi-layer-bottom-crossing.test.tsx @@ -4,7 +4,7 @@ import { circuitJsonToPcbSvg } from "circuit-to-svg" import { Circuit } from "@tscircuit/core" import { transformPCBElements } from "@tscircuit/soup-util" import { translate } from "transformation-matrix" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { getDebugSvg } from "../../infinite-grid-ijump-astar/tests/fixtures/get-debug-svg" import { MultilayerIjump } from "../MultilayerIjump" diff --git a/algos/multi-layer-ijump/tests/multi-layer-ijump-simple.test.tsx b/algos/multi-layer-ijump/tests/multi-layer-ijump-simple.test.tsx index 299d432..28529cd 100644 --- a/algos/multi-layer-ijump/tests/multi-layer-ijump-simple.test.tsx +++ b/algos/multi-layer-ijump/tests/multi-layer-ijump-simple.test.tsx @@ -4,7 +4,7 @@ import { circuitJsonToPcbSvg } from "circuit-to-svg" import { Circuit } from "@tscircuit/core" import { transformPCBElements } from "@tscircuit/soup-util" import { translate } from "transformation-matrix" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { getDebugSvg } from "../../infinite-grid-ijump-astar/tests/fixtures/get-debug-svg" import { MultilayerIjump } from "../MultilayerIjump" diff --git a/algos/multi-layer-ijump/tests/multi-layer-ijump-single-layer.test.tsx b/algos/multi-layer-ijump/tests/multi-layer-ijump-single-layer.test.tsx index 207135a..5da3635 100644 --- a/algos/multi-layer-ijump/tests/multi-layer-ijump-single-layer.test.tsx +++ b/algos/multi-layer-ijump/tests/multi-layer-ijump-single-layer.test.tsx @@ -4,7 +4,7 @@ import { circuitJsonToPcbSvg } from "circuit-to-svg" import { Circuit } from "@tscircuit/core" import { transformPCBElements } from "@tscircuit/soup-util" import { translate } from "transformation-matrix" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { getDebugSvg } from "../../infinite-grid-ijump-astar/tests/fixtures/get-debug-svg" import { MultilayerIjump } from "../MultilayerIjump" diff --git a/algos/multi-layer-ijump/tests/same-net-many-pads.test.tsx b/algos/multi-layer-ijump/tests/same-net-many-pads.test.tsx index e713588..7497c31 100644 --- a/algos/multi-layer-ijump/tests/same-net-many-pads.test.tsx +++ b/algos/multi-layer-ijump/tests/same-net-many-pads.test.tsx @@ -4,7 +4,7 @@ import { circuitJsonToPcbSvg } from "circuit-to-svg" import { Circuit } from "@tscircuit/core" import { transformPCBElements } from "@tscircuit/soup-util" import { translate } from "transformation-matrix" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { getDebugSvg } from "../../infinite-grid-ijump-astar/tests/fixtures/get-debug-svg" import { MultilayerIjump } from "../MultilayerIjump" import { getFullConnectivityMapFromCircuitJson } from "circuit-json-to-connectivity-map" diff --git a/algos/multi-layer-ijump/util.ts b/algos/multi-layer-ijump/util.ts index a4bd49c..354ad53 100644 --- a/algos/multi-layer-ijump/util.ts +++ b/algos/multi-layer-ijump/util.ts @@ -1,4 +1,4 @@ -import type { LayerRef } from "@tscircuit/soup" +import type { LayerRef } from "circuit-json" import type { Point3d, Direction3d } from "./types" export function dirFromAToB(nodeA: Point3d, nodeB: Point3d): Direction3d { diff --git a/algos/simple-grid/index.ts b/algos/simple-grid/index.ts index f16bf76..55a6405 100644 --- a/algos/simple-grid/index.ts +++ b/algos/simple-grid/index.ts @@ -1,8 +1,8 @@ import { Grid, AStarFinder, DiagonalMovement } from "pathfinding" import { getSimpleRouteJson, type SimplifiedPcbTrace } from "solver-utils" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" -export function autoroute(soup: AnySoupElement[]): SimplifiedPcbTrace[] { +export function autoroute(soup: AnyCircuitElement[]): SimplifiedPcbTrace[] { const input = getSimpleRouteJson(soup) const gridSize = 0.1 // Assume 1 unit grid size const bufferSize = 0 diff --git a/algos/tscircuit-builtin/index.ts b/algos/tscircuit-builtin/index.ts index 1ba21ab..c5e1750 100644 --- a/algos/tscircuit-builtin/index.ts +++ b/algos/tscircuit-builtin/index.ts @@ -1,4 +1,4 @@ -import type { AnySoupElement, PCBTrace } from "@tscircuit/soup" +import type { AnyCircuitElement, PCBTrace } from "circuit-json" import { buildPcbTraceElements } from "@tscircuit/builder" import { su } from "@tscircuit/soup-util" import { mm } from "@tscircuit/mm" @@ -15,8 +15,8 @@ function getBuildContext(): any { } } -export const tscircuitBuiltinSolver = (soup: AnySoupElement[]) => { - const newElements: AnySoupElement[] = [] +export const tscircuitBuiltinSolver = (soup: AnyCircuitElement[]) => { + const newElements: AnyCircuitElement[] = [] const nm = new NetManager() const ctx = getBuildContext() for (const source_trace of su(soup).source_trace.list()) { diff --git a/bun.lockb b/bun.lockb index 5d7eded..4b54cad 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/frontend/components/ViewProblemAndSolution.tsx b/frontend/components/ViewProblemAndSolution.tsx index ea8b5a5..ec1d46f 100644 --- a/frontend/components/ViewProblemAndSolution.tsx +++ b/frontend/components/ViewProblemAndSolution.tsx @@ -1,5 +1,5 @@ import { PCBViewer } from "@tscircuit/pcb-viewer" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { useState } from "react" import { DatasetNavigation } from "./DatasetNavigation" import { ErrorBoundary } from "react-error-boundary" @@ -11,7 +11,7 @@ export default () => { const [selectedDebugSolution, setSelectedDebugSolution] = useState< null | string >(null) - const [pastedSoup, setPastedSoup] = useState() + const [pastedSoup, setPastedSoup] = useState() // Derive problem from url (if present) const [, , selectedProblemType, seedStr] = window.location.pathname.split("/") const seed = seedStr ? Number.parseInt(seedStr) : 0 diff --git a/frontend/window-global.ts b/frontend/window-global.ts index 707a349..7a7d68b 100644 --- a/frontend/window-global.ts +++ b/frontend/window-global.ts @@ -1,9 +1,9 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" declare global { interface Window { - PROBLEM_SOUP: AnySoupElement[] - SOLUTION_SOUP: AnySoupElement[] + PROBLEM_SOUP: AnyCircuitElement[] + SOLUTION_SOUP: AnyCircuitElement[] HAS_CUSTOM_SOLVER?: string USER_MESSAGE?: string SOLVER_NAME?: string @@ -12,7 +12,7 @@ declare global { AVAILABLE_DATASETS?: string[] SOLUTION_COMPUTE_TIME?: number IS_SOLUTION_CORRECT?: boolean - DEBUG_SOLUTIONS?: Record + DEBUG_SOLUTIONS?: Record DEBUG_MESSAGE?: string } } diff --git a/module/lib/benchmark/is-valid-solution.ts b/module/lib/benchmark/is-valid-solution.ts index 3446dda..4cc8fec 100644 --- a/module/lib/benchmark/is-valid-solution.ts +++ b/module/lib/benchmark/is-valid-solution.ts @@ -1,10 +1,10 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { runChecks } from "./run-checks" import type { SimplifiedPcbTrace } from "../types" export const isValidSolution = ( - problem?: AnySoupElement[], - solution?: AnySoupElement[] | SimplifiedPcbTrace[], + problem?: AnyCircuitElement[], + solution?: AnyCircuitElement[] | SimplifiedPcbTrace[], ): boolean => { if (!problem || !solution) return false return runChecks(problem, solution as any).length === 0 diff --git a/module/lib/benchmark/run-benchmark.ts b/module/lib/benchmark/run-benchmark.ts index 7c88c65..f202d5c 100644 --- a/module/lib/benchmark/run-benchmark.ts +++ b/module/lib/benchmark/run-benchmark.ts @@ -1,6 +1,6 @@ import type { ProblemSolver } from "../solver-utils/ProblemSolver" import { getDatasetGenerator } from "../generators" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import type { ProblemType } from "../generators/types" import { isValidSolution } from "./is-valid-solution" import kleur from "kleur" diff --git a/module/lib/benchmark/run-checks.ts b/module/lib/benchmark/run-checks.ts index cd4c24e..f57cce9 100644 --- a/module/lib/benchmark/run-checks.ts +++ b/module/lib/benchmark/run-checks.ts @@ -2,12 +2,12 @@ import { checkEachPcbPortConnected, checkEachPcbTraceNonOverlapping, } from "@tscircuit/checks" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" export const runChecks = ( - problemSoup: AnySoupElement[], - solutionSoup: AnySoupElement[], -): AnySoupElement[] => { + problemSoup: AnyCircuitElement[], + solutionSoup: AnyCircuitElement[], +): AnyCircuitElement[] => { const errors = [ ...checkEachPcbTraceNonOverlapping(problemSoup.concat(solutionSoup)), ...checkEachPcbPortConnected(problemSoup.concat(solutionSoup)), diff --git a/module/lib/generator-utils/renderCircuitToSoup.ts b/module/lib/generator-utils/renderCircuitToSoup.ts index 50ac661..3cda28f 100644 --- a/module/lib/generator-utils/renderCircuitToSoup.ts +++ b/module/lib/generator-utils/renderCircuitToSoup.ts @@ -1,10 +1,10 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { createRoot } from "@tscircuit/react-fiber" import { createProjectBuilder } from "@tscircuit/builder" export const renderCircuitToSoup = ( circuitReact: any, -): Promise => { +): Promise => { const project = createProjectBuilder() return createRoot().render(circuitReact, project) as any diff --git a/module/lib/generator-utils/replaceTracesWithErrors.ts b/module/lib/generator-utils/replaceTracesWithErrors.ts index a197945..667adf0 100644 --- a/module/lib/generator-utils/replaceTracesWithErrors.ts +++ b/module/lib/generator-utils/replaceTracesWithErrors.ts @@ -1,10 +1,10 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { su } from "@tscircuit/soup-util" export const replaceTracesWithErrors = ( - soup: AnySoupElement[], -): AnySoupElement[] => { - const newSoup: AnySoupElement[] = [] + soup: AnyCircuitElement[], +): AnyCircuitElement[] => { + const newSoup: AnyCircuitElement[] = [] for (const element of soup) { if (element.type === "pcb_trace") { const { pcb_component_id, source_trace_id, route, pcb_trace_id } = element diff --git a/module/lib/generators/distant-single-trace/index.tsx b/module/lib/generators/distant-single-trace/index.tsx index cfd86ad..3727ff9 100644 --- a/module/lib/generators/distant-single-trace/index.tsx +++ b/module/lib/generators/distant-single-trace/index.tsx @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { renderCircuitToSoup } from "../../generator-utils/renderCircuitToSoup" import type { ProblemGenerator } from "../types" import { SingleTraceCircuit } from "../single-trace/SingleTraceCircuit" @@ -6,7 +6,7 @@ import { replaceTracesWithErrors } from "../../generator-utils/replaceTracesWith export const getDistantSingleTraceProblemGenerator = (): ProblemGenerator => { const generateDistantSingleTraceProblem: ProblemGenerator["getExample"] = - async ({ seed }): Promise => { + async ({ seed }): Promise => { return replaceTracesWithErrors( await renderCircuitToSoup( , diff --git a/module/lib/generators/keyboards/index.tsx b/module/lib/generators/keyboards/index.tsx index 650e0e1..c1ecc7f 100644 --- a/module/lib/generators/keyboards/index.tsx +++ b/module/lib/generators/keyboards/index.tsx @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { renderCircuitToSoup } from "../../generator-utils/renderCircuitToSoup" import type { ProblemGenerator } from "../types" import { replaceTracesWithErrors } from "../../generator-utils/replaceTracesWithErrors" @@ -31,7 +31,7 @@ const progression = [ export const getKeyboardGenerator = (): ProblemGenerator => { const generateKeyboardProblem: ProblemGenerator["getExample"] = async ({ seed, - }): Promise => { + }): Promise => { const circuit = new Circuit() if (seed <= progression.length) { diff --git a/module/lib/generators/single-trace-multilayer/index.tsx b/module/lib/generators/single-trace-multilayer/index.tsx index ad9789a..4c65c8f 100644 --- a/module/lib/generators/single-trace-multilayer/index.tsx +++ b/module/lib/generators/single-trace-multilayer/index.tsx @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { renderCircuitToSoup } from "../../generator-utils/renderCircuitToSoup" import type { ProblemGenerator } from "../types" import { SingleTraceMultilayerCircuit } from "./SingleTraceMultilayerCircuit" @@ -8,7 +8,7 @@ import { withCheckRegenerate } from "../utils/with-check-regenerate" export const getSingleTraceMultilayerProblemGenerator = (): ProblemGenerator => { const generateSingleTraceMultilayerProblem: ProblemGenerator["getExample"] = - async ({ seed }): Promise => { + async ({ seed }): Promise => { return replaceTracesWithErrors( await renderCircuitToSoup( , diff --git a/module/lib/generators/single-trace/index.tsx b/module/lib/generators/single-trace/index.tsx index 378c5ab..28459ec 100644 --- a/module/lib/generators/single-trace/index.tsx +++ b/module/lib/generators/single-trace/index.tsx @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { renderCircuitToSoup } from "../../generator-utils/renderCircuitToSoup" import type { ProblemGenerator } from "../types" import { SingleTraceCircuit } from "./SingleTraceCircuit" @@ -8,7 +8,7 @@ import { withCheckRegenerate } from "../utils/with-check-regenerate" export const getSingleTraceProblemGenerator = (): ProblemGenerator => { const generateSingleTraceProblem: ProblemGenerator["getExample"] = async ({ seed, - }): Promise => { + }): Promise => { return replaceTracesWithErrors( await renderCircuitToSoup(), ) diff --git a/module/lib/generators/traces/index.tsx b/module/lib/generators/traces/index.tsx index b0bf20c..f5891db 100644 --- a/module/lib/generators/traces/index.tsx +++ b/module/lib/generators/traces/index.tsx @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { renderCircuitToSoup } from "../../generator-utils/renderCircuitToSoup" import type { ProblemGenerator } from "../types" import { TracesCircuit } from "./TracesCircuit" @@ -8,7 +8,7 @@ import { withCheckRegenerate } from "../utils/with-check-regenerate" export const getTracesProblemGenerator = (): ProblemGenerator => { const generateTracesProblem: ProblemGenerator["getExample"] = async ({ seed, - }): Promise => { + }): Promise => { return replaceTracesWithErrors( await renderCircuitToSoup(), ) diff --git a/module/lib/generators/types.ts b/module/lib/generators/types.ts index 2f06c29..b15adda 100644 --- a/module/lib/generators/types.ts +++ b/module/lib/generators/types.ts @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" export type ProblemType = | "single-trace" @@ -8,5 +8,5 @@ export type ProblemType = | "keyboards" export type ProblemGenerator = { - getExample: (params: { seed: number }) => Promise + getExample: (params: { seed: number }) => Promise } diff --git a/module/lib/generators/utils/with-check-regenerate.ts b/module/lib/generators/utils/with-check-regenerate.ts index 6a1bd2c..508205a 100644 --- a/module/lib/generators/utils/with-check-regenerate.ts +++ b/module/lib/generators/utils/with-check-regenerate.ts @@ -1,7 +1,7 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import type { ProblemGenerator } from "../types" -export const hasOverlappingPads = (soup: AnySoupElement[]) => { +export const hasOverlappingPads = (soup: AnyCircuitElement[]) => { const pads = soup.filter((element) => element.type === "pcb_smtpad") for (const pad of pads) { for (const otherPad of pads) { diff --git a/module/lib/server/app-context.ts b/module/lib/server/app-context.ts index 173cbf5..1b5d1ad 100644 --- a/module/lib/server/app-context.ts +++ b/module/lib/server/app-context.ts @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import type { ProblemSolver } from "../solver-utils/ProblemSolver" export type AppContext = { diff --git a/module/lib/server/get-script-content.ts b/module/lib/server/get-script-content.ts index 9a8e8fb..e2fdf7b 100644 --- a/module/lib/server/get-script-content.ts +++ b/module/lib/server/get-script-content.ts @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { AVAILABLE_DATASETS } from "./available-datasets" import { AVAILABLE_SOLVERS } from "./available-solvers" @@ -17,11 +17,11 @@ export const getScriptContent = ({ solutionComputeTime, isSolutionCorrect, }: { - problemSoup?: AnySoupElement[] - problemSoupWithErrors?: AnySoupElement[] | null - solutionSoup?: AnySoupElement[] + problemSoup?: AnyCircuitElement[] + problemSoupWithErrors?: AnyCircuitElement[] | null + solutionSoup?: AnyCircuitElement[] solutionComputeTime?: number - debugSolutions?: Record | null + debugSolutions?: Record | null debugMessage?: string userMessage?: string solverName?: string diff --git a/module/lib/server/server-entrypoint.ts b/module/lib/server/server-entrypoint.ts index a93945c..6cf56f0 100644 --- a/module/lib/server/server-entrypoint.ts +++ b/module/lib/server/server-entrypoint.ts @@ -6,7 +6,7 @@ import frontendJs from "../../../frontend-dist/assets/index.js" with { } import { getScriptContent } from "./get-script-content" import { getDatasetGenerator } from "../generators" -import type { AnySoupElement, LayerRef } from "@tscircuit/soup" +import type { AnyCircuitElement, LayerRef } from "circuit-json" import type { AppContext } from "./app-context" import type { IncomingMessage, ServerResponse } from "node:http" import { @@ -30,8 +30,8 @@ export const serverEntrypoint = async ( ctx: AppContext, ) => { let { solver = tscircuitBuiltinSolver } = ctx - let problemSoup: AnySoupElement[] | undefined - let solutionSoup: AnySoupElement[] | undefined + let problemSoup: AnyCircuitElement[] | undefined + let solutionSoup: AnyCircuitElement[] | undefined let userMessage: string | undefined // If the url is /problem/single-trace/1/simple-grid, then set the solver @@ -100,14 +100,14 @@ export const serverEntrypoint = async ( } let solutionComputeTime: number | undefined - let debugSolutions: Record | undefined + let debugSolutions: Record | undefined let debugMessage: string | undefined if (problemSoup) { const startTime = performance.now() try { const solverResult = await normalizeSolution( - solver(problemSoup as AnySoupElement[]), + solver(problemSoup as AnyCircuitElement[]), ) debugSolutions = solverResult.debugSolutions debugMessage = solverResult.debugMessage! diff --git a/module/lib/solver-postprocessing/add-vias-for-pcb-trace-routes.ts b/module/lib/solver-postprocessing/add-vias-for-pcb-trace-routes.ts index 4fe6bd4..b35862d 100644 --- a/module/lib/solver-postprocessing/add-vias-for-pcb-trace-routes.ts +++ b/module/lib/solver-postprocessing/add-vias-for-pcb-trace-routes.ts @@ -1,6 +1,6 @@ -import type { AnySoupElement, LayerRef } from "@tscircuit/soup" +import type { AnyCircuitElement, LayerRef } from "circuit-json" -export function addViasForPcbTraceRoutes(solutionSoup: AnySoupElement[]) { +export function addViasForPcbTraceRoutes(solutionSoup: AnyCircuitElement[]) { for (const elm of solutionSoup ?? []) { if (elm.type === "pcb_trace") { for (const point of elm.route) { diff --git a/module/lib/solver-utils/ProblemSolver.ts b/module/lib/solver-utils/ProblemSolver.ts index d227f46..068213d 100644 --- a/module/lib/solver-utils/ProblemSolver.ts +++ b/module/lib/solver-utils/ProblemSolver.ts @@ -1,11 +1,11 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import type { SimplifiedPcbTrace } from "../types" -export type ValidSolutionElement = AnySoupElement | SimplifiedPcbTrace +export type ValidSolutionElement = AnyCircuitElement | SimplifiedPcbTrace export type SolutionWithDebugInfo< - SolElm extends AnySoupElement | SimplifiedPcbTrace = - | AnySoupElement + SolElm extends AnyCircuitElement | SimplifiedPcbTrace = + | AnyCircuitElement | SimplifiedPcbTrace, > = { solution: SolElm[] @@ -20,7 +20,7 @@ export type SolutionWithDebugInfo< * For a good example of debugSolutions, check out the gridless-poi solver * that outputs a visualization of it's mesh. */ - debugSolutions?: Record + debugSolutions?: Record /** * Solvers can return a debugMessage, usually with the iteration count or odd @@ -30,7 +30,7 @@ export type SolutionWithDebugInfo< } export type ProblemSolver = ( - soup: AnySoupElement[], + soup: AnyCircuitElement[], ) => | ValidSolutionElement[] | Promise diff --git a/module/lib/solver-utils/createSolverFromUrl.ts b/module/lib/solver-utils/createSolverFromUrl.ts index 80f9e27..c88c91a 100644 --- a/module/lib/solver-utils/createSolverFromUrl.ts +++ b/module/lib/solver-utils/createSolverFromUrl.ts @@ -1,9 +1,9 @@ import type { ProblemSolver } from "./ProblemSolver" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { getSimpleRouteJson } from "./getSimpleRouteJson" export const createSolverFromUrl = (solverUrl: string): ProblemSolver => { - return async (problemSoup: AnySoupElement[]): Promise => { + return async (problemSoup: AnyCircuitElement[]): Promise => { const simple_route_json = await getSimpleRouteJson(problemSoup) const response = await fetch(solverUrl, { method: "POST", diff --git a/module/lib/solver-utils/getAlternativeGoalBoxes.ts b/module/lib/solver-utils/getAlternativeGoalBoxes.ts index 52d8b6d..78adcc2 100644 --- a/module/lib/solver-utils/getAlternativeGoalBoxes.ts +++ b/module/lib/solver-utils/getAlternativeGoalBoxes.ts @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { getObstaclesFromCircuitJson, type Obstacle, diff --git a/module/lib/solver-utils/getObstaclesFromCircuitJson.ts b/module/lib/solver-utils/getObstaclesFromCircuitJson.ts index 6e6097a..177c7de 100644 --- a/module/lib/solver-utils/getObstaclesFromCircuitJson.ts +++ b/module/lib/solver-utils/getObstaclesFromCircuitJson.ts @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import type { Obstacle } from "../types" import { getObstaclesFromRoute } from "./getObstaclesFromRoute" import type { ConnectivityMap } from "circuit-json-to-connectivity-map" @@ -6,7 +6,7 @@ import type { ConnectivityMap } from "circuit-json-to-connectivity-map" const EVERY_LAYER = ["top", "inner1", "inner2", "bottom"] export const getObstaclesFromCircuitJson = ( - soup: AnySoupElement[], + soup: AnyCircuitElement[], connMap?: ConnectivityMap, ) => { const withNetId = (idList: string[]) => diff --git a/module/lib/solver-utils/getSimpleRouteJson.ts b/module/lib/solver-utils/getSimpleRouteJson.ts index 51634b0..d6bbca3 100644 --- a/module/lib/solver-utils/getSimpleRouteJson.ts +++ b/module/lib/solver-utils/getSimpleRouteJson.ts @@ -1,4 +1,4 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import type { SimpleRouteConnection, SimpleRouteJson } from "./SimpleRouteJson" import { su } from "@tscircuit/soup-util" import type { Obstacle } from "../types" @@ -12,7 +12,7 @@ import { } from "circuit-json-to-connectivity-map" export const getSimpleRouteJson = ( - soup: AnySoupElement[], + soup: AnyCircuitElement[], opts: { layerCount?: number optimizeWithGoalBoxes?: boolean diff --git a/module/lib/solver-utils/normalize-solution.ts b/module/lib/solver-utils/normalize-solution.ts index e7932fc..8422ee9 100644 --- a/module/lib/solver-utils/normalize-solution.ts +++ b/module/lib/solver-utils/normalize-solution.ts @@ -1,14 +1,14 @@ -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import type { ProblemSolver, SolutionWithDebugInfo } from "./ProblemSolver" export const normalizeSolution = async ( $solverResult: ReturnType, -): Promise> => { +): Promise> => { const solverResult = await $solverResult if ("solution" in solverResult) { return solverResult as any } return { - solution: solverResult as AnySoupElement[], + solution: solverResult as AnyCircuitElement[], } } diff --git a/module/tests/dev-server/solve-endpoint.test.ts b/module/tests/dev-server/solve-endpoint.test.ts index 8331446..10bca71 100644 --- a/module/tests/dev-server/solve-endpoint.test.ts +++ b/module/tests/dev-server/solve-endpoint.test.ts @@ -1,7 +1,7 @@ import { test, expect } from "bun:test" import { startDevServer } from "../../lib/server/start-dev-server" import { getDatasetGenerator } from "../../lib/generators" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" import { runChecks } from "../../lib/benchmark/run-checks" import { autoroute } from "algos/simple-grid" import { getSimpleRouteJson } from "../../lib/solver-utils/getSimpleRouteJson" diff --git a/module/tests/get-obstacles-from-circuit-json/pcb-trace-becomes-obstacle.ts b/module/tests/get-obstacles-from-circuit-json/pcb-trace-becomes-obstacle.ts index ed7dfc4..d6e8ecb 100644 --- a/module/tests/get-obstacles-from-circuit-json/pcb-trace-becomes-obstacle.ts +++ b/module/tests/get-obstacles-from-circuit-json/pcb-trace-becomes-obstacle.ts @@ -1,9 +1,9 @@ import { test, expect } from "bun:test" import { getObstaclesFromCircuitJson } from "../../lib/solver-utils/getObstaclesFromCircuitJson" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" test("pcb_trace becomes an obstacle correctly", () => { - const soupWithTrace: AnySoupElement[] = [ + const soupWithTrace: AnyCircuitElement[] = [ { type: "pcb_trace", pcb_trace_id: "trace1", diff --git a/module/tests/get-obstacles-from-circuit-json/vias-should-be-obstacles.test.ts b/module/tests/get-obstacles-from-circuit-json/vias-should-be-obstacles.test.ts index 527fcdc..35f0ca1 100644 --- a/module/tests/get-obstacles-from-circuit-json/vias-should-be-obstacles.test.ts +++ b/module/tests/get-obstacles-from-circuit-json/vias-should-be-obstacles.test.ts @@ -1,9 +1,9 @@ import { test, expect } from "bun:test" import { getObstaclesFromCircuitJson } from "../../lib/solver-utils/getObstaclesFromCircuitJson" -import type { AnySoupElement } from "@tscircuit/soup" +import type { AnyCircuitElement } from "circuit-json" test("pcb_via becomes an obstacle correctly", () => { - const soupWithTrace: AnySoupElement[] = [ + const soupWithTrace: AnyCircuitElement[] = [ { type: "pcb_via", hole_diameter: 0.3, diff --git a/package.json b/package.json index e2af030..ea54905 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ "@tscircuit/core": "^0.0.60", "@tscircuit/pcb-viewer": "1.4.5", "@tscircuit/props": "^0.0.63", - "@tscircuit/soup": "^0.0.68", - "@tscircuit/soup-util": "^0.0.23", + "circuit-json": "^0.0.81", + "@tscircuit/soup-util": "^0.0.31", "@types/bun": "latest", "@types/d3-delaunay": "^6.0.4", "@types/debug": "^4.1.12",