godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.16k stars 97 forks source link

Improve Remote Tree visualization #5267

Closed henriquelalves closed 2 years ago

henriquelalves commented 2 years ago

Describe the project you are working on

I'm working on GDQuest "Learn to Code from Zero" (https://github.com/GDQuest/learn-gdscript) app.

Describe the problem or limitation you are having in your project

The GDQuest Learn to Code from Zero is really complex on the UI side, and debugging it using the live Remote tree is really cumbersome because I lack the visual cues to identify PackedScene nodes (each scene is composed of smaller PackedScenes, but the Remote inspector shows the raw node tree with no differentiation whatsoever between nodes). It only gets worse the further down the Node tree you'd go, as new nodes are instanced with no clarity of which node is new or not. It also does not display which nodes are visible or not (with the eye icon), making things even more difficult to understand what is being shown on the live game.

The images show a small example using the "UICore" scene (which is the scene that aggregates all main app "pages"). Notice how I had to scroll-down to find the UICore, since all Autoloads were added - and there is no visual cue on the Main pages whatsoever. It gets more troublesome to debug the tree as I try to mentally parse which PackedScenes it is displaying.

Screenshot from 2022-08-26 10-28-37

Screenshot from 2022-08-26 10-29-11

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

The Remote tree could have a better way to visualize PackedScenes (similar to the editor), instead of just having the "raw" node tree.

What I believe are two good alternatives for PackedScenes:

And having the "Eye" icon (same as the editor) is ideal, too. It doesn't event to be editable (can be grayed-out), but it should at least show which nodes are visible.

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

As similar to the editor tree inspector as possible, nothing fancier or extra.

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?

I don't think there is a way to implement a better visualization on the Remote scenes using addons only.

duchainer commented 2 years ago

Not a big want from me, but rather a thought:

Would having a script icon, like on the local tree, makes sense too in that proposals? Or would that be considered already pretty accessible by clicking scene than the script icon in tha local scene? A counter-argument could be that the presence of that script icon also tells that this specific node has custom behavior on top, whether we are in remote or local.

Also, I might be wrong on that, but as attaching a script at runtime is possible, the remote script icon information would be possibly different from the packed scene, local, tree.

In any case, have a great weekend ^^

Mickeon commented 2 years ago

Would having a script icon, like on the local tree, makes sense too in that proposals? Or would that be considered already pretty accessible by clicking scene than the script icon in tha local scene?

I thought about it. I would avoid adding excessive icons to the Remote Tree. Keep in mind, it could potentially show the tree of the whole game in execution. That's a lot of Scripts.