Commit Graph

800 Commits

Author SHA1 Message Date
Ellen Emilia Anna Zscheile 2087e76dfe refactor(drawing::guide): turn Guide into a trait 2025-02-02 22:03:12 +00:00
Ellen Emilia Anna Zscheile bcb0c4ad5c refactor(drawing::collect): turn Collect into a trait 2025-02-02 22:03:12 +00:00
Ellen Emilia Anna Zscheile 90544c12ed refactor(router::navcorder): turn Navcorder into a trait 2025-02-02 22:03:12 +00:00
Ellen Emilia Anna Zscheile 1d11011133 refactor(router::draw): turn Draw into a trait 2025-02-02 22:03:12 +00:00
Ellen Emilia Anna Zscheile 869d63f7c0 fix(navmesh): NavvertexIndex debug output should state what it is 2025-02-02 22:30:37 +01:00
Ellen Emilia Anna Zscheile f2969decd0 feat/debug: make core::fmt::Debug output easier to read 2025-02-02 22:01:25 +01:00
Ellen Emilia Anna Zscheile ea6df23b95 feat(selection): BBox selection should span all currently visible layers
In Via, is_in_layer, `from_layer` and `to_layer` were swapped,
this has been also fixed here.
2025-01-09 18:59:07 +00:00
Ellen Emilia Anna Zscheile 3201df50bd Revert "feat(math): introduce dedicated data type for normalized angles"
This reverts commit b4fe7006b7.

The reverted commit introduced an autorouter regression, observable
in 4x_3rd_order_smd_lc_filters test using egui (see Matrix chat).
2025-01-09 01:05:23 +01:00
Alain Emilia Anna Zscheile 344d892ae0 chore,docs(math): rename 'cross_product' to 'perp_dot_product', add some documentation 2025-01-08 16:19:24 +00:00
Alain Emilia Anna Zscheile b4fe7006b7 feat(math): introduce dedicated data type for normalized angles 2025-01-08 16:19:24 +00:00
Alain Emilia Anna Zscheile 4529ac1ba3 refactor(math): put tangents stuff into separate module 2025-01-08 16:19:24 +00:00
Alain Emilia Anna Zscheile c9b5c39b3d refactor(geometry): reduce unnecessary trait bounds on Geometry impl, and don't use Getter 2025-01-07 21:11:51 +00:00
Alain Emilia Anna Zscheile 17ea07ab7b refactor(geometry): Access*Weight shouldn't take a generic arg; impl automatically 2025-01-07 21:11:51 +00:00
Alain Emilia Anna Zscheile a67f8ea052 refactor(geometry): SetOffset should inherit from GetOffset 2025-01-07 21:11:51 +00:00
Alain Emilia Anna Zscheile 699bd58949 refactor(geometry): merge GetPos and SetPos 2025-01-07 21:11:51 +00:00
Alain Emilia Anna Zscheile 9bb0d34bc8 refactor(layout): Poly & Via only use Drawing (instead of Layout), so only pass that 2025-01-05 22:14:00 +00:00
Alain Emilia Anna Zscheile 0cbd3c398a refactor(drawing,layout): move 'is_node_in_layer' from Layout to Drawing 2025-01-05 22:14:00 +00:00
Alain Emilia Anna Zscheile 59154c380f fix(BboxSelection): make intersection calculations against Polygons more accurate 2025-01-05 22:14:00 +00:00
Alain Emilia Anna Zscheile c7d50fd79f refactor(geometry::poly): PolyShape should be equal to Polygon 2025-01-05 22:14:00 +00:00
Alain Emilia Anna Zscheile fae1f4d7bc refactor(layout,geometry): Layout::node_bbox(...) → AccessShape::bbox(Layout::node_shape(...), 0.0) 2025-01-05 22:14:00 +00:00
Alain Emilia Anna Zscheile 740019e2e5 feat(selection): BboxSelectionKind (completely inside vs. merely intersects) 2025-01-05 22:14:00 +00:00
Mikolaj Wielgus 9664f1a31a fix: get rid of some indeterminism by using B-trees instead of hash maps
I have replaced all instances of `HashMap<...>` with `BTreeMap<...>`,
of `HashSet<...>` with `BTreeSet<...>`, and all the uses of the `Hash`
trait with `Ord`.

