TileSet add button support multiple files
Join most of the code of `_drop_data_fw()` and `_texture_file_selected()` in a new function `_load_texture_files()`
Rename `init_source` to `init_new_atlases`
- Correctly display atlas textures when used by other objects.
- Make region handles easier to hit in ninepatchable objects.
- Correctly initialize and restore various visual properties.
- Improve code quality.
Added checks to remove meta arrays when creating and undoing guides
Update editor/plugins/canvas_item_editor_plugin.cpp
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Update editor/plugins/canvas_item_editor_plugin.cpp
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
This should result in some noticeable performance improvements,
aside from fixing bugs due to conflicts in logic.
This also simplifies some related code identified while debugging.
This allows the user to input numbers during an "instant" (blender
style) transform operation to specify exactly how far to transform the
object. For example:
g2.5xx: Translate 2.5 units along the local x-axis
ry-45: Rotate -45 degrees around the y-axis
s.25Z: Scale by a factor of .25 on the xy plane
Some shared code between the traslate/rotate/scale branches of update_transform
was refactored into apply_transform so numeric transforms could reuse it.
This removes any "{X,Y,Z}-Axis Transform" messages. These prevented the
"Transforming: (x,y,z)" messages from showing, and the latter are more
useful, as they tell you the actual units.
This also rearranges finish_transform to clear _edit before updating
the axis rendering, so an axis doesn't remain highlighted.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
The lack of icon gizmo made it no longer possible to select Camera3D
nodes in the 3D viewport by clicking on them.
A new Camera3D icon gizmo was designed to be direction-neutral.
This avoids the issue that the previous icon gizmo had, since it was
always facing right.
This also adds icons for CameraAttributesPractical and CameraAttributesPhysical.
This is needed to allow 2D to fully make use of 3D effects (e.g. glow), and can be used to substantially improve quality of 2D rendering at the cost of performance
Additionally, the 2D rendering pipeline is done in linear space (we skip linear_to_srgb conversion in 3D tonemapping) so the entire Viewport can be kept linear.
This is necessary for proper HDR screen support in the future.
This should allow users to edit points in a less constrained space,
which feels like a UX improvement.
That said, changing minimum size according to current size might be a
hack that causes issues in certain situations.