Undo/redo log messages will now specify the modified node's
name (or number of modified nodes if several were modified).
On top of that, the new position/rotation/scale/pivot offset
will also be mentioned in the message.
(cherry picked from commit 996740de43)
Hide the back sides of the rotation gizmo circles and add a white
outline for better visualization of the rotation "sphere".
This is a 3.2 backport of @JFons work on the master branch; all credit
goes to him.
It can be enabled in the Project Settings
(`rendering/quality/filters/use_debanding`). It's disabled
by default as it has a small performance impact and can make
PNG screenshots much larger (due to how dithering works).
As a result, it should be enabled only when banding is noticeable enough.
Since debanding requires a HDR viewport to work, it's only supported
in the GLES3 backend.
The editor used to only copy drag-dropped files in the File System pane
if the given file was a valid resource, or had a specific file format
(ttf, otf).
With this PR, all drag and dropped files are copied instead, no matter
their extension.
(cherry picked from commit 410b324740)
Treats application unfocus as a mouse release for
TOOL_PAINTING, by finishing the undo state and
resetting the tool. Also sets a flag to prevent extra
lines from being drawn when the application is refocused.
fixes#42398, fixes#24970
(cherry picked from commit 70a4cd1afe)
Batching is mostly separated into a common template which can be used with multiple backends (GLES2 and GLES3 here). Only necessary specifics are in the backend files.
Batching is extended to cover more primitives.
1. _gen_unique_bone_name(Ref<GLTFState> state, const GLTFSkeletonIndex skel_i, const String &p_name) won't return an empty string.
2. String GLTFDocument::_sanitize_bone_name(const String &name) will keep Japanese characters. Like: "全ての親".
3. The sanitize function allows the bone name to be not just alphanumeric. The only required conditions are the ones in add_bone.
> ERR_FAIL_COND(p_name == "" || p_name.find(":") != -1 || p_name.find("/") != -1);
(cherry picked from commit 7b76f8783f)
The glTF 2.0 spec only makes `mimeType` mandatory for `bufferView` image data,
so the previous logic to handle URIs with base64-encoded images could fail if
`mimeType` is undefined.
The logic was documented and refactored to better handle the spec, notably:
- `uri` and `bufferView` are now mutually exclusive, and only the latter fails
if `mimeType` is undefined.
- `uri` with a file path will now respect the `mimeType` if defined, and thus
attempt loading the file with the specified format (even if its extension is
not the one expected for this format). So we can support bad extensions (PNG
data with `.jpg` extension) or custom ones (PNG data in `.img` file for
example).
- `uri` with base64 encoded data will infer MIME type from `data:image/png` or
`data:image/jpeg` if it was not documented in `mimeType` initially.
- `uri` with base64 encoded data, no `mimeType` and `application/octet-stream`
or `application/gltf-buffer` will fall back to trying both PNG and JPEG
loaders.
Fully fixes#33796 (and fixes up #42501).
(cherry picked from commit 2e99d0b26f)
See https://github.com/KhronosGroup/glTF/issues/944 for context on the
application/gltf-buffer MIME type.
The glTF 2.0 spec supports `image/jpeg` and `image/png` which can also be
base64-encoded in buffer URIs.
Fixes#33796.
(cherry picked from commit 34a50310ad)
Entering text will now start searching automatically after 0.25 seconds
have passed (debounce delay).
This removes the need for a separate Search button.
(cherry picked from commit 6055db2a72)
- Make it possible to drag a negative easing or an easing of 0 back to
a positive value.
- Clamp the value between -1000000 and 1000000 to avoid issues
related to infinity.
- Display more decimals for numbers closer to 0, less for large numbers.
- Display trailing zeroes in decimals to avoid flickering when dragging.
This closes#18712 and closes#22079.
(cherry picked from commit 028de11db8)