Mikolaj Wielgus
|
813345863e
|
feat(autorouter/multilayer_reconfigurator): Finally implement reconfiguration of layer map
|
2025-10-27 00:09:13 +01:00 |
Mikolaj Wielgus
|
8384c15a38
|
refactor(autorouter/anterouter): Represent terminating schemes preservably across reconfigurations
|
2025-10-26 22:04:30 +01:00 |
Mikolaj Wielgus
|
bd32885964
|
fix(autorouter/anterouter): Remove via from terminating dot map if fanout seg creation fails
|
2025-10-26 00:53:48 +02:00 |
Mikolaj Wielgus
|
91fb18b166
|
refactor(autorouter/ratline): Don't store `layer` in ratlines
Translayer ratlines exist, so it makes no sense to assign them a layer.
|
2025-10-24 15:26:53 +02:00 |
Mikolaj Wielgus
|
4ad58f1654
|
refactor(autorouter/planar_autoroute): Don't use layer as one of keys in terminating dot map
|
2025-10-24 14:36:27 +02:00 |
Mikolaj Wielgus
|
d896fe7322
|
refactor(autorouter/autorouter): Store terminating dots in configuration instead of ratsnest
|
2025-10-24 03:48:35 +02:00 |
Mikolaj Wielgus
|
8d0e524f75
|
refactor(autorouter/autorouter): Store ratlines in `BTreeSet` before ordering
This makes the purpose of the preconfiguration step clearer.
|
2025-10-23 19:32:51 +02:00 |
Mikolaj Wielgus
|
5c39bd60de
|
refactor(autorouter/autorouter): Do some more refactors, renamings, struct-wrappings
|
2025-10-23 16:40:19 +02:00 |
Mikolaj Wielgus
|
0311aee613
|
refactor(autorouter/multilayer_reconfigurator): Wrap multilayer autoroute inputs in new structs
|
2025-10-23 02:44:28 +02:00 |
Mikolaj Wielgus
|
630c3f0202
|
refactor(autorouter/planar_autoroute): Wrap ratline vec in new "configuration" struct
This will be useful later.
|
2025-10-22 18:29:15 +02:00 |
Mikolaj Wielgus
|
d50e346706
|
feat(autorouter/autorouter): Remove "compare detours"
This was a time-expensive way to presort ratlines, it's much faster to
instead operate on ratline line segments.
|
2025-10-22 01:44:52 +02:00 |
Mikolaj Wielgus
|
b7fd6a0cab
|
feat(autorouter/autorouter): Impl. rudimentary multilayer reconfigurator (not yet functional)
|
2025-10-21 18:00:55 +02:00 |
Mikolaj Wielgus
|
0985e0a427
|
refactor(autorouter/multilayer_autoroute): Count planar reconfigurations (not used yet)
In preparation for implementation of rudimentary multilayer reconfiguration.
|
2025-10-20 18:26:24 +02:00 |
Mikolaj Wielgus
|
1b3ecc37b1
|
refactor(specctra-core): Remove `layer_count` from `SpecctraMesadata`
This information is already stored in `Drawing`, I somehow missed that
when I was adding this field.
|
2025-10-20 14:24:41 +02:00 |
Mikolaj Wielgus
|
1d8745e15d
|
refactor(autorouter/connected_components): Rename "conncomps" to "connected components"
It's easier to understand without abbreviation.
|
2025-10-20 14:05:44 +02:00 |
Mikolaj Wielgus
|
63764a7e29
|
test: Add stable multivibrator test, the first multilayer autorouting test
|
2025-10-20 00:30:44 +02:00 |
Mikolaj Wielgus
|
dd8a4c5808
|
fix(autorouter/conncomps): Take into account vias when computing connected components
|
2025-10-19 22:31:16 +02:00 |
Mikolaj Wielgus
|
260aca064d
|
refactor(autorouter/planar_reconfigurator): Return different status upon reconfiguration
|
2025-10-19 16:08:26 +02:00 |
Mikolaj Wielgus
|
4306aa33c4
|
refactor(stepper): Have reconfigure configuration take any type, not only `Vec<_>`
|
2025-10-18 16:25:20 +02:00 |
Mikolaj Wielgus
|
f96728fbe0
|
refactor(autorouter/autorouter): Rename permut{e,er,ate,ator} to reconfigur{e,er,ate,ator}
Since, in more general cases, we don't only reorder, but also change
values of some parameters.
|
2025-10-18 15:59:39 +02:00 |
Mikolaj Wielgus
|
212a63aa57
|
refactor(autorouter/autorouter): Do some renaming to distinguish multilayer from planar
|
2025-10-18 15:04:18 +02:00 |
Mikolaj Wielgus
|
570a3a80f8
|
fix(autorouter/anterouter): Don't fan out if ratline is on same layer
|
2025-10-18 00:20:31 +02:00 |
Mikolaj Wielgus
|
2f7cee62a6
|
fix(autorouter/anterouter): Use correct ratline principal layer instead of layer 0
|
2025-10-17 23:21:32 +02:00 |
Mikolaj Wielgus
|
64a519420f
|
fix(autorouter/anterouter): Remove fanout if seg addition fails
|
2025-10-17 22:26:07 +02:00 |
Mikolaj Wielgus
|
d920f62a1e
|
fix(autorouter/anterouter): Make anterouting undo-redoable
|
2025-10-16 23:51:55 +02:00 |
Mikolaj Wielgus
|
3d55d1a81e
|
fix(autorouter/autorouter): Skip translayer ratlines in planar autorouting
This prevents planar autorouting from crashing.
|
2025-10-16 14:59:10 +02:00 |
Mikolaj Wielgus
|
8f59319902
|
feat(autorouter/autorouter): Have separate ratsnest for each (principal) layer
|
2025-10-15 15:15:02 +02:00 |
Mikolaj Wielgus
|
cd73c766a5
|
refactor(topola-egui): Move storing principal layer to planar autoroute options
I've done some struct renaming while at it.
|
2025-10-13 21:38:47 +02:00 |
Mikolaj Wielgus
|
4c1a72dc1d
|
refactor(autorouter/autorouter): Put ratsnest in wrapper, mostly transparent for now
|
2025-10-13 00:32:53 +02:00 |
Mikolaj Wielgus
|
60cf00e014
|
feat(autorouter/anterouter): As second choice, anteroute fanouts in ordinal directions
|
2025-10-10 18:03:50 +02:00 |
Mikolaj Wielgus
|
8235c66c7e
|
fix(autorouter/anterouter): Correctly calculate fanout lengths
|
2025-10-08 02:18:56 +02:00 |
Mikolaj Wielgus
|
a3521e7286
|
feat(autorouter/anterouter): Add option to set fanout clearance
|
2025-10-07 22:37:50 +02:00 |
Mikolaj Wielgus
|
506104a6a7
|
fix(autorouter/anterouter): Make fanouts axis-aligned with their ratline endpoints
|
2025-10-07 14:24:13 +02:00 |
Mikolaj Wielgus
|
7e1a5857b1
|
fix(autorouter/compass_direction): Correct flipped North/South
|
2025-10-07 13:58:29 +02:00 |
Mikolaj Wielgus
|
c630abcdc1
|
feat(autorouter/anterouter): Anteroute fanouts farther than other-layer obstacles
|
2025-10-07 13:28:23 +02:00 |
Mikolaj Wielgus
|
8095c3a89a
|
feat(autorouter/anterouter): Don't anteroute fanout vias inside polys
|
2025-10-06 13:18:19 +02:00 |
Mikolaj Wielgus
|
26ed61ad4d
|
feat(autorouter/anterouter): Anteroute fanout segs to fanout vias
|
2025-10-03 15:55:58 +02:00 |
Mikolaj Wielgus
|
2ebd7ce82d
|
feat(autorouter/anterouter): Fanout only in cardinal directions
This works around the falsely positively fillet exclusions our current
navmesh creation method causes.
|
2025-10-03 13:12:35 +02:00 |
Mikolaj Wielgus
|
1bbb068af9
|
feat(autorouter/compass_direction): Anteroute fanout vias in eight "compass" directions
|
2025-10-02 17:05:50 +02:00 |
Mikolaj Wielgus
|
9fcd12e6e1
|
Revert "refactor(autorouter/anterouter): Anchor in reference to dot circle, not bbox"
This reverts commit 46b84151fa.
This commit also added randomization of anchor position. I thought about
it again and decided that it was a bad idea.
|
2025-10-02 10:26:28 +02:00 |
Mikolaj Wielgus
|
46b84151fa
|
refactor(autorouter/anterouter): Anchor in reference to dot circle, not bbox
|
2025-10-01 00:21:09 +02:00 |
Mikolaj Wielgus
|
b50e58b0fa
|
feat(autorouter/ratsnest): Have one terminating dot for each layer of ratvertex
Some routes projects still crash while autorouting, but we are
progressing.
|
2025-09-29 18:22:56 +02:00 |
Mikolaj Wielgus
|
9a5b2095d5
|
feat(autorouter/autorouter): Implement germ of multilayer autorouting
|
2025-09-27 15:45:10 +02:00 |
Mikolaj Wielgus
|
0e12f32db4
|
chore: Correct copyright lines (MIT, not MIT OR Apache-2.0)
|
2025-09-26 00:56:08 +02:00 |
Mikolaj Wielgus
|
6930f2fb1d
|
feat(autorouter/presorter): Make presorter parametrizable
|
2025-09-25 17:36:12 +02:00 |
Mikolaj Wielgus
|
c120a43d04
|
refactor(autorouter/presorter): Move some SCC code to new file
|
2025-09-25 16:42:00 +02:00 |
Mikolaj Wielgus
|
c14f2d2e37
|
fix(autorouter/ratsnest): Prioritize principal layer ratlines over others
|
2025-09-24 01:50:55 +02:00 |
Mikolaj Wielgus
|
a4a000feb9
|
feat(autorouter/ratsnest): Have ratlines across layers
|
2025-09-23 13:25:32 +02:00 |
Mikolaj Wielgus
|
50597653ad
|
refactor(geometry/geometry): Remove `.graph()` and its remaining usages
This will allow us to store the dots, segs, bends differently than currently.
|
2025-09-15 22:42:45 +02:00 |
Mikolaj Wielgus
|
f1e65267da
|
refactor(triangulation): Don't use `.graph()` when creating triangulations
|
2025-09-15 22:42:45 +02:00 |