This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.
Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.
With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.
On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
This does not apply to text printed to the Output panel, as the fixed-width
font may not have the glyph in its character set (or if it does, the arrow
character may be hard to read).
- Use Forward+/Mobile terminology as support actually depends on the
rendering method used, not the rendering driver.
- Use a standard warning color as this is no longer indicated as
Vulkan-specific.
- Fix color on light theme (the text was being modulated instead
of having its color overridden).
Potentially resolves https://github.com/godotengine/godot/issues/101375
VisualShader now has a has_node_embeds function that runs through it's child nodes to find embedded resources via object properties. Conversion plugin uses this function to catch the error.
More detailed logic to fix 3 errors.
* Using 0 as the default value for 'Saved_type' would cause new Particle, Sky, and Fog shaders to display incorrectly and fail to function.
* Passing Saved_type directly into edit_type_select would cause an error because Saved_Type is not the options button index, and can be out of bounds.
* Restoring some saved Particle types correctly requires also checking the custom mode box