- feat(autorouter): Prepare for population of planar Topo-Navmesh with existing routes
See also issue #166.
- feat(topola-egui): Add dialog for topological navmesh layer selection
- feat(router/ng/eval): Optionally restrict set of allowed TopoNavmesh edges
- fix(router/ng/eval): Use poly_ext_handover
Besides owning the navmesh, the A* stepper stores g-scores and f-scores,
displaying which will be helpful for debugging, so we want to be able to
access the whole A* stepper instead of only the navmesh.
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
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.
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.
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.
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