- When multiple lines are selected:
- Find: Keep previous search instead of putting those lines in the
find input.
- Replace: Focus find input instead of replace input.
- Add placeholder and tooltip for LineEdits and icon buttons.
- Disable related buttons when the operation makes no sense.
We need to update the scene root in multiple singletons to ensure that
certain flags are correct. This is what `EditorNode::set_edited_scene()`
does.
Usually we use `replace_by` to complete the replacement of the scene
root. Call `EditorNode::set_edited_scene()` when the `replacing_by`
signal is emitted to set the new scene root. This is suitable when
using a single node to replace, which may be problematic if the
replacing node is a tree. Because during the call to `replace_by()`,
the new node and its child nodes will enter tree during `parent->
add_child(p_node)`, and later emits the `replacing_by` signal.
When the parent scene has to be reloaded because the child scene
changes and switches to the parent scene, there is no need to use
`replace_by()` since the scene's diffs are already saved.
PR #89452 made assumptions on comparing paths as strings
which doesn't work when composing them as POSIX paths (`/`)
but processing them on NT (`\`, `\\`).
theme_override properties have some special handling in EditorInspector. When caching documentation info for properties, the theme_item_name value (used only for theme_overrides) was not being cached, so it would only be included on first use. This meant that theme_override property tooltips would show up in the editor the first time a node was selected, but not again after selecting something else/reselecting. Added theme_item_name to caching to fix this.
Fixes#90395
- Rename it to Engine Compilation Configuration Editor. This makes
it clearer that it requires compiling the engine to work ("build"
can be understood as exporting a project or building C# solutions
by some).
- Add it to the editor command palette and allow defining a keyboard
shortcut for it, for consistency with other tools.
This also fixes error spam when changing Custom AABB on a MeshInstance3D
that has no Mesh resource assigned yet (which is allowed in the editor).
This avoids pitfalls when assigning a custom AABB in a script when
loading meshes at runtime.