Diagram format

The diagram data is saved as JSON string which can be parsed in JavaScript natively. For other languages parsers can be found at JSON website.

The diagram object root

The object root contains arrays of Node and Arc objects.
{  
    "nodes" : [ node1, node2, ... ],
    "arcs"  : [ arc1,  arc2,  ... ]
}

Node object

{
    "id"         : The Node identifier,
    "title"      : The text inside the node shape,
    "properties" : Contains user's properties defined as object with name value pairs.
    "x"          : x coordinate of the Node base point,
    "y"          : y coordinate of the Node base point,
    "width"      : width of the node shape,
    "height"     : height of the node shape,
    "font"       : font defined as FONTNAME-STYLE-SIZE, where STYLE can be one of: plain, bold, italic, bolditalic
    "shape"      : The node shape, which is one of: RECT, OVAL, RHOMBUS, NONE,
    "icon_ref"   : icon URL relative to the icon_base
}

Arc object

{
    "id"         : The Node identifier,
    "node1"      : The identifier of the 1st Node this Arc is relate to,
    "node2"      : The identifier of the 2nd Node this Arc is relate to,
    "directed":  : true if the arc is directed, otherwise false.
    "properties" : Contains user's properties defined as object with name value pairs.
    "anchor1"    : The connection point to the 1st Node relative to the Node base point
    "anchor2"    : The connection point to the 2nd Node relative to the Node base point
    "points"     : Array of coordinates of intermediate points as x,y pairs
}