Mikolaj Wielgus
64669d5d0b
feat(autorouter/multilayer_reconfigurer): Use A* to search for multilayer configurations
2025-11-20 02:54:52 +01:00
Mikolaj Wielgus
a8a2e8d8cb
feat(autorouter/planar_reconfigurer): Make g-scores proportional to number of changed routes
2025-11-19 00:18:30 +01:00
Mikolaj Wielgus
f2c67ed81d
fix(autorouter/planar_reconfigurer): Differentiate search nodes also by length
...
This fixes 4x4_1206_led_matrix_breakout test.
2025-11-18 19:05:22 +01:00
Mikolaj Wielgus
88f8b3610d
refactor(autorouter/planar_reconfigurer): Use generic A* to find planar configurations
...
This makes the 4x4_1206_led_matrix_breakout test fail.
However, commenting out
```
if curr_g_score + *edge_g_cost >= entry_score {
continue;
}
```
makes the test successful again. I will investigate this soon.
2025-11-18 18:42:34 +01:00
Mikolaj Wielgus
1694227135
feat(router/navmesh): Reduce number of navedges
...
This provides a speedup, but may break squeezing through under bends in
some corner cases.
2025-11-16 23:38:00 +01:00
Mikolaj Wielgus
2f4b016a8b
fix(autorouter/planar_reconfigurer): Use heap-based best-first search for ratline permutations
...
This fixes an infinite loop bug.
2025-11-07 02:25:58 +01:00
Mikolaj Wielgus
9345d5de8a
feat(autorouter/multilayer_reconfigurator): Add reconfiguration trigger here too
2025-11-04 15:29:15 +01: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
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
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
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