Proto commits in KiCad/kicad-source-mirror

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:feb485e
Author:Seth Hillbrand
Committer:Seth Hillbrand

Share option plumbing between fab exports Each format kept its own copy of the same settings and helpers. The files we write do not change, but ODB++ data set all is now userdef.

The documentation is generated from this commit.

Commit:23b9f65
Author:Seth Hillbrand
Committer:Seth Hillbrand

Add ODB++ content and export controls This works through a number of missing ODB++ elements including pad roles, microvias, backdrills, the ROUT layer, plane types, variants, net-tie shorts, component height, 4761 via types, etc. We update the options in the output dialog to share a common set with the IPC-2581 dialog including the origin selection, naming, data sets, data and layer options.

Commit:2e17319
Author:Seth Hillbrand
Committer:Seth Hillbrand

Unify export foundation between ODB++ and IPC-2581 Assisted by: Claude Code

Commit:7d196a3
Author:Jon Evans
Committer:Jon Evans

API: Implement SaveDocumentAs Assisted-by: GLM

Commit:7f2d789
Author:Jon Evans
Committer:Jon Evans

IDF: Allow configuring part number field

Commit:9337734
Author:Jon Evans
Committer:Jon Evans

API: add GetBoardBoundingBox

Commit:f923fa6
Author:Seth Hillbrand
Committer:Seth Hillbrand

pcbnew: split generated table out of drill chart We want a stackup table that follows the board the way the drill chart does. The drill chart kept its schema, refresh, file format, API and dialog to itself. We move them into PCB_GENERATED_TABLE, and the drill chart builds on that base unchanged.

Commit:ade10da
Author:Jon Evans
Committer:Jon Evans

API: support IDF export jobs

Commit:7500932
Author:Jon Evans
Committer:Jon Evans

API: support plotting PNG background colors Also adds support to the CLI PCB job for symmetry

Commit:85435fd
Author:Jon Evans
Committer:Jon Evans

API: Support proxy flags for shapes Assisted-by: GLM

Commit:3d9b91a
Author:Jon Evans
Committer:Jon Evans

API: validate project in more places; validate project save

Commit:6244c73
Author:Jon Evans
Committer:Jon Evans

API: Add definitions for generators

Commit:ffa53ab
Author:Jon Evans
Committer:Jon Evans

API: Add Get/SetNetClassAssignments Also add explicit project specifiers to existing netclass commands for futureproofing.

Commit:5b66aa9
Author:Benjamin Chung
Committer:Jon Evans

Implement FocusOnItems Fixes https://gitlab.com/kicad/code/kicad/-/work_items/25542

Commit:9f93bd9
Author:Seth Hillbrand
Committer:Seth Hillbrand

Run ERC on published connectivity Saved exclusions must still match after the switch, so we resolve them against published witnesses and keep pathless fallbacks. Markers follow legacy rules, one per screen driver rather than per sheet instance, and each pin reports once against its nearest mismatch.

Commit:c7e77db
Author:Jon Evans
Committer:Jon Evans

API: Support PNG plotting Also support single/multi file modes Assisted-by: GLM

Commit:a8598ca
Author:Jon Evans
Committer:Jon Evans

API: Add LoadAllLibraries Assisted-by: GLM

Commit:a97e252
Author:Jon Evans
Committer:Jon Evans

API: Add GetItemsFromLibrary

Commit:dc35a39
Author:Jon Evans
Committer:Jon Evans

API: Implement placing symbols/footprints from libraries Assisted-by: GLM

Commit:4437bf3
Author:Jon Evans
Committer:Jon Evans

API: Add protos for library management

Commit:a8d6201
Author:Jon Evans

API: make instance pin properties explicitly optional

Commit:9fec388
Author:Jon Evans

API: make line_spacing explicitly optional

Commit:42bc668
Author:Jon Evans
Committer:Jon Evans

API: Document some enums

Commit:19174c2
Author:Seth Hillbrand
Committer:Seth Hillbrand

pcbnew: add drill maps and drill charts A drill map has no artwork. The pads and vias draw its marks at their holes, and one offset moves all the marks together. A drill chart is a PCB_TABLE that the board fills, and the user cannot edit its cell text. The symbol profile in the design settings gives each hole group its mark. Fixes https://gitlab.com/kicad/code/kicad/-/issues/12690 Assisted by: Claude Code

