Skip to content

Commit

Permalink
updated to circuit-json
Browse files Browse the repository at this point in the history
  • Loading branch information
ShiboSoftwareDev committed Sep 23, 2024
1 parent 48d0d8a commit 0c3e30f
Show file tree
Hide file tree
Showing 60 changed files with 120 additions and 120 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

// ...
Expand Down Expand Up @@ -208,7 +208,7 @@ url with the a JSON payload containing the following fields:

```ts
interface Payload {
problem_soup: Array<AnySoupElement>
problem_soup: Array<AnyCircuitElement>
simple_route_json: SimpleRouteJson
}
```
Expand Down
2 changes: 1 addition & 1 deletion algos/algorithm-template-ts/AI_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions algos/algorithm-template-ts/index.ts
Original file line number Diff line number Diff line change
@@ -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
Expand Down
8 changes: 4 additions & 4 deletions algos/gridless-poi/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -20,15 +20,15 @@ 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")
const input = getSimpleRouteJson(soup)
timer.end()

const solution: (SimplifiedPcbTrace | PcbFabricationNotePath)[] = []
const debugSolutions: Record<string, AnySoupElement[]> = {
const debugSolutions: Record<string, AnyCircuitElement[]> = {
mesh: [],
pois: [],
}
Expand Down
4 changes: 2 additions & 2 deletions algos/infinite-grid-astar/index.ts
Original file line number Diff line number Diff line change
@@ -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({
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -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 = ({
Expand All @@ -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
Expand All @@ -29,7 +29,7 @@ export const getDebugSvg = ({
}),
)

const aggCircuitJson: AnySoupElement[] = []
const aggCircuitJson: AnyCircuitElement[] = []

const getTranslationForIndex = (i: number) => {
if (colCount && colWidth) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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", () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 }) => (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
2 changes: 1 addition & 1 deletion algos/infinite-grid-ijump-astar/tests/multimargin.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
6 changes: 3 additions & 3 deletions algos/infinite-grid-ijump-astar/v1/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions algos/infinite-grid-ijump-astar/v2/index.ts
Original file line number Diff line number Diff line change
@@ -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 {
Expand All @@ -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({
Expand All @@ -26,7 +26,7 @@ export function autoroute(soup: AnySoupElement[]): SolutionWithDebugInfo {
}

export function autorouteMultiMargin(
soup: AnySoupElement[],
soup: AnyCircuitElement[],
): SolutionWithDebugInfo {
const input = getSimpleRouteJson(soup)

Expand Down
4 changes: 2 additions & 2 deletions algos/infinite-grid-ijump-astar/v2/lib/GeneralizedAstar.ts
Original file line number Diff line number Diff line change
@@ -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"
Expand Down Expand Up @@ -30,7 +30,7 @@ export class GeneralizedAstarAutorouter {
closedSet: Set<string> = new Set()
debug = false

debugSolutions?: Record<string, AnySoupElement[]>
debugSolutions?: Record<string, AnyCircuitElement[]>
debugMessage: string | null = null
debugTraceCount: number = 0

Expand Down
2 changes: 1 addition & 1 deletion algos/infinite-grid-ijump-astar/v2/lib/IJumpAutorouter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions algos/jump-point-grid/index.ts
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion algos/multi-layer-ijump/MultilayerIjump.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
4 changes: 2 additions & 2 deletions algos/multi-layer-ijump/index.ts
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
2 changes: 1 addition & 1 deletion algos/multi-layer-ijump/tests/same-net-many-pads.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion algos/multi-layer-ijump/util.ts
Original file line number Diff line number Diff line change
@@ -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 {
Expand Down
4 changes: 2 additions & 2 deletions algos/simple-grid/index.ts
Original file line number Diff line number Diff line change
@@ -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
Expand Down
6 changes: 3 additions & 3 deletions algos/tscircuit-builtin/index.ts
Original file line number Diff line number Diff line change
@@ -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"
Expand All @@ -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()) {
Expand Down
Binary file modified bun.lockb
Binary file not shown.
4 changes: 2 additions & 2 deletions frontend/components/ViewProblemAndSolution.tsx
Original file line number Diff line number Diff line change
@@ -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"
Expand All @@ -11,7 +11,7 @@ export default () => {
const [selectedDebugSolution, setSelectedDebugSolution] = useState<
null | string
>(null)
const [pastedSoup, setPastedSoup] = useState<AnySoupElement[]>()
const [pastedSoup, setPastedSoup] = useState<AnyCircuitElement[]>()
// Derive problem from url (if present)
const [, , selectedProblemType, seedStr] = window.location.pathname.split("/")
const seed = seedStr ? Number.parseInt(seedStr) : 0
Expand Down
8 changes: 4 additions & 4 deletions frontend/window-global.ts
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -12,7 +12,7 @@ declare global {
AVAILABLE_DATASETS?: string[]
SOLUTION_COMPUTE_TIME?: number
IS_SOLUTION_CORRECT?: boolean
DEBUG_SOLUTIONS?: Record<string, AnySoupElement[]>
DEBUG_SOLUTIONS?: Record<string, AnyCircuitElement[]>
DEBUG_MESSAGE?: string
}
}
6 changes: 3 additions & 3 deletions module/lib/benchmark/is-valid-solution.ts
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion module/lib/benchmark/run-benchmark.ts
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
Loading

0 comments on commit 0c3e30f

Please sign in to comment.