I have done a few manual tests and found the behavior to be
deterministic between the GUI application launches. However, undoing an
autoroute command and then manually executing it once again continues to
produce variable results. I suppose this is because of some bug in the
code where edits are applied. Hence, the issue

https://codeberg.org/topola/topola/issues/46

is only partially resolved.
2025-01-04 01:56:00 +01:00
Alain Emilia Anna Zscheile d88ba19e2b feat(graph): make indices serializable 2025-01-03 00:49:00 +01:00
Alain Emilia Anna Zscheile 53b964b865 feat: implement bounding box selection (#139)
Fixes #138

Reviewed-on: https://codeberg.org/topola/topola/pulls/139
Co-authored-by: Alain Emilia Anna Zscheile <fogti+devel@ytrizja.de>
Co-committed-by: Alain Emilia Anna Zscheile <fogti+devel@ytrizja.de>
2025-01-02 22:12:11 +00:00
Mikolaj Wielgus 44c30caafe chore(licensing): add REUSE license headers to `**.{rs,md,toml}` files
I ran the following command in Fish shell:

```
reuse annotate --skip-unrecognised --copyright="Topola contributors" --license="MIT" **.{rs,md,toml}
```

The choice of year 2024 in the copyright statements is intentional.
2024-12-29 22:47:00 +01:00
Mikolaj Wielgus 1567a9a83e style: rename "squeeze through under bands" to "(...) bends"
Everywhere except in translatable strings. I'm not changing these
because I prefer this to be done via Weblate.
2024-12-29 01:43:36 +01:00
Alain Emilia Anna Zscheile 82bf647bc5 doc(router/navmesh): document maybe_cw
Doc Comment content taken from @mikolaj, Topola Matrix Chat.
2024-12-14 19:56:29 +01:00
Alain Emilia Anna Zscheile ba41ff6837 refactor: get rid of unnecessary bounds on struct generics 2024-12-12 16:38:26 +01:00
Alain Emilia Anna Zscheile 8a724dc5d2 chore: fix deprecation warnings about geo::EuclideanDistance 2024-12-12 06:54:37 +00:00
Alain Emilia Anna Zscheile 35b2958c8d chore(geometry): run cargo fmt 2024-12-11 23:31:08 +01:00
Alain Emilia Anna Zscheile 41aeb97c16 fix(geometry/rwr): Fix missing pads due to buggy `add_to_compound`
The origin of this bug was found via git-bisect, commit
d6fe67a373
is buggy, which switches from GeometryWithRtree to RecordingGeometryWithRtree.

In PR #128, it was discovered that `add_to_compound` appears to
be missing the part that actually invokes the function that performs
the underlying action that is supposed to be diffed.

Fixes #127
2024-12-11 23:11:35 +01:00
Alain Emilia Anna Zscheile 9e0bdb5bc7 refactor: various further refactorings (#128)
These optimize out unnecessary code duplication, reserve vector capacity beforehand by leveraging `Iterator`s and avoid unnecessary double-lookups into HashMaps.

Reviewed-on: https://codeberg.org/topola/topola/pulls/128
Co-authored-by: Alain Emilia Anna Zscheile <fogti+devel@ytrizja.de>
Co-committed-by: Alain Emilia Anna Zscheile <fogti+devel@ytrizja.de>
2024-12-11 14:13:21 +00:00
Alain Emilia Anna Zscheile 1fd61f773c feat: improve Selection API (BREAKS HISTORY)
Test command files were rewritten using:

```
for f in tests/**/*.cmd; do jq ".done?.[].Autoroute[0] |= .selectors" "$f" | sponge "$f"; done
```
(compatible with bash/zsh/...)
2024-12-08 16:20:05 +00:00
Alain Emilia Anna Zscheile 5a26c02b4e refactor(ApplyGeometryEdit): make 'apply' take 'GeometryEdit' by reference 2024-12-08 16:20:05 +00:00
Alain Emilia Anna Zscheile 27a4b61c4d refactor(topola): get rid of unnecessary clones and lookups 2024-12-08 16:20:05 +00:00
Mikolaj Wielgus c87224e99a docs(router): add and rewrite some navmesh and navcord docstrings 2024-12-07 05:53:39 +01:00
Alain Emilia Anna Zscheile 0fe23c9c71 build: put `specctra` module into separate crate 2024-12-06 14:38:00 +01:00
Alain Emilia Anna Zscheile 3bd6a927b9 refactor(specctra/mesadata): more idiomatic Option handling 2024-12-04 15:39:41 +00:00
Alain Emilia Anna Zscheile 5b7f4588a0 feat(specctra/mesadata): deduplicate net names 2024-12-04 15:39:41 +00:00
Alain Emilia Anna Zscheile 0b9d3c0a00 fix(specctra/design): invalid references shouldn't panic during serialization 2024-12-04 15:39:41 +00:00
Alain Emilia Anna Zscheile 0a862a7e5f refactor(specctra/structure): get rid of code duplication in Vec<Point> 2024-12-04 15:39:41 +00:00
Alain Emilia Anna Zscheile da72118255 fix(specctra): return error when point fails to parse first f64 2024-12-04 15:39:41 +00:00
Mikolaj Wielgus b8adfec817 fix(geometry): fix bend joint order and correct tangent clockwiseness
Now bends should cease to seemingly randomly invert their order.
2024-12-04 04:45:39 +01:00
Mikolaj Wielgus 2703f662ac fix(autorouter): have band removal and via placement in undo/redo 2024-12-03 23:54:18 +01:00
Mikolaj Wielgus c2daf9fbfe feat(autorouter): use recorded edit applying for undo/redo 2024-12-03 08:35:11 +01:00
Mikolaj Wielgus d17a34c0f6 fix(geometry,router,autorouter): some more fixes for edit recording 2024-12-03 00:39:02 +01:00
Alain Emilia Anna Zscheile 5aae676fb8 refactor(specctra/read): put read_quoted into a separate function again 2024-12-02 22:45:32 +01:00
Alain Emilia Anna Zscheile e493c16053 fix(specctra/read): panic when return_token would override cached token 2024-12-02 22:41:23 +01:00
Alain Emilia Anna Zscheile 9ddc83e72a feat(specctra/read): separate function to discard peeked char
This is useful to get rid of the pattern "self.next_char().unwrap();",
which makes it harder to assess panic safety of parsing code
(which should never panic via its public interface)
2024-12-02 22:41:23 +01:00
Alain Emilia Anna Zscheile 1d0c2cf953 fix(specctra): less (possible) panic!s in read_string 2024-12-02 22:41:23 +01:00
Mikolaj Wielgus fe8fd3909f fix(autorouter,router): actually propagate the edit out of route steppers
I forgot to do this earlier, and didn't notice because I didn't test
it. There are still a few changes to be done before recording and edit
applying is functional.
2024-12-02 05:56:37 +01:00
Mikolaj Wielgus 0760fb2da3 docs(drawing,router): rephrase docstrings some more 2024-12-02 01:25:45 +01:00
Mikolaj Wielgus 638979364c docs(drawing): rephrase docstrings 2024-12-01 23:42:40 +01:00
Mikolaj Wielgus db9d897315 refactor(autorouter): store edits in history entries 2024-11-29 03:45:48 +01:00
Mikolaj Wielgus 66cdf6fe4e fix(geometry): don't check invariants on R-tree bbox init methods 2024-11-28 06:34:49 +01:00
Mikolaj Wielgus 9b1b135715 feat(board,layout,drawing): implement edit applying interface 2024-11-28 06:17:29 +01:00
Mikolaj Wielgus 847654b5c3 refactor(geometry): move edit application to new trait 2024-11-28 05:36:13 +01:00
Mikolaj Wielgus a838310ecb feat(geometry): add interface to apply edits 2024-11-28 05:15:39 +01:00
Mikolaj Wielgus f17c8ce756 refactor(geometry): split out some initialization from node creation
This code will be shared with the routines implementing edit
application, which I will be implementing soon.
2024-11-26 03:06:16 +01:00
Mikolaj Wielgus 1f55e92026 refactor(geometry): move edit code to its own file 2024-11-25 22:42:25 +01:00
Alain Emilia Anna Zscheile 2d1af33204 build: put egui and cli into separate crates
* build(ci): try to fix CI
* build: use workspace dependencies for deduplication / drift avoidance
2024-11-20 15:44:02 +01:00
Alain Emilia Anna Zscheile 9dad83d221 fix(contracts,drawing): geometry_with_rtree -> recording_geometry_with_rtree
Fixes #105.
2024-11-20 15:41:22 +01:00
Mikolaj Wielgus fd22413057 feat(egui): set title to filename of opened DSN file 2024-11-20 00:57:03 +01:00
Mikolaj Wielgus 20e682243d feat(egui,wasm): set `lang` attribute to current language 2024-11-19 23:14:04 +01:00
Alain Emilia Anna Zscheile 98d237270d chore: fix cargo fmt 2024-11-16 16:10:54 +01:00
Szpachlarz c528265f1a docs(interactor): document activity.rs 2024-11-15 21:55:31 +00:00
Szpachlarz 6f2e6bd70e docs(interactor): document interactor.rs 2024-11-15 21:55:31 +00:00
hakki 566ce37a6b invoker: resolves 'https://codeberg.org/topola/topola/pulls/101#issuecomment-2438542' 2024-11-15 21:55:08 +00:00
hakki 63804a0297 invoker: added trait description 2024-11-15 21:55:08 +00:00
hakki 7a01a76738 docs: resolved https://codeberg.org/fogti notes 2024-11-15 21:55:08 +00:00
hakki aae99a9656 docs: Invoker initial docs 2024-11-15 21:55:08 +00:00
Alain Emilia Anna Zscheile ddbaf2abe5 chore: fix cargo fmt 2024-11-15 20:46:29 +01:00
Mikolaj Wielgus d6fe67a373 feat(board,layout,drawing): implement edit recording
Not stored in the undo/redo objects yet.
2024-11-13 00:00:56 +00:00
Mikolaj Wielgus ad1b43b806 feat(geometry): implement recording geometry changes to edit objects 2024-11-13 00:00:56 +00:00
hakki c1271e570e docs: navigation mesh documented 2024-10-29 19:53:47 +01:00
hakki 75d41f983a docs: add general description 2024-10-29 19:14:33 +01:00
Tomasz Cichoń 509e032dbc specctra: echo the imported units when exporting 2024-10-28 23:30:10 +01:00
Tomasz Cichoń 77c0fa2272 specctra: various fixes to import 2024-10-27 07:19:12 +01:00
hakki de0ba42e18 layout: general info about the module 2024-10-22 15:39:27 +00:00
Mikolaj Wielgus 2ef645bbaf fix(cli,tests): set routed_band_width to 100.0 where I forgot
This was making the CLI build and tests fail because my second previous
commit was botched.

For future reference, I fixed the *.cmd files by running the following
in Fish shell:

```
for f in tests/**.cmd
    jq ".done?.[].Autoroute[1].router_options.routed_band_width |= 100.0" $f | sponge $f
end
```
2024-10-22 14:58:20 +02:00
Mikolaj Wielgus 7d75f918e7 feat(autorouter): add pointroute execution, which routes to a point
Not available as a command (for now?). Hasn't been tested yet.
2024-10-22 00:40:40 +02:00
Mikolaj Wielgus dc11b5d8ff feat(egui,autorouter): make it possible to set routed band width 2024-10-21 02:48:04 +02:00
Mikolaj Wielgus e62bac69ef refactor(interactor,egui): pass pointer position down to interactions 2024-10-19 02:10:41 +02:00
Mikolaj Wielgus 1638a289ed fix(egui): rename "Properties" to "Preferences"
I managed to conflate these two because both start with "Pr".
2024-10-17 23:41:37 +02:00
Mikolaj Wielgus ac92623454 refactor(egui): move Properties menu to its own method 2024-10-14 23:24:13 +02:00
Mikolaj Wielgus 941a271339 fix(egui): show language display names instead of codes 2024-10-14 04:26:12 +02:00
Mikolaj Wielgus 4b66e585c5 feat(egui): add radio buttons to choose language 2024-10-14 02:50:05 +02:00
Mikolaj Wielgus 90afd70f2a refactor(egui): move action definitions to a separate file 2024-10-14 01:34:59 +02:00
Mikolaj Wielgus 894326e3d5 fix(egui): actually impl. F1 keyboard shortcut for opening doc 2024-10-13 22:38:00 +02:00
Mikolaj Wielgus 2bc090b132 feat(egui): add `Help > Online Documentation` menu button 2024-10-13 16:25:04 +02:00
Mikolaj Wielgus c1df3ba8ad refactor: move `Interactor<...>` and friends to new module dir, `interactor` 2024-10-12 17:21:34 +02:00
Mikolaj Wielgus 23d1eaa722 refactor: make `Step::step(...)` return `ControlFlow<...>`
This is an iteration on what was suggested in
https://codeberg.org/topola/topola/pulls/79 .

This removes the need to create a new status type for steppers that
have only one intermediate state, and removes unidiomatic `TryInto<...>`
usage to determine if a stepper has finished.
2024-10-12 05:38:57 +02:00
Mikolaj Wielgus a9e42eef17 refactor: make `Step`'s error an associated type
This was suggested in https://codeberg.org/topola/topola/pulls/79.
2024-10-12 05:38:57 +02:00
Mikolaj Wielgus 6104e761d2 refactor: autogenerate getters with `derive-getters` crate 2024-10-11 18:43:15 +02:00
Mikolaj Wielgus bdc021cb6e refactor: destruct with `.dissolve()` autogenerated with `derive-getters` crate
Introduces `derive-getters` as a dependency.
2024-10-11 16:54:53 +02:00
Mikolaj Wielgus 3766ade270 refactor(egui): report invoker error one outside of `Interactor` 2024-10-11 03:20:36 +02:00
Mikolaj Wielgus 489f55a8b0 refactor(egui): split out some activity code to new module, `interactor` 2024-10-11 02:50:42 +02:00
Mikolaj Wielgus 3e9e3c69c9 refactor(egui): make `ActivityContext` generic over mesadata type 2024-10-11 00:05:40 +02:00
Alain Emilia Anna Zscheile 5c377e805b general refactor: omit unnecessary clones 2024-10-10 12:21:54 +00:00
Alain Emilia Anna Zscheile 4f40c26bac chore(autorouter): let ExecutionStepper::step_catch_err take Autorouter as context 2024-10-10 12:21:54 +00:00
Mikolaj Wielgus 8559734336 refactor: rename "trace" to "navcord", "tracer" to "navcorder"
Navcord stands for "navigation cord". I try to prefix anything that is
specific to the navmesh with the "nav-" prefix. I chose the word "cord"
as analogy to the terms "umbilical cord" (and by extension, umbilical
cable), and "power cord".

Calling this "trace" was misleading, as this term has other meanings
that are relevant to Topola: "trace" may refer to a debugging trace, and
more importantly, to a PCB track.

I've also shortened two comments that I found to mention the navcord as
"traces" during substitution.
2024-10-10 03:00:27 +02:00
Alain Emilia Anna Zscheile 911c974cfc fix(egui/MenuBar): temporarily comment out all partial conditional enabled UIs
This is workaround for https://github.com/emilk/egui/issues/4774
(and can be reverted once that bug is fixed).

Here, we comment out all `ui.add_enabled_ui(..., |ui| ...);` wrappers
which don't cover whole menus (the bug above should only affect menus
in which only some items are disabled).
2024-10-09 19:43:23 +02:00
Alain Emilia Anna Zscheile ae66a35b8f egui: reset activity on error 2024-10-08 19:52:12 +02:00
Alain Emilia Anna Zscheile e26b1c13ed feat(egui): also disable activity buttons if some activity hasn't finished yet 2024-10-08 19:52:12 +02:00
Alain Emilia Anna Zscheile b5c637e68b egui/MenuBar: grey out workspace-tied commands when no workspace is loaded 2024-10-08 19:52:09 +02:00
Alain Emilia Anna Zscheile e66fbe292b egui/Viewport: merge zoom_to_fit part into paint, merge into update method 2024-10-08 13:47:39 +02:00
Alain Emilia Anna Zscheile 1420995492 fix(egui): temporarily move 'Place Via' keyboard flip out of workspace conditional 2024-10-08 13:38:31 +02:00
Alain Emilia Anna Zscheile 49f4063ac4 egui/MenuBar: reduce code duplication for Workspace Activities 2024-10-08 13:38:28 +02:00
Alain Emilia Anna Zscheile d03e5c63a0 chore(egui): get rid of unused imports 2024-10-08 13:37:16 +02:00
Alain Emilia Anna Zscheile bff11a5617 egui/Workspace: get rid of unnecessary Arc<Mutex<...>> 2024-10-08 13:33:49 +02:00
Alain Emilia Anna Zscheile fd9bd439a7 egui/MenuBar: swap order of condition checking (check maybe_workspace first) 2024-10-08 13:32:19 +02:00
Alain Emilia Anna Zscheile 69f2ce3c2e egui: add structure Workspace for two-phase workflow 2024-10-08 13:32:17 +02:00
Mikolaj Wielgus f02b7be878 style(egui): update to match locale string tags 2024-10-08 04:49:43 +02:00
Alain Emilia Anna Zscheile d0058ef5fd router: get rid of unnecessary RouterError 2024-10-06 00:22:32 +02:00
Alain Emilia Anna Zscheile 01deaa4b12 build(contracts): use contracts-try v0.7 from crates.io
`contracts-try` is now developed at
https://codeberg.org/topola/contracts-try and was extracted
from this repo, and rebased upon the original
crate sources to ensure proper attribution.

This removes the `vendored` directory.
2024-10-06 00:18:56 +02:00
Alain Emilia Anna Zscheile 6f237077e3 fix(egui/MenuBar): fix deprecation warning about theme buttons
warning: use of deprecated function `egui::global_dark_light_mode_buttons`: Use global_theme_preference_buttons instead
   --> src/bin/topola-egui/menu_bar.rs:242:36
    |
242 |                     egui::widgets::global_dark_light_mode_buttons(ui);
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(deprecated)]` on by default
2024-10-05 23:56:48 +02:00
Alain Emilia Anna Zscheile 04ab1ce69b router: TraceStepper is not a real stepper
Contributes towards solving #82 properly later.
2024-10-05 23:14:17 +02:00
Mikolaj Wielgus 74ef5e356f refactor(egui): add empty skeleton for interactions 2024-10-05 03:56:21 +02:00
Mikolaj Wielgus a9b72334f7 refactor(egui): wrap `Invoker<...>` inside new `ActivityContext` 2024-10-04 22:43:17 +02:00
Mikolaj Wielgus 8b9d4074e4 chore: perform forgotten rename of `command.rs` to `execution.rs` 2024-10-04 22:00:40 +02:00
hakki 5f6045a758 Board: added docs 2024-10-04 20:23:06 +02:00
Alain Emilia Anna Zscheile 68d4589e81 egui: run cargo fmt 2024-10-04 02:16:45 +02:00
Alain Emilia Anna Zscheile ee9ccf5fd6 egui/ErrorDialog: fix spurious renames 2024-10-04 02:13:30 +02:00
Alain Emilia Anna Zscheile d24acb601b egui: get rid of FileHandlerData 2024-10-04 02:11:19 +02:00
Alain Emilia Anna Zscheile 4fef94a5c5 egui: get rid of overabstraction file_handler::push_file_to_read 2024-10-04 02:11:19 +02:00
Alain Emilia Anna Zscheile 25a692aab9 egui/file_handler: run parsing in file loader thread
- also embed I/O errors with other errors
2024-10-04 02:11:17 +02:00
Alain Emilia Anna Zscheile 1a46504dd5 egui: replace FileSender/FileReceiver with FileHandler 2024-10-04 02:09:29 +02:00
Mikolaj Wielgus f21808776e egui: give more systematic names to translatable strings
The names are now based on where the strings are used in the GUI. This
will hopefully make it easier for translators to locate where they are
in the user interface.

I've prefixed all translatable string names with "tr-" to prevent
accidentally substitute unrelated strings in a mass replace.

Once I push this commit, I will also protect `locales/**`, so that
all future changes to strings pass a PR review process to reduce the
probability of errors. This will also make it easier to have a freeze
for translatable strings if we end up having a release schedule in the
future.
2024-10-03 20:26:38 +02:00
Alain Emilia Anna Zscheile 24f0a1c699 feat(egui): add utility method Overlay::take_selection 2024-10-03 17:03:27 +02:00
Alain Emilia Anna Zscheile af312a8a13 chore(egui): fix warnings about unused result of Option::insert 2024-10-03 17:02:10 +02:00
Alain Emilia Anna Zscheile 5319e1f976 chore: run cargo fmt to fix lint errors 2024-10-03 16:56:09 +02:00
Alain Emilia Anna Zscheile fa81cd360a egui: get rid of unnecessary persistence of langid, separate into Config struct 2024-10-03 13:37:52 +02:00
hakki 2f672d41c2 Autorouter: general modules descriptions (#65)
This PR consists of general modules descriptions as well as initial `autoroute.rs`  docs

Reviewed-on: https://codeberg.org/topola/topola/pulls/65
Co-authored-by: hakki <hakki@noreply.codeberg.org>
Co-committed-by: hakki <hakki@noreply.codeberg.org>
2024-10-02 22:46:32 +00:00
Tomasz Cichoń c9509d8336 egui: fix remaining compile error 2024-10-02 17:31:09 +02:00
Tomasz Cichoń cbe9d8fc1c egui: update main to compile with eframe 0.29
These lines are basically copied from eframe_template, as before.
2024-10-02 17:30:27 +02:00
Tomasz Cichoń 1ade5a25d2 egui: add more layer names colors are assigned to in GUI 2024-10-02 11:31:10 +02:00
Tomasz Cichoń 336cea11e8 specctra, specctra_derive: rewrite logic inspecting macro attributes
This allows parsing more complicated attribute syntax, here needed to
specify multiple names for a `Vec` field.
2024-10-02 11:29:16 +02:00
Mikolaj Wielgus 9159312ea5 egui: add button and key to abort execution
It actually finishes execution, as I haven't implemented actual aborting
yet.
2024-10-02 02:32:06 +02:00
Mikolaj Wielgus bfcae7f308 egui: change "squeeze under" to "squeeze through under"
It's about pushing through a constrained space, not about squeezing
per se. I'm not using the word "push" because this term will probably be
restricted to a mechanism that is very different internally.
2024-10-02 01:12:46 +02:00
Alain Emilia Anna Zscheile 697b637205 chore: fix clippy error by temporarily allowing it 2024-10-01 23:39:36 +02:00
Alain Emilia Anna Zscheile 161fa002c1 chore(egui): fix rust warnings 2024-10-01 20:50:38 +00:00
Alain Emilia Anna Zscheile 5e3ccf2560 chore: cargo fmt 2024-10-01 20:50:38 +00:00
Alain Emilia Anna Zscheile f653a96eb0 chore: trivial fixes of clippy warnings 2024-10-01 20:50:38 +00:00
Mikolaj Wielgus e08a59cd74 stepper: add `Abort` trait to abort steppers 2024-10-01 19:07:40 +02:00
Mikolaj Wielgus 5448474857 terminology: distinguish between "command" and its "execution" 2024-10-01 16:01:11 +02:00
Mikolaj Wielgus cc0bf1845a terminology: suffix some single-verb object type names with "Stepper" 2024-10-01 14:27:57 +02:00
Alain Emilia Anna Zscheile 632bfb7b63 chore: fix unused mutablility/variables 2024-10-01 09:58:06 +02:00
Alain Emilia Anna Zscheile 1a6340c6f1 chore: remove unused imports 2024-10-01 09:54:46 +02:00
Mikolaj Wielgus 8a1bc9e3b1 egui: commit forgotten files 2024-10-01 05:45:23 +02:00
Mikolaj Wielgus 001e4bcdcf egui: rename "top" and "bottom" to "menu bar" and "status bar"
These are more recognizable terms.
2024-10-01 05:36:25 +02:00