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
Mikolaj Wielgus
c9d99c2c1f
autorouter: sort by pairwise total detour lengths before autorouting
2024-08-06 15:43:25 +02:00
Mikolaj Wielgus
33206567e3
egui,autorouter: display message once command completes
2024-08-06 02:34:54 +02:00
Mikolaj Wielgus
c12eea5b4d
autorouter: don't crash after comparing detours
2024-08-05 23:05:10 +02:00
Mikolaj Wielgus
47d8e82344
egui,autorouter: make detour comparison invokable from GUI
2024-08-05 13:14:56 +02:00
Mikolaj Wielgus
b2c9305cea
autorouter: add new compare command to be used for sorting later
2024-08-05 04:33:51 +02:00
Mikolaj Wielgus
43b48e78e3
router: use `Step` trait for `Astar` too
2024-08-04 18:50:58 +02:00
Mikolaj Wielgus
ece9c4aa5a
autorouter,router: put stepper finishing in `Step` trait too
2024-08-04 16:36:11 +02:00
Mikolaj Wielgus
7830806834
router: use `Step` and new `StepBack` traits in `Route` and `Trace`
2024-08-03 19:17:00 +02:00
Mikolaj Wielgus
1305487c7f
autorouter: use new `Step` trait for stepping
2024-08-03 16:40:04 +02:00
Mikolaj Wielgus
5b32797022
autorouter: return a different status every time routing a band finishes
2024-08-01 12:56:24 +02:00
Mikolaj Wielgus
fcffb76de4
autorouter: create new command: Remove Selected Bands
2024-07-25 01:46:54 +02:00
Mikolaj Wielgus
b568f2d790
autorouter: split selection into pin selection and band selection
2024-07-24 14:59:28 +02:00
Mikolaj Wielgus
3bf4d2cdb1
autorouter,board: use both band uids and band termsegs
2024-07-24 02:27:11 +02:00
Mikolaj Wielgus
f7126dfa33
egui,autorouter: implement selecting bands
2024-07-23 13:36:57 +02:00
Mikolaj Wielgus
5da6ec4463
drawing: create methods for obtaining UIDs for bands
2024-07-23 02:03:55 +02:00
Mikolaj Wielgus
95c1c0b8b9
drawing: use shared band traversal code
2024-07-23 00:02:20 +02:00
Mikolaj Wielgus
61babd179a
egui: fix selection of polys and vias
2024-07-22 11:10:52 +02:00
Mikolaj Wielgus
ca27804c64
drawing: move band length measurement to new band refobject
2024-07-21 16:45:36 +02:00
Mikolaj Wielgus
57c970e22e
drawing: obtain `HeadRef` via new trait for abstract reference objects
2024-07-21 14:49:43 +02:00
Mikolaj Wielgus
0552dd3f33
egui: put debug visualization checkboxes in a dropdown menu
2024-07-21 13:59:08 +02:00
Mikolaj Wielgus
a644ac276b
egui: add widget to control showing bboxes
2024-07-19 23:11:38 +02:00
Mikolaj Wielgus
c17c004aae
cli: hard-code routing only the first layer by default
...
A temporary measure before we provide better layer control and prevent
duplication of routes.
2024-07-16 20:39:19 +02:00
Mikolaj Wielgus
a9f42e1d8f
cli: by default, assume output filename is input's with .ses extension
2024-07-16 20:33:40 +02:00
Mikolaj Wielgus
87fd5d5d05
cli: make command file argument named and optional
2024-07-16 15:45:42 +02:00
Mikolaj Wielgus
ace5709e5d
cleanup: `cargo fix`, `cargo fmt` to reduce number of error messages
2024-07-15 13:14:17 +02:00
Mikolaj Wielgus
b0068c5f09
cli: rename the CLI binary to from `topola-cli` to shorter `topola`
2024-07-15 12:02:17 +02:00
Mikolaj Wielgus
cd6c9fbe76
sdl2-bench: remove the SDL2 bench (aka. SDL2 demo) entirely
...
First, from now on I'm going to call the "SDL2 demo" the "SDL2 bench",
as a demo is software that exists to demonstrate, whereas its purpose
lately has been only fast prototyping, as we switched to make all demo
animations in the Egui port anyway.
Second, I'm removing the SDL2 bench anyway as it's a maintenance burden
that lost its utility. It's also affected by a bug in Pathfinder that
makes it impossible to zoom beyond a certain threshold which would
require someone to dig into Pathfinder's codebase, a task I don't think
anyone is interested in.
2024-07-15 01:31:45 +02:00
Szpachlarz
f72eac2636
Add: --help and --version commands
2024-07-13 15:09:45 +02:00
Szpachlarz
8d2db0a0dc
cli: implement SES export
2024-07-13 14:48:38 +02:00
Tomasz Cichoń
9e2a0acab0
specctra: add export of bends (downgraded to line segment chains)
2024-07-12 15:14:15 +02:00
Tomasz Cichoń
e28b7f7f9d
geometry, egui: fixes and cleanup of math related to bend shapes
2024-07-12 12:01:21 +02:00
Tomasz Cichoń
8c3a3f1e72
specctra, egui: add menu option for specctra session export
2024-07-10 17:17:26 +02:00
Mikolaj Wielgus
be9ff3a85a
layout: rename "zone" to "poly"
...
We'll keep the term "zone" for higher-level concepts.
2024-07-09 23:09:39 +02:00
Mikolaj Wielgus
71a2a3ebbf
sdl2-demo: fix compilation errors
2024-07-09 19:53:52 +02:00
Mikolaj Wielgus
3fd31746af
drawing: make not having infringables the default when adding canes
...
The previous commit only did it for inserted canes.
2024-07-09 18:56:34 +02:00
Mikolaj Wielgus
1c07eb96ac
drawing: for now, make adding canes have no infringables
2024-07-09 17:01:29 +02:00
Mikolaj Wielgus
c34cd730c5
egui: add keyboard shortcuts and basic action abstraction
2024-07-09 13:10:02 +02:00
Mikolaj Wielgus
c36ccc287a
autorouter: improve error handling by removing some unwraps
2024-07-08 13:25:58 +02:00
Mikolaj Wielgus
f4054783d1
cleanup: remove committed output file and commented-out code
2024-07-08 02:06:55 +02:00
Mikolaj Wielgus
b9a99237a1
egui: clear selection when routing is initiated
2024-07-08 02:01:17 +02:00