Commit Graph

13 Commits

Author SHA1 Message Date
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