Mikolaj Wielgus
fe8fd3909f
fix(autorouter,router): actually propagate the edit out of route steppers
...
I forgot to do this earlier, and didn't notice because I didn't test
it. There are still a few changes to be done before recording and edit
applying is functional.
2024-12-02 05:56:37 +01:00
Alain Emilia Anna Zscheile
cbd3c77821
build/refactor: move secondary crates into 'crates' folder named by crate name
2024-11-20 15:44:02 +01:00
Alain Emilia Anna Zscheile
2d1af33204
build: put egui and cli into separate crates
...
* build(ci): try to fix CI
* build: use workspace dependencies for deduplication / drift avoidance
2024-11-20 15:44:02 +01:00
Mikolaj Wielgus
22ad92db54
chore(cargo): use our own development fork of Petgraph for now
2024-10-25 21:34:03 +02:00
Mikolaj Wielgus
941a271339
fix(egui): show language display names instead of codes
2024-10-14 04:26:12 +02:00
Mikolaj Wielgus
bdc021cb6e
refactor: destruct with `.dissolve()` autogenerated with `derive-getters` crate
...
Introduces `derive-getters` as a dependency.
2024-10-11 16:54:53 +02:00
Alain Emilia Anna Zscheile
01deaa4b12
build(contracts): use contracts-try v0.7 from crates.io
...
`contracts-try` is now developed at
https://codeberg.org/topola/contracts-try and was extracted
from this repo, and rebased upon the original
crate sources to ensure proper attribution.
This removes the `vendored` directory.
2024-10-06 00:18:56 +02:00
Alain Emilia Anna Zscheile
62b58e2210
Cargo.toml: bump rstar & geo, disable unused features
2024-09-30 19:54:14 +02:00
Alain Emilia Anna Zscheile
f510ad29a5
Cargo.toml: bump fluent-templates
2024-09-30 19:42:49 +02:00
Alain Emilia Anna Zscheile
0206790cc3
Cargo.toml: reduce dependencies by 'cargo upgrade'
2024-09-30 19:03:13 +02:00
Alain Emilia Anna Zscheile
1ec85552bb
Cargo.toml: reduce dependencies of CLI, WASM
2024-09-30 18:53:12 +02:00
Alain Emilia Anna Zscheile
507ca01bfc
Cargo.toml: get rid of unnecessary dependencies
2024-09-30 18:46:19 +02:00
Mikolaj Wielgus
fa298b01ae
cargo: remove Pathfinder dependency, vestige of removed SDL2 bench
...
This was making our CI fail.
2024-09-28 02:15:56 +02:00
hakki
ee9f4b5566
Write Specctra module documentation for Topola's library API ( #34 )
...
Reviewed-on: https://codeberg.org/topola/topola/pulls/34
Co-authored-by: hakki <hakki@noreply.codeberg.org>
Co-committed-by: hakki <hakki@noreply.codeberg.org>
2024-09-27 10:29:23 +00:00
Mikolaj Wielgus
d4079ef077
cargo: bump egui/eframe version from 0.26.0 to 0.28.1
2024-09-10 17:04:15 +02:00
Hakki
817fd5e57f
cli: add help/manpages ( #29 )
...
Fixes https://codeberg.org/topola/topola/issues/24
Reviewed on https://codeberg.org/topola/topola/pulls/29
Co-authored-by: Hakki <hakki@noreply.codeberg.org>
Co-committed-by: Hakki <hakki@noreply.codeberg.org>
2024-08-25 20:18:16 +00:00
Mikolaj Wielgus
a0291255ce
cleanup: rename macro/ directory to macros/ for naming consistency
2024-08-22 02:01:13 +02:00
Mikolaj Wielgus
0257568410
egui: load locale language on startup
2024-08-08 17:12:04 +02:00
Mikolaj Wielgus
a04caeae9c
translation: upload placeholder Fluent files to test Weblate
2024-08-07 20:53:55 +02:00
Mikolaj Wielgus
b0068c5f09
cli: rename the CLI binary to from `topola-cli` to shorter `topola`
2024-07-15 12:02:17 +02:00
Mikolaj Wielgus
cd6c9fbe76
sdl2-bench: remove the SDL2 bench (aka. SDL2 demo) entirely
...
First, from now on I'm going to call the "SDL2 demo" the "SDL2 bench",
as a demo is software that exists to demonstrate, whereas its purpose
lately has been only fast prototyping, as we switched to make all demo
animations in the Egui port anyway.
Second, I'm removing the SDL2 bench anyway as it's a maintenance burden
that lost its utility. It's also affected by a bug in Pathfinder that
makes it impossible to zoom beyond a certain threshold which would
require someone to dig into Pathfinder's codebase, a task I don't think
anyone is interested in.
2024-07-15 01:31:45 +02:00
Mikolaj Wielgus
925e3d5266
cargo: toggle `disable_contracts` feature on by default
2024-07-15 01:23:45 +02:00
Szpachlarz
08c444d16d
cargo: add crate description
2024-07-13 15:16:09 +02:00
Szpachlarz
e706134ed0
cli: create basic cli application
...
it is possible to load design and history,
not yet possible to export results.
2024-07-07 12:05:53 +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
Tomasz Cichoń
7d9bf1346a
dsn: add new parser/writer and .ses export prototype
2024-06-12 13:39:42 +02:00
Mikolaj Wielgus
b09ffad9b3
autorouter: create new command for placing vias
...
Undoing it is not implemented yet.
2024-06-10 02:38:24 +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
3dd311c5fc
contracts: use `disable_contracts` feature instead of checking channel
2024-05-25 22:46:06 +02:00
Mikolaj Wielgus
02bfe1105b
egui: Implement saving command file
2024-05-22 14:38:59 +02:00
Mikolaj Wielgus
aa40c80d82
cargo: make pathfinder an optional, SDL2-only dependency
2024-03-03 11:43:58 +00:00
Mikolaj Wielgus
7d0a17febd
cargo: make rfd, futures dependencies conditioned by egui feature
2024-03-03 06:59:06 +00:00
Mikolaj Wielgus
fd4eb0b4dd
egui: implement basic input file selection from dialog
...
Imported layout is not displayed yet.
2024-03-02 06:54:12 +00:00
Mikolaj Wielgus
f10f7b7ab4
cargo: rename topola-gui to topola-egui, minor refactoring
2024-02-20 04:18:19 +00:00
Mikolaj Wielgus
0cb7a015d4
cargo: clean up features and shorten Cargo.toml
2024-02-19 16:43:39 +00:00
Mikolaj Wielgus
f2c2dca4be
cargo: introduce topola-gui binary crate
2024-02-19 03:17:38 +00:00
Mikolaj Wielgus
171faec010
cargo,sdl2-demo: move the SDL2 demo to its own module behind a feature
2024-02-19 03:17:03 +00:00
Mikolaj Wielgus
296c2f7bc4
cargo: rename vendor/ to vendored/
...
Clearer name: it is us who are vendoring, not some external party.
2024-02-18 20:54:35 +00:00
Mikolaj Wielgus
1af5b96768
deps,graph: split out to new geometry and connectivity graph modules
...
The geometry graph is where the layout's dots, segs, and bends are
stored. The connectivity graph is where information about connected
components and relations between tem (e.g. which ones are connected with
bands) and information common to all band primitives are stored.
This removes dependency on the Slab library. We may go back to it
sometime in the future if we decide to phase out usage of Petgraph's
`StableDiGraph`.
2024-01-13 20:36:25 +00:00
Tomasz Cichoń
9a4e8357e7
deps: add thiserror and anyhow, reduce boilerplate
...
This adds rudimentary error messages and unsilences some errors.
2024-01-13 18:58:20 +01:00
Tomasz Cichoń
ef593aca78
Replace SDL2_gfx with Pathfinder
...
Fixes #12
2023-12-16 22:49:46 +01:00
Mikolaj Wielgus
294e6c4f72
graph,layout,primitive: store band index instead of net in loose weights
2023-12-15 01:42:09 +00:00
Mikolaj Wielgus
f2991af721
Remove dependency on `enum-as-inner` crate
...
Fixes https://codeberg.org/mikolaj/topola/issues/13
2023-12-13 14:29:07 +00:00
Mikolaj Wielgus
9fe591d4dc
mesh: Make bends vertices, too
2023-11-06 23:22:00 +00:00
Mikolaj Wielgus
efea917cb1
draw: Use `enum_dispatch` to dynamically dispatch `Head`
2023-09-17 16:54:23 +02:00
Mikolaj Wielgus
35484972ef
Vendor contracts crate
2023-09-15 00:10:10 +02:00
Mikolaj Wielgus
a1afd19fcb
Implement Petgraph's graph traits on a Spade's triangulation
2023-08-25 23:39:44 +02:00
Mikolaj Wielgus
c7f89c9fb9
Delaunay triangulation using Spade library
2023-08-19 05:55:28 +02:00
Mikolaj Wielgus
cf6460a3db
Initial commit
...
Very basic routing routines and data model. No pathfinding implemented
yet.
2023-07-12 01:01:25 +02:00