Nodes Editor UI Specification


I was wondering if there is a user interface specification available specifically for the node editors. I am working on an add-on to export node graphs to SVG for technical reports, and while I could try to intuit the various dimensions and font sizes and corner rounding from a screenshot, I wanted to ask if such information is documented somewhere. I have looked through the source code and found some functions for drawing the node graphs, but other than Bezier control point specifications, they lacked the details I am looking for.

Also it could help with how a node fits into the dimensions window. For example here, I have used the two node objects’ location and dimensions attributes (from bpy) and rendered two rectangles with them. It’s clear that the ‘bounding boxes’ of each node stretch beyond the rounded box, and seems to extend a bit further to the right, too?

Thank you


I’ve wanted a way to create 3D objects representing nodes in order to demonstrate their usage more clearly. Knowing the general specifications would allow one replicate a node as a object, including the ability to dynamically animate changes. This would be very helpful for node training content.