The board model (design doc 02 §3): every object TraceMaker reads from a .kicad_pcb,...
std::uint64_t LayerMask
bit i = copper layer i in stack order (0 = F.Cu, last = B.Cu)
LayerLimits layer_limits(const model::Board &b, const std::vector< std::string > &no_tracks_on, const std::vector< std::string > &layer_costs)
no_tracks_on: copper layer names.
constexpr double kMaxLayerCost
std::vector< std::int32_t > layer_cost_pm
per copper index: track cost per mille (1000 = normal); empty = all normal
model::LayerMask no_track_layers
copper layers that get no new tracks