Mikolaj Wielgus
|
4c6fa0e5d3
|
layout: remove concepts of connectivity, bands, and continents for now
We'll use `UnionFind` where needed for now.
|
2024-05-13 18:43:42 +02:00 |
Mikolaj Wielgus
|
8a3bf45fd8
|
egui: store invoker in state instead of reconstructing it each time
|
2024-05-13 04:28:13 +02:00 |
Mikolaj Wielgus
|
7bcb3926d4
|
autorouter: put autorouter in new `Invoker` object for Command pattern
|
2024-05-13 03:20:57 +02:00 |
Mikolaj Wielgus
|
d9ff08477c
|
autorouter: encapsulate selection in `Selection` object
Just a thin wrapper over `HashSet` for now, but will contain more
complicated logic later.
|
2024-05-13 03:20:47 +02:00 |
Mikolaj Wielgus
|
f893f73cd8
|
autorouter: autoroute only selected
|
2024-05-12 20:29:07 +02:00 |
Mikolaj Wielgus
|
a6fb1157e3
|
egui,tests: fix compilation errors
|
2024-05-12 01:57:40 +02:00 |
Mikolaj Wielgus
|
36bc606401
|
autorouter: fix off-by-one error when walking over ratlines
|
2024-05-11 05:00:53 +02:00 |
Mikolaj Wielgus
|
a5dcacdd69
|
egui: draw routing start and stop
|
2024-05-10 20:37:13 +02:00 |
Mikolaj Wielgus
|
9ac4c780b5
|
router: store origin and target in navmesh
|
2024-05-10 19:54:03 +02:00 |
Mikolaj Wielgus
|
c1db44c25f
|
autorouter: reorder code to avoid peeking in the edges iterator
|
2024-05-10 19:38:14 +02:00 |
Mikolaj Wielgus
|
83f3245e55
|
router: exclude same-net nodes from navmesh (except for start and stop)
|
2024-05-10 01:25:00 +02:00 |
Mikolaj Wielgus
|
91f9466d74
|
autorouter,router: route only single layer at a time
It makes no sense to route multiple layers at once until we implement
automatic via placement, which is going to take a lot of time.
|
2024-05-07 20:06:54 +02:00 |
Mikolaj Wielgus
|
765738f44b
|
autorouter: treat (layer, net) pairs like separate nets for ratsnest
Most likely we won't be having via placement anytime soon, so let's
narrow our routing capabilities to single layer at a time.
|
2024-05-07 02:09:48 +02:00 |
Mikolaj Wielgus
|
eaecb99146
|
egui: draw the navmesh
This required some considerable rearrangements in `Router`.
|
2024-05-06 02:35:43 +02:00 |
Mikolaj Wielgus
|
946f2dbd6c
|
autorouter: make it possible to delegate the loop outside `.autoroute()`
|
2024-05-05 17:55:47 +02:00 |
Mikolaj Wielgus
|
a2c8ae7e70
|
autorouter: put `Layout` in a mutex
|
2024-05-04 18:02:34 +02:00 |
Mikolaj Wielgus
|
2be8baab55
|
autorouter: route all ratline endpoint pairs
Routed bands are intersecting with each other for some reason, but at
least this doesn't crash.
|
2024-05-03 01:36:07 +02:00 |
Mikolaj Wielgus
|
531bc6d22c
|
autorouter: as a starter, route the endpoints of only the first ratline
|
2024-05-03 01:36:04 +02:00 |
Mikolaj Wielgus
|
9c332bdde3
|
egui: add "Autoroute" button
Not functional yet as I still haven't implemented
`Autorouter::autoroute()`
|
2024-05-02 18:53:43 +02:00 |
Mikolaj Wielgus
|
ea22ba705c
|
layout: create `Zone` struct for accessing zone properties
|
2024-05-01 20:57:49 +02:00 |
Mikolaj Wielgus
|
c74e69a5e9
|
autorouter: move ratsnest to `Autorouter`, move overlay to egui module
|
2024-04-27 01:12:01 +02:00 |
Mikolaj Wielgus
|
81f9f82f40
|
overlay: move overlay to new autorouter module
|
2024-04-26 02:34:25 +02:00 |