This PR adds a new "--install-android-build-template" command-line option which causes the android build template to be installed before exporting the project.
- Add contexts to give a better sense of benchmarked areas.
- Add missing benchmarks and adjust some begin/end points.
- Clean up names.
- Improve Android's internal benchmarks in a similar manner.
Co-authored-by: Fredia Huya-Kouadio <fhuya@meta.com>
This removes the immediate confirmation dialog and insteads prints the
message to the editor log (and it also appears as a toast). The immediate dialog
is a devil's plaything, and it cannot be used in this scenario (if it can be used
anywhere at all). The condition that triggers the SUT can happen during any
attempt by the rendering server to read a mesh. This means it will conflict
with a number of editor processes, like loading, importing, preview
generation, export, CLI mode, etc.
So while this is less on the nose as far as informing users goes, it's also
our best option to use the log and the toaster.
This defers the update to a fresh restart of the editor (to ensure we aren't mid way through loading scenes anymore.
It also ensures that the popup can't be used by multiple threads at once
Co-authored-by: Yuri Sizov <yuris@humnom.net>
Assign bone_idx to GLTF importer to fix serialization.
Notifies Skeletons and BoneAttachments when reimporting.
Removes usage of NOTIFICATION_NODE_RECACHE_REQUESTED
- EditorNode has excessive and pointless checks for Input singleton.
- EditorNode initialization order is a bit awkward.
- OpenXR binds a method that doesn't need that (for call deferred).
- VideoStream has a formatting error.
- Enabling newly created addons can show a warning dialog, doing so before hiding the `ProjectSettingsEditor` dialog causes rendering glitches.
- Remove unused `PuginConfigDialog` in `EditorNode`. The one actually being used is an instance in `EditorPluginSettings`.
When creating a new scene, the scene tab will actually switch to the newly created one.
Also worth noting that switching scene tabs saves state (by `save_edited_scene_state`).
When trying New Scene again, the previously empty scene tab will be removed.
So the correct logic is: switch the tab save state first, and then remove the previous
empty scene tab. To prevent `current_edited_scene` from being incorrect when saving state.