Mikolaj Wielgus
ef823c1c27
board,layout: rename "layout" to "drawing", "board" to "layout"
2024-03-22 23:23:31 +00:00
Mikolaj Wielgus
4cb429ca6d
dsn: handle instance and pin rotations and offsets
2024-03-17 20:16:53 +00:00
Mikolaj Wielgus
d58bff85fe
dsn: don't flip y coord on import, do so when rendering
2024-03-17 13:58:29 +00:00
Mikolaj Wielgus
cc7b3ac875
dsn: flip pads of components placed on the back side
2024-03-17 13:58:29 +00:00
Mikolaj Wielgus
14f3234b7b
dsn: implement crude polygon importing
...
sdl2-demo now stack-overflows when zooming-in too much, probably for a
reason related to pathfinder.
2024-03-17 13:58:29 +00:00
Mikolaj Wielgus
fe89226072
dsn: implement basic import of paths in pads
2024-03-17 13:58:29 +00:00
Mikolaj Wielgus
451d4da7a6
dsn: crudely import rect outlines
2024-03-17 13:58:26 +00:00
Mikolaj Wielgus
5a3ed6adab
layout: don't fail on infringement when adding fixed primitives
2024-03-15 21:21:29 +00:00
Mikolaj Wielgus
74d10f4a9e
layout,sdl2-demo,egui: basic support for displaying two layers
2024-03-14 21:51:29 +00:00
Mikolaj Wielgus
5a0ea94a87
geometry: make shape bboxes occupy only one layer instead of all
2024-03-14 19:17:38 +00:00
Mikolaj Wielgus
cf01cdaea5
geometry: store the bbox in the rtree instead of caching the shape
2024-03-14 17:01:00 +00:00
Mikolaj Wielgus
6965177e78
layout: access shape via layout instead of getting it from a cache
2024-03-14 13:59:22 +00:00
Mikolaj Wielgus
93381f39fb
geometry: store some layer data in `GeometryWithRtree`
2024-03-14 13:27:31 +00:00
Mikolaj Wielgus
9730ff215e
layout: inherit `GetLayer` via enum_dispatch macro
2024-03-14 00:52:57 +00:00
Mikolaj Wielgus
45593c9e7a
dsn,layout: store layer in weights
2024-03-11 22:34:14 +00:00
Mikolaj Wielgus
d8e128e81a
egui: actually load and display the layout
2024-03-09 17:03:05 +00:00
Mikolaj Wielgus
f8892f64a7
dsn: make `DsnDesign` don't own the constructed `DsnRules` object
2024-03-09 13:12:58 +00:00
Tomasz Cichoń
b661047ca8
sdl2-demo: fix envelope/mesh sizes
2024-03-08 13:07:46 +01:00
Tomasz Cichoń
164a2230ee
dsn: encapsulate de::Deserializer, reorganize error types
2024-03-08 12:40:06 +01:00
Tomasz Cichoń
12574712a4
dsn: remove temporary scaling factor
...
The binary targets have zooming and no longer need it for display.
2024-03-08 10:12:31 +01:00
Tomasz Cichoń
23fe001647
tests: add export of prerouted_lm317_breakout
...
The file can now be parsed and partially loaded into Layout.
2024-03-08 09:09:38 +01:00
Tomasz Cichoń
fb6922a5e5
sdl2-demo: add zooming/panning
2024-03-08 08:55:30 +01:00
Tomasz Cichoń
ada12b32fd
dsn: fix import bug misplacing shapes
2024-03-08 06:56:17 +01:00
Tomasz Cichoń
137026301c
dsn: make import skip rather than panic on unsupported shapes
...
This should help debug the infringements happening when trying to load prerouted_lm317_breakout.
2024-03-08 06:00:17 +01:00
Tomasz Cichoń
6bbbc368c6
dsn: refactor the parser/serializer to allow enums
...
This cleans up and defines new types in structure.rs as well.
2024-03-08 05:06:00 +01:00
Mikolaj Wielgus
8a56a16528
egui: implement zooming in/out to a point
2024-03-05 20:02:16 +00:00
Mikolaj Wielgus
4959f3512b
egui: implement moving the canvas horizontally and vertically
2024-03-05 18:51:17 +00:00
Mikolaj Wielgus
b43111030e
egui: implement basic interactive zooming
2024-03-05 12:56:44 +00:00
Mikolaj Wielgus
4689bc8e37
dsn: layout may contain multiple planes
2024-03-04 11:07:34 +00:00
Mikolaj Wielgus
803d8edf94
dsn: count lines from 1, not 0
2024-03-04 10:49:22 +00:00
Mikolaj Wielgus
aa40c80d82
cargo: make pathfinder an optional, SDL2-only dependency
2024-03-03 11:43:58 +00:00
Mikolaj Wielgus
ec799fb107
dsn: display line, column when printing error
2024-03-03 10:53:42 +00:00
Mikolaj Wielgus
7d0a17febd
cargo: make rfd, futures dependencies conditioned by egui feature
2024-03-03 06:59:06 +00:00
Mikolaj Wielgus
e50fb26bdd
egui: make the WASM port actually work
2024-03-02 16:09:01 +00:00
Mikolaj Wielgus
95d3b8291e
assets: add logo
...
A really simple logo as I'm really bad at drawing.
2024-03-02 09:57:48 +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
d5d26cdaeb
tests: add prerouted LM317 breakout board project for testing
...
Will add some tests for it in later commits.
2024-03-01 11:13:04 +00:00
Tomasz Cichoń
88180f5f33
dsn: add the ability to load planes, polygons and rotated pins
2024-03-01 03:52:28 +01:00
Tomasz Cichoń
de21bbaa8e
dsn, rules: fix import bugs, update test file
2024-02-29 22:12:37 +01:00
Mikolaj Wielgus
2f6b40410c
board: make layout private
...
Also add board/ directory, as I forgot to add it in the previous commit.
2024-02-29 02:28:15 +00:00
Mikolaj Wielgus
8d55fbc837
layout: move connectivity to new superordinate `Board` struct
...
This is very rudimentary (merely compiles and doesn't panic). Routing is
unlikely to work at the moment. I'll be fixing all this in subsequent
commits.
2024-02-28 09:24:49 +00:00
Tomasz Cichoń
b53dc62df3
rules: implement `RulesTrait` for rules imported from DSN
2024-02-28 04:17:59 +01:00
Mikolaj Wielgus
bec701dbc9
Revert "layout: encapsulate weight geometrical datas in new "geodata" structs"
...
This reverts commit a3ba8c9ba9 .
This wasn't the right approach. Instead, we need a superordinate struct
that will manage the connectivity without layout knowing anything about
it.
2024-02-27 06:19:35 +00:00
Tomasz Cichoń
88c353896c
dsn: fix net assignment for imported pins
2024-02-27 04:39:39 +01:00
Mikolaj Wielgus
a3ba8c9ba9
layout: encapsulate weight geometrical datas in new "geodata" structs
2024-02-26 23:39:10 +00:00
Mikolaj Wielgus
7f69ffddf9
geometry: move geometry module to from layout to root
...
As we'll be creating a deeper hierarchy of modules subordinate to
layout, we need to keep the module full paths short to prevent tem from
growing uncontrollably.
2024-02-26 19:16:40 +00:00
Mikolaj Wielgus
bbc89a3c94
dsn: implement loading pins from components
2024-02-24 05:35:07 +00:00
Mikolaj Wielgus
5ba56963ee
dsn,tests: use pins instead of vias in test .dsn file
2024-02-23 23:07:39 +00:00
Tomasz Cichoń
786953787f
dsn: add loading of assignments of pins to nets
2024-02-23 06:30:10 +01:00
Tomasz Cichoń
bf7d89e7bd
dsn: include the source files the test case was exported from
2024-02-23 04:34:08 +01:00