Not sure where to put this - I have placed it under parts help, but other categories would be appropriate.
Basically, having spent a lot of time making / adapting Fritzing part SVGs, I have noticed that we seem to have a number of endemic problems in the parts database. This is about get a lot worse - The latest version of Inkscape is now CSS compliant, i.e. they have changed from a base resolution of 90 dpi to 96 dpi - and that could mean a lot more swearing at SVGs that don’t adhere to the expected dimensions. Our problems to my knowledge fall in to the following categories:
- SVGs created with px as base unit (thanks to illustrator)
- Part pins and terminals not correctly aligned to breadboard or schematic grid or each other.
- Zero sized part terminals (invisible, don’t work).
- Group type terminals (even more invisible).
- Parts that are wildly inaccurate (mostly thanks to brd2svg being broken).
- SVGs with ludicrously nested groups include multiple transforms (thanks Inkscape and Illustrator).
I am proposing / offering:
- to create a set of scripts to detect / fix some of these automatically.
- as part of (1), a set of quality control scripts - can be run by a user to check their own scripts and by el-j prior to merging in GIT. Could enforce most of the graphic standards.
- we add metadata to indicate whether the part concerned has been checked and/or corrected.
- Once Inkscape 0.92 is widespread Insist on 96ppi for new parts to ensure max compatibility.
I think it may be expedient to convert all existing parts to 96ppi, but that could be a mammoth task.
I cannot fix 5 - brd2svg is just huge and needs a lot of attention. To illustrate, I converted the Arduino Mega2560 ref design recently - it did not come out at 0.1 pitch or even close, components were out of line, upside down etc. This was using Adafruit’s best fixed build.
Any thoughts everyone? Anybody know of other widespread issues my scripts should look for?