Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
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
Pads generated outside of KiCad may have self-intersecting polygons that
simplify to multiple sets. We handle this by adding multiple primitives
for such polygons and limiting our fracture calls to only polygons that
have holes
Fixes https://gitlab.com/kicad/code/kicad/issues/10712
(cherry picked from commit 6d84acfacd3a98b4032e6e707bcca3a0920233c0)
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
When creating a polygon from an arc/circle, the small error due to approximation
can be now inside (when drawing/plotting the shape) or outside the circle
(when building a clearance area) like other pad shapes
Fixes#5313https://gitlab.com/kicad/code/kicad/issues/5313
This introduces layer handling to a lot of the geometry routines.
Many of them don't do much with it now, but it does help multi-layer
zones and will help when padstacks are implemented.
Due to the fact basic primitives for custom pads are now managed by
a list of pointer, the default copy ctor and default operator = do not work
(the basic primitives list must be duplicated).
It fixes issues related to primitives list id pad edition, footprint edition
and undo/redo
Fixes#4958https://gitlab.com/kicad/code/kicad/issues/4958
There were a lot of plotters, exporters, etc. that were rolling their
own implementations.
This also introduces a lazily-built set of SHAPE objects for doing
collision detection and some forms of rendering (and later DRC).