Commit Graph

1261 Commits

Author SHA1 Message Date
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
fogti 901d6010c2
Translated using Weblate (German)
Currently translated at 100.0% (65 of 65 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-10-03 13:58:52 +00:00
Outbreak2096 0d2f4c2074
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (65 of 65 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-10-03 13:58:52 +00:00
fogti b0c9720bdf
Translated using Weblate (German)
Currently translated at 98.4% (64 of 65 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-10-03 13:58:52 +00:00
Gusted 7430ef00fb
Translated using Weblate (Dutch)
Currently translated at 100.0% (65 of 65 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/nl/
2025-10-03 13:58:52 +00: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
Ellen Εμιλία Άννα Zscheile d0417926f5 fix(board/edit): Proper undo/redo of band creation 2025-10-03 00:28:23 +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 71feedc6ce fix(router/prenavmesh): Don't fillet-exclude origin and destination from prenavmesh 2025-10-02 15:54:18 +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
Ellen Εμιλία Άννα Zscheile 0e3b9f83b5 fix(topola-egui): Uniform naming of planar autoroute operations
replaces "single-layer" with "planar" to be uniform vs. "Planar Autoroute"
2025-09-29 20:22:05 +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
Outbreak2096 d53aa2a678
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (64 of 64 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-09-27 13:45:26 +00:00
Mikolaj Wielgus 9a5b2095d5 feat(autorouter/autorouter): Implement germ of multilayer autorouting 2025-09-27 15:45:10 +02:00
fogti 471c12f657
Translated using Weblate (German)
Currently translated at 100.0% (64 of 64 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-09-25 22:57:44 +00: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 a703b1ec4e fix(triangulation): Don't panic if constraint addition due to intersection 2025-09-24 11:09:27 +02:00
Mikolaj Wielgus c14f2d2e37 fix(autorouter/ratsnest): Prioritize principal layer ratlines over others 2025-09-24 01:50:55 +02:00
Mikolaj Wielgus ecb8ab4758 test: Fix test build error 2025-09-23 16:37:37 +02:00
Mikolaj Wielgus a4a000feb9 feat(autorouter/ratsnest): Have ratlines across layers 2025-09-23 13:25:32 +02:00
Mikolaj Wielgus d74a06b2ea feat(topola-egui): Hide ratlines that were already routed 2025-09-22 15:03:14 +02:00
Mikolaj Wielgus 00aa79ff31 feat(drawing/query): Don't infringe or collide primitives on different layers 2025-09-22 01:27:08 +02:00
Mikolaj Wielgus f4b78749b1 feat(topola-egui): Show shape of infringee in addition to inflated infringer's 2025-09-21 20:22:20 +02:00
Mikolaj Wielgus 3078d9d546 feat(topola-egui): Highlight node index of the obstacling primitive 2025-09-21 14:40:26 +02:00
Mikolaj Wielgus d75c73b540 feat(topola-egui): Add option to display primitive indices on debug overlay 2025-09-21 13:09:48 +02:00
Mikolaj Wielgus 5ec5b2f809 test: Add astable_multivibrator test project (no testing code yet) 2025-09-20 23:20:11 +02:00
Mikolaj Wielgus da37fbe2ec feat(board/mod): Make it possible to iterate over nodes under pin name 2025-09-19 13:05:31 +02:00
Mikolaj Wielgus d708c7177a fix(geometry/geometry): Rewrite uses of `debug_assert!(...)` to not break release 2025-09-18 00:03:24 +02:00