The board model (design doc 02 §3): every object TraceMaker reads from a .kicad_pcb,...
Polygon booleans and offsets on integer nanometres, a thin wrapper over Clipper2 (Angus Johnson,...
std::vector< geom::Ring > thermal_spokes(const model::Pad &pad, const model::Zone &zone)
The four spoke polygons of a pad's thermal relief to a zone, as the zone filler draws them (buildTher...
RefillResult refill_zones(const model::Board &b, const model::DesignRules &r)
Follows ZONE_FILLER::fillCopperZone: outline within the board, thermal gaps around same-net pads,...
std::vector< StarvedThermal > starved_thermals(const model::Board &filled, const model::DesignRules &r)
On a board whose fills are current (refill_zones' board): every pad KiCad would report,...
Design rules as KiCad defines them (design doc 08 §3–4): board minimums and net classes from the ....
int zones
copper zones refilled
int islands_removed
fill islands no pad reaches, removed by the zones' island settings
model::Board board
the input with every copper zone refilled
std::vector< std::string > warnings
A thermal relief KiCad's DRC reports as starved_thermal (DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZone...
int island_spokes
spokes into an island only this pad touches
int spokes
spokes into fill that connects to something else, plus track spokes
int layer
board indices; layer is a copper index