Generally:
- Made use of [param] more frequently;
- Link to other classes' documentation more often;
- Improve and add more examples;
- Ensure that multiple comments of an codeblock example are spaced out equally for better readability;
- Made the writing style closer to how the rest of the documentation is formatted;
- Ensure these are called "functions", not "methods".
- Fixed a few typos.
- Touched up a few cases of zero being written as "zero" or "0" where "0" or "0.0" would be more appropriate.
- Removed mentions of "(real)". In 3.x, this was associated with floats, because TYPE_FLOAT was called TYPE_REAL.
More specifically:
- Every type-safe version of a function (such as `ceili` has a consistent final note ("A type-safe version of [method ceil], returning a [int]").
- Added more details to `randomize`, `seed`.
- Corrected `floori()`'s description. It's not the same as `int()`. This was not correct behavior and has been fixed.
For `PROPERTY_HINT_ENUM` properties, enumerator names can be provided as
a comma separated list. There're a few properties that add leading
spaces to the names (e.g. `First, Second, Third`).
These spaces are included in the Inspector dropdown, which is
unexpected.
It's better to leave the surrounding spaces untouched because it could
be part of the resulting string value (the variable is a string enum).
And most other enum hints don't contain surrounding whitespaces.
This PR removes the spaces and documents this `PROPERTY_HINT_ENUM`
behavior.
This removes the countless small UBO writes we had before
and replaces them with a single large write per render pass.
This results in much faster rendering on low-end devices
but improves speed on all devices.
The naming of static bodies has raised a lot of questions and
discussions, because they are actually movable (not being static). This
commit explains that the reason for "static" is that they are immovable
from the point of view of the physics engine. This makes it easier to
understand why the user can move static bodies manually.
Camera2D has follow smoothing to interpolate towards a target position, but no rotation smoothing to align with the target rotation.
This adds rotation smoothing directly into the Camera2D API by having two new properties:
- `rotation_smoothing_enabled`
- `rotation_smoothing_speed`
Connects AtlasTexture to its `atlas`'s "changed" signal, allowing it to detect property changes to `atlas` and update accordingly, when the project is running and in the editor, as well.