Commit Graph

1333 Commits

Author SHA1 Message Date
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 63e1f7f25a feat(topola-egui): Paint constraint edges in thick white instead of offsetted yellow 2025-11-16 01:56:34 +01:00
Mikolaj Wielgus 84cdbba5d0 test: Add unilayer THT DB-25 to THT DB-25 test, without testing routine for now 2025-11-15 22:07:54 +01:00
Mikolaj Wielgus 2f9596df5d refactor: Rename "single_layer" to "unilayer" 2025-11-15 22:07:54 +01:00
fogti 78ace0bb8d
Translated using Weblate (German)
Currently translated at 97.2% (70 of 72 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-11-09 20:09:12 +00:00
Outbreak2096 725bcf63bf
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (72 of 72 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-11-07 11:10:09 +00:00
anuejn bbfa0bb5bd
Translated using Weblate (German)
Currently translated at 93.0% (67 of 72 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-11-07 11:10:09 +00:00
Gusted 553ae40346
Translated using Weblate (Dutch)
Currently translated at 100.0% (72 of 72 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/nl/
2025-11-07 11:10:09 +00: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
Outbreak2096 6e948d3228
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (70 of 70 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-11-05 16:49:56 +00:00
Gusted 7c2ac6a331
Translated using Weblate (Dutch)
Currently translated at 100.0% (70 of 70 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/nl/
2025-11-05 16:49:56 +00:00
Gusted 12bee09949
Translated using Weblate (Dutch)
Currently translated at 100.0% (68 of 68 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/nl/
2025-11-05 16:49:56 +00:00
Jaro Habiger f11d5907db test: add triangle problem
see issue #11 ("Implement ROAR optimizer") for context.
2025-11-05 12:10:42 +01:00
Mikolaj Wielgus cfabfe335a fix(topola-cli): Fix CLI build broken since 8216d3a907 2025-11-05 01:28:49 +01:00
Mikolaj Wielgus f7f2e8f422 test: Update test command files to fix CI failures due to missing JSON fields
Commands used (Fish shell):

```
for f in tests/**.cmd; jq '(.done[] |
select(.MultilayerAutoroute).MultilayerAutoroute[1].planar.timeout) =
{"initial": 1.0, "progress_bonus": 0.005}' $f | sponge $f; end

for f in tests/**.cmd; jq '(.done[] |
select(.MultilayerAutoroute).MultilayerAutoroute[1].timeout) =
{"initial": 5.0, "progress_bonus": 0.5}' $f | sponge $f; end

for f in tests/**.cmd; jq '(.done[] |
select(.Autoroute).Autoroute[1].timeout) |= {"initial": 1.0,
"progress_bonus": 0.005}' $f | sponge $f; end
```
2025-11-04 23:28:01 +01:00
Mikolaj Wielgus 8216d3a907 feat(topola-egui): Add sliders to set autorouting timeouts (not fully translated yet) 2025-11-04 20:02:34 +01:00
Mikolaj Wielgus 9afe862edc feat(topola-egui): Display timeout of planar autoroute too 2025-11-04 17:15:27 +01:00
Mikolaj Wielgus 18e8f9812c feat(stepper): Replace overengineered SMA rate timeout with two accumulators 2025-11-04 16:37:41 +01:00
Mikolaj Wielgus 9345d5de8a feat(autorouter/multilayer_reconfigurator): Add reconfiguration trigger here too 2025-11-04 15:29:15 +01:00
Mikolaj Wielgus e1774ce6d9 fix(stepper): Correct SMA rate formula to divide change by sampling time interval 2025-11-04 05:28:02 +01:00
Mikolaj Wielgus d3913dbdce feat(autorouter/multilayer_reconfigurator): Use our new trigger mechanism for reconfiguration 2025-11-04 05:17:31 +01:00
Mikolaj Wielgus 2e507b7cab refactor(autorouter/multilayer_reconfigurer): Process planar autoroute result in separate method 2025-11-04 03:22:46 +01:00
Mikolaj Wielgus 5d41e7d784 refactor(autorouter/multilayer_reconfigurer): Store last planar status 2025-11-03 20:20:53 +01:00
Mikolaj Wielgus 0523fb53df feat(topola-egui): Make step rate slider go up to 1000 steps/s 2025-11-03 02:10:02 +01:00
Mikolaj Wielgus eff58d99e3 feat(autorouter/multilayer_reconfigurator): Add tracking of SMA of rate
SMA = Simple Moving Average
2025-11-03 01:26:49 +01:00
Mikolaj Wielgus 0f3f96d4af feat(topola-egui): Add way to access subprogress and subprogress bar
This will be useful in future commits when I will be improving
reconfiguration triggers.
2025-11-01 02:40:25 +01:00
Mikolaj Wielgus 24ff7f0dd8 docs: Change one more nitpick in readme 2025-10-31 22:10:28 +01:00
Mikolaj Wielgus 7074664b5a docs: Copyedit readme and install documentation 2025-10-31 22:05:18 +01:00
Mikolaj Wielgus c0f4319a13 refactor(stepper): Join progress estimation into one method 2025-10-31 02:08:42 +01:00
Mikolaj Wielgus 7b66db1672 feat(topola-egui): Add checkboxes to toggle displaying obstacles and ghosts
Disabled showing them by default.
2025-10-30 19:01:34 +01:00
Codeberg Translate c23b56516b
Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/
2025-10-30 04:32:04 +00:00
Outbreak2096 7384134c30
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (68 of 68 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-10-30 04:32:03 +00:00
fogti 943f5750fe
Translated using Weblate (German)
Currently translated at 100.0% (68 of 68 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-10-30 04:32:03 +00:00
Outbreak2096 44888304aa
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (67 of 67 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-10-30 04:32:03 +00:00
Mikolaj Wielgus 55ed4bf4cc feat(topola-egui): Replace "update timestep" with "step rate"
The term "timestep" is usually used to refer to a time step on some
internal simulation time scale that is separate from the real time.
There is however no time scale other than real time in Topola.
2025-10-30 05:18:05 +01:00
Mikolaj Wielgus c163980073 feat(topola-egui): Add checkbox to toggle fixing of step rate 2025-10-29 16:05:56 +01:00
Mikolaj Wielgus 04293d9e4a feat(topola-egui): Move debug-only view options to new menubar's menu "Debug" 2025-10-29 03:53:18 +01:00
Mikolaj Wielgus b9f7d4ec4f fix(topola-egui): Add another condition to prevent stuttering 2025-10-28 18:13:46 +01:00
Mikolaj Wielgus ba5a254e11 fix(topola-egui): Always clamp `dt` to `i.predicted_dt`
`egui` clamps its `i.stable_dt` to `i.predicted_dt` only when egui
requested a repaint during the last frame. I however sometimes
experience severe stuttering, which means that this detection
method is insufficient to ensure smoothness. So, let's clamp `dt` to
`i.predicted_dt` and see if this helps.
2025-10-28 16:05:58 +01:00
Mikolaj Wielgus c06180b659 fix(autorouter/multilayer_preconfigurer): Make ratline endpoint terminating dot on routed layer 2025-10-28 15:29:54 +01:00
Mikolaj Wielgus bd37d2f7f8 feat(autorouter/multilayer_reconfigurer): Only relayer ratlines failed in best case 2025-10-28 15:09:47 +01:00
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