Commit:4e39455
Author:Jon Evans
Committer:Jon Evans

API: Allow GetItems with empty types

Commit:3cbac44
Author:Jon Evans
Committer:Jon Evans

API: rationalize symbol child transforms Instance things are in sheet space, definition things are in local space

Commit:6c96d5a
Author:Jon Evans
Committer:Jon Evans

API: support creating new documents in headless

Commit:1c82709
Author:Jon Evans
Committer:Jon Evans

API: round-trip pin name/number options

Commit:17d01cb
Author:Jon Evans
Committer:Jon Evans

API: Add missing enum for PCB_POINT (cherry picked from commit 5eef85faa5447aa634993a79b951e4176f3db5c6)

Commit:be90a7e
Author:Jon Evans
Committer:Jon Evans

API: Add GetDocumentModified State Also make sure board/schematic edits through the API are properly tracked in the modification state Fixes https://gitlab.com/kicad/code/kicad/-/work_items/19604 Assisted-by: GLM

Commit:01640bb
Author:Jon Evans

Align Begin/EndCommit with V11 API

Commit:f310584
Author:Jon Evans
Committer:Jon Evans

API: add document specifier for BeginCommit/EndCommit Fixes https://gitlab.com/kicad/code/kicad/-/work_items/24966

Commit:4c4a789
Author:Jon Evans

API: Add GetPaths

Commit:107d63f
Author:Jon Evans
Committer:Jon Evans

API: support footprint variant data

Commit:bf2f4d5
Author:Jon Evans
Committer:Jon Evans

API: add protos for variants

Commit:7907978
Author:Jon Evans
Committer:Jon Evans

API: Refactor and expand schematic variant management

Commit:1278ad6
Author:Jon Evans
Committer:Jon Evans

Remove obsolete schematic-only variant commands

Commit:a315350
Author:Jon Evans
Committer:Jon Evans

API: support footprint variant data (cherry picked from commit 17674803bfb4d9bb722b62040f37500bda9f6b8f)

Commit:451d6ac
Author:Jon Evans
Committer:Jon Evans

API: add protos for variants (cherry picked from commit 337b9f2dc3b619d3499d322f52270315ab088803)

Commit:d6ee481
Author:Jon Evans
Committer:Jon Evans

Fix missing version comment

Commit:e08d5e7
Author:Jon Evans
Committer:Jon Evans

API: Support expanding env vars (cherry picked from commit 2004d77012ea2e04531e658b75d26c7a952e79de)

Commit:2004d77
Author:Jon Evans
Committer:Jon Evans

API: Support expanding env vars

Commit:41e04c7
Author:Benjamin Chung
Committer:Jon Evans

API variant support

Commit:117a3f0
Author:Jon Evans
Committer:Jon Evans

API: Add definitions for custom user properties

Commit:0a4857e
Author:Damjan

Add microvia stacks for HDI and BGA fanout

Commit:100c7cd
Author:Mike Williams
Committer:Mike Williams

footprints: implement exclude from sim Doesn't do anything in particular yet, just plumbs in all the stuff we're currently tracking from the symbol anyway and makes the two table sets more similar. Assisted-by: codex

Commit:027f7f7
Author:Jon Evans
Committer:Jon Evans

API: Support locked and lib_id for groups

Commit:a2e9749
Author:Jon Evans
Committer:Jon Evans

API: Expand support for textbox

Commit:d41d1e8
Author:Jon Evans
Committer:Jon Evans

API: Add support for reference points

Commit:c096bc5
Author:Jon Evans
Committer:Jon Evans

API: Add explicit solder mask for shapes/tracks

Commit:15eda6b
Author:Jon Evans
Committer:Jon Evans

API: Support PCB_TABLE and PCB_TABLECELL

Commit:93e179a
Author:Jon Evans
Committer:Jon Evans

API: expose zone corner settings (cherry picked from commit 246c8209e9b411b32e850be1ebe39effdee22187)

Commit:cbfc99c
Author:Jon Evans
Committer:Jon Evans

API: Support pad fabrication property (cherry picked from commit 20027524709d881c6e1500bd24bce91e43ff291d)

Commit:ef3e09b
Author:Jon Evans
Committer:Jon Evans

API: Add support for embedded files

Commit:c689121
Author:Jon Evans
Committer:Jon Evans

