Mikolaj Wielgus
9742740b9e
refactor(router/navmesh): Factor out some repeating code
2025-07-09 14:55:40 +02:00
Mikolaj Wielgus
ebd115c3dd
test: Add `tht_de9_to_tht_de9` test to automated testing
2025-07-09 14:55:40 +02:00
Mikolaj Wielgus
5fbb226d08
feat(router/navmesh): Make sure there are quadrinavedges for each trianedge
...
The problems I noticed in 8095b700167c7445b0bd7c55991f0b6b1c7e2f3d are
resolved now.
2025-07-09 14:55:40 +02:00
Mikolaj Wielgus
3e322d7b34
feat(topola-egui): Add showing of triangulation constraints to debug overlay
2025-07-09 14:55:40 +02:00
Mikolaj Wielgus
f3245b9607
feat(router/navmesh): Add constraint edges for loose segs
...
This does not work entirely correctly. I will investigate in subsequent
commits.
2025-07-09 14:55:40 +02:00
Mikolaj Wielgus
274ad166c1
feat(router/navmesh): Add constraint edges for fixed segs
2025-07-09 14:55:40 +02:00
fogti
742c5e770f
Translated using Weblate (German)
...
Currently translated at 100.0% (56 of 56 strings)
Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-07-08 09:08:15 +00:00
Mikolaj Wielgus
b25ad863ba
refactor(autorouter/invoker): Merge debug overlay data traits into one trait
...
The name of this new trait shall be `GetDebugOverlayData`.
2025-07-06 23:09:08 +02:00
Codeberg Translate
8c92a9b8ec
Update translation files
...
Updated by "Cleanup translation files" add-on in Weblate.
Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/
2025-07-05 21:00:54 +00:00
Outbreak2096
bda41a410c
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (59 of 59 strings)
Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-07-05 21:00:54 +00:00
Ellen Emilia Anna Zscheile
7734847e3b
chore: Remove superseded translation strings about TopoNavmesh initialization
2025-07-05 23:00:39 +02:00
Outbreak2096
bc6ff20756
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (55 of 55 strings)
Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-07-03 19:08:23 +00:00
fogti
d8410bb657
Translated using Weblate (German)
...
Currently translated at 100.0% (55 of 55 strings)
Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-07-03 19:08:23 +00:00
Ellen Emilia Anna Zscheile
5cc1747885
Revert "fix(router/ng/eval): Flip alignment of outer edges"
...
This reverts commit e3790eb366 .
2025-06-30 15:51:25 +02:00
Ellen Emilia Anna Zscheile
185c2972b7
chore(router/ng/mod): Run cargo fmt
2025-06-30 15:26:38 +02:00
Ellen Emilia Anna Zscheile
80a048faaf
fix(math/line): Fix offset of 'orthogonal_through' (which didn't match with the 'intersects' sign)
2025-06-30 15:26:08 +02:00
Ellen Emilia Anna Zscheile
30c6df31ab
chore(router/ng/mod): Get rid of unnecessary debugging output in calculate_navmesh
2025-06-30 15:16:21 +02:00
Ellen Emilia Anna Zscheile
e3790eb366
fix(router/ng/eval): Flip alignment of outer edges
...
This makes it possible to route some paths, altho it looks really wrong on first glace.
I don't yet know exactly what's going on.
2025-06-30 15:09:28 +02:00
Ellen Emilia Anna Zscheile
38ef4d4a59
refactor(math/line): Put functions regarding NormalLines and Lines into a separate file
2025-06-28 23:08:51 +02:00
Ellen Emilia Anna Zscheile
ff03083d65
chore(math/mod): Rename 'beam' to 'ray' in intersection functions
2025-06-28 23:03:09 +02:00
Ellen Emilia Anna Zscheile
59473c36c8
refactor(layout/layout): Put bands_between_* methods into separate file collect_bands.rs
2025-06-28 11:32:38 +02:00
Ellen Emilia Anna Zscheile
d3dc826be4
feat: Implement TopoNavmesh DualOuter-DualOuter extraction
...
This also fixes a sign bug in LineIntersection calculation
2025-06-27 15:15:26 +02:00
Ellen Emilia Anna Zscheile
cfde2eac20
fix(planar-incr-embed): Fix Edge lhs vs. rhs association
2025-06-27 15:15:26 +02:00
Ellen Emilia Anna Zscheile
ed06170db5
feat: Debug print various TopoNavmesh structures / updates
...
- feat(autorouter/execution): Debug-print the whole TopoNavmesh on completion
- feat(router/ng/poly): Emit log output on route_to_exit success
2025-06-27 15:15:26 +02:00
Ellen Emilia Anna Zscheile
a561b278fc
feat(router/ng/router): Implementation of the topological router
...
- 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
2025-06-27 15:15:24 +02:00
Ellen Emilia Anna Zscheile
c8848ef269
refactor(topola-egui): Move InteractiveEvent handling from Viewport into Workspace
2025-06-27 06:51:20 +02:00
Ellen Emilia Anna Zscheile
c66089bca9
fix(interactor/interactor): Factor out the logic for on-event activity updates
2025-06-27 06:12:38 +02:00
Ellen Emilia Anna Zscheile
a4b1b3893c
feat: Add interaction stepper for route building
2025-06-27 06:02:05 +02:00
fogti
e2aaa932fc
Translated using Weblate (German)
...
Currently translated at 100.0% (54 of 54 strings)
Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
2025-06-25 18:14:42 +00:00
Outbreak2096
c1191ad90b
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (54 of 54 strings)
Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
2025-06-25 18:14:42 +00:00
Mikolaj Wielgus
03ed35cbc4
fix(drawing/drawing): Fix squeezing through under bends by flipping CW/CCW
...
I don't know what was the original cause of this bug, but this seems to
solve the problem.
2025-06-25 20:11:49 +02:00
Mikolaj Wielgus
868d05ab6f
chore: Convert the screencast from WEBM to GIF
...
Easier to display from Markdown.
2025-06-19 17:32:31 +02:00
Mikolaj Wielgus
019620dc17
chore: Add screencast of topo-navmesh routing
2025-06-19 16:21:49 +02:00
Mikolaj Wielgus
9c7c56aa12
chore: Add navmesh and topo-navmesh screenshots to assets
...
This is for the June 2025 development update.
2025-06-19 02:39:11 +02:00
Mikolaj Wielgus
6f20994dab
feat(topola-egui): Add checkbox to hide pathfinding scores
2025-06-18 18:07:43 +02:00
Ellen Emilia Anna Zscheile
896deb1777
docs(math/polygon_tangents): Fix `CachedPolyExt` doc-comment
2025-06-12 23:33:30 +02:00
Ellen Emilia Anna Zscheile
03d85b8566
feat(math/polygon_tangents): Implement polygon handover
...
Fixes #240
2025-06-12 23:33:30 +02:00
Ellen Emilia Anna Zscheile
371d13e7e1
fix(math/polygon_tangents): Fix usual triangle case
...
See also issue #238 .
This does not fix the case where all nodes of the convex hull lie on some tangent.
2025-06-12 23:33:30 +02:00
Ellen Emilia Anna Zscheile
bbd8d78089
refactor(math/polygon_tangents): Reduce code duplication
2025-06-12 23:33:30 +02:00
Ellen Emilia Anna Zscheile
353ee9a7ab
fix(specctra-core): Actually use Keepouts structure
2025-06-12 23:27:52 +02:00
Ellen Emilia Anna Zscheile
9ea058bd0a
fix(specctra-core): Proper support for all kinds of keepouts
2025-06-12 20:08:08 +02:00
Mikolaj Wielgus
3ec15db5bc
docs(router/thetastar): Add some explanatory comments
2025-06-12 16:45:07 +02:00
Mikolaj Wielgus
1630ed1a45
refactor(router/thetastar): Store edge ids in `Vec<...>` instead of `VecDeque<...>`
2025-06-12 16:45:07 +02:00
Mikolaj Wielgus
437e2f96d1
fix(router/navcord): Correctly take into account length of final termseg
2025-06-12 16:45:07 +02:00
Mikolaj Wielgus
d0c304adbd
feat(router/thetastar): Implement Theta* search algorithm
...
Closes https://codeberg.org/topola/topola/issues/121
2025-06-12 16:45:07 +02:00
Mikolaj Wielgus
1fea359a40
refactor(router/astar): Rewrite A* like a more typical state machine
2025-06-12 16:45:07 +02:00
Mikolaj Wielgus
0702b7eb8c
refactor(router/astar): Use getters instead of `pub` members
2025-06-12 16:45:07 +02:00
Ellen Emilia Anna Zscheile
cfd20ed381
feat: Implement line (segment) intersection check
2025-06-11 16:37:57 +02:00
Ellen Emilia Anna Zscheile
1505513552
feat(drawing/drawing): Store boundaries in Drawing
2025-06-10 15:37:47 +02:00
Ellen Emilia Anna Zscheile
33eb593fe9
fix(specctra-core): Fix boundary parsing
...
see also https://gitlab.com/kicad/code/kicad/-/blob/master/pcbnew/specctra_import_export/specctra.h , class BOUNDARY
2025-06-07 13:13:49 +02:00