Commit Graph

1320 Commits

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