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

In the bottom panel, display only contextual panels and move the audio panel to the top bar #7300

Open
jordanlis opened this issue Jul 16, 2023 · 2 comments

Comments

@jordanlis
Copy link

jordanlis commented Jul 16, 2023

Describe the project you are working on

2D plateformer

Describe the problem or limitation you are having in your project

There are inconsistencies in the tabs in the bottom panel :

  • Some requires context but are displayed by default
  • Some other required context in previous version (shader) but now doesn't and are behaving like a script editor (we can open / close shader files)
  • Some are not requiring context

So in the end, it is not easy to understand what kind of tabs are displayed here, there is no logic

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

Here are my proposal (that are not a total redesign, but exploit the current architecture :

  • Audio should be aside 2D, 3D, and script tabs in the top bar
  • Do not display animation or shader until a resource or the required node is selected.
  • Put an emphase on the selected tab (darkening the background, bold font)
  • Display contextual tabs like contextual tools in the toolbar (example : control nodes) and dislay them only when the context is needed. Shaders can still be opened in the script editor, so there is no need here to have them if no resource is selected, nor the animation tab which can't be used until a node is selected
  • Remove the search bar if it is not a feature used (if anyone can tell me what it is used for, please help me understand so we can think about where it should be)

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

Currently
base interface

Proposal when there is no context (no animation node or a node with a shader is selected)
proposal no context(1)

Proposal when an animation node is selected
proposal animation node selected(1)

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

no

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

because it is the base interface of godot

@yosoyfreeman
Copy link

yosoyfreeman commented Jul 16, 2023

Hi! While I understand the natural tendency to minimalism, and while that is great, there is a good reason to why the editors is arranged in that way.

  • The 2D and 3D tabs are there because they are different ways of "seeing" the world. Godot have a real 2D engine, and as such the 2D tab represent that part of the workflow, with the 3D tab doing the same. The script tab is there to provide a good experience to the built in editor: You don't want to code in a little tab at the bottom, so it deserves it's own space (Making tools, which run at runtime, are a special case, you don't normally see changes in code instantly reflected in the 3d or 2d view, and this is covered now by it being detachable)

  • The audio system does not really care about if you are working on a 2D or a 3D scene. In the same way you would have your tracks covering most of the screen in a DAW like cubase, you must see your scene to access the source of the sounds, select players, listeners, routing things to the mixing for final audio mix, add effects etc. Being it it's own tab would not bring any improvements while making exponentially more difficult to work with.

  • This same principle is applicable to the animation and shader tabs. You want to interact with the scene, change things, see it from different angles etc, so making this tabs disappear if a "valid" node is not selected would introduce the necessity of clicking back to the node. Note that now, if you select a node without animation components but you had previously selected or created one, the last reference will keep open, so you can keep tweaking animations.

I hope my words are well organized and help to understand the way this works. If they are not, please ask me to reformulate.

I hope you have a nice day!

@jordanlis
Copy link
Author

Hi! While I understand the natural tendency to minimalism, and while that is great, there is a good reason to why the editors is arranged in that way.

* The 2D and 3D tabs are there because they are different ways of "seeing" the world. Godot have a real 2D engine, and as such the 2D tab represent that part of the workflow, with the 3D tab doing the same. The script tab is there to provide a good experience to the built in editor: You don't want to code in a little tab at the bottom, so it deserves it's own space (Making tools, which run at runtime, are a special case, you don't normally see changes in code instantly reflected in the 3d or 2d view, and this is covered now by it being detachable)

* The audio system does not really care about if you are working on a 2D or a 3D scene. In the same way you would have your tracks covering most of the screen in a DAW like cubase, you must see your scene to access the source of the sounds, select players, listeners, routing things to the mixing for final audio mix, add effects etc. Being it it's own tab would not bring any improvements while making exponentially more difficult to work with.

* This same principle is applicable to the animation and shader tabs. You want to interact with the scene, change things, see it from different angles etc, so making this tabs disappear if a "valid" node is not selected would introduce the necessity of clicking  back to the node. Note that now, if you select a node without animation components but you had previously selected or created one, the last reference will keep open, so you can keep tweaking animations.

I hope my words are well organized and help to understand the way this works. If they are not, please ask me to reformulate.

I hope you have a nice day!

Understood, point taken and thanks for the answer.

About the script tab, I made myself the same explanation that you had for the gdscript part, so again, it's not totally consistent even if I understand that shader needs to be seen inside the view so according to me it should be left here.

About the audio, I still don't really see why it needs to be there, but you're right, it prevents from switch from 2D/3D to audio, and then switching back.

For me, the main issue is the animation tab that shouldn't be there because has you said, it's about "minimalism". I think a game engine is already really complex so this is why I am making the proposal.

Anyway, that's only a proposal ;p

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

3 participants