mikwielgus / topola

GitHub mirror of the Topola PCB router. Pull requests are accepted both here and on Codeberg (the latter preferred).

Home Page:https://codeberg.org/mikolaj/topola

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Topola

Work-in-progress interactive topological router in Rust.

The project is funded by the NLnet Foundation via 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.

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

Licence

Topola is licensed under the MIT licence.

Gallery

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. Computer cursor appears and starts dragging the barrier's top end left and right, up and down, elastically stretching the barrier and having the traces continue being wrapped on the barrier regardless of its position. The traces and the barrier are all solid red. The background is black but also very slightly 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 very slightly 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.

About

GitHub mirror of the Topola PCB router. Pull requests are accepted both here and on Codeberg (the latter preferred).

https://codeberg.org/mikolaj/topola

License:MIT License


Languages

Language:Rust 97.6%Language:Batchfile 1.4%Language:HTML 0.8%Language:JavaScript 0.2%Language:Shell 0.0%