Cosmetic changes to "Global Transform" panel in 3D Viewport sidebar, to make it
more aligned with rest of the Blender UI.
Note that this isn't a comprehensive update, there are still many things to change
according to our discussions in #137280. This PR only includes small,
non-controversial changes so that we can land improvements in 5.0.
Bigger changes will follow in the next version(s).
List of changes:
- Close all subpanels by default.
- Move "Fix to Camera" subpanel to the bottom, so that it's not between related
"Mirror" and "Relative" subpanels.
- Follow Blender's GUI guidelines:
- Use `property_split`.
- Align related properties.
- Remove redundant label from "Relative" subpanel. The title of the subpanel
already communicates the purpose.
- Rename "Mirror Options" subpanel title to just "Mirror". It's obvious that the
panel will contain options.
Pull Request: https://projects.blender.org/blender/blender/pulls/147436
Move the Copy Global Transform core add-on into Blender's code.
- The entire extension was one Python file. This PR basically splits
it into two, one for operators (in `bl_operators`) and the other for
UI panels. Those panels are registered in the 3D viewport's sidebar,
which were registered in `space_view3d`, but I made the decision
here to create a new file `space_view3d_sidebar`, because the main
file is getting too large and difficult to navigate. This PR puts
the global transform panel in this file. After this is merged, I
will do refactors to move the rest of the sidebar panels here as
well.
- `AutoKeying` class was moved into `bpy_extras/anim_utils.py` so that
it's reusable and also accessible from API, since it's generally
very useful. There were discussions about putting this somewhere,
but for now, I chose against it because creating a new file would
also mean PR would have to affect documentation generation, and
would complicate things. If we want to, we can probably create a new
module in the future.
- Little tweaks to labels and descriptions. Now that they exist
outside of the add-on context, and exist without the user explicitly
enabling them, they need to be more descriptive and tell users what
they actually do. They also need to conform to Blender's GUI
guidelines. Also tried organizing files a little by grouping
objects.
- Add-on properties (which included word `addon` in the name) have
been registered in C++, on `scene.tool_settings` with `anim_`
prefix.
Pull Request: https://projects.blender.org/blender/blender/pulls/145414