Commit Graph

977 Commits

Author SHA1 Message Date
Gusted 2209870d99
Translated using Weblate (Dutch)
Currently translated at 98.0% (49 of 50 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/nl/
2025-01-11 10:04:25 +00:00
Weblate ce439e5f64
Translated using Weblate (Dutch)
Currently translated at 100.0% (49 of 49 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/nl/
2025-01-11 10:04:25 +00:00
Weblate Translation Memory ae7d0f0f0f
Translated using Weblate (Dutch)
Currently translated at 100.0% (49 of 49 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/nl/
2025-01-11 10:04:25 +00:00
Gusted 80f579aba3
Translated using Weblate (Dutch)
Currently translated at 100.0% (49 of 49 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/nl/
2025-01-11 10:04:25 +00:00
Outbreak2096 b5668dbb32
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.9% (47 of 49 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-01-11 10:04:25 +00:00
Ellen Emilia Anna Zscheile 58876c996a chore: run cargo upgrade 2025-01-11 10:46:34 +01:00
Mikolaj Wielgus 225af3ebee ci: remove `-j4` from `cargo binstall` since it doesn't understand it 2025-01-09 23:17:17 +01:00
Mikolaj Wielgus b1aa6773de ci: pass `-j4` to cargo to prevent it from taking up all cores at once 2025-01-09 22:57:33 +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
hakki a16eba8891 chore(cli): added expect to catch errors during Session File write 2025-01-09 18:30:19 +01:00
hakki 7bef759209 chore(egui): filter dsn files on DSN file dialog 2025-01-09 18:30:11 +01:00
hakki 51389c8e2a chore(cli): more meaningful info about error during dsn parse 2025-01-09 16:36:36 +00:00
Mikolaj Wielgus b6bf35033b ci: put `xdg-portal` in the `build_egui` test in verbatim to fix build error 2025-01-09 16:51:29 +01:00
Mikolaj Wielgus 3af4338743 ci: restore `xdg-portal` feature to fix CI run error 2025-01-09 16:43:04 +01:00
Mikolaj Wielgus 1439049ca4 ci: make egui and WASM builds steps instead of parallelly ran flows
This will reduce momentary strain in favor of running for a longer time.

Reference issue: https://codeberg.org/topola/topola/issues/155
2025-01-09 16:37:13 +01:00
Ellen Emilia Anna Zscheile f5153f870a ci(bctt): check for stable channel in 'when' condition 2025-01-09 15:36:37 +01:00
Ellen Emilia Anna Zscheile bd698027be ci: only run CI when relevant files changed 2025-01-09 15:21:27 +01:00
Mikolaj Wielgus cee521be5b chore(ci): run tests as step after building CLI instead of separate flow
This will reduce our CI usage by building Topola one time less. This is
needed because it turned out that we are straining the CI and were asked
to reduce our footprint:

https://codeberg.org/topola/topola/issues/155
2025-01-09 14:16:49 +01:00
Mikolaj Wielgus 8c46fcb2a2 chore(ci): disable nightly channel tests to reduce Codeberg's CI usage
Turns out that our usage of the Codeberg's CI has been excessive:

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

The `test` flow is the longest-running (due to contracts checks), yet
the least needed, so I'm disabling it for now.
2025-01-09 14:01:11 +01:00
Mikolaj Wielgus ee9f15498d chore(tests): update reference number of navvertices to make CI pass
This will now work because Topola is now deterministic across runs.
2025-01-09 03:59:57 +01:00
Mikolaj Wielgus 61a139ba01 chore: fix some mistakes from latest changes to assets and readme 2025-01-09 02:26:35 +01: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
Mikolaj Wielgus c52db50e29 chore(assets): store all project's assets in main repository
I have deleted the `topola-graphics` repository.
2025-01-09 00:57:18 +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
Mikolaj Wielgus babe531f73 feat(egui): move View menu code to actions 2025-01-06 23:40:28 +01:00
Mikolaj Wielgus ebeaaf04c9 Revert "feat(egui): begin development of `egui-actions` crate"
This reverts commit 658e556a4a.

On the second thought, this may be a bad idea because using this crate
on Topola's main library code would pollute it with `egui` code.
2025-01-06 22:42:13 +01:00
Mikolaj Wielgus 658e556a4a feat(egui): begin development of `egui-actions` crate
The purpose of this new crate is to provide a system for managing
actions that can be bound to a key and to derive `egui` menus to invoke
them.

I haven't moved all relevant code from `topola-egui` (in particular,
`Switch` and `Trigger` structs) to this crate yet.
2025-01-06 18:28:56 +01: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
Michał Stankiewicz 4c2f9e3984
chore(assets): move logo artwork files to Topola's main repository
I, Michał Stankiewicz, hereby license the committed files, which contain
Topola's logo in multiple variants, under two licences at the same time:

- Creative Commons Attribution 4.0 International (SPDX: CC-BY-4.0)
- MIT (SPDX: MIT)

Signed-off-by: Michał Stankiewicz <kontakt@stankiewiczm.eu>
2025-01-05 18:43:35 +01: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
fogti 9c007a8ccb
Translated using Weblate (German)
Currently translated at 100.0% (49 of 49 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-01-03 00:39:31 +00:00
fogti d9dcf3018d
Translated using Weblate (German)
Currently translated at 100.0% (47 of 47 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-01-03 00:39:31 +00: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
Alain Emilia Anna Zscheile bbf54c9eb5 ci(egui): Select xdg-portal as backend for egui
Error message:
error: failed to run custom build command for `rfd v0.15.1`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by:
  process didn't exit successfully: `/woodpecker/src/codeberg.org/topola/topola/target/debug/build/rfd-df83cee8e4039bcf/build-script-build` (exit status: 101)
  --- stderr
  thread 'main' panicked at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rfd-0.15.1/build.rs:14:17:
  You need to choose at least one backend: `gtk3` or `xdg-portal` features
2025-01-02 17:36:55 +01:00
Alain Emilia Anna Zscheile 3dd60ed7df deps(egui): fix missing required feature "async-std" for rfd/xdg-portal
Error message:

   Compiling rfd v0.15.1
error: failed to run custom build command for `rfd v0.15.1`

Caused by:
  process didn't exit successfully: `[redacted]/topola/target/debug/build/rfd-91f81cc3d21cf4fd/build-script-build` (exit status: 101)
  --- stderr
  thread 'main' panicked at [redacted]/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rfd-0.15.1/build.rs:21:21:
  One of the `tokio` or `async-std` features must be enabled to use `xdg-portal`
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2025-01-01 22:42:30 +01:00
Mikolaj Wielgus 0ef323070b docs(install): copyedit a very minor nit 2025-01-01 21:38:50 +01:00
Mikolaj Wielgus f3389e4c9c docs(install): copyedit and rearrange sections 2025-01-01 21:36:51 +01:00
Mikolaj Wielgus 51e5ccac2e docs(install): fix malformed link formatting 2025-01-01 17:19:46 +01:00