PCB topology routing
Go to file
Mikolaj Wielgus c005337ea8 layout: rename "component" to "continent"
The term "component" has already a meaning in electronics, and moreover
the term "connected component" from graph theory may apply to more
things (e.g. landmasses made of continents connected with bands may
collectively be considered connected components too).
2024-02-22 21:23:01 +00:00
.githooks githooks: add pre-commit hook with dry `cargo fmt` 2023-12-25 01:58:58 +01:00
assets readme: add NLnet and NGI0 banners 2024-01-12 11:52:57 +00:00
src layout: rename "component" to "continent" 2024-02-22 21:23:01 +00:00
tests/data dsn, sdl2-demo: replace hardcoded layout with basic .dsn file 2024-02-21 19:22:05 +01: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
Cargo.toml cargo: rename topola-gui to topola-egui, minor refactoring 2024-02-20 04:18:19 +00:00
LICENSE license: fill out years and copyright holders 2024-02-19 16:43:20 +00:00
README.md readme: add NLnet and NGI0 banners 2024-01-12 11:52:57 +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

Official repository on Codeberg

Mirror repository on GitHub

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.