DRAFT: Add EditorCanvasItemGizmoPlugin for 2D (similar to 3D's Node3DEditorGizmoPlugin) #112979
DRAFT: Add EditorCanvasItemGizmoPlugin for 2D (similar to 3D's Node3DEditorGizmoPlugin) #112979derkork wants to merge 26 commits into
Conversation
8c91a5a to
0e0192d
Compare
|
Please set up pre-commit hooks to make sure your PR is formatted correctly |
|
Will do, thanks for the heads up! |
0e0192d to
ecf1406
Compare
|
Awesome, thanks a lot for the first once-over! I'll fix these up and try not make the same mistakes again. |
f597bf5 to
47778b3
Compare
47778b3 to
3b855fc
Compare
|
@AThousandShips thanks again for your review. Just to make your life easier, should i mark things as resolved manually or do you just ignore review items that GitHub marks as outdated? |
|
You go ahead and mark them as resolved when you've made the changes, thank you for checking! |
351dd87 to
b66d493
Compare
7de20cf to
3be9751
Compare
3be9751 to
6470fec
Compare
6470fec to
df62d6d
Compare
df62d6d to
e88a989
Compare
e88a989 to
5d203e8
Compare
|
So I have now created an example project and also a documentation section for how to use all of this, which hopefully makes it a bit easier to review the whole thing because you can see how it's actually supposed to work - and we need this anyway. There are a few things I'm not super happy with, and I would appreciate some feedback/direction here: Different ways of handling undo and redoCurrently, there are three different ways of handling undo and redo for sections of your Gizmo plugins:
This is mostly because I needed some way of keeping the legacy behavior without breaking too much stuff, while at the same time allowing for some freedom for the users to implement whatever they need. In the 3D Gizmos, there is a similar problem; however, they don't have the pivot issue, so they can get away with two different ways here. The
|
|
Really looking forward to this feature, thank you very much for taking on the work! If I'm not mistaken, this would make it possible to implement this recently added feature for 2D as well. |
This adds Gizmo plugins for canvas items similar to what the Spatial Editor Gizmo plugin can do (see godotengine/godot-proposals#1910). This is intended to simplify building editor extensions for 2D objects, which currently has a lot of limitations.
Right now, this is still a draft. It's nowhere near finished, but I still wanted to put it up here so I could get some early feedback. Just to avoid running into the wrong direction for a long time, and then it's a big mess to clean everything up.
If that is not the correct way to do this, please let me know, and I will close this and reopen the merge request once I think it is in a state that I would consider finished.
My plan of attack right now is:
_edit_*methods.What is currently working:
_edit_get/set/has_rectand_edit/get/set/has/_pivot).What's still missing: