Commit Graph

1342 Commits

Author SHA1 Message Date
Mikolaj Wielgus 01b6691257 feat(autorouter/multilayer_reconfigurer): Increment layers of ratlines that failed to route 2025-10-28 02:51:20 +01:00
Mikolaj Wielgus 23f9eb3e35 feat(autorouter/multilayer_preconfigurer): At first autoroute ratlines on their layers 2025-10-28 00:08:07 +01:00
Mikolaj Wielgus 81e27f0f60 refactor(autorouter/multilayer_reconfigurer): Move multilayer reconfiguration trigger code 2025-10-27 22:55:53 +01:00
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 1455da3ee5 fix(board/edit): Correctly removed nodes from pins
Was botched in previous commit.
2025-10-25 01:32:30 +02:00
Mikolaj Wielgus c1880cfbb3 fix(board/edit): Record changes to pin nodes too, which was something I forgot 2025-10-25 00:32:28 +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 87f63fd96f test: Don't use `.terminating_dots(...)`, as it won't be accessible since next commit 2025-10-24 01:32:17 +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
Gusted 58e366ab0f
Translated using Weblate (Dutch)
Currently translated at 100.0% (66 of 66 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/nl/
2025-10-21 23:45:51 +00: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 f0c076a1f3 chore: Increase max. commit subject length to 90
Filenames seem to be included in subject length, resulting in rather
long messages, so I'm increasing the limit to spend less time trying to
keep the first commit message line short.
2025-10-20 18:20:01 +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 10dc1a86aa refactor(layout/layout): Add method to retrieve fixed dot's via (not used yet) 2025-10-19 20:51:44 +02:00
Mikolaj Wielgus 3856319dc9 test: Use correct principal layer instead of layer 0 in assertion 2025-10-19 20:39:45 +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
fogti 1b578f3063
Translated using Weblate (German)
Currently translated at 100.0% (66 of 66 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-10-14 00:26:40 +00:00
Outbreak2096 0ec08bde91
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (66 of 66 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-10-14 00:26:40 +00:00
Mikolaj Wielgus 2895277e73 fix: Fix build and test errors due to botched last commit 2025-10-14 02:21:48 +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 43f8d69281 fix(topola-egui): Don't filter out translayer ratlines 2025-10-08 23:00:04 +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