@tscircuit/capacity-autorouter 0.0.112 → 0.0.114
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/README.md +2 -48
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
An MIT-licensed full-pipeline PCB autorouter library for node.js and TypeScript projects. Part of [tscircuit](https://github.com/tscircuit/tscircuit)
|
|
4
4
|
|
|
5
|
-
[View Online Playground](https://unraveller.vercel.app) · [tscircuit docs](https://docs.tscircuit.com) · [discord](https://tscircuit.com/join) · [twitter](https://x.com/seveibar) · [try tscircuit online](https://tscircuit.com)
|
|
5
|
+
[View Online Playground](https://unraveller.vercel.app) · [tscircuit docs](https://docs.tscircuit.com) · [discord](https://tscircuit.com/join) · [twitter](https://x.com/seveibar) · [try tscircuit online](https://tscircuit.com) · [Report/Debug Autorouter Bugs](https://docs.tscircuit.com/contributing/report-autorouter-bugs)
|
|
6
6
|
|
|
7
|
-
Check out
|
|
7
|
+
Want to understand how the autorouter works? Check out a stage-by-stage breakdown with videos in [this autorouter walk through](./docs/blog-post/blog-post.md)
|
|
8
8
|
|
|
9
9
|
## How to file a bug report
|
|
10
10
|
|
|
@@ -129,48 +129,6 @@ For debugging or interactive applications, you can use the `visualize()` method
|
|
|
129
129
|
const visualization = solver.visualize()
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
-
## System Architecture
|
|
133
|
-
|
|
134
|
-
```mermaid
|
|
135
|
-
flowchart LR
|
|
136
|
-
subgraph HDR[High Density Route Solver]
|
|
137
|
-
T1[ ] & T2[ ] & T3[ ] & T4[ ] & T5[ ] & T6[ ] & T7[ ] & T8[ ] & T9[ ]
|
|
138
|
-
subgraph IS[HyperSingleIntraNodeSolver / SingleIntraNodeSolver]
|
|
139
|
-
N1[ ] --> N2[ ]
|
|
140
|
-
N2 --> N3[ ]
|
|
141
|
-
N3 --> N4[ ]
|
|
142
|
-
N4 --> N5[ ]
|
|
143
|
-
N5 --> N6[ ]
|
|
144
|
-
N6 --> N7[ ]
|
|
145
|
-
N7 --> N8[ ]
|
|
146
|
-
N8 --> N9[ ]
|
|
147
|
-
end
|
|
148
|
-
subgraph SHDR[SingleHighDensityRouteSolver]
|
|
149
|
-
end
|
|
150
|
-
T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8 & T9 --> IS
|
|
151
|
-
IS --> SHDR
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
NS[Node Solver] --> ES[Edge Solver]
|
|
155
|
-
ES --> MES[Mesh Edge Solver]
|
|
156
|
-
MES --> CPS[Capacity Planning Solver]
|
|
157
|
-
CPS --> EPSS[Edge to Port Segment Solver]
|
|
158
|
-
EPSS --> S2P[Segment to Point Solver]
|
|
159
|
-
S2P --> SPO[Segment Point Optimizer]
|
|
160
|
-
SPO --> HDR
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
The autorouter uses a multi-step approach that includes:
|
|
164
|
-
|
|
165
|
-
1. **Node Solving**: Determines node placement
|
|
166
|
-
2. **Edge Solving**: Creates connections between nodes
|
|
167
|
-
3. **Mesh Edge Solving**: Refines connection patterns
|
|
168
|
-
4. **Capacity Planning**: Allocates routing resources
|
|
169
|
-
5. **Edge to Port Segment Solving**: Connects segments to ports
|
|
170
|
-
6. **Segment to Point Solving**: Converts segments to exact point locations
|
|
171
|
-
7. **Segment Point Optimization**: Optimizes point placements for better routing
|
|
172
|
-
8. **High Density Routing**: Final detailed routing with obstacle avoidance
|
|
173
|
-
|
|
174
132
|
## Development
|
|
175
133
|
|
|
176
134
|
To work on this library:
|
|
@@ -188,7 +146,3 @@ bun test
|
|
|
188
146
|
# Build the library
|
|
189
147
|
bun run build
|
|
190
148
|
```
|
|
191
|
-
|
|
192
|
-
## License
|
|
193
|
-
|
|
194
|
-
See the [LICENSE](LICENSE) file for details.
|