Commit Graph

94 Commits

Author SHA1 Message Date
github-actions[bot] 14d96f9c81
chore: release v0.4.3 (#26)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-29 20:55:56 +08:00
Milind Sharma d9644312ef
refactor: modularize client API and finalize v10 assessment follow-ups (#25)
* feat: bump vendored KiCad protos to v10.0.0

* test: add protocol contract tests for board layer name

* docs: overhaul README and guide site

- Rewrite README with punchy opening, realistic examples, and cleaner structure
- Update status to Beta and version numbers to 0.4.1
- Remove redundant sections (roadmap, future work, guide site link)
- Simplify API matrix by removing redundant Status column
- Add CONTRIBUTING.md header with welcoming message
- Expand mdBook examples with real-world patterns:
  - PCB analysis (unconnected nets, footprints)
  - Automation (text variables, test points)
  - CI/CD integration patterns
  - Net class validation
  - Selection manipulation
- Update mdBook intro with comparison table and clearer goals
- Update quickstart version numbers
- Suppress missing_docs warnings for internal modules (commands, envelope, transport)
- Format code with cargo fmt

* docs: complete library assessment report with verified findings

- Corrected baseline metrics (5448 LOC client.rs, 7903 non-generated total, 12766 overall)
- Added full non-generated source tree with LOC breakdown
- Expanded anti-pattern scan from 3 to 6 findings (AP-4 through AP-6)
- Added verified clean signals (zero production unwrap/expect/panic)
- Added transport architecture, feature flag, and model cross-dependency analysis
- Proposed concrete client.rs domain split into 8 modules
- Identified 5 new documentation issues (DR-2 through DR-6)
- Resolved DR-1 (version drift already fixed)
- Expanded risk register from 5 to 9 entries
- Updated prioritized action plan with corrected priorities

* fix: complete P0 action items from library assessment

- Fix clone_on_copy in client.rs map_text_shape (AP-1)
- Add clippy::enum_variant_names allow for generated proto code (AP-2)
- Fix bool_assert_comparison patterns in test assertions (AP-3)
- Fix broken README anchor in validation.md (DR-2)
- Remove docs/book/src/https: filesystem artifact (DR-3)

* refactor: split monolithic client.rs into domain modules

Split src/client.rs (5448 LOC) into src/client/ directory with 11 modules:
- mod.rs: core structs, builder, constants, send_command
- common.rs: ping, version, paths, documents, text vars, text geometry
- board.rs: nets, layers, origin, stackup, graphics, appearance, DRC
- selection.rs: get/add/remove/clear selection
- items.rs: CRUD, get by type/net/class, commit workflow
- document.rs: title block, save, revert, string serialization
- geometry.rs: bounding boxes, hit test, pad polygons, padstack, zones
- mappers.rs: all proto-to-model and model-to-proto conversions
- decode.rs: PCB item type decoding
- format.rs: selection detail formatting, debug utilities
- tests.rs: all unit tests

No public API changes. All existing tests pass.
Updated blocking parity test to scan split module files.

* refactor: add rpc! dispatch macro to reduce RPC boilerplate

Introduce rpc! macro in client/mod.rs that encapsulates the
pack → send_command → response_payload_as_any pattern repeated
across 57 RPC methods. Demonstrate usage in common.rs with 4
converted _raw methods.

* feat: complete P1/P2 action items from library assessment

- Add beginner examples: hello_kicad.rs and board_inspector.rs
- Add README prerequisites section with KiCad IPC API setup guide
- Add README examples section with run commands for all 3 examples
- Add protocol-contract tests: CMD/RES prefix validation, PCB types catalog
- Add module-level rustdoc to all client submodules
- All tests pass (default + blocking features)

* docs: update assessment report with completed action items

Mark resolved: AP-1/AP-2/AP-3 (clippy), DR-2 (anchor), DR-3 (artifact),
ST-1 (client.rs split), DR-5 (examples), DR-6 (prerequisites).
Mark mitigated: AP-4 (RPC boilerplate via rpc! macro).
Update baseline metrics to reflect 11-module client layout.
Update risk register, action plan status, and revision history.

* chore: finalize tier-1 API docs and modular client cleanup

Document the public client and blocking surfaces so strict rustdoc linting passes, while keeping tier-2/3 internals lightly scoped. Also clean stale modularization references and remove leftover split-refactor dead imports/helpers to reduce maintenance drift.
2026-03-29 20:54:49 +08:00
github-actions[bot] 071f22897a
chore: release v0.4.2 (#24)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-29 12:02:21 +08:00
Milind Sharma 735384f0bc
feat: bump vendored KiCad protos to v10.0.0 (#23)
* feat: bump vendored KiCad protos to v10.0.0

* test: add protocol contract tests for board layer name

* docs: overhaul README and guide site

- Rewrite README with punchy opening, realistic examples, and cleaner structure
- Update status to Beta and version numbers to 0.4.1
- Remove redundant sections (roadmap, future work, guide site link)
- Simplify API matrix by removing redundant Status column
- Add CONTRIBUTING.md header with welcoming message
- Expand mdBook examples with real-world patterns:
  - PCB analysis (unconnected nets, footprints)
  - Automation (text variables, test points)
  - CI/CD integration patterns
  - Net class validation
  - Selection manipulation
- Update mdBook intro with comparison table and clearer goals
- Update quickstart version numbers
- Suppress missing_docs warnings for internal modules (commands, envelope, transport)
- Format code with cargo fmt
2026-03-29 12:01:16 +08:00
github-actions[bot] d1928b7a39
chore: release v0.4.1 (#22)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-19 23:00:31 +08:00
adarwoo af516256fb
fix: use named pipe probe for IPC availability on Windows (#21) 2026-03-19 22:59:08 +08:00
github-actions[bot] fd02c6f3db
chore: release v0.4.0 (#20)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-06 19:09:26 +08:00
Milind Sharma b32eb7fa44
fix: reduce selection API lossiness in existing public methods (#19)
* fix(selection): preserve selection payload fidelity in existing APIs

* docs(selection): update deep-dump example for revised selection signatures

* docs(selection): document revised selection signatures and return models
2026-03-06 00:28:48 +08:00
Milind Sharma e1c83bf561
chore: release v0.3.2
chore: release v0.3.2
2026-03-02 20:09:19 +08:00
github-actions[bot] cf0f213999
chore: release v0.3.2 2026-03-02 12:08:25 +00:00
Milind Sharma eefdb9391c
Merge pull request #17 from Milind220/codex/fix-release-plz-book-ignore
fix(ci): stop ignoring tracked docs/book files
2026-03-02 20:07:31 +08:00
Milind Sharma 22b2ab14e3 fix(ci): narrow book ignore to unblock release-plz 2026-03-02 19:58:38 +08:00
Milind Sharma 9fbf833174
fix: decouple project commands from GetOpenDocuments and add KIPRJMOD fallback (#16)
* fix(api): use project doc context for text vars and add KIPRJMOD fallback

* fix(api): tighten project-path fallback and unhandled detection
2026-03-02 17:25:57 +08:00
Milind Sharma 0b078379bd
docs: add mdBook guide site and Pages deploy workflow (#15)
* docs(book): add mdBook guide scaffold and chapters

* fix(book): correct mdBook summary external link handling

* ci(docs): add mdBook build and pages deploy workflow

* docs(readme): document mdBook guide site and paths

* chore(gitignore): ignore mdbook output directory

* ci(docs): split mdbook build and deploy permissions
2026-02-28 13:15:33 +08:00
github-actions[bot] 066ddea096
chore: release v0.3.1 (#14)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-28 12:21:48 +08:00
Milind Sharma 22f168017a
fix(api): strengthen crate-level and high-impact API docs (#13)
* docs(api): strengthen crate and high-impact rustdoc

* fix(readme): update stale crate version references
2026-02-28 12:18:46 +08:00
Milind Sharma 2aada9a247
docs: add contributing and repo agent guidance (#9) 2026-02-22 21:20:21 +08:00
github-actions[bot] f25874f4df
chore: release v0.3.0 (#12)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-22 21:11:55 +08:00
Milind Sharma 591918a176
ci: gate release job on release-pr output (#11)
* Create release-plz.yml

* ci: configure release-plz auto-release workflow

* ci: allow crates token from env vars fallback

* ci: add release-pr flow and release commit filtering

* ci: gate release job on release-pr output
2026-02-22 21:01:29 +08:00
Milind Sharma 1b448b9d75
ci: fix release-plz workflow for auto release on main (#10)
* Create release-plz.yml

* ci: configure release-plz auto-release workflow

* ci: allow crates token from env vars fallback

* ci: add release-pr flow and release commit filtering
2026-02-22 20:40:05 +08:00
Milind Sharma 0494561a21
Merge pull request #8 from Milind220/codex/pcbvia-layer-span
feat: expose via layer spans in typed model and CLI
2026-02-22 20:01:23 +08:00
Milind Sharma ed98f12c51 feat: expose via layer spans in typed model and CLI 2026-02-22 18:20:04 +08:00
Milind Sharma 364780e81b
Merge pull request #7 from Milind220/chore/fix-lockfile
chore: update lockfile with minor version bump
2026-02-21 17:43:19 +08:00
Milind Sharma 185f21e15f chore: update lockfile with minor version bump 2026-02-21 17:42:41 +08:00
Milind Sharma 1041b02185
Merge pull request #6 from Milind220/Milind220-patch-1
Bump version to 0.2.0
2026-02-21 17:36:41 +08:00
Milind Sharma f88967b8cf
Bump version to 0.2.0 2026-02-21 17:36:22 +08:00
Milind Sharma 853b7ed9d9
Merge pull request #5 from sync-wrapper-parity
feat(blocking): ship full sync wrapper parity
2026-02-21 17:34:17 +08:00
Milind Sharma a0271419cc feat(blocking): ship full sync wrapper parity 2026-02-21 17:24:33 +08:00
Milind Sharma 81d98bbfc4 chore: sync lockfile for v0.1.1 2026-02-21 01:17:03 +08:00
Milind Sharma 7e8fe5d812
Bump version to 0.1.1 in Cargo.toml 2026-02-21 01:10:29 +08:00
Milind Sharma 6c5570210c
Merge pull request #4 from Milind220/codex/pin-kicad-10-0-0-rc1-1
chore(proto-gen): pin KiCad proto to 10.0.0-rc1.1
2026-02-21 01:09:52 +08:00
Milind Sharma 9513fba710 chore(proto-gen): pin KiCad proto to 10.0.0-rc1.1 2026-02-21 01:08:05 +08:00
Milind Sharma 3ae0222015
Merge pull request #3 from kicad-proto-submodule
refactor: remove vendored proto + ship generated bindings
2026-02-21 00:57:38 +08:00
Milind Sharma 77696727e6 chore: add proto regeneration maintainer workflow 2026-02-21 00:54:36 +08:00
Milind Sharma a46f6edae4 refactor: ship generated protobuf bindings 2026-02-21 00:36:04 +08:00
Milind Sharma 358b27e0ff refactor: source KiCad proto files from submodule 2026-02-21 00:27:23 +08:00
Milind Sharma 54ff957ab5
Merge pull request #2 from Milind220/codex/publish-kicad-ipc-rs-v0.1.0
chore: prepare kicad-ipc-rs v0.1.0 release
2026-02-20 23:57:33 +08:00
Milind Sharma 29417d01aa chore: prepare kicad-ipc-rs v0.1.0 release 2026-02-20 23:53:21 +08:00
Milind Sharma 5674b4f176
Merge pull request #1 from Milind220/codex/pcb-write-sync-wrapper
Finish v0.1.0 API - Full read + write API for all available commands as of KiCAD v10 - rc1.1
2026-02-20 23:32:28 +08:00
Milind Sharma cdf37bb7b6 feat(board): add InteractiveMoveItems API and CLI command 2026-02-20 18:59:02 +08:00
Milind Sharma deb03b9c48 feat(board): add UpdateBoardStackup API and CLI command 2026-02-20 18:56:32 +08:00
Milind Sharma 0e8217fd8f feat(project): add SetTextVariables API and CLI command 2026-02-20 18:48:38 +08:00
Milind Sharma fff70f61c1 feat(project): add SetNetClasses API and CLI command 2026-02-20 18:45:41 +08:00
Milind Sharma 1c57eef959 feat(common): add ParseAndCreateItemsFromString API and CLI command 2026-02-20 18:40:42 +08:00
Milind Sharma a2a3dbc771 feat(common): add DeleteItems API and CLI command 2026-02-20 18:38:48 +08:00
Milind Sharma b26a04e392 feat(common): add UpdateItems API and CLI command 2026-02-20 18:36:18 +08:00
Milind Sharma 01ed710ae2 feat(common): add CreateItems API and CLI command 2026-02-20 18:34:23 +08:00
Milind Sharma a29a573c6d feat(common): add RunAction API and CLI command 2026-02-20 18:30:18 +08:00
Milind Sharma e03bc9ab89 feat(common): add RevertDocument API and CLI command 2026-02-20 18:25:23 +08:00
Milind Sharma 14856ec9d6 feat(common): add SaveCopyOfDocument API and CLI command 2026-02-20 18:23:41 +08:00