Mikolaj Wielgus
|
42a0777e7f
|
sdl2-demo: disable painting of bends
These cause stack overflows due to a bug in Pathfinder.
|
2024-05-12 01:56:01 +02:00 |
Mikolaj Wielgus
|
9bd63d3f0d
|
tests: change project name of THT female to THT female test
|
2024-05-12 01:55:35 +02:00 |
Mikolaj Wielgus
|
338adc32a3
|
tests: test routed connections and number of ratlines in 0603 breakout
|
2024-05-12 01:48:56 +02:00 |
Mikolaj Wielgus
|
e86ce9836a
|
drawing: don't intersect with objects on other layers
|
2024-05-11 22:29:44 +02:00 |
Mikolaj Wielgus
|
4f7c3b40d9
|
tests: add THT female to THT female DE-9 gender changer testdata
|
2024-05-11 15:03:05 +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
|
2cd33dac60
|
sdl2-demo: use `Autorouter` object
|
2024-05-11 03:54:43 +02:00 |
Mikolaj Wielgus
|
b3f36d22b4
|
layout: fix apex detection - these can be joined with loose segs
|
2024-05-11 02:39:50 +02:00 |
Mikolaj Wielgus
|
452bcaf09d
|
sdl2-demo: fix compilation errors
|
2024-05-10 23:01:42 +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
|
2a97e9bb06
|
tests: add 0603 breakout test
|
2024-05-06 20:49:38 +02:00 |
Mikolaj Wielgus
|
95674a9a53
|
dsn: skip dot coincident with preceding dot
|
2024-05-06 20:48:23 +02:00 |
Mikolaj Wielgus
|
4efc2d482b
|
egui: paint currently probed edges in bold yellow
|
2024-05-06 12:05:50 +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
|
63561e6a4a
|
layout: make apices have the same net as teir zones
|
2024-05-05 21:39:17 +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
|
b82f5417c3
|
egui: animate routing as it goes, show attempted traces
|
2024-05-05 12:55:08 +02:00 |
Mikolaj Wielgus
|
a2c8ae7e70
|
autorouter: put `Layout` in a mutex
|
2024-05-04 18:02:34 +02:00 |
Mikolaj Wielgus
|
ea854abfc7
|
Revert "egui: perform routing in separate thread or task"
This reverts commit 4144ee361f.
Instead of mutexing the autorouter, we'll mutex the layout.
|
2024-05-04 15:03:36 +02:00 |
Mikolaj Wielgus
|
4144ee361f
|
egui: perform routing in separate thread or task
|
2024-05-03 19:50:38 +02:00 |
Mikolaj Wielgus
|
682f179cad
|
egui: draw bounding boxes
|
2024-05-03 02:42:42 +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
|
5664b73494
|
layout: implement creation and return of the apex
Apex is the dot positioned at the center of a zone that is used to
terminate and tie any band ending in the zone.
|
2024-05-02 01:21:00 +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 |
Mikolaj Wielgus
|
5ff9a27403
|
readme: update official repository link
|
2024-04-25 00:47:49 +02:00 |
Mikolaj Wielgus
|
072a5c601e
|
contributing: some copyediting
|
2024-04-25 00:46:11 +02:00 |
Mikolaj Wielgus
|
4d222cbb9f
|
readme: mention the contribution guide
|
2024-04-25 00:39:15 +02:00 |
Mikolaj Wielgus
|
0b8a7ee3bf
|
contributing: add some introductory and welcoming text
|
2024-04-25 00:22:47 +02:00 |
Szpachlarz
|
b1dc1d1f83
|
Add CONTRIBUTING.md
|
2024-04-24 19:34:09 +00:00 |
Mikolaj Wielgus
|
6f9015106d
|
overlay: separately triangulate each net
The way this is done is ineffective of course and we'll have to optimize
it later.
|
2024-04-24 03:01:50 +02:00 |
Mikolaj Wielgus
|
d1ae0ec9c6
|
tests: remove residual traces from the unrouted LM317 breakout
|
2024-04-23 22:18:03 +02:00 |
Mikolaj Wielgus
|
133d14b8bc
|
overlay: don't create ratlines for connected nodes
|
2024-04-23 21:39:16 +02:00 |
Mikolaj Wielgus
|
5ce35a5357
|
overlay: make ratlines between centers of pads instead of teir dots
|
2024-04-23 00:56:20 +02:00 |
Mikolaj Wielgus
|
68df579308
|
overlay: minimize ratsnest edge lengths
|
2024-04-22 18:06:42 +02:00 |
Mikolaj Wielgus
|
44bbb20e62
|
triangulation: for refs consistently use structs instead of tuples
|
2024-04-22 01:31:02 +02:00 |
Mikolaj Wielgus
|
8d59242f3f
|
overlay,egui: impl. incomplete ratsnest generation and drawing
For now only doing Delaunay triangulation, then applying minimum
spanning tree (without properly working edge ordering yet).
|
2024-04-21 19:51:47 +02:00 |
Mikolaj Wielgus
|
8ac63ea6d1
|
tests: add unrouted export of prerouted_lm317_breakout
|
2024-04-20 20:28:46 +02:00 |
Mikolaj Wielgus
|
47b8616a40
|
triangulation: move out and make independent of layout and drawing
|
2024-04-20 14:50:17 +02:00 |
Mikolaj Wielgus
|
51c6eeea1f
|
router: rename "mesh" to "navmesh"
Clearer name. There will be more kinds of meshes (e.g. the ratsnest).
|
2024-04-20 14:12:31 +02:00 |
Mikolaj Wielgus
|
014aa018a9
|
router: constructor should return an already prepared mesh
|
2024-04-20 14:02:52 +02:00 |
Mikolaj Wielgus
|
fba86ceccd
|
router: operate on `Layout`, not `Drawing`
|
2024-04-20 00:31:20 +02:00 |