PCB topology routing
Go to file
Mikolaj Wielgus 4efc2d482b egui: paint currently probed edges in bold yellow 2024-05-06 12:05:50 +02:00
.githooks githooks: add pre-commit hook with dry `cargo fmt` 2023-12-25 01:58:58 +01:00
assets egui: make the WASM port actually work 2024-03-02 16:09:01 +00:00
src egui: paint currently probed edges in bold yellow 2024-05-06 12:05:50 +02:00
tests/data tests: remove residual traces from the unrouted LM317 breakout 2024-04-23 22:18:03 +02:00
vendored/contracts cargo: rename vendor/ to vendored/ 2024-02-18 20:54:35 +00:00
.gitignore Initial commit 2023-07-12 01:01:25 +02:00
CONTRIBUTING.md contributing: some copyediting 2024-04-25 00:46:11 +02:00
Cargo.toml cargo: make pathfinder an optional, SDL2-only dependency 2024-03-03 11:43:58 +00:00
LICENSE license: fill out years and copyright holders 2024-02-19 16:43:20 +00:00
README.md readme: update official repository link 2024-04-25 00:47:49 +02:00
index.html egui: make the WASM port actually work 2024-03-02 16:09:01 +00:00

README.md

Topola

Work-in-progress interactive topological router in Rust.

The project is funded by the NLnet Foundation through the NGI0 Entrust fund.

NGI0 Entrust banner NLnet Foundation banner

Chat

Join the official Matrix chatroom or IRC channel to talk with the developers. Both chatrooms are bridged, so it does not matter which one you join.

Contributing

Anyone can contribute to Topola, including you. If you want to help us out, please follow our Contribution guide.

Our official repository is on Codeberg. We also have a mirror repository on GitHub.

Licence

Topola is licensed under the MIT licence.

Animation. There's a rubber band-like trace following cursor, navigating a very simple maze. The maze and the trace are red, the background is solid black but also very slightly white and dark blue

Animation showing a trace, behaving like a rubber band, routed around obstacles step by step. Attempted alternative paths and a guiding mesh are shown.

Animation. There are two upward barriers, with some space between tem, around which four rubberband traces, one over another, are wrapped. Enter mouse cursor. The cursor begins to stretch the left barrier to the right. As it's stretched, the traces cease to be wrapped around the right barrier, becoming "free". The traces and the barrier are two-dimensional and all solid red. The background is black but also very slightly white and blue.

This animation shows four traces wrapped around a vertical barrier like rubberbands. Computercursor appears and starts dragging the barrier's top end left and right, up and down, elasticallystretching the barrier and having the traces continue being wrapped on the barrier regardless ofits position. The traces and the barrier are all solid red. The background is black but also veryslightly white and blue.

Animation. There is an upward barrier in the middle and dots on the left and right of it, four each. A trace is drawn from the leftmost dot on the left to the rightmost dot on the right. Then a trace is drawn from the second leftmost dot on the left to the second rightmost dot on the right, displacing the previous trace so that there's space for the new one. Same happens for the remaining dots. The dots, traces and barrier are all solid red. The background is black but also very slightly white and blue.

Animation showing three red-colored traces pass around a barrier. Trace bends are not aligned to a grid unlike most PCB layouts these days (this is called "topological routing"). The traces and the barrier are all solid red. The background is black but also veryslightly white and blue.

Animation showing a trace zigzagging around two barriers. The trace and the barriers are all solid red. The background is black but also very slightly white and blue.