I’ll write here some of the things that I find during these days of VL experience, a sort of notes diary… :)
these first points are more on the GUI than core functionality. little by little…
Snap to grid
Super easy way to maintain clean and readable graphs (which is not that secondary in a visual programming language)
- It can be a fix size hidden grid, or adjustable via menu.
- Enable-disable from menu or pressing keyboard s key(or other key, but s seems in a good and reachable position…and stays for snap obviously) while dragging nodes
Snap to pin
Could give a drastic boost in patching.
1 - clic on the first pin (where the link starts from)
2 - by holding keyboard s the link snaps to the closest pin available for connection. you can move around mouse and snapping link jumps from pin to pin following the closest rule.
3 - the connection is set only on mouse button.
Is there anything like the vvvv Ctrl+F9 debug mode? would be handy.
Zoom and scroll
It’s really a cool feature, but I wouldn’t put it as mouse wheel primary function.
I still think scrolling is more relevant (specially while you create links).
I would suggest:
mouse wheel = up-down scroll
mouse wheel + Alt = left-right scroll
mouse wheel + Shift = zoom
note: in vvvv I ended up using scroll ALWAYS in fast mode (pressing Ctrl).
the fast mode could be the default scrolling in VL (Ctrl for precision).
dragging: a faster way to drag the regions around by pressing Ctrl (or other) and dragging with mouse left any point inside the region area (nodes included). Would be like operating visually on an higher level of abstraction then nodes.
Size: personally I feel a bit claustrophobic with the auto fit behaviour. I would prefer if it would be an hybrid between auto and manual:
1- you can resize it manually (dragging corners and borders). the minimum area is the one occupied by nodes.
2- when you drag a node or an input/output pin outside the current size area, the region stretch and adapt as current auto size mode.
3- if you take one of the outer nodes/pins and drag it toward the center, the region doesn’t shrink, it remains with the previous max size.
4- there could be a key to enable auto-fit behaviour continuously.
So, to summarize, by default the auto-fit behaviour would work only in expanding the area. pressing a key would make it working both expanding and shrinking. other then that, you would be able to manually adjust the size.
Inside a region or not (Hamletic question)
I would definitively suggest a clamp behaviour that keeps the nodes outside the region when they aren’t part of it and you drag them around in the patch.
tonfilm pointed out possible problems with copy and paste.
I would treat this way:
1- when you paste a group of nodes and some of them overlap with a region, those nodes get highlighted but stays where they are.
2- as soon as you move them (or the entire selected group of pasted nodes) the clamping behaviour takes over, keeping them outside the regions
Pins alignment (details…)
when you align an IObox with other nodes, pins are not perfectly aligned.
please, move the center of the IObox element into the dot position:
same for input pins:
all for now.