OK, took me a while but I have solved the mystery. Fritzing is objecting to this xml
</g>
<g partID="856998370" gorn="0.4" id="copper1">
<g gorn="0.4.0" id="copper0">
specifically the partID=“856998370” if I take that out the DRC errors go away. Same on the diode which has a similar line. As to the fan, here I loaded your ESP32 RoboSwamp Schematic Pruned Down.fzz in to Fritzing then right clicked and export on the fan part and unzipped the .fzpz file. That gets me this in pcb:
so far so good all looks clean. But selecting one element down in xml editor finds
a terminalId in the center of the circle on connector0pin which is what is causing the DRC error. I expect given the pin misnumbering that this file got edited in parts editor and for some reason it decided to put a terminalId in pcb and do its usual skip a number on the pins. I’ll add a check for terminalId in pcb to FritzingCheckPart which should catch this particular problem in future. I don’t know where the partId field came from, I’ve never seen it before (but that doesn’t mean much either, there are lots of things in Fritzing I haven’t seen before
.)
Peter

