Commit Graph

97 Commits

Author SHA1 Message Date
d-asnaghi f65acffded advanced install 2025-08-05 15:11:17 -04:00
d-asnaghi fab19051ab add vscode features 2025-08-05 14:34:02 -04:00
d-asnaghi 5c00a96335 add vscode links 2025-08-05 14:31:40 -04:00
d-asnaghi 18c77f59c6 add diode theme 2025-08-05 13:05:08 -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 fe7daceafd Update README.md (#55) 2025-08-01 14:28:05 -04:00
Lenny Khazan 2c836ac395 Fix workspace dependencies in schematics viewer (#54) 2025-07-31 13:58:36 -04:00
Lenny Khazan f702b18a75 Update docs (#53) 2025-07-30 13:02:08 -04:00
Lenny Khazan 92373d47ba Automatically cast int<>float (#52) 2025-07-29 23:39:47 -04:00
Lenny Khazan e48c6d9286 update prerelease (#48) v0.2.0-prerelease.2 2025-07-24 14:49:04 -04:00
Lenny Khazan d62249223b Update release process (#47)
* Update release process

* Remove workflow
2025-07-24 14:47:50 -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 3d09ba9283 Update README.md (#45) 2025-07-23 00:34:02 -04:00
Lenny Khazan eeb9e323b6 fix: exclude aarch64-unknown-linux-gnu and add VSCode extension to cargo-dist (#43)
- Remove aarch64-unknown-linux-gnu target from the build matrix to fix
  build failures in the release workflow
- Add VSCode extension as an extra artifact that gets built and
  distributed with releases
- Set up Node.js in GitHub Actions workflow for building the extension

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
v0.2.0-prerelease.1
2025-07-22 15:22:04 -04:00
Lenny Khazan 891f4698b1 update version to 0.2.0-prerelease.1 (#42) 2025-07-22 13:53:31 -04:00
Lenny Khazan 9798fb08f3 Update VSCode extension (#41)
* Update VSCode extension

* fix lint

* lint

* lint
2025-07-21 23:59:10 -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 24fb3e029d Update README.md (#35) 2025-07-18 14:39:31 -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 46acd8d1a2 update cargo dist (#21) 2025-07-07 01:55: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
Lenny Khazan ba3fa631f1 Simplify spec (#16) 2025-07-06 20:10:59 -04:00
Davide Asnaghi f1a972ee59 kicad test (#18)
* add test for kicad

* cache dir in snapshots
2025-07-05 18:06:02 -04:00
Davide Asnaghi aafeae95c6 specify node version for preview (#17) 2025-07-05 12:22:35 -04:00
Lenny Khazan 0dbe20af0c Initial VSCode release (#15)
* Initial VSCode release

* Add CI

* add deps

* fix eslint

* refactor workflows
2025-07-05 01:51:29 -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 0a13cdc75a Add stdlib build test (#13)
* Add stdlib build test

* update

* update
2025-07-04 11:00:03 -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 db6e5f4cf2 vendor openssl (#11) 2025-07-03 18:45:37 -04:00
Lenny Khazan f75787dbf3 Standardize crate metadata (#10) 2025-07-02 23:40:29 -04:00
Jon-Liang 7c9be62b77 fix(README): Rename LED -> Led for Quick Start section (#9)
Current README as-is results in a resource resolution
error and requires renaming reference to
LED.star -> Led.star

Co-authored-by: Jon Liang <jon@freckle.tech>
2025-07-02 18:47:51 -04:00
Lenny Khazan 143633eb14 Starlark -> Zener (#8) 2025-07-02 17:25:45 -04:00