Mikolaj Wielgus
d896fe7322
refactor(autorouter/autorouter): Store terminating dots in configuration instead of ratsnest
2025-10-24 03:48:35 +02:00
Mikolaj Wielgus
87f63fd96f
test: Don't use `.terminating_dots(...)`, as it won't be accessible since next commit
2025-10-24 01:32:17 +02:00
Mikolaj Wielgus
1d8745e15d
refactor(autorouter/connected_components): Rename "conncomps" to "connected components"
...
It's easier to understand without abbreviation.
2025-10-20 14:05:44 +02:00
Mikolaj Wielgus
63764a7e29
test: Add stable multivibrator test, the first multilayer autorouting test
2025-10-20 00:30:44 +02:00
Mikolaj Wielgus
3856319dc9
test: Use correct principal layer instead of layer 0 in assertion
2025-10-19 20:39:45 +02:00
Mikolaj Wielgus
8f59319902
feat(autorouter/autorouter): Have separate ratsnest for each (principal) layer
2025-10-15 15:15:02 +02:00
Mikolaj Wielgus
2895277e73
fix: Fix build and test errors due to botched last commit
2025-10-14 02:21:48 +02:00
Mikolaj Wielgus
9a5b2095d5
feat(autorouter/autorouter): Implement germ of multilayer autorouting
2025-09-27 15:45:10 +02:00
Mikolaj Wielgus
ecb8ab4758
test: Fix test build error
2025-09-23 16:37:37 +02:00
Mikolaj Wielgus
a4a000feb9
feat(autorouter/ratsnest): Have ratlines across layers
2025-09-23 13:25:32 +02:00
Mikolaj Wielgus
5abce8b655
test: Report route lengths for benchmarking purposes
2025-09-17 14:38:46 +02:00
Mikolaj Wielgus
59115b20d1
test: Use rstest to parametrizedly split tests into plain and with_undo_redo_replay
2025-09-17 12:14:52 +02:00
Mikolaj Wielgus
a390c67e4f
test: Split test_tht_de9_to_tht_de9 into two test routines to measure speed better
2025-09-17 11:32:32 +02:00
Mikolaj Wielgus
71fdec2f06
refactor(autorouter/ratsnest): Move unionfind to new file, don't use `.graph()` there
2025-09-15 22:42:45 +02:00
Mikolaj Wielgus
e0cfc521ef
refactor(geometry/geometry): Replace `NodeIndex<usize>` with just `usize`
...
This is a step towards ceasing to use Petgraph as internal storage for
geometry.
2025-09-15 22:42:45 +02:00
Mikolaj Wielgus
6a2102e0a2
refactor(graph): Rename `GetPetgraphIndex` to `GetIndex`
2025-09-15 22:42:45 +02:00
Mikolaj Wielgus
2b95832cf7
test: Test tht_de9_to_tht_de9 with permuted autorouting as well
2025-07-19 21:42:53 +02:00
Mikolaj Wielgus
f09aa053b6
test: Make tests attempt re-autoroute after undoing all
2025-07-17 21:08:46 +02:00
Mikolaj Wielgus
6f1abeebd9
test: Fix test failures due to latest commit being botched
2025-07-14 13:40:40 +02:00
Mikolaj Wielgus
43005eb864
feat(autorouter/autorouter): Add presorting by ratline intersection count and length
...
Sadly, this does not work well for the DE-9 to DE-9 test, but it is a
step forward.
2025-07-14 13:26:38 +02:00
Mikolaj Wielgus
0752817538
refactor(autorouter/ratsnest): Split out ratline code to new file, ratline.rs
2025-07-14 13:26:38 +02:00
Mikolaj Wielgus
24d119ad04
refactor(router/navmesh): Rename "navvertex" to "navnode"
...
Easier to pronounce.
2025-05-25 18:01:26 +02: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
0fde34204f
refactor(drawing,geometry): move GetLayer from drawing::graph to geometry
2025-02-10 11:30:54 +01:00
Ellen Emilia Anna Zscheile
2e4b3b52ab
chore: cargo fmt
2025-02-10 11:28:19 +01:00
Ellen Emilia Anna Zscheile
e1d875ae72
chore: fix most warnings
2025-02-10 11:25:55 +01:00
Ellen Emilia Anna Zscheile
cf36177097
refactor: don't export modules only containing a single item
2025-02-02 22:03:12 +00:00
Mikolaj Wielgus
44c30caafe
chore(licensing): add REUSE license headers to `**.{rs,md,toml}` files
...
I ran the following command in Fish shell:
```
reuse annotate --skip-unrecognised --copyright="Topola contributors" --license="MIT" **.{rs,md,toml}
```
The choice of year 2024 in the copyright statements is intentional.
2024-12-29 22:47:00 +01:00
Mikolaj Wielgus
1567a9a83e
style: rename "squeeze through under bands" to "(...) bends"
...
Everywhere except in translatable strings. I'm not changing these
because I prefer this to be done via Weblate.
2024-12-29 01:43:36 +01:00
Alain Emilia Anna Zscheile
07f5398ef0
chore: run cargo fmt
2024-12-13 14:17:12 +01:00
hakki
422d1fe65c
unittests: initial simple non-rectangle routing test
2024-12-12 21:29:46 +00:00
Mikolaj Wielgus
df1578a094
test: test the number of navmesh vertices
2024-12-07 05:41:00 +01:00
Mikolaj Wielgus
d6fe67a373
feat(board,layout,drawing): implement edit recording
...
Not stored in the undo/redo objects yet.
2024-11-13 00:00:56 +00:00
Mikolaj Wielgus
31bc9a9447
tests: update reference value in THT diode bridge rectifier test
2024-08-25 23:51:42 +02:00
Mikolaj Wielgus
541b7acb04
tests: fix compilation error
2024-08-22 03:08:55 +02:00
Mikolaj Wielgus
ca27804c64
drawing: move band length measurement to new band refobject
2024-07-21 16:45:36 +02:00
Mikolaj Wielgus
47e1f7760e
tests: adjust loading design file to the new `BufRead` interface
2024-07-09 18:57:37 +02:00
Mikolaj Wielgus
806742736a
cleanup: get rid of `*Trait` names for traits, use verbs and sentences
2024-07-03 13:40:37 +02:00
Mikolaj Wielgus
3ce8cfcabc
autorouter: fix redo operation
...
Redone operation was only dispatched, not truly executed.
2024-06-25 11:20:59 +02:00
Mikolaj Wielgus
d4a310a5c0
graph: disambiguate naming of different kinds of indices
...
Disambiguate between node indices and (teir inner) petgraph indices.
Rename "band index" to "band first seg index", as we identify bands by
teir first segs. Rename "trianvertex index" and "navvertex index"
respectively to "trianvertex node index" and "navvertex node index", as
these point to nodes on the geometry graph and only indirectly to
vertices on the vertex graph.
2024-06-18 15:30:33 +02:00
Mikolaj Wielgus
9d00e95457
specctra: change "dsn" to "specctra" where it's about both DSN and SES
2024-06-16 18:04:20 +02:00
Mikolaj Wielgus
7a02877eb4
board,dsn: move layer and net name bidirectional lookup to `Mesadata`
2024-06-08 21:39:25 +02:00
Mikolaj Wielgus
19a4766cb5
board,dsn: introduce `MesadataTrait`, an extension of `RulesTrait`
...
The trait's contents aren't implemented yet.
"mesa" is supposed to mean the opposite of "meta". By "mesadata" I don't
mean mere content or payload: I mean data that is stored *inside* or
*under* such content or payload.
I found this meaning of "mesa" -- as opposite of "meta" -- by browsing
somewhere on the internet. Fair chance many classicists would think
poorly of this usage. But I don't care about etymology: I just need a
word to close a lexical gap.
2024-06-08 16:36:21 +02:00
Mikolaj Wielgus
1dc3718159
board: move board to its own directory
2024-06-08 13:37:27 +02:00
Mikolaj Wielgus
cd1e78db6f
tests: perform some undo-redo sanity testing before each test
2024-06-07 19:23:13 +02:00
Mikolaj Wielgus
91480453b3
tests: add 3-pin XLR THT female to THT female test
...
Hardly functional so far.
2024-06-07 02:14:05 +02:00
Mikolaj Wielgus
eea1da604f
tests: keep single-layer and multilayer test data in separate dirs
2024-06-06 14:49:50 +02:00