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

Improve the visual script property selector #3528

Closed
Gallilus opened this issue Nov 11, 2021 · 0 comments · Fixed by godotengine/godot#56252
Closed

Improve the visual script property selector #3528

Gallilus opened this issue Nov 11, 2021 · 0 comments · Fixed by godotengine/godot#56252

Comments

@Gallilus
Copy link

Gallilus commented Nov 11, 2021

Describe the project you are working on

General VisualScript Improvements.

Describe the problem or limitation you are having in your project

The VisualScriptPropertyEditor is not flexible enough for general use. People keep finding and needing new workarounds to get the data/VSnodes that they want.

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

Upgrading the VisualScriptPropertyEditor requires the best of PropertySelector and EditorHelpSearch and the capability to convert the selected into VSNodes.

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

  1. The search functionality of EditorHelpSearch seems more capable and understandable so I will try to implement this as a new foundation.
  2. Implement the filters expected of both property inspectors. These filters are dependant on the input data.
  3. Implement filters based on scope. Now only base classes are used to give results, for example when using the input class it's most likely you only want to base results on the Inheritors.
    3.1 (Optional) Make filter conditions and presets extendable and overwritable by plugins. To support different programming styles
  4. And last, when not enough solutions are provided automatically start ignoring the filters until you find solutions.
  5. Then reimplement the creation of nodes based on the selection.
    6. And last, provide the possibility to create snippets when creating none base nodes.
    6.1. Use Typecast when creating inheriter nodes.
    6.2. Use HasFunction when creating unrelated nodes.
    6.3. (Optional) Maybe make these sippet conditions and result extendable and overwritable by plugins. Similar to PropertyEditor

The UI

Give the old selector the topbar and search functionality of EditorHelpSearch.

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

It can not be worked around. And will be used as often as visual script.

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

It is a base feature of visual script

Possibly related to

Fixes: godotengine/godot#48751
Fixes: godotengine/godot#47837
Fixes: godotengine/godot#28136
Fixes: godotengine/godot#49062
Fixes: godotengine/godot#50775

Code in Pull request #56252

Current progress

new UI the top bar provides filters so all options are accessible at all times.
image

A lot more work needs to be done, but this video may explain how the scope filter will work.
https://user-images.githubusercontent.com/20573784/141364942-0fd670a4-da98-4d64-80af-721b3a81012b.mp4

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

Successfully merging a pull request may close this issue.

3 participants