Commit Graph

1253 Commits

Author SHA1 Message Date
Ellen Emilia Anna Zscheile 8a66ece14c feat(layout): cache convex hull on polygon initialization 2025-04-30 14:11:31 +02:00
Ellen Emilia Anna Zscheile f416958936 refactor(geometry): use more ergonomic petgraph methods where appropriate 2025-04-30 14:11:31 +02:00
Ellen Emilia Anna Zscheile 861869ab7c refactor(geometry): introduce CompoundEntryKind to suppport entry metadata
example usages would be marking the apex of a polygon explicitly,
or marking the nodes of a polygon which are part of the convex hull

- make ManageCompounds more generic
- removes unnecessary bounds on handles/refs
2025-04-30 14:11:31 +02:00
Mikolaj Wielgus 594bb51a57 chore: Use `committed` instead of `conventional-pre-commit`
The most important difference in this PR is that we now enforce scope
and subject line length. `conventional-pre-commit`, which we have been
using until now, does not appear to allow that unlike `committed` which
we will be now using.

On the other hand, `committed` doesn't allow to require having a scope,
unlike `conventional-pre-commit`, but I will probably submit them a PR
for this later.

I also find it questionable that disabling particular checks is to be
done by switching boolean options to false. Doing so by string options
would be more future-proof.

Also note that this has a check to make sure the commit message starts
with a verb. I am fine with this myself, but it may be an overkill.
2025-04-30 11:22:23 +00:00
Mikolaj Wielgus b000f2b7d8 refactor(math): Replace `cw` booleans with `RotationSense` enums
The term "cw" (clockwise) was somewhat cryptic, using a more verbose
term improves readability.
2025-04-29 13:58:49 +02:00
Mikolaj Wielgus 640247a675 fix(topola-egui): clamp timestep slider to 0.001-3.0 instead of 0.0-3.0
Timestep should never be set to 0 because this freezes the GUI if the
execution takes a long time.

Of course, this solution assumes that any lengthy operation is split
into sufficiently fine steppable steps.

