File tree Expand file tree Collapse file tree 2 files changed +45
-1
lines changed Expand file tree Collapse file tree 2 files changed +45
-1
lines changed Original file line number Diff line number Diff line change @@ -2,13 +2,14 @@ import { useCallback } from "react"
22import { useStore } from "./store"
33import { CircuitJsonPreview } from "@tscircuit/runframe"
44import type { AnyCircuitElement } from "circuit-json"
5+ import type { SimpleRouteJson } from "./SimpleRouteJson"
56
67export const App = ( ) => {
78 const circuitJson = useStore ( ( s ) => s . circuitJson )
89 const setCircuitJson = useStore ( ( s ) => s . setCircuitJson )
910 const reset = useStore ( ( s ) => s . reset )
1011
11- const convertSimpleRouteJsonToCircuitJson = ( simpleRouteJson : any ) : AnyCircuitElement [ ] => {
12+ const convertSimpleRouteJsonToCircuitJson = ( simpleRouteJson : SimpleRouteJson ) : AnyCircuitElement [ ] => {
1213 const circuitJson : AnyCircuitElement [ ] = [ ]
1314
1415 for ( const connection of simpleRouteJson . connections ) {
Original file line number Diff line number Diff line change 1+ export type SimplifiedPcbTrace = {
2+ type : "pcb_trace"
3+ pcb_trace_id : string
4+ route : Array <
5+ | {
6+ route_type : "wire"
7+ x : number
8+ y : number
9+ width : number
10+ layer : "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6"
11+ }
12+ | {
13+ route_type : "via"
14+ x : number
15+ y : number
16+ to_layer : "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6"
17+ from_layer : "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6"
18+ }
19+ >
20+ }
21+
22+ export type Obstacle = {
23+ type : "rect"
24+ layers : ( "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" ) [ ]
25+ center : { x : number ; y : number }
26+ width : number
27+ height : number
28+ connectedTo : string [ ]
29+ }
30+
31+ export interface SimpleRouteConnection {
32+ name : string
33+ pointsToConnect : Array < { x : number ; y : number ; layer : "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" } >
34+ }
35+
36+ export interface SimpleRouteJson {
37+ layerCount : number
38+ minTraceWidth : number
39+ obstacles : Obstacle [ ]
40+ connections : Array < SimpleRouteConnection >
41+ bounds : { minX : number ; maxX : number ; minY : number ; maxY : number }
42+ traces ?: SimplifiedPcbTrace [ ]
43+ }
You can’t perform that action at this time.
0 commit comments