snapapps / edgy

a visual programming language inspired by Scratch
http://snapapps.github.io/
GNU Affero General Public License v3.0
51 stars 21 forks source link

Manual layout behaviour #324

Closed cyderize closed 8 years ago

cyderize commented 9 years ago

The behaviour of the manual layout option is rather difficult to understand, due to a number of changes that have happened.

Previously, switching to manual layout meant

This is what the hover description of the manual layout option says.

Since #262 (Issue #259), the behaviour changed, fixing all nodes in their current positions.

However, when the user uses the show graph block or adds new nodes, thee nodes do not get fixed into position immediately, they retain the previous behaviour of the manual layout option, only locking into place once moved by the user.

I think we need to discuss what specific behaviour is desired.

My opinion is that we should have a manual layout option, that simply does not automatically layout the nodes at all (when selected, all nodes are fixed in their current locations, and they never move unless the user moves them), and a 'lock on move' option, which can be combined with either d3 force or webcola layout that sets 'fixed' to true upon moving a node (as the old manual layout option did).

That is, 'manual layout' will force 'fixed' to true all the time, and the user cannot set fixed to false, and 'lock on move' will use the normal layout, but will set 'fixed' to true if the user moves the node manually, or uses the set x/y of node block.

This is somewhat related to #321 and #322.

stevenbird commented 8 years ago

After discussion we agreed to retain the manual layout option but for it to fix locations of all nodes according to the previously used layout option, and to fix locations of subsequently-created nodes using the same previously used layout option.