Comments (4)
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.
from skov.
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.
from skov.
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.
from skov.
This issue has become irrelevant in New Skov (see #12).
from skov.
Related Issues (12)
- Introducing Skov HOT 60
- Running time HOT 3
- subseq? not swap subseq? HOT 4
- Introducing New Skov HOT 9
- Error horizontal-scroller-left.tiff HOT 3
- No skov.image HOT 3
- Interfacing directly with the compiler HOT 19
- Cannot enter '>upper' word HOT 2
- Skov is not a signed app on macOS HOT 13
- Cannot export code HOT 3
- Gitter forum
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from skov.