Wish: more control over wires

Hi, some thing that always irritated me was that I couldn’t just select the existing wire and delete it without zooming to the end and that it was impossible to just take the end of wire and move or copy it to somewere else.

Keyboard control would be useful to ensure this kind of actions would be intentional.

You can take the end of a wire, or multiple wires on an Input or Output and move the “bundle” to somewhere else: Just hold down CRL-SHIFT while dragging, like so:

You can disconnect by holding down CTRL while dragging (either end) or by rightclicking the input/output/param.

// Rolf

Yes. I know of theese.

Let’s consider you want to do the same “move wire end” operation but as a copy, so there are two outputs per number input.

Second scenario: numbers are far away on canvas and i want to quickly disconnect or replace the wire for just one of them. Intuitively I would grab the wire or right click it and try to do something about it… By the way, wires could also communicate somehow, by bubble for example, what they connect, so we don’t need to navigate each time to check.

Another thing that would be useful is the ability to reorder inputs at nodes. Some kind of ctrl alt click at node and pop up list with up / down arrows and drag-drop ability would appear. Just a thougth.

That’s what Merge can be used for. Reordering in the inport would be hidden, so… well, there are other things hidden there too but… In general, configurations should be visible in a visible diagram. :wink:

// Rolf

There is always some order, which depends on which wire was connected first and which later. Changing this order if it accidently turned out to be wrong meand disvonnecting all and connect again - either by merge component or directly. There could be also quicker way I think.

Yes. But this invisible order assumes that (the sticky) order doesn’t matter. When the order of wires explicitly matters, then there’s that Merge component which makes also the order visible. I think that the order can be undefined for example when reopening a definition, but I may not remember this correctly.

In any case, even in UML diagrams one have to explicitly set lists to “ordered” and the setting is decorating the connection. I guess the point is that if using diagram to visualize, then the most important configurations should be visible.

Now, this expliciit ordered visibility could also be decorated by a symbol on GH capsules, together with the other symbols for Draft, Flatten, etc. if implementing the reordering feature directly on the Inputs.

// Rolf

1 Like

My trick for deleting wires. Double click the wire so it makes a relay. Delete the relay. :smiley:

That won’t work any more come the next release. Deleting relays will reinstate the original wires now…

:frowning: Well not the end of the world. Any future plans to make wires selectable? Maybe some key pressed with double click on a wire can kill it. Also, the move multiple wires could use a copy multiple wires I think.

I think at least a wire menu. I’d also like the ability to disable wires without having to remove them.


That open up a whole new world of information representation in the canvas (as you will be able to get rid temporary of the spaghetti mess)…

Well presumably you need each wire in a spaghetti mess, so getting rid of them will change the behaviour of the file. There’s three methods that would allow you to reduce spaghettification:

  1. Share data without wires (for example by referencing by name)
  2. Manage wire shapes, so you can create bundles of them which then become the primary layout element in a network.
  3. Split files into smaller chunks that still communicate, which reduces not so much the amount of wires but mostly the length of wires.

Option 2 has always been possible by the insertion of floating parameters into existing wires, although the Relay objects make this easier now. Eventually it would be nice if multiple wires could be relayed in bundles rather than individually.

Option 3 is also possible now using Data Output and Data Input. Eventually it would be nice if the data exchange could happen directly from one gh file to another, without the need for intermediate data files.

Option 1 is sort of possible now using the Telepathy plugin, but a more fundamental support for named access would go a long way.

Merge - > Draft -> (single wire) --> ListItem (unpack). :slight_smile:

Like so:

// Rolf