{
"name": "Calculator",
"display": {
"scale": 0.6,
"arrowHeight": 15,
"arrowWidth": 6,
"layout": "vertical"
},
"edgeData": {
"Order": {
"desc": "First or second operand? (1 or 2)",
"type": "number",
"validator": "NumberIsOneOrTwo",
"value": 1,
"start": ["Terminals.*", "Operations.*"],
"end": ["Operations.*"]
}
},
"types": [{
"type": "Terminals",
"width": 100,
"height": 100,
"padding": 0,
"subtypes": [{
"type": "Number",
"desc": "Number",
"view": " ",
"nodeData": {
"Value": {
"desc": "Value",
"type": "number",
"value": 0
}
},
"constraints": {
"incoming": {
"range": [0,0]
},
"outgoing": {
"range": [1,1],
"types": {
"Operations.*": [1,1]
}
}
}
}]
}, {
"type": "Operations",
"width": 100,
"height": 100,
"padding": 40,
"constraints": {
"incoming": {
"range": [2,2],
"types": {
"Terminals.Number": [0,2],
"Operations.*": [0,2]
}
},
"outgoing": {
"range": [1,1],
"types": {
"Operations.*": [0,1],
"Output": [0,1]
}
}
},
"subtypes": [{
"type": "Addition",
"desc": "Addition",
"view": " "
},{
"type": "Subtraction",
"desc": "Subtraction",
"view": " "
},{
"type": "Multiplication",
"desc": "Multiplication",
"view": " "
},{
"type": "Division",
"desc": "Division",
"view": " "
}]
}, {
"type": "Output",
"desc": "Output",
"width": 100,
"height": 100,
"padding": 40,
"view": " ",
"constraints": {
"incoming": {
"range": [1,1],
"types": {
"Operations.*": [1,1]
}
},
"outgoing": {
"range": [0,0]
}
}
}
]
}