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
Alain Emilia Anna Zscheile
f4d7d5a5a5
egui: log errors
2024-09-30 22:33:45 +02:00
Alain Emilia Anna Zscheile
82574d2976
egui: add error messages dialog
2024-09-30 22:33:23 +02:00
Alain Emilia Anna Zscheile
b738a425e4
specctra/read: don't repeat character retrieval code
2024-09-30 19:24:27 +00:00
Alain Emilia Anna Zscheile
1ec85552bb
Cargo.toml: reduce dependencies of CLI, WASM
2024-09-30 18:53:12 +02:00
Alain Emilia Anna Zscheile
507ca01bfc
Cargo.toml: get rid of unnecessary dependencies
2024-09-30 18:46:19 +02:00
Mikolaj Wielgus
169e843736
egui: further make an `Activity` enum with error and status types
2024-09-30 03:40:53 +02:00
Mikolaj Wielgus
c8a40860af
egui: s/ExecuteWithStatus/ActivityWithStatus, move it to own file
2024-09-30 01:36:22 +02:00
Alain Emilia Anna Zscheile
a700bd8c20
egui/layers: remove unnecessary TryInto usage
2024-09-29 23:18:40 +02:00
Alain Emilia Anna Zscheile
ea8c525e1f
egui/top: get rid of unnecessary .clone()s
2024-09-29 23:18:40 +02:00
Alain Emilia Anna Zscheile
e6eae238be
egui: fix action-quit key (Ctrl+V -> more intuitive Ctrl+Q)
2024-09-29 23:18:40 +02:00
hakki
8a12ce350c
SpecctraDocs: added ommited Module descriptions
2024-09-29 19:22:05 +00:00
Mikolaj Wielgus
41f01c780f
cli: fix build error due to wrong import path
2024-09-29 16:18:54 +02:00
Mikolaj Wielgus
592c168742
egui: show unit (s) in frame timestep's slider
2024-09-29 03:55:59 +02:00
Mikolaj Wielgus
96af3bcd7f
egui: add frame timestep slider
2024-09-29 03:17:14 +02:00
Mikolaj Wielgus
1c7042c8c3
autorouter: move `Execute` and `ExecuteWithStatus` to own file
2024-09-29 03:17:07 +02:00
Tomasz Cichoń
eb0f45e3fb
specctra: don't use imported layer indices internally
...
We don't need to re-export them, so using them only makes the logic more
brittle.
2024-09-29 01:12:12 +02:00
Tomasz Cichoń
947ecf2e1c
specctra: clean up the hack related to layer import
2024-09-29 00:04:18 +02:00
Tomasz Cichoń
479791ea02
Merge branch 'develop' of https://codeberg.org/topola/topola into develop
2024-09-28 22:11:09 +02:00
Mikolaj Wielgus
55be63b942
egui: remove long-superseded `channel_text()` routine
2024-09-28 21:39:22 +02:00
Alain Emilia Anna Zscheile
12f43a112e
specctra/design: get rid of unnecessary re-inserts of bimap entries
...
This code should've been redundant since introduction of bimap usage for
layer<->layername and net<->netname lookup.
2024-09-28 13:29:54 +02:00
Alain Emilia Anna Zscheile
60d9880ab2
specctra/design: remove code duplication at padstack lookup
2024-09-28 13:29:54 +02:00
Alain Emilia Anna Zscheile
cd12775f46
specctra/design: refactor Self::layer calls to avoid repetition
2024-09-28 13:29:54 +02:00
Alain Emilia Anna Zscheile
dc4ce2fbc7
math, spectra: factor out PointWithRotation
2024-09-28 13:29:47 +02:00
Tomasz Cichoń
dfb2c20f1d
specctra: a hack to attempt loading layers from EasyEDA
2024-09-28 11:16:47 +02:00
Tomasz Cichoń
479646d503
specctra: propagate line/column info to returned error type
2024-09-28 10:04:47 +02:00
Tomasz Cichoń
b7027ae603
specctra: changes for compatibility with EasyEDA
2024-09-28 07:22:26 +02:00
Tomasz Cichoń
2a0b6464ae
specctra: ignore case of list heads while parsing
2024-09-28 04:37:34 +02:00
Alain Emilia Anna Zscheile
c42eab0126
vendored/contracts: fix overly verbose type annotations for enum results
...
This fixes issue #15 .
2024-09-28 00:38:16 +02:00
hakki
ee9f4b5566
Write Specctra module documentation for Topola's library API ( #34 )
...
Reviewed-on: https://codeberg.org/topola/topola/pulls/34
Co-authored-by: hakki <hakki@noreply.codeberg.org>
Co-committed-by: hakki <hakki@noreply.codeberg.org>
2024-09-27 10:29:23 +00:00
Mikolaj Wielgus
e1b56875ed
egui: base web app on newer version of official eframe template
2024-09-17 01:52:19 +02:00
Mikolaj Wielgus
be03f190a0
egui: replace erroneous `.unwrap()` with try expression
2024-09-17 00:38:05 +02:00
Szpachlarz
a2b8550c12
egui: fix wasm32 build errors
2024-09-16 00:39:10 +02:00
Mikolaj Wielgus
92f82ff332
egui: give 20% margin from each side when zooming to fit
2024-09-15 12:22:37 +02:00
Mikolaj Wielgus
a31bb43791
egui: zoom to fit every time new board is loaded
2024-09-14 16:23:40 +02:00
Mikolaj Wielgus
86b583e6c9
egui: add option to hide layer manager
2024-09-11 21:47:44 +02:00
Mikolaj Wielgus
0239a49c73
egui: implement zooming to fit
2024-09-11 16:03:18 +02:00
Mikolaj Wielgus
89717f2b6e
egui: show root bbox
...
Helpful for debugging geometrical transformations.
2024-09-11 13:38:50 +02:00
Mikolaj Wielgus
8c671e5a2c
egui: allocate whole available height for canvas
2024-09-10 22:54:44 +02:00
Mikolaj Wielgus
0cdec86900
cli: fix build error due to lack of CLI build testing
2024-09-10 17:21:19 +02:00
Mikolaj Wielgus
d4079ef077
cargo: bump egui/eframe version from 0.26.0 to 0.28.1
2024-09-10 17:04:15 +02:00
Mikolaj Wielgus
cf52c95113
egui: arrange the menus more typically
2024-09-09 15:25:40 +02:00
Mikolaj Wielgus
4b6e3e0a5c
egui,router: add option to toggle squeezing
2024-09-01 01:24:52 +02:00
Mikolaj Wielgus
0b7e5f1b9b
egui,autorouter,router: add option to toggle wrapping around bands
2024-08-31 14:12:38 +02:00
Mikolaj Wielgus
4d0c38664e
router: have a binavvertex on each bend
2024-08-31 01:37:27 +02:00
Mikolaj Wielgus
59f88e854c
egui: expose autorouter options in the GUI
2024-08-31 00:49:40 +02:00
Mikolaj Wielgus
a52515f6d3
autorouter: add option to disable presorting by pairwise detours
2024-08-30 23:11:25 +02:00
Mikolaj Wielgus
f7f2e8ea49
autorouter: if band removal fails, propagate error instead of panicking
2024-08-30 16:32:37 +02:00
Mikolaj Wielgus
2105e8c7cf
drawing: rename "rails" and "wraparoundables" to "gears"
2024-08-29 05:24:05 +02:00
Mikolaj Wielgus
994b9e8e9b
navmesh: some rearrangements in preparation for interactive routing
2024-08-29 02:04:27 +02:00
Mikolaj Wielgus
72e630543d
autorouter: if unable to route to compare detours, assume equal
2024-08-26 01:33:18 +02:00
Hakki
817fd5e57f
cli: add help/manpages ( #29 )
...
Fixes https://codeberg.org/topola/topola/issues/24
Reviewed on https://codeberg.org/topola/topola/pulls/29
Co-authored-by: Hakki <hakki@noreply.codeberg.org>
Co-committed-by: Hakki <hakki@noreply.codeberg.org>
2024-08-25 20:18:16 +00:00
Mikolaj Wielgus
63d3e345aa
egui,autorouter: add action and command to measure length of bands
2024-08-23 04:14:06 +02:00
Mikolaj Wielgus
4e37f5715b
egui: source GUI strings from Fluent files
2024-08-11 00:13:30 +02:00
Mikolaj Wielgus
0257568410
egui: load locale language on startup
2024-08-08 17:12:04 +02:00
Mikolaj Wielgus
41bd60ea59
cli: fix compile errors
2024-08-08 11:28:44 +02:00
Mikolaj Wielgus
a04caeae9c
translation: upload placeholder Fluent files to test Weblate
2024-08-07 20:53:55 +02:00
Mikolaj Wielgus
deb2fffbf1
autorouter: show whole detour compare animation
2024-08-06 21:29:23 +02:00