API: Support round-tripping zone layer overrides

Commit:8d7ea49
Author:Jon Evans
Committer:Jon Evans

API: Add pad/via teardrop settings

Commit:106e1dd
Author:Jon Evans
Committer:Jon Evans

API: Rename TeardropType and TeardropSettings These are zone-specific settings and should have been using more specific names. Proto wire compatibility is kept.

Commit:b89945b
Author:Jon Evans
Committer:Jon Evans

API: expose zone corner settings

Commit:3a65904
Author:Jon Evans
Committer:Jon Evans

API: Support pad fabrication property

Commit:5eef85f
Author:Jon Evans
Committer:Jon Evans

API: Add missing enum for PCB_POINT

Commit:6a91fed
Author:Jon Evans
Committer:Jon Evans

API: expand symbol support Also fix textbox not using border_enabled

Commit:17d9a6f
Author:Jon Evans
Committer:Jon Evans

API: Support line ending styles

Commit:1e06c31
Author:Jon Evans
Committer:Jon Evans

API: support fields_autoplaced

Commit:59e7182
Author:Jon Evans

API: support schematic tables

Commit:144ca54
Author:Jon Evans
Committer:Jon Evans

Fix package name for schematic commands

Commit:796ae13
Author:Jon Evans
Committer:Jon Evans

API: Add support for embedded files (cherry picked from commit a5cb5eb9a3036439d0599d69ee4aa54b79a51a57)

Commit:09802a0
Author:Jon Evans
Committer:Jon Evans

API: Support round-tripping zone layer overrides (cherry picked from commit 1a5dbfb47f69f0981815357ec3cabbf7db0426f8)

Commit:44b6b83
Author:Jon Evans
Committer:Jon Evans

API: Add pad/via teardrop settings (cherry picked from commit 348ad18a5fd5b2890091e7e05dcac47a88ea8f79)

Commit:fb362e3
Author:Jon Evans
Committer:Jon Evans

API: Rename TeardropType and TeardropSettings These are zone-specific settings and should have been using more specific names. Proto wire compatibility is kept. (cherry picked from commit 5d1d40e20b9613ea8694e10ffcc7da2b187af796)

Commit:336c5b3
Author:Jon Evans
Committer:Jon Evans

API: Support locked and lib_id for groups (cherry picked from commit ca3b0bf3aa3e13ee69ed7eb1db641b8e60114a64)

Commit:8abba41
Author:Jon Evans
Committer:Jon Evans

API: Expand support for textbox (cherry picked from commit 1a18fedcf01d46729799e2d61b10b461f4d10907)

Commit:ff6becd
Author:Jon Evans
Committer:Jon Evans

Clean up pin maps API Fix missing handling in Deserialize Avoid "LibSymbol" jargon in API Remove descriptive comments that refer to feature request issue Remove narrow test case; proto round trips should be tested by the all-in-one that covers the actual serdes methods also.

Commit:a3aafd8
Author:Jon Evans
Committer:Jon Evans

API: support schematic rule areas

Commit:f4cccef
Author:Jon Evans
Committer:Jon Evans

API: Add support for reference points (cherry picked from commit 6848c8c68d9ac8c79dff80fc19672616eeda7563)

Commit:dcb6924
Author:Jon Evans
Committer:Jon Evans

API: Add explicit solder mask for shapes/tracks (cherry picked from commit cb879fc6c446865be03b7db351955c20537ef24c)

Commit:7cb7547
Author:Jon Evans
Committer:Jon Evans

API: Support PCB_TABLE and PCB_TABLECELL (cherry picked from commit 3c378416ab2c6935020bdebf5cf50263ae53bdab)

Commit:579c2b5
Author:Jon Evans
Committer:Jon Evans

Wizards: add enum params

Commit:0a646a5
Author:Mike Williams
Committer:Mike Williams

fields tables: add scope to the filter. starting with refs,visible,all Take a look at the comments in MatchesFilter for a more detailed explanation of the various side-cases and how they're handled. Assisted-by: codex Fixes: https://gitlab.com/kicad/code/kicad/-/work_items/11547

Commit:eeac1a1
Author:Jon Evans
Committer:Jon Evans

Fully move DRC and ERC markers to protobuf Adds new DRC_EXCLUSION and ERC_EXCLUSION wrapper classes to automagically serialize these to JSON for storage in project settings. Refactoring Assisted-by: Kimi

