48 Commits

Author SHA1 Message Date
Jon Evans
c4c1842bc4 API: Add new user layers
See https://gitlab.com/kicad/code/kicad-python/-/issues/23
2025-02-24 19:27:13 -05:00
Jeff Young
a8a1b08013 Make sure protobuf API stays consistent. 2025-02-20 17:47:40 +00:00
Jeff Young
5edae8250d Finish eradication of visibility flag on text items.
Import/read previously-hidden symbol/footprint
text items as hidden fields.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19875
2025-02-19 23:43:52 +00:00
Jon Evans
4118c14d97 API: Add selection handling 2025-01-21 19:53:03 -05:00
Jon Evans
0ba869465c API: switch to Distance type for thermal settings 2025-01-09 21:25:15 -05:00
Jon Evans
4dfcbc6d2a API: make thermal spoke settings optional 2025-01-09 20:55:50 -05:00
Jon Evans
bd47692bf2 API: Include custom layer names in stackup 2025-01-07 18:28:07 -05:00
Jon Evans
4bf852e6b9 Be slightly more restrictive in actions schema 2025-01-05 20:53:00 -05:00
Jon Evans
d64226f144 Add some more descriptions to plugin schema 2025-01-05 20:47:40 -05:00
Jon Evans
3f7e459d62 API: add a schema for plugin config files
Also flip the dependence between json_schema_validator and kicommon,
and create a shared JSON_SCHEMA_VALIDATOR so that we don't have to
copy/paste the schema loading code as much
2025-01-05 17:08:33 -05:00
Jon Evans
7db75e4f50 API: expand board stackup serialization 2025-01-04 15:15:51 -05:00
Jon Evans
1fa432b029 API: add GetKiCadBinaryPath 2025-01-04 10:14:17 -05:00
Jon Evans
a557c23576 API: Add board file management
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16774
2025-01-04 09:47:36 -05:00
Jon Evans
d8b8d8aa3c API: Add GetNetClassForNets; handle implicit netclasses 2024-12-31 17:51:19 -05:00
Alex Shvartzkop
8a7cca209e Add --experimental_allow_proto3_optional to support older protoc. 2024-12-31 18:51:03 +03:00
Jon Evans
2c56e9826a API: Add serialization for netclasses
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18609
2024-12-30 23:29:29 -05:00
Jon Evans
1a3e18104a API: Add access to project text variables
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16426
2024-12-30 09:32:11 -05:00
Jon Evans
19c748048c API: Add some board editor appearance settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18269
2024-12-29 22:10:01 -05:00
Jon Evans
2c94684f9f API: Add a preferred plugin settings path
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9054
2024-12-28 16:21:05 -05:00
Jon Evans
98ae574c78 API: Add PCB editor visible and active layer setters/getters
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18268
2024-12-03 21:17:48 -05:00
Jon Evans
719f4eabd9 API: Add message skeleton for sexpr serialization 2024-12-01 15:50:40 -05:00
Jon Evans
13625daeca API: Implement dimension serialization 2024-11-30 17:22:15 -05:00
Jon Evans
49d5e64428 API: Add initial definitions for dimensions 2024-11-29 21:18:51 -05:00
Jon Evans
8ff3ef5fd5 API: Add ExpandTextVariables 2024-11-28 19:21:18 -05:00
Jon Evans
0d7588bdfb API: Improve handling of compound shapes 2024-11-28 17:58:23 -05:00
Jon Evans
32684decbb API: Move locking to the PCB text objects 2024-11-28 11:48:01 -05:00
Jon Evans
3129e072c4 API: Move graphics and text handling to common
Required moving API_HANDLER_COMMON out of kicommon
2024-11-28 11:28:06 -05:00
Jon Evans
07f0b096ba API: Move graphic shapes to common 2024-11-26 18:55:20 -05:00
Jon Evans
c0d43c0c0c API: Add serialization of FP_3DMODEL 2024-11-24 15:53:10 -05:00
Jon Evans
af91519e06 API: Implement Deserialize for ZONE 2024-11-23 12:06:54 -05:00
Jon Evans
62df972c2d API: implement serialization for ZONE 2024-11-23 11:04:34 -05:00
Jon Evans
dd65a44dd6 API: Add initial spec for ZONE serialization 2024-11-21 22:09:14 -05:00
Jon Evans
af71ea869e API: Expose title block info 2024-11-19 23:44:29 -05:00
Jon Evans
033fb4fc8f API: Add GetBoundingBox and Box2 2024-11-19 22:09:00 -05:00
Jon Evans
f97f79426a API: Add a way to get merged polygon from pad shape 2024-11-19 21:17:22 -05:00
Jon Evans
732f03753d Add drill shape to padstack API 2024-11-18 00:12:34 -05:00
Jon Evans
b44015e204 Add padstack copper offset to API 2024-11-17 23:56:11 -05:00
Jon Evans
cb06d750de Add trapezoid delta to the padstack API definition 2024-11-17 22:32:35 -05:00
Jon Evans
91db6e8aab Align API for padstacks with the actual implementation 2024-11-06 23:42:02 -05:00
Jon Evans
56e0811516 Phase 2 of padstack support
CHANGED: PCB file format now supports saving/loading complex padstacks

CHANGED: PTH pads are now rendered per copper layer in the copper color;
         the PTH pad color is no longer used.

ADDED: support for importing complex pad stacks from Altium PCBs

Enforce padstack-aware access to pad properties across KiCad

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8182
2024-10-01 19:55:03 -04:00
Jon Evans
284a760af7 Move more properties into PADSTACK 2024-07-20 17:48:20 -04:00
Jon Evans
f5e7c705db Move custom shapes to PADSTACK; support in API 2024-06-08 14:26:36 -04:00
Jon Evans
0b0a37aaf7 Move padstack serialization to PADSTACK
Also move a few more things from pad/via
2024-06-04 09:28:24 -04:00
Jon Evans
02ec894b83 Remove LIB types from API for now
All with the possible exception of LIB_SYMBOL are going away
2024-04-13 15:03:34 -04:00
Jon Evans
ca5ca2858c Fix installation packaging of kiapi on macOS 2024-04-04 17:55:32 -04:00
Jon Evans
6a203fb289 Set SOVERSION for kiapi 2024-04-03 18:13:41 -04:00
Jon Evans
1dbe78c68b Add QA tests and expand serialization for API 2024-04-02 19:51:18 -04:00
Jon Evans
f613cd1cb4 ADDED: A new IPC API based on protobuf and nng
Details, documentation, and language bindings are works in
progress and will be evolving over the course of KiCad 9
development.
2024-04-02 19:34:36 -04:00