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

Show contextual tools in the toolbar based on selected node #3112

Closed
boukew99 opened this issue Aug 10, 2021 · 9 comments
Closed

Show contextual tools in the toolbar based on selected node #3112

boukew99 opened this issue Aug 10, 2021 · 9 comments

Comments

@boukew99
Copy link

Describe the project you are working on

Small drawing tool with Control containers and line2D and a flying 2D spaceship game with a sizeable map. Here I use the move tool grid tool and contextual toolbar items for Line2D and control nodes a lot.

Describe the problem or limitation you are having in your project

The issue I have is that I have to "process" all the tools to a certain degree each time I use the toolbar even though some of them are only relevant. And the contextual items are placed at the end even though they are the most relevant most of the time.
And in the past, when I was still learning the editor, it was not obvious that certain nodes had contextual items in the toolbar.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Show only the tools in the toolbar relevant to that node. The tools that are node independent are placed at the end since they will not change.

Thus only the tools that can be used have to be "processed", the contextual tools are closer by and improve discoverability of the tools.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

Sketches for the Node, Node2D and Control nodes:

node_toolbar
node2d_toolbar
control_toolbar

If this enhancement will not be used often, can it be worked around with a few lines of script?

No, it is the editor.

Is there a reason why this should be core and not an add-on in the asset library?

Could be an improvement to usability and discoverability of the editor, but lets see if it makes sense outside my use case.

@AaronRecord
Copy link

Not sure if this was ever implemented but reduz suggested something like that here: #14 (comment)

@Calinou Calinou changed the title show contextual tools in the toolbar based on selected node Show contextual tools in the toolbar based on selected node Aug 10, 2021
@boukew99
Copy link
Author

boukew99 commented Aug 11, 2021

@LightningAA thanks, that issue mentions I think the same problem. It also functionally proposes the same, which is a split between the tools:

  1. options that persist
  2. tool related options (curve tools in the example below)

Then it will be clearer that there are contextual tools, which could prevent the confusion.
Don't know for sure, but reduz's solution probably does not work very well besides beginners, since it would attract to much attention.

Note: I am also proposing some of the persisting tools become dynamic too. For example the pivot tool
afbeelding, which enables when you have a Control selected. I think nowhere else in godot it is done like that.

@lentsius-bark
Copy link

Hey, being the author of the aforementioned issue, I'm in full support of making the menus contextual. Heck even splitting the menus in a meaningful way that follows the design philosophy.
One of the main problems of my proposal was that the design was too far off Godot's design principles hence why it couldn't be put in.
I still believe that the top bar could undergo a redesign for 4.0 where things are still taking shape, though it would need a thought-out design that works in all cases. In any case I like your idea, as the top bar would just always only show relevant icons, the user would get accustomed to the the fact that things change up there and would actually check it to see whether anything new is up there.
I see few options for the extra functionality of the other nodes (ie Path, Polygons etc... which arent the base types)

  • stay in the top panel
  • add a section to the inspector
  • a new overlay panel in a corner somewhere

just my 2 cents, hope we can come to the best possible solution somehow

@lentsius-bark
Copy link

lentsius-bark commented Aug 11, 2021

I may/may not have got carried away again:
EngineConcept

But the idea is that there could be an extra panel on the side. Where the top panel would serve for general tools and the side one for node/context specific ones.

edit: updated image

@AaronRecord
Copy link

@lentsius-bark That's an interesting idea, but I think it might look better if the black bar only went down as far as the tools, and maybe if instead if a solid black the background could be translucent.

@lentsius-bark
Copy link

Only problem is that translucency isn't really used by the engine anywhere, I remember unity once posted an image of a plausible redesign for their editor where they did something akin to that with a floating panel that was tool contextual:
unity ui redesign
Truth be told I remember thinking that they were heavily inspired by godot's UI

@boukew99
Copy link
Author

boukew99 commented Aug 11, 2021

Preferably you want to keep a toolbar horizontal, because vertical is more sequential to read and thus slower.

Maybe we could put (some of) the play scene buttons with the static tools. play current scene, pause and stop fit there and then the game camera override button would be more discoverable too in the toolbar.

@boukew99
Copy link
Author

boukew99 commented Aug 11, 2021

rough concept:
afbeelding
Maybe the problems was higher up so put the viewport tabs closer to the toolbar, so it is more obvious that it changes with different viewport. Now you can also place specific buttons to that viewport behind it, giving more space for node specific tools in the toolbar. Thus scene tabs were placed on the top bar, which I think also make sense, since they change the SceneTree and inspector also beside the viewport. There was not really a place to put the menu's thus put them in a burger menu. The play scene buttons make more sense since they are in the same row as the scenes.
Not sure yet about the viewport buttons and toolbar yet.

@boukew99
Copy link
Author

boukew99 commented Oct 6, 2021

This issue is solved with a highlighted underline for contextual actions in the current 4.0 devbuild so I will close this.

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

No branches or pull requests

4 participants