PCB topology routing
Go to file
Mikolaj Wielgus 89717f2b6e egui: show root bbox
Helpful for debugging geometrical transformations.
2024-09-11 13:38:50 +02:00
.githooks githooks: add pre-commit hook with dry `cargo fmt` 2023-12-25 01:58:58 +01:00
.woodpecker ci: run with RUST_BACKTRACE=1 to provide more info on failure 2024-08-27 00:38:27 +02:00
assets egui: make the WASM port actually work 2024-03-02 16:09:01 +00:00
locales egui: arrange the menus more typically 2024-09-09 15:25:40 +02:00
macros/specctra_derive cleanup: rename macro/ directory to macros/ for naming consistency 2024-08-22 02:01:13 +02:00
src egui: show root bbox 2024-09-11 13:38:50 +02:00
tests tests: update reference value in THT diode bridge rectifier test 2024-08-25 23:51:42 +02:00
vendored/contracts contracts: use `disable_contracts` feature instead of checking channel 2024-05-25 22:46:06 +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: bump egui/eframe version from 0.26.0 to 0.28.1 2024-09-10 17:04:15 +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 drawing: rename "rails" and "wraparoundables" to "gears" 2024-08-29 05:24:05 +02:00
index.html egui: make the WASM port actually work 2024-03-02 16:09:01 +00: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.