imrishabh18/corne-keyboard
The code defines and renders two surface-mount chip components with SMT pads, silkscreen outlines, and 3D CAD models (OBJ and STEP) for PCB assembly.
- Version
- 2.0.21
- License
- unset
- Stars
- 1
scripts/debug-router.ts
import {AutoroutingPipelineSolver9_PreloadedTraceGraph as Solver} from '../debug-autorouter.mjs'
import fs from 'node:fs'
const input=JSON.parse(fs.readFileSync(process.argv[2], 'utf8'))
const solver:any=new Solver(input,{effort:1,cacheProvider:null})
const start=Date.now();let phase='',last=0;
function diagnostics(o:any){ const result:any={};for(const [k,v]of Object.entries(o??{})){if(Array.isArray(v)&&v.some((x:any)=>x?.route?.length)){result[k]=v;}}return result}
while(!solver.solved&&!solver.failed){try { solver.step() } catch(e) { console.error(String(e));break };const p=solver.getCurrentPhase();if(p!==phase||Date.now()-last>10000){console.log(p,((Date.now()-start)/1000).toFixed(1));last=Date.now();phase=p;}}
console.log('result',solver.solved,solver.failed,solver.error)
fs.writeFileSync('../right-router-debug-state.json',JSON.stringify({pipeline:diagnostics(solver),active:diagnostics(solver.activeSubSolver)},null,2))
if(solver.solved)fs.writeFileSync('../right-router-debug-output.json',JSON.stringify(solver.getOutputSimplifiedPcbTraces()))