Commit:25b6337
Author:Jon Evans
Committer:Jon Evans

Move net highlighting to API; fully remove eda_dde

Commit:82729df
Author:Jon Evans
Committer:Jon Evans

Move sync selection to API

Commit:198598f
Author:Jon Evans
Committer:Jon Evans

API: expand stackup params Fixes https://gitlab.com/kicad/code/kicad/-/work_items/24182 (cherry picked from commit 5b9b2511bcc7f1025a4a4cbe625cd6740a2751f0)

Commit:5b9b251
Author:Jon Evans
Committer:Jon Evans

API: expand stackup params Fixes https://gitlab.com/kicad/code/kicad/-/work_items/24182

Commit:3aeae90
Author:Jon Evans
Committer:Jon Evans

API: Add FlipItems (cherry picked from commit 350f27419af5152a9fd840cab5c60f794c11062b)

Commit:350f274
Author:Jon Evans
Committer:Jon Evans

API: Add FlipItems

Commit:ca6f5cc
Author:Jon Evans
Committer:Jon Evans

API: Allow opening multiple project documents in headless mode

Commit:4952e90
Author:Jon Evans
Committer:Jon Evans

API: Add missing DRC codes

Commit:c3570f4
Author:Jon Evans
Committer:Jon Evans

API: Add GetBoardPlotSettings / SetBoardPlotSettings

Commit:325a3e3
Author:Jon Evans
Committer:Jon Evans

API: Add missing fields to RunBoardJobExportGerbers

Commit:c4cdf77
Author:Jon Evans
Committer:Jon Evans

API: Add GetBoardLayerByName (cherry picked from commit 9af492256fafbf12d80ac17fed23179fe2d13ce1)

Commit:9af4922
Author:Jon Evans

API: Add GetBoardLayerByName

Commit:af4933f
Author:Jon Evans
Committer:Jon Evans

API: Add `parent` field to board types (cherry picked from commit 34cff7f781ddc5ba8313eaea04cea0348a1f2a75)

Commit:34cff7f
Author:Jon Evans
Committer:Jon Evans

API: Add `parent` field to board types

Commit:20578ec
Author:Felix Schneider
Committer:Jon Evans

pcbnew: Add API support for PCB_GRIDITEM

Commit:767d165
Author:Mike Williams
Committer:Mike Williams

eeschema: optional UTF-8 byte-order-mark support to BOM export Old excel versions aren't going away, give the users the option. Off by default. Fixes: https://gitlab.com/kicad/code/kicad/-/work_items/21174 Assisted-by: codex

Commit:53e07dd
Author:Seth Hillbrand
Committer:Seth Hillbrand

Fix constraints for dims, rects, and polys Fixes a number of issues with the incremental solver, exposes the constraints to the properties panel and updates dimensions to use the constraints for driving graphics. Also adds a demo board with the Hammond board outline

Commit:95cc227
Author:Seth Hillbrand
Committer:Seth Hillbrand

Fix the API interface

Commit:ce16ffd
Author:Seth Hillbrand
Committer:Seth Hillbrand

pcbnew: improve constraint dragging, badges and dimensions Pin the far end of dragged segments, add arc swept-angle and undirected corner-angle constraints, propagate reference values, lay out badges in screen space, and let dimensions follow and anchor to constrained shapes. AI disclosure: Opus and Codex were used to asssit in the planning and review this of this feature. QA tests were written using Opus based on the expected behavior and edited to ensure proper behavior.

Commit:db4ca17
Author:Damjan Prerad
Committer:Seth Hillbrand

pcbnew: expand and harden the constraint UI Add tangent, radius, ellipse and elliptical-arc support, isolate and edit constraints from the panel, flag unsatisfied and redundant ones, and fix several selection and crash bugs.

Commit:e6e8577
Author:Seth Hillbrand
Committer:Seth Hillbrand

pcbnew: add geometric constraint solver Introduce a planegcs-based solver so board shapes can carry geometric constraints that re-solve on edit. Based on initial work by TomW, this allows the creation, editing and visualization of board-level constraints. AI disclosure: Opus and Codex were used to asssit in the planning and review this of this feature. QA tests were written using Opus based on the expected behavior and edited to ensure proper behavior. Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2329