PCB topology routing
Go to file
Mikolaj Wielgus cc0bf1845a terminology: suffix some single-verb object type names with "Stepper" 2024-10-01 14:27:57 +02:00
.githooks githooks: add pre-commit hook with dry `cargo fmt` 2023-12-25 01:58:58 +01:00
.woodpecker CICD: fixed CLI build 2024-09-25 18:18:21 +02:00
assets egui: make the WASM port actually work 2024-03-02 16:09:01 +00:00
examples autorouter: move `Execute` and `ExecuteWithStatus` to own file 2024-09-29 03:17:07 +02:00
locales egui: log errors 2024-09-30 22:33:45 +02:00
macros/specctra_derive specctra_derive: fix mistaken declarations of macro attributes 2024-09-29 00:02:59 +02:00
src terminology: suffix some single-verb object type names with "Stepper" 2024-10-01 14:27:57 +02:00
tests terminology: suffix some single-verb object type names with "Stepper" 2024-10-01 14:27:57 +02:00
vendored/contracts contracts: port from syn v1 to syn v2 2024-09-30 16:49:14 +02:00
.gitignore cli: add help/manpages (#29) 2024-08-25 20:18:16 +00:00
CONTRIBUTING.md contributing,install: some more info and copyediting 2024-08-27 13:20:23 +02:00
Cargo.toml Cargo.toml: bump rstar & geo, disable unused features 2024-09-30 19:54:14 +02:00
INSTALL.md contributing,install: some more info and copyediting 2024-08-27 13:20:23 +02:00
LICENSE license: fill out years and copyright holders 2024-02-19 16:43:20 +00:00
README.md readme,contributing: info about NLnet funding and some more 2024-08-27 00:28:28 +02:00
build.rs Write Specctra module documentation for Topola's library API (#34) 2024-09-27 10:29:23 +00:00
index.html egui: base web app on newer version of official eframe template 2024-09-17 01:52:19 +02:00

README.md

Topola

Topola is a work-in-progress interactive topological router in Rust.

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

NLnet Foundation banner NGI0 Entrust 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.

Installation

To install Topola, follow our Installation guide.

Contributing

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

The easiest way to contribute is by reporting issues on our issue tracker. If you know any language other than English, you can help by translating Topola on Weblate.

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, thebackground is solid black but also very slightly white and darkblue.

Animation showing a trace, behaving like a rubber band, routed aroundobstacles step by step. Attempted alternative paths and a guiding meshare 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 theright. As it's stretched, the traces cease to be wrapped around theright barrier, becoming "free". The traces and the barrier aretwo-dimensional and all solid red. The background is black but also veryslightly white and blue.

This animation shows four traces wrapped around a vertical barrierlike rubberbands. Computer cursor appears and starts dragging thebarrier's top end left and right, up and down, elastically stretchingthe barrier and having the traces continue being wrapped on the barrierregardless of its position. The traces and the barrier are all solidred. The background is black but also very slightly white andblue.

Animation. There is an upward barrier in the middle and dots on theleft and right of it, four each. A trace is drawn from the leftmost doton the left to the rightmost dot on the right. Then a trace is drawnfrom the second leftmost dot on the left to the second rightmost dot onthe right, displacing the previous trace so that there's space for thenew one. Same happens for the remaining dots. The dots, traces andbarrier are all solid red. The background is black but also veryslightly 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 areall solid red. The background is black but also very slightly white andblue.

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