#MagGraph UX kinks

1 messages · Page 1 of 1 (latest)

tired sorrel
#

I've been playing around with the new MagGraph with nodes that snap directly to one another. It works very nicely about 70% of the time, and it's so much neater, but there are a few frustrations that make it less intuitive to me than the old graph layout. So I'm dumping 'em all here! I may create GitHub issues for one or two of these things too, especially if I come up with more concrete ideas for solutions to these.

#

Connecting inputs with cables

Dragging a cable over a node now opens a little menu where I have to click on the input I want to connect the cable to. The extra click is surprisingly jarring, especially on nodes with only one valid input - why not just automatically connect to that input, as in the old graph system?

Where there are multiple inputs, I think I would still prefer to have them pop up instantly on hovering over the node with the cable, then I could release my mouse on whichever input I want to connect. That would be more similar to the 3.x way of doing it. I just really don't like the extra click!

#

Disconnecting cables

Still no shake to disconnect ;-;
(That's really my only complaint here! Manually disconnecting cables does exactly what I expect it to.)

Edit: Aha! It was too good to be true. I can only manually disconnect a cable from an input slot if the input slot is on the left hand side of a node. When a node is positioned so that an input slot snaps to the top, I can't drag that cable to disconnect!

#

Those little triangles in between connected nodes

Clicking on the triangle creates a node in between the two connected ones, as expected. But only if you click on the top half of the triangle. Hovering over the bottom half of the triangle still causes it to become partially highlighted, but clicking it just selects the lower node. This really confused me for a while.

#

Multiple outputs

This is my least favourite thing about the new graph. There's a tiiiiiiny triangle that you need to mouse over, then click and hold on, to select the output you want to use. It's super easy to miss! And fiddly to use even if you know it's there.

Perhaps as an alternative, selecting a node could expand it slightly, and bring up each output individually (along with its name). It doesn't solve the problem where pressing Tab always connects to the first output, but T3 had that problem as well so at least I'm used to it.

#

Disconnecting graph sections

I was able to figure out fairly easily that click-and-hold will un-snap a node from the MagGraph. That feels pretty good on its own. But oh, that's not actually what it does - it selects the node. Dragging a selected node is enough to disconnect it from a MagGraph, but not from a cable graph. It's inconsistent but it makes some amount of sense.

I don't remember where I've used a graph system like this before, but my intuition is telling me that dragging a MagGraph node should only drag all the MagGraph nodes "downstream" from the selected node - so in this screenshot, dragging DrawLines should also drag Transform, Camera, and RenderTarget, but not PairPointsForLines or SamplePointAttributes. The whole block could still be moved around by dragging the topmost node, and individual nodes could still be pulled out by holding down first and then dragging.

(OH! I do remember - it was Scratch! 😅)

#

Reconnecting graph sections

When you pull a node out of a MagGraph, the graph will:

  • Break, if the node in question did some kind of data conversion (eg. DrawLines) - this is quite acceptable
  • Collapse down to no longer include the removed node, if the graph can still function without it. This is also quite acceptable!

But, what if you pulled the node out by mistake? You might try to reconnect the node by dragging it back to the place where it used to be. After a bit of struggle, I discovered that this is actually possible by lining up the node in the exact position it would go to after being added to the graph. But I was initially trying to do it by dragging the node and placing my mouse over the little triangle between the two I wanted to connect, and it wasn't doing anything - I was going to write about how I can't add the node back at all! So the snapping window for this action needs to be widened a lot imo.

#

That's all for now! I'll update if I find anything else that gets in my way.

sour hinge
#

💡 Hint: Holding Shift while dragging a snapped node will keep the connection.

tired sorrel
#

ah! That's handy to know. I haven't really needed that behaviour yet but I'm sure I'll come across it

dapper niche
dapper niche
dapper niche
dapper niche
dapper niche
sour hinge
dapper niche
#

Okay. I will look into that again.

#

I think, there now is a compromise: Dragging "from a stack" can disconnect (automatically)

sour hinge
#

we disscussed about it yesterday evening with MrVux, Also after I posted this comment I was thinking that I need to try ~~ inder~~ in order to see if I like it.

dapper niche
#

But there a a bunch for edge cases...

OpA
OpB
OpC

Let assume you want to drag OpC between OpA and OpB

#

inder?

sour hinge
#

I think it's ok to disconnect when dragging OpB

but this situation :

#

haha it's soo difficult to think about every situation and make everyone happy 🙂

#

inder = in order

#

sorry for the typo

#

So the logic brought by MrVux is:

  • moving ops should not be destructive
  • then in order to break a connection we need to hold Shift
dapper niche
#

I know. But what do you disconnect? I somehow have to track the connections before the move.