With real geometry in, a fixed label size turns multi-character names on fine-pitch
pads into overlapping mush — USB-C's A1/B12 row was unreadable. Scale per pad instead,
bounded by both the pad width (divided across the label) and its height.
The real geometry now arriving from EasyEDA spells a round pad ELLIPSE, which
this test did not match — so every through-hole pad would have drawn as a square
with the right dimensions. OVAL/ROUND are the KiCad-side spellings of the same thing.
Every part rendered "✓ 3D model ✓ Schematic ✓ Footprint ✓ SPICE" as literal markup,
regardless of what it actually had. footprint_pads is absent from all 80 parts, so
the Footprint tab says "no footprint data" while the checklist two inches away
claims a tick — which is how a missing footprint reads as a rendering bug rather
than missing data.
Each item now derives from the field the corresponding tab actually reads.