I’m interested in adding a feature to Graphviz - something that happens to be useful to me. I’ve never hacked on it before and am wondering if there’s any documentation on the internals, something to give an overview of how the code fits together?
The feature I’m looking to add is treating SVG files as proper custom shapes similar to HTML labels - so you could draw a shape in eg Inkscape, add
port attributes to elements in the SVG and then use that SVG file as a shape for a node and define edges that refer to the ports in it.
After a quick look through the code, I think I can see roughly how to do this, but I’m not at all sure I’ve got my head around everything I need to.