godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.14k stars 94 forks source link

Add Tags/Sections to Scene window #10841

Open JekSun97 opened 2 weeks ago

JekSun97 commented 2 weeks ago

Describe the project you are working on

A large program with a user interface, where there are about 800+ nodes

Describe the problem or limitation you are having in your project

I have been developing a program based on the Godot user interface for a long time, in one scene there are about 800+ nodes, and each node performs its function, without duplication, I began to notice that it is very difficult for me to continue developing the program, since it takes a lot of time to find the right node, and the convenience of navigating through the project has significantly decreased.

Now new projects with a huge number of nodes, I try to organize somehow so that I can highlight them and find them immediately when scrolling through the Scene Tree: tree

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

I have been fantasizing for a long time about what could help me out in such a situation, but I could not come up with anything like subfolders of nodes in the scene, or groups of nodes that would stand out among other nodes in the scene, by style, background color or icon.

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

Perhaps we need some special nodes for visual organization of the scene, these nodes would be used only visually in the Scene Tree, but would not participate in the gameplay in any way, and would not be exported to the finished project, but would save perhaps only the path as a link, for access to nested nodes.

Ideas:

  1. Ability to choose a background color, as it happens with folders in the engine file system

  2. A special font color, to highlight among other nodes?

  3. A button, or a new section in the scene menu (icon with three dots), when pressed, which opens a menu with all groups/Tags, and when selecting a section - Scene Tree focuses on this group and expands it (if it has nested nodes), and perhaps emphasize it or highlight it.

Here are the sketches (I'm a bad designer, sorry): tree MENU

We have a search field with a filter, but with a large number of nodes, finding the node we need is not so easy, and it is not always possible to give the node a meaningful name for searching, also the process of adding nodes to a group is not very fast, and as it seems to me, is not suitable for such purposes, the menu will give quick navigation to the groups of nodes we need, especially if they are deeply nested in nodes.

Perhaps it will be called something else, not groups or tags, but I think the meaning is clear.

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

As far as I know, no. In any case, I think anyone who is involved in a huge project has encountered such a problem when organizing a common stage.

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

Same as above

fire commented 2 weeks ago

Are you aware of the Blender design where the default is not to use the scene tree but collections?

JekSun97 commented 2 weeks ago

Are you aware of the Blender design where the default is not to use the scene tree but collections?

Yes, of course, but I didn't look at that part of the interface very often, and I still don't understand what the difference is, except for the names