godot-proposals icon indicating copy to clipboard operation
godot-proposals copied to clipboard

Add colored margin in Inspector for arrays and dictionaries

Open ajreckof opened this issue 1 year ago • 3 comments

Describe the project you are working on

anything

Describe the problem or limitation you are having in your project

arrays and dictionaries have a problem with readability in the Inspector

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

Add a colored border for arrays and dictionaries as it was done for Resources in https://github.com/godotengine/godot/pull/45907.

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

An implementation of the proposal is available here : https://github.com/godotengine/godot/pull/75482

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

it will be used often and can't be worked around ith a few lines of code.

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

No it would need a plugin rebuilding the full editor which would be a huge work and with poorer performance

ajreckof avatar May 31 '23 01:05 ajreckof

The only objection I can think of is what @groud mentioned in the PR https://github.com/godotengine/godot/pull/75482#issuecomment-1568278430

I am not 100% against the idea, but I kind of find useful that only sub-resources are highlighted. It is kind of making clear which parts of the properties might be things that are not part of the current scene. Thus adding highlighting to dictionaries is a bit confusing to me, and adds a lot of noise.'d think

I'd rather have bit more feedback on that solution before merging it, and that it might require a dedicated proposal to be sure it has enough baking.

But that being said, I don't have a better solution for now to solve the readability issue, so it might be an acceptable solution for now.

I think the idea is that the sub-inspector colored borders serves 2 purposes:

  1. Showing nesting/grouping
  2. Indicating the properties may be external to the current scene.

I think 1 is much more important and applies just as much to arrays and dictionaries, the readability for them when nested is even worse than it originally was for sub-resources. 2 is nice to have but not at the expense of 1 in cases where the hierarchy isn't entirely resources. Also 2 isn't entirely gone with this, it's just weaker.

I'm in support of adding this as is.

Cammymoop avatar Feb 12 '24 20:02 Cammymoop

I just realised that all resources are not external and as such as is the functionallity does not even properly indicate that the properties are external if it is something wante dI could had a parameter that would have two possibilities either color on variant type (coloring Dictionaries Array Resource and when they will be implemented struct) or color based on externality (color based on wether resource is internal or external) I could even add a last one for people wanting the functionality as it was (only resource colored) This would be a bit more work but shouldn't be hard at all. I would really like to have your point of view on this idea @groud.

ajreckof avatar Feb 13 '24 01:02 ajreckof

This would be a bit more work but shouldn't be hard at all. I would really like to have your point of view on this idea @groud.

Well, I still think it look overwhelming when everything gets colored, but I think it would not hurt to let users choose what they prefer. So as a settings, I think it is acceptable.

groud avatar Feb 13 '24 09:02 groud