Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
This can be used to speed up iteration by starting the import process
earlier when saving files in the project folder. This also allows getting
visual feedback on changes without having to click the editor window,
which is useful with multi-monitor setups.
The downside is that this increases idle CPU usage and may steal CPU
time from other applications when importing resources, so this is
disabled by default.
- 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.
Defined more theme variations and styleboxes for those variations to work around an issue where external editor themes would apply incorrect margins to certain buttons. This should eliminate clipping/alignment issues while a custom theme is in use.
Also simplified the step where margins are copied over thanks to @Rindbee 's suggestion
fixes godotengine#82061
fixes godotengine#61556
Also, distinguish between main pack and DLC packs.
It's desirable to downloaded content to be as small as possible. This change avoids bloating non-main pack files with new versions of resources that are all read on startup and never used again. They have no effect if loaded after startup.
- project.godot/project.binary file
- extension_list.cfg
- app icon and boot_splash
- .ico and .icns files (these can still be opted in for DLC by listing them explicitly in the include filter)
Default shortcuts use the first or second letter of each word.
This also adds a new shortcut to toggle the last opened bottom panel.
On editor startup, this defaults to the first panel in the list
(which is the Output panel).
Defaults to "Auto", which detects the casing based on the
preference of the currently selected language (C# for example
prefers PascalCase whereas GDScript prefers snake_case).