Just want to propose what I think might be a way to address this...
... in case it hasn't been thought of this way before:
Here is an example flow:
[{
"id": "bd5605b0fd7c0e31",
...
"x": 860,
"y": 520,
"wires": [
["1e65d35daafa03d1"]
]
}, {
"id": "1e65d35daafa03d1",
...
"x": 1030,
"y": 520,
"wires": []
}]
Here it is with tie downs between these nodes:
[{
"id": "bd5605b0fd7c0e31",
...
"x": 860,
"y": 520,
"wires": [
["1e65d35daafa03d1"]
],
"ties": {
"1e65d35daafa03d1": [
{ "x": 900, "y": 490 },
{ "x": 1000, "y": 490 },
]
}
}, {
"id": "1e65d35daafa03d1",
...
"x": 1030,
"y": 520,
"wires": []
}]
The ties
element appears in the origin node. In it you have the destination node id as a key (so you can put ties on multiple outgoing wires individually). Its value is an array of points, in order from the origin node to the destination node.
The runtime would simply ignore this data, unlike an intermediary node that it would have to iterate through. The editor presumably already reads the wires
array as it's drawing the lines, and this places the ties
information conveniently right next to it.
...But maybe it does clog up the flows file too much to be worth it. I don't know...