Footprints can now have a custom stackup. This means that they specify
an exact number of copper layers and the layers map 1:1 to board layers.
If the board doesn't contain that layer, the element just doesn't
show. We could make this a DRC check later on.
If there is no stackup, the behavior is the current default: a rule area
the In1 layer "expands" to all Inner layers.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10838
In some situations, loading a project in 8.0 would wipe the
object visibility settings but the local settings also
require a format migration. The migrator was adding visibility
for the shapes layer in this situation, bypassing the recovery
from having no objects visible.
(cherry picked from commit 81ea108d8c)
Co-authored-by: Jon Evans <jon@craftyjon.com>
This also removes the GROUP/UNGROUP-specific undo actions.
This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.
This also fixes some undo bugs when dividing wires etc.
This also fixes some bugs with new sch items not
being created within an entered group.
- Adds time and delay units
- Adds time domain tuning parameters entry and storage
- Adds pad-to-die delay property
- Adds time domain parameter interface for length / delay calculations
- Adds unit tracking for numerical constants through LIBEVAL
- Will need future work to truly propagate through binary expressions
- Adds time domain tuning to meander placers
- Adds time delay display to net inspector panel
- Modifies DRC to handle time domain constraints
The type list kept atrophying when various new
items were added (arcs, shapes).
And god knows what the purpose of putting PCB_FOOTPRINT_T
in some of them was. As far as I can tell a CN_ITEMs
parent can never be a footprint.
(Also moves IGNORE_NETS to a flag so that we don't
end up with two booleans and the potential to have
them out-of-order.)
Having thread pool as its own singleton in the library meant that each
kiface had its own threadpool, leading to many multiples of the threads
being started. Placing a singleton class in PGM_BASE ensures that all
kifaces use the same thread pool.
The singleton class can be extended to provide single instance
guarantee for any element across kifaces
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