23 std::vector<ViolationItem>
items;
40 std::map<std::string, int>
counts()
const;
The board model (design doc 02 §3): every object TraceMaker reads from a .kicad_pcb,...
void write_drc_json(const DrcReport &rep, const std::string &path)
Writes the report in kicad-cli's JSON layout (violations, unconnected_items; positions in mm).
DrcReport run_drc(const model::Board &b, const model::DesignRules &r, const DrcOptions &opt={})
std::int64_t Coord
Engine coordinate: signed 64-bit nanometres.
Design rules as KiCad defines them (design doc 08 §3–4): board minimums and net classes from the ....
Coord epsilon
KiCad's DRC epsilon (0.0005 mm): gaps below required - epsilon are violations.
bool propagate_nets
check with the nets KiCad assigns on load (drc/connectivity.hpp propagate_nets)
bool dangling
report dangling tracks and vias (warnings)
bool linear_zone_tests
reference path: test items against every edge of a zone fill (no edge index)
bool connectivity_only
only unconnected items (and dangling ends if dangling): no clearance or rule checks
std::vector< Violation > unconnected
std::vector< Violation > violations
std::vector< std::string > warnings
std::map< std::string, int > counts() const
std::vector< ViolationItem > items