28 const std::vector<std::pair<model::NetId, model::NetId>>& diff_pairs);
The board model (design doc 02 §3): every object TraceMaker reads from a .kicad_pcb,...
Component-rule catalogue (design doc 15 §6.1): categories of components with their detectors,...
Category detection and role binding (design doc 15 §3): each footprint is scored against every catego...
std::vector< CriticalNet > critical_nets(const model::Board &b, const Catalogue &cat, const Detection &det, const std::vector< std::pair< model::NetId, model::NetId > > &diff_pairs)
The nets playing a critical role in a detected category instance, and diff_pairs (named pairs,...
const std::vector< CriticalRole > & critical_roles()
std::int32_t NetId
0 = no net
std::string why
"USB 2.0 data (usb2 dp)", "differential pair"
int tier
1 = most critical
The table itself, for the docs and the tests: (category id, role, tier).