parsegraph / freeform

MIT License
1 stars 0 forks source link

Main toolbar needs redesign #12

Open dafrito opened 7 months ago

dafrito commented 7 months ago

Current solution's benefits:

Cons:

Current toolbar (not node-relative) actions

Current node-relative actions

Analysis

In order to build requirements for the new layout, I ranked these actions by how commonly I use these:

  1. Open
  2. Save
  3. Undo/redo
  4. Toggle node actions
  5. Edit node value
  6. Go outward/parent
  7. Re-center
  8. Go to homepage
  9. Toggle style dialog
  10. Remove node (I feel like I don't do this with the mouse, but I'm comfortable with the keyboard)
  11. Toggle node scale (shrink/grow)
  12. Some combo of Toggle Alignment, Toggle Preferred Axis, "Pull" to parent, and Toggle node fit to get the node where I want it

Just from this, I think having this main toolbar just be toggleable menus works. I think it fails when it switches views, or worse, tries to be a text editor.

Burger Menu Dialog (proposed)

Vertical list of buttons to:

Clicking the "Open" actions will close the existing parsegraph, prompting to save if necessary. Then we can show full page dialogs for both of these.

Clicking Exit will return to the homepage. (Or close the app on desktop). This will replace the "<<" button to go to homepage.

Node value editor (proposed)

Simple draggable, resizable dialog to edit the node value. Save and Cancel.

Also may include editing the node style, and even showing the node ID if in debug mode.

Analysis

With the above two, we are left with the following:

Current node-relative actions

I think the following work as-is:

So then we have:

And the above list.

Re-center

This could open a camera panel with this as an option

Go outward/parent

This could be converted to a nav panel that would show a navpad for navigation.

Remove node, undo/redo

This should really be re-thought, but for now, this button works along with undo/redo.

Toggle node actions

Without the value editor, this mode only shows 5 buttons and hides almost all other buttons (only showing Style and the "<<" button to take you back to the homepage)

I don't know how to simplify this, but my thought is use "Align" as the toggle name, and just throw these 4 buttons in there and go from there. "Scale" does not fit, so it may need to be with the style or even the node value editor.

Conclusion

To some degree, complexity is inevitable, but right now, things are uneven, so providing new dialogs that are specific to concepts the user understands will help.