Backports features and bugfixes from current Godot 4.0 to 3.5 and brings functions and codebase of both version largely in sync to make tutorials more compatible and future backports easier.
Fixed UI bug where it appeared that pushing the up or down incrementing
arrows did not increment the SpinBox value appropriately. Just needed
to increase the size of the box horizontally, to display four decimal
points consistently.
(cherry picked from commit 09658f7e3b)
When populating a MultimeshInstance (node), Godot would set the
new Multimesh's color and custom data format as the current node's
multimesh, which would cause a crash if node's multimesh is null.
Populate Function will now check if node has a multimesh or not, and
set the new multimesh with default (NONE) values if node's multimesh is
null.
Fixes Issue #61553
The new default value (1800) allows storing 30 seconds of profiling
at 60 FPS.
The new maximum value (10000) allows storing about 3 minutes of
profiling at 60 FPS.
The profiler graph will scale accordingly to the chosen setting,
so the default value is kept relatively low to prevent the graph
from looking too squished on narrow displays.
GitHub doesn't allow CORS so we can't download assets from it.
There'd also be more work needed for the Asset Library plugin to be
usable in the Web editor even if that was supported.
(cherry picked from commit 42b48496de)
The call to draw the handles in the OccluderPoly was spamming errors when the hole has no points. This PR prevents trying to draw the gizmo for the hole when there are no points, which prevents the spam.
This is in contrast to the previous signal in use - "pressed", which doesn't get emitted on simple clicks on the OptionButton to open the popup.
Also, fixes the ids using which the metadata was being set on the items on the commit list. The commit list size button items now work as expected
Change the order of checks in _class_desc_select to first try checking current page and GlobalScope before resorting to slicing either side of the first ".". This may change previous search behaviours - previously if both x.y and @GlobalScope.x.y existed, _class_desc_select would select the former; it will now select the latter.
Also tidies up some comments.