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`.
This will allow decoupling `display_server.h` from a number of headers in the
codebase which only require those enums and not all the DisplayServer API.
This editor setting is queried once every 3 seconds, as it is used
to check whether devices have been (dis)connected for one-click deploy.
This method may be called early on depending on initialization order,
which has led to occasional error messages when exporting a project.
The method now returns early if EditorSettings isn't ready yet
(it will be called again soon after anyway).
- Add hint string `monospace` for `PROPERTY_HINT_{NONE,PASSWORD,PLACEHOLDER_TEXT}` to set the `LineEdit` font monospaced.
- Add hint string `monospace` for `PROPERTY_HINT_MULTILINE_TEXT` to set the `TextEdit` font monospaced.
- Add hint string `no_wrap` for `PROPERTY_HINT_MULTILINE_TEXT` to make the `TextEdit` not wrap lines automatically.
Also:
- Fix issue with `EditorPropertyMultilineText` not updating font properly.
- Add `EditorPropertyMultilineText` tweak flags.
- Add support with GDScript `@export_multiline`.
Dedicated server exports don't perform any rendering, so there's no point
in including baked shaders. Doing so saves a few MBs in PCK size if the
shader baker was enabled in the export options.
Both the `app` and `lib` modules had custom source sets configuration originating from the early days of the project. This updates the configuration to match the default Android Studio configuration which will simplify the addition of unit tests and instrumented tests to the project.
Note that for backcompat reasons, some folders (such as the `res` folder in the `app` module) are left as is.
To ensure Android exports are compatible with the new Play Store
requirement that all `.so` libraries included are aligned to 16k,
we now require C# projects to target `net9.0` which uses the
correct alignment (as opposed to the current one of 4k).
The thirdparty jar library has also been updated to the one from
the 9.0.4 runtime package so it's compatible with non-gradle
builds targeting `net9.0`.
Non-android projects are not affect, the minimum TFM is still
`net8.0`.