Commit Graph

32 Commits

Author SHA1 Message Date
d-asnaghi 5c539e1618 add hatching to complex test 2025-08-24 01:10:28 -04:00
d-asnaghi c0e7524da3 use Duplicate 2025-08-24 01:05:23 -04:00
d-asnaghi 497bc9a6bf add graphics groups 2025-08-24 00:11:04 -04:00
d-asnaghi 6114d1b14c move methods to virtual item 2025-08-23 23:56:12 -04:00
d-asnaghi 9b2a3014fe reduce complexity 2025-08-23 23:50:05 -04:00
d-asnaghi 5c84abe585 add graphics test 2025-08-23 23:14:18 -04:00
d-asnaghi ed1f17185b fix snapshots with no files 2025-08-23 23:12:44 -04:00
d-asnaghi bd73505b33 deterministic snapshot 2025-08-23 23:12:44 -04:00
d-asnaghi a48dec4ea0 add complex test 2025-08-23 23:12:44 -04:00
d-asnaghi 96696f48c3 fix sync graphics 2025-08-23 23:12:44 -04:00
d-asnaghi 9c80fab38f add zone sync 2025-08-23 23:12:44 -04:00
d-asnaghi ab281447da hack: keep old tests to make sure we don't mess up 2025-08-23 23:12:44 -04:00
d-asnaghi 9097c81c55 wip: fix nets for zones 2025-08-23 23:12:44 -04:00
d-asnaghi 9bd46cea2c hack: amend tests with (0,0) positioning for now 2025-08-23 23:12:44 -04:00
d-asnaghi 117e879aaa add more interesting test 2025-08-23 23:12:44 -04:00
d-asnaghi 85f5ab3ece fix net determinism 2025-08-23 23:12:44 -04:00
d-asnaghi dcf37bd51e fix zone sync 2025-08-23 23:12:44 -04:00
d-asnaghi 94723014f0 simpler zone test 2025-08-23 23:12:44 -04:00
d-asnaghi 4201c01536 add zones to groups 2025-08-23 23:12:44 -04:00
d-asnaghi 6a29835ead add initial test for zone sync 2025-08-23 23:12:44 -04:00
d-asnaghi 2027895d99 sync zones and text 2025-08-23 23:12:44 -04:00
Akhil Velagapudi 44c73baf2d [DIO-319] Add board config to pcb.toml, pcb info (#92)
* Add board config to pcb.toml, pcb info

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Choose first board (when sorted) as fallback default

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add secondary heuristics pass to detect boards without pcb.toml

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Update snapshots

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Don't allow malformed pcb.toml

Empty pcb.toml is fine.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Don't copy .pcb/cache into test fixture

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Replace test-workspace with snapshot tests of pcb info

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-21 15:20:16 -07:00
Akhil Velagapudi 58549fb924 [DIO-301] Add pcb vendor, pcb build --offline (#72)
* Update Cargo.lock

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add pcb vendor

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Copy pcb.toml to release if it exists

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Use vendor dir in resolver

Add --offline support to build, layout.
Standardize behavior of find_workspace_root. Most of the callsites would
fallback on parent dir of target .zen file. We should just do that
universally to reduce conditional code paths.

Add an option to the resolve to not use the vendor dir in case that's
useful in some cases.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Drop vendor alias

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Only support pcb vendor in pcb.toml workspaces

Attempting to resolve a common workspace root from multiple zen files in
a dir without pcb.toml just got way too complicated. We can add support
for this in the future if needed.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Canonicalize zen_path

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-15 12:07:51 -07:00
Lenny Khazan d3bef1b0a5 Update net naming strategy (#62)
* Consistent net naming

* cargo fmt

* fix clippy

* uniquify net names
2025-08-08 15:52:15 -04:00
Lenny Khazan 834fc645cc [DIO-293] Add dnp/exclude_from_bom support (#58)
* [DIO-293] Add dnp/exclude_from_bom support

* ignore underscored fields
2025-08-04 16:28:07 -04:00
Lenny Khazan 7aef7940c2 Fix handling of kicad_sym (extends ...) (#40)
* Fix handling of kicad_sym (extends ...)

* update snaps
2025-07-21 23:02:33 -04:00
Lenny Khazan 345494f55b Fix symbols with multiple pads per pin + component orientation on back-side components (#34)
* Fix symbols with multiple pads per pin

* remove unused

* update layout syncing

* update snap for kicad 9.0.3

* Fix orientation syncing for back components

* update to kicad 9.0.3 on windows

* more robust kicad version in CI
2025-07-18 14:37:05 -04:00
Lenny Khazan aebd53ce61 Schematic layout persistence (#31)
* port changes from main repo

* persist sch position

* Update tests

* remove unused
2025-07-14 02:20:13 -04:00
Lenny Khazan 47d379eb84 Properly sync component sides (#24) 2025-07-07 16:44:31 -07:00
Lenny Khazan f75787dbf3 Standardize crate metadata (#10) 2025-07-02 23:40:29 -04:00
Lenny Khazan 143633eb14 Starlark -> Zener (#8) 2025-07-02 17:25:45 -04:00
Lenny Khazan e852477546 Initial release (#5)
* Initial release

* cargo-dist

* build and test CI

* update ubuntu workflow

* fmt

* ubuntu: install deps

* clippy: 0.1.88 fixes

* format

* install clippy

* Update README.md

* Don't run cargo-dist on PRs
2025-07-01 04:06:08 -04:00