Fixes https://codeberg.org/topola/topola/issues/203
2025-04-26 04:02:06 +02:00
Ellen Emilia Anna Zscheile c2bdeb61e4 fix(interactor): reliably, properly stop activity 2025-04-25 22:21:00 +02:00
Ellen Emilia Anna Zscheile 92e8600452 chore(autorouter): remove unnecessary mutability 2025-04-25 21:37:37 +02:00
Ellen Emilia Anna Zscheile f4f8971662 chore(planar-incr-embed): make some utilities public for downstream reuse 2025-04-25 13:25:28 +02:00
Ellen Emilia Anna Zscheile a6f86f488c feat(planar-incr-embed): add convenience method to remove paths from navmesh 2025-04-25 13:23:47 +02:00
Mikolaj Wielgus 368caa268f docs(math): add some function docstrings 2025-04-25 02:16:10 +02:00
Ellen Emilia Anna Zscheile 346477f498 chore(layout): remove unused 'add_poly_fixed_*' methods 2025-04-22 22:51:51 +02:00
Mikolaj Wielgus b736aa2d7d refactor(layout::poly): use `MakeRef<...>` to obtain poly's ref-struct 2025-04-22 21:59:45 +02:00
Mikolaj Wielgus 4bf3611bb7 style: rename `src/geometry/poly.rs` to `src/geometry/polygon.rs` 2025-04-22 20:42:14 +02:00
Ellen Emilia Anna Zscheile f6a196aeca fix(drawing): make update_this_and_outward_bows fail graceful (with temporary fix) 2025-04-17 22:36:10 +00:00
Ellen Emilia Anna Zscheile a56628e250 fix(specctra/design): handle polygon seg between first and last dot properly 2025-04-17 18:51:29 +02:00
Ellen Emilia Anna Zscheile 122ff0122f fix(board): make Poly' apex generation non-lazy
- insert polygon parts before polygon compound
2025-04-17 15:03:14 +02:00
Ellen Emilia Anna Zscheile 3a2c9deff0 feat(planar-incr-embed): make PmgAstar's evaluate_navmesh interface way more ergonomic 2025-04-10 22:16:59 +02:00
Ellen Emilia Anna Zscheile bb1cfc76d9 fix(planar-incr-embed): discover all possible paths, including the variants re: weak entries 2025-04-10 22:16:59 +02:00
Ellen Emilia Anna Zscheile 77969952ff refactor(geometry/edit): GeometryEdit shouldn't know about PrimitiveIndex 2025-04-08 02:06:57 +00:00
Ellen Emilia Anna Zscheile cdee22d63e feat(geometry/edit): impl ApplyGeometryEdit for GeometryEdit 2025-04-08 02:06:57 +00:00
Ellen Emilia Anna Zscheile e20c9aa3d6 feat(specctra-core/mesadata, layout): make `Layout` clonable
This change also propagates to `SpecctraMesadata`, which is a bit unfortunate,
because the code that needs this will never mutate the mesadata,
wrapping it in an `Arc` would be a possible alternative.
2025-03-31 02:30:26 +02:00
Ellen Emilia Anna Zscheile 22460c75f7 refactor(DrawingException): factor out extraction of ghost+obstacle 2025-03-31 02:27:56 +02:00
Ellen Emilia Anna Zscheile 566949d4c1 refactor(interactor): use enum_dispatch for ActivityStepper 2025-03-31 02:27:06 +02:00
Ellen Emilia Anna Zscheile bf1addbdaf chore: fix some more clippy warnings 2025-03-31 01:58:34 +02:00
Ellen Emilia Anna Zscheile 822bba8fde refactor(drawing): more aggressive out-factoring in update_this_and_outward_bows 2025-03-29 16:00:24 +01:00
Ellen Emilia Anna Zscheile da6b825ee7 refactor(drawing): deduplicate code in update_this_and_outward_bows 2025-03-29 15:53:19 +01:00
Ellen Emilia Anna Zscheile c01c8046bb chore: cargo fmt 2025-03-25 23:06:04 +01:00
Ellen Emilia Anna Zscheile 670ddbe1f7 chore: apply clippy fixes 2025-03-25 00:17:57 +01:00
Ellen Emilia Anna Zscheile 8e3be44e18 feat(pie/PmgAstar): support threading a context along 2025-03-23 10:42:11 +01:00
Ellen Emilia Anna Zscheile 13f2400c45 refactor(drawing): simplify traits 2025-03-22 04:06:27 +00:00
Ellen Emilia Anna Zscheile a836189086 refactor: simplify interface of NavcordStepper 2025-03-22 04:06:27 +00:00
Ellen Emilia Anna Zscheile 112cc0686d feat(egui): partially disable menus again
The upstream bug got fixed: https://github.com/emilk/egui/issues/4774#event-16792829596
2025-03-18 04:37:48 +01:00
Ellen Emilia Anna Zscheile ae40efbfa2 feat(specctra_derive): implement for enums containing unnamed fields 2025-03-10 04:10:45 +00:00
Mikolaj Wielgus f7ac667e1d chore(cargo): bump `icu_experimental` dependency version to 0.3.0-beta2
This should fix the CI failure.
2025-03-10 04:35:34 +01:00
Mikolaj Wielgus 946afc413d chore(cargo): bump `icu_locale_core` dependency version to 2.0.0-beta2 2025-03-10 03:10:06 +01:00
Mikolaj Wielgus c7a5da8b1a ci: remove file inclusions and exclusions
Some PRs don't seem to not run some of the CI steps, and this may be the
cause. The `-j4` flag should be sufficient to avoid straining Codeberg
CI.
2025-03-10 02:45:21 +01:00
fogti d3e59b0d5a
Translated using Weblate (German)
Currently translated at 100.0% (52 of 52 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-03-07 00:15:20 +00:00
Outbreak2096 8583dcf1b2
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (52 of 52 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-03-06 12:31:22 +00:00
Gusted a4923c0770
Translated using Weblate (Dutch)
Currently translated at 100.0% (52 of 52 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/nl/
2025-03-05 15:24:43 +00:00
Ellen Emilia Anna Zscheile da3be763c6 feat(overlay,viewport): generation and rendering of topological navmesh 2025-03-04 02:47:04 +01:00
Ellen Emilia Anna Zscheile 6eb941a137 feat: merge planar-brute-embed into the topola monorepo
- feat: use OrderedPair instead of custon BandName/BandUid (note: changes ordering of BandUid)
- fix(crates): rename planar-brute-embed to planar-incr-embed
2025-02-16 18:31:31 +01:00
Ellen Emilia Anna Zscheile a39546f0c9 fix(RouteStepper): borrowing mixup 2025-02-15 13:46:16 +01:00
Ellen Emilia Anna Zscheile a7c8474153 fix(RouteStepper): proper undo in case of failure
Fixes #116
(hopefully)
2025-02-15 13:36:32 +01:00
Ellen Emilia Anna Zscheile bb86aaed2a minimal backend for `planar-brute-embed` topological navmesh generation (#161)
Reviewed-on: https://codeberg.org/topola/topola/pulls/161
Co-authored-by: Ellen Emilia Anna Zscheile <fogti+devel@ytrizja.de>
Co-committed-by: Ellen Emilia Anna Zscheile <fogti+devel@ytrizja.de>
2025-02-15 00:00:15 +00:00
Weblate Translation Memory 2fac10a8d6 Translated using Weblate (Portuguese)
Currently translated at 84.0% (42 of 50 strings)

Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/pt/
2025-02-14 16:04:20 +00:00
Ellen Emilia Anna Zscheile 0fde34204f refactor(drawing,geometry): move GetLayer from drawing::graph to geometry 2025-02-10 11:30:54 +01:00
Ellen Emilia Anna Zscheile 61c7b5450f refactor(Retag): only implement trait once, Index should be associated type 2025-02-10 11:29:08 +01:00
Ellen Emilia Anna Zscheile 1e690ace11 refactor(drawing): factor out common {Bend,Dot,Seg}Weight fields 2025-02-10 11:29:08 +01:00
Ellen Emilia Anna Zscheile 2e4b3b52ab chore: cargo fmt 2025-02-10 11:28:19 +01:00