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
4c135e964e
Updates for visualizer ( #61 )
...
* Updates for visualizer
* update docstring
2025-08-05 18:20:01 -04:00
Davide Asnaghi
da1375abbd
[FIX] multiple .pcb caches ( #59 )
...
* fix .pcb cache instantiation
* fix format
2025-08-05 11:15:11 -04:00
Martin Charles
926864652c
add nix flake ( #51 )
...
* add nix flake
nix profile install nix profile install github:diodeinc/pcb
kicad isn't packaged here yet but can deal with that later
used crane as there is a bug in nixpkgs rust https://discourse.nixos.org/t/rust-with-git-deps-symbolic-link-error-to-cargo-vendor-dep/28841 and naserk had some issue as well. crane isn't ideal because it doesn't cache properly but now it one click installs so whatever
* allow external buildifier
* fix linux compilation
next up package kicad in a sane way
* fmt
* apply suggestions
2025-08-04 17:33:39 -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
7c2462d1cc
add signature annotation to modules in netlist ( #57 )
...
* feat: add signature annotation to modules in netlist
* fix clippy
* deterministic interface element ordering
2025-08-03 21:27:03 -04:00
Lenny Khazan
2c836ac395
Fix workspace dependencies in schematics viewer ( #54 )
2025-07-31 13:58:36 -04:00
Lenny Khazan
92373d47ba
Automatically cast int<>float ( #52 )
2025-07-29 23:39:47 -04:00
Lenny Khazan
d40521a818
Improve enum handling for io() and config() ( #46 )
...
* Improve handling of enums for io()/config()
* update extraction
2025-07-23 15:13:50 -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
53345164bb
Fix for relative imports in external dependency ( #39 )
...
* Fix for relative imports in external dependency
* expose default value and help text
* Remove duplicate Parameter type
* skip some finicky tests on windows
* unused import
2025-07-21 02:01:47 -04:00
Lenny Khazan
810a7373b5
deterministic parameter ordering ( #38 )
2025-07-20 18:42:02 -04:00
Lenny Khazan
0682b72e08
Fix schematics when symbol= and pin_defs= are provided ( #37 )
2025-07-20 16:57:04 -04:00
Lenny Khazan
9f65ebc80a
More robust VSCode schematics viewer ( #36 )
...
* wip
* RemoteFetcher
* refactor load logic
* update bundle
* updates
* cleanup
* fixes
* skip on windows
* remove unused
* Add sidebar (non-functional for now)
* Misc fixes and speed
* fix for misaligned first-layout
* fix unnamed pins
* remove debugging
* Add edge labels
* net symbol support
* multiple net symbols
* fix eslint
* Pass symbol across module boundary
* Add new Symbol("library.kicad_sym:SYM") syntax
* update spec
* update snaps
2025-07-20 15:04:49 -04:00
Lenny Khazan
ad6f0ded3a
Refactor load logic into pcb-zen-core ( #33 )
...
* wip
* RemoteFetcher
* refactor load logic
* update bundle
* updates
* cleanup
* fixes
* skip on windows
* remove unused
2025-07-18 15:12:53 -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
b58d133104
Autogenerate net names for unnamed interface nets ( #32 )
2025-07-15 21:19:04 -07: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
d3b26cab66
Remove debug log ( #29 )
2025-07-12 10:30:52 -07:00
Lenny Khazan
acff75845c
Schematics Viewer v2 ( #23 )
...
* Support net symbols
* Run renderer tests in CI
* renderer -> LayoutEngine
* wip
* rename
* add examples
* support symbol "extends"
* start reworking layout engine + snapshot tests
* add examples
* wip add nets
* Add signature to ModuleValue
* tweaks
* per-component net labels
* movable
* WIP with ELK
* wip libavoid
* misc fix
* better
* betterer
* improvements
* more
* update
* junction detection
* better
* snapping and stuff
* fix re-rendering
* more better
* more
* cargo fmt
* update bg
* eslint
* cleanup, tests
2025-07-12 13:24:55 -04:00
Davide Asnaghi
1841f961e4
[TEST] bundler ( #27 )
...
* add file provider to bundler
* add tests for bundler
* add tests for bundler, with better load resolution
* unix compliant zip on windows
2025-07-10 23:18:43 -07:00
Davide Asnaghi
3345ba9410
add file provider to bundler ( #26 )
2025-07-10 21:34:59 -07:00
Davide Asnaghi
44891494ef
[FMT] implement formatter ( #25 )
...
* add pcb fmt
* unify pcb path in extension
* change the name of the extension
* bundle buildifier
* better path res
* fix clippy
* recursive
* fix format
* fix one more
* cargo info
* fix format on save
2025-07-10 16:24:25 -07:00
Lenny Khazan
47d379eb84
Properly sync component sides ( #24 )
2025-07-07 16:44:31 -07:00
Davide Asnaghi
e7a71f1fdb
[MODULE] resolve workspace loads ( #19 )
...
* use load resolving with modules
* local package resolution
* fix spec
* update snapshots
* remove unnecessary code
* move to snapshot tests
* revert eval errors
* canonical cache
* make tests work on windows
* refresh snap
* do not shadow alias
* fix: Add serial_test to prevent race conditions in module loading tests
- Add serial_test dependency to pcb-zen crate
- Mark tests that use package aliases with #[serial_test::serial]
- This prevents race conditions with the global ALIAS_CACHE when tests run in parallel
- Fixes test failures on Ubuntu where path canonicalization differs from macOS
2025-07-06 23:34:42 -07:00
Lenny Khazan
e36f2d0cc0
Add pcb clean ( #22 )
2025-07-07 02:28:36 -04:00
Lenny Khazan
a8aa30d97e
Optimize symbol library loading ( #20 )
...
* Fix incorrect symbol rendering in schematics viewer
* Cache symbol library
* update snaps
2025-07-07 01:50:17 -04:00
Davide Asnaghi
f1a972ee59
kicad test ( #18 )
...
* add test for kicad
* cache dir in snapshots
2025-07-05 18:06:02 -04:00
Lenny Khazan
d6ff024281
Update symbol handling, support gitlab packages ( #14 )
...
* Add Symbol() primitive
* Add print output to snaps
* gitlab support
* Add gitlab support, handle unnamed pins
* Add @kicad-symbols alias
* cargo fmt
* fmt
* update snap
2025-07-05 00:10:45 -04:00
Lenny Khazan
05ea979f76
Reduce code duplication ( #12 )
...
* DRY
* reduce is_list implementation length by 24%
* remove simple.rs
2025-07-04 00:04:54 -04: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
cbaf6f765b
remove net kwarg support
2025-07-02 16:42:02 -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