Zylann / godot_voxel

Voxel module for Godot Engine
MIT License
2.63k stars 247 forks source link

Adding graph nodes UX improvements #519

Open me2beats opened 1 year ago

me2beats commented 1 year ago

I like how it's done in visual shader editor and in MaterialMaker for example.

Godot visual shader editor: image

MaterialMaker image

  1. They have search box - that would be really nice to have, especially when new graph nodes will come

  2. They don't use submenus. MM displays all items in a ItemList I guess, in visual shaders items are grouped (folded) in TreeItems.
    MM also have a whole dock with available nodes, which are can be dragged&dropped from (this dock also has a search box); and visual shader add nodes window uses Window node, you can position it and drag&drop multiple graph ndes as well. This saves extra RMB clicks then you add many graph nodes

  3. Items have icons. Icons could be useful to display the shape to be added. It would be also nice if a custom function would have an icon (optionally).

  4. Items have descriptions. I think it would be fine if the description hint will be shown when hovering over the item. Godot uses a separate control for displaying descriptions, but it takes some place. On the other hand a tooltip can make it hard to see the items, especially if the tooltip has multiline text.

  5. maybe more minor one: ability to drag&drop of custom functions from godot filesystem dock. Useful when you gonna add many functions, saves extra RMB clicks

Zylann commented 1 year ago

I was thinking of adding that fancy menu too, but it will be a bit of work. Looking at VisualShaderEditor, it's not even a known control in Godot, it is entirely incorporated to the shader editor. It will have to be remade. It uses a Tree within a scrollview within a popup window. It should also be noted that the voxel graph system doesn't have as many nodes (the way they are implemented is also quite different), but due to the function system, can have user-made ones.

Zylann commented 1 year ago

The popup got added in aeb9ee97826fe351f245f3759a6dae520a1e2008 It doesn't do everything proposed, but has search, tree view and descriptions.