Since it is effectively infinite resolution, pass the vectors to the
printer and let it decide if there should be a dot there or not. Hiding
based on perspective is a screen optimization
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20226
Also removes previous special-casing of FOOTPRINT Orientation
property as this is now supported natively
Also fixes name clash with Orientation property for footprints
This reverts previous behaviour whereby 'A.Netclass == x' compared
the full name of an effective netclass (e.g. 'Class1,Default'). This
was found to be unexpected behaviour to users, who were expecting
the equality to compare single netclasses. The equality check now
first checks for a constituent class with the given name, and then
falls back to a check of the full class name.
Inequality requires the netclass name being tested to not be a
constituent netclass and to not be the full class name.
1) Don't set user layer count right after we've
cleared the enabled user layers. (It will
always be 0 by then.)
2) Allow un-enabled layers in some layer
selectors. (Currently this is just the private
layers selector.
3) Reset the appearance panel layers each time a
footprint is loaded. Also, auto-enable any user
layers that the footprint already has.
4) Footprint editor layer visibility is stored in
the view, not in the boars (as is usual).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20022
Apparently newer symbol libraries are using the library nickname in the
footprint filter string. The symbol footprint filter match DRC was only
checking the footprint name against the new filter which would always
fail. A test against the full LIB_ID string is now performed when the
filter string contains the library separator character ':'. The ERC test
already performed this check.
Visited flag should not be stored in the item itself
since these items are used in parallelized code and
the visited state should remain local to the thread
The safety changes in 3d526edc introduced a subtle
bug where aExcludeZones was not actually excluding
zones anymore because its behavior depended on the
item visited flag being set to true by a previous
call to the function.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20090