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

Remove NodeDock #101584

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

KoBeWi
Copy link
Member

@KoBeWi KoBeWi commented Jan 15, 2025

Closes godotengine/godot-proposals#9448 (in a different way)
Closes godotengine/godot-proposals#9052

godot.windows.editor.dev.x86_64_Tn8c4boXun.mp4

Merges Node dock with inspector.
Alternative PR: #101787

@KoBeWi KoBeWi added this to the 4.x milestone Jan 15, 2025
@ajreckof
Copy link
Member

A few ideas droped as they come :

  • some of the properties buttons/ hedear part could be put at the top and in common to the three panels as they are not particularly linked to properties but to inspecting node/resources
  • the empty state could be common as when one of them is empty all of them are empty.
  • maybe the filter bar could be shared or at least placed at a similar position (linked to first idea)
  • i agree the pen is not perfect but not sure what would be better.
    • book but it has been linked to doc
    • gear but linked to gdscript
    • maybe a liste button like that one Capture d’écran 2025-01-15 à 15 31 33

@KoBeWi
Copy link
Member Author

KoBeWi commented Jan 15, 2025

the empty state could be common as when one of them is empty all of them are empty.

Not really. You can edit a Resource, in which case signals and groups can't be edited. (we could maybe support Resource signals, but there are no Resource groups)

@JoNax97
Copy link
Contributor

JoNax97 commented Jan 15, 2025

I think adding resource signals would be great

@passivestar
Copy link
Contributor

Wouldn't it make sense to give signals and groups their own docks so that they can occupy the same tab bar as the inspector tab instead of making another line in already crowded inspector header?

It would:

  • Unnest them to allow users to customize the UI however they want, which will become even more relevant when godot improves the docking system to allow for more flexibility. Docks allow users with big enough screens to have an option to not switch tabs. With this UI it's not an option, you just have to click a lot.
  • Allow them to take advantage of the icon-only mode
  • Allow us to avoid creating a unique style for subtabs
  • Keep the possibility for drag-and-drop between props/signals/groups open in case new features are introduced where it's needed

I understand the motivation to group them together in a single dock as they all operate on selected node(s), but I'm not sure nested tabs are convenient in practice

@KoBeWi
Copy link
Member Author

KoBeWi commented Jan 15, 2025

Keep the possibility for drag-and-drop between props/signals/groups open in case new features are introduced where it's needed

This will still be possible. We can make the tabs switch on hover.

Unnest them to allow users to customize the UI however they want, which will become even more relevant when godot improves the docking system to allow for more flexibility. Docks allow users with big enough screens to have an option to not switch tabs. With this UI it's not an option, you just have to click a lot.

I guess that's an alternative solution (I think there was a proposal about it too). Though only users with big enough screens would benefit from it, in practice seeing all 3 of these tabs at once is rarely useful.

@JoNax97
Copy link
Contributor

JoNax97 commented Jan 15, 2025

If the idea of making them proper tabs does come through, I propose we rename the inspector tab to "properties" to better reflect it's content

@ajreckof
Copy link
Member

the empty state could be common as when one of them is empty all of them are empty.

Not really. You can edit a Resource, in which case signals and groups can't be edited. (we could maybe support Resource signals, but there are no Resource groups)

Tottally forgot that but the tab that are not available could be greyed out and if you are on them automatically switch to one available

@fire
Copy link
Member

fire commented Jan 17, 2025

Github action failure.

Error: editor/connections_dialog.cpp:43:10: fatal error: 'editor/node_dock.h' file not found
#include "editor/node_dock.h"

@KoBeWi
Copy link
Member Author

KoBeWi commented Jan 19, 2025

some of the properties buttons/ hedear part could be put at the top and in common to the three panels as they are not particularly linked to properties but to inspecting node/resources

Here's the current toolbar of Properties tab:
image
Filter, Doc and history buttons can be easily moved to other tabs. However all other buttons are used for Resource editing, which is irrelevant for other tabs. Either we don't care and just make all options available in all tabs (with some options not having visible effect), or reorganize the toolbar.

@KoBeWi KoBeWi force-pushed the casually_yeeting_the_node_dock_lmao_XDD branch from e198532 to 35d89c9 Compare January 19, 2025 20:16
@KoBeWi
Copy link
Member Author

KoBeWi commented Jan 19, 2025

I improved the empty states:

CB3gpzPE9T.mp4

Signals tab is just empty and disabled, Groups tab shows scene groups and global groups, but without checkboxes.

@KoBeWi
Copy link
Member Author

KoBeWi commented Jan 19, 2025

The new buttons style and properties icon.

godot.windows.editor.dev.x86_64_dFpLU7pfRs.mp4

@KoBeWi KoBeWi force-pushed the casually_yeeting_the_node_dock_lmao_XDD branch 2 times, most recently from 1ba7b6b to 5524454 Compare January 19, 2025 22:54
@KoBeWi KoBeWi force-pushed the casually_yeeting_the_node_dock_lmao_XDD branch from 5524454 to d04523e Compare January 19, 2025 23:03
@KoBeWi KoBeWi marked this pull request as ready for review January 19, 2025 23:15
@KoBeWi KoBeWi requested review from a team as code owners January 19, 2025 23:15
@allenwp
Copy link
Contributor

allenwp commented Jan 20, 2025

I'm the type of user who likes to have all of my tools visible on screen, so long as I have enough screen real estate for them all. In the case of Godot, I do have lots of real estate to spare, so it makes sense for me to keep my signals visible at the same time as my inspector. Here's a screenshot of the editor layout that I normally use with my 4K monitor:

image

It seems like this sort of editor layout would no longer be possible with this PR as it currently is, so this feels like a regression to my Godot layout preferences.

The alternative PR #101787 supports the layout style that I prefer.

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

Successfully merging this pull request may close these issues.

Move the signal connection UI from the Node dock to the inspector
6 participants