Commit Graph

53 Commits

Author SHA1 Message Date
Alain Emilia Anna Zscheile 0b37bb2dbc feat: add rudimentary fuzzer for specctra-core DSN parser
Fixes #110
2024-12-06 14:38:09 +01:00
Alain Emilia Anna Zscheile 0fe23c9c71 build: put `specctra` module into separate crate 2024-12-06 14:38:00 +01:00
Alain Emilia Anna Zscheile e77a034634 chore: bump dependencies (mostly geo, thiserror) 2024-12-05 19:17:43 +01:00
Mikolaj Wielgus 0cac186aa4 fix(cargo): remove accidentally added unused cargo dependency 2024-12-02 06:06:41 +01:00
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