Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hidden or overlapping elements. #6

Closed
kustomzone opened this issue Dec 4, 2016 · 4 comments
Closed

Hidden or overlapping elements. #6

kustomzone opened this issue Dec 4, 2016 · 4 comments

Comments

@kustomzone
Copy link

When following the tutorial (eg. distance between two points) and creating 'point A' with destructor, then 'point B' with destructor, and start to wire them up, 'point B' suddenly jumps on top of (obscures) 'point A'.

Is there a way to re-position them so that they are not completely overlapping each other?

(so far i'm only able to build the distance object if i wire them at different steps to have enough mismatching overlap to be able to continue the construction)

@nicolas-p
Copy link
Owner

I am aware about this issue.

The graph layout algorithm has been by far the hardest thing to develop in this project. I tried many different (bad) ideas before converging towards the current algorithm that works satisfyingly in 95% of cases. But I know it's still not perfect.

So currently, if you end up in a situation where nodes overlap, the solution is to go back (disconnect nodes by placing the cursor on a connector and pressing X) and try to wire them up in a different order.

I am not in favor of allowing manual re-positionning. If the automatic layout algorithm doesn't work as expected, then the right thing to do is to improve the algorithm, not to fall back on the easy solution of manual layout.

@kustomzone
Copy link
Author

Sure, i understand the goal of keeping the layout in an automatic functioning mode.

Perhaps an [alt] key or toggle switch (whichever doesn't interfere with keyboard shortcuts is fine) that slides a slight horizontal gap between the overlapped objects as a temporary state (but only when it's pressed or toggled) and snaps back to automatic positions when released, just so we can make another connection which will re-orient the layout, thus saving us from disconnecting or removing our construction.

@nicolas-p
Copy link
Owner

I've thought a bit about it and I think the right thing to do is to build a safety mechanism at the end of the graph layout algorithm so that if it generates a bad layout with overlapping nodes, the problematic nodes will be moved so that they don't overlap. The layout will still look bad, but at least it will be usable.

@nicolas-p
Copy link
Owner

This issue has become irrelevant in New Skov (see #12).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants