15model::Zonezone; // net, one copper layer, outline (the board's outline box; the refill clips it to the board), settings
16 std::string reason; // why this net and layer ("auto: ground net GND, back layer")
17};
18
19// Resolves `route --pour` entries against the board:
20// - "auto": only when the board has no copper zone (rule areas and teardrops aside); its ground net (a ground name such
21// as GND, GNDD or VSS, with pads; the one with the most pads) on the first inner layer, else on the back layer. A board
22// without such a net gets no pour (a note says why).
23// - "NET@LAYER": that net on that copper layer (KiCad or file layer name).
24// Settings are KiCad's defaults for a new zone (minimum width 0.25 mm, islands removed) except: pads connect solid, not
25// through thermal reliefs (spokes the routed copper cuts off are KiCad starved_thermal errors), and the clearance is the
26// net class clearance but at least 0.3 mm, so the fill keeps out of fine-pitch gaps it could not use. Throws std::invalid_argument on a bad entry, an unknown net or a layer that is not copper.