Age | Commit message (Collapse) | Author |
|
|
|
When dragging and dropping a texture, mesh, or scene from the FileSystem into the
2D or 3D viewport, it will be added as a child of the current scene's root node.
|
|
Clear debug process identifiers array at `stop()` to prevent invalid checking of them
|
|
|
|
|
|
Fix duplicate shortcut for paint and erase in TileMap editor
|
|
|
|
This pull request fixes an issue where the paint and erase tools in the TileMap editor had the same shortcut (E). The erase tool having "E" be its shortcut makes more sense than the paint tool having that be its shortcut. So I changed the paint tool's shortcut to be "D" since nothing else uses it and it's short for "draw", it's also right next to "S" on the keyboard which happens to be the selection tool.
|
|
Multiple cosmetic fixes for embedded windows
|
|
- Use the ° symbol instead of "deg" to reduce clutter.
- Round the displayed lengths to only one decimal instead of two
to further reduce clutter.
- Don't make the `px` suffix localizable, as it isn't localizable
anywhere else in the editor.
|
|
Improve the 3D editor manipulation gizmo
|
|
Improve MeshInstance3D UV preview in the editor
|
|
|
|
Add shortcut to toggle the 3D editor's camera preview
|
|
|
|
Fix icon colors in 3d editor on theme changing
|
|
* Fixed subgizmo editing on scaled nodes.
* Added more clarifications on the coordinate space of subgizmos.
* Given input priority to the transform gizmo over subgizmo selection.
|
|
Remove the remains of ImmediateGeometry3D
|
|
|
|
Use Ref<T> references as iterators where relevant
|
|
And const when possible.
|
|
against physics rather than visual geometry.
|
|
Implement Binary Shader Compilation
|
|
(cherry picked from commit c406c8512f059eab29a3fc135218b7b60a5315d1)
|
|
* Added an extra stage before compiling shader, which is generating a binary blob.
* On Vulkan, this allows caching the SPIRV reflection information, which is expensive to parse.
* On other (future) RenderingDevices, it allows caching converted binary data, such as DXIL or MSL.
This PR makes the shader cache include the reflection information, hence editor startup times are significantly improved.
I tested this well and it appears to work, and I added a lot of consistency checks, but because it includes writing and reading binary information, rare bugs may pop up, so be aware.
There was not much of a choice for storing the reflection information, given shaders can be a lot, take a lot of space and take time to parse.
|
|
Hide the 3D editor selection box when View Gizmos is disabled
|
|
|
|
Follow-up typos found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
|
|
A Camera3D node still has to be selected to initially enable camera
preview, but another node can then be selected and the preview can
be disabled by pressing the shortcut key again.
|
|
|
|
|
|
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
|
|
- Use background and line colors that match better with the
rest of the editor.
- Use translucent lines to make overlapping lines visible.
- Tweak the error message to mention the UV layer in question
when there is no UV for a defined layer.
|
|
Improve select tool's tooltip for 2D and 3D
|
|
Fix scene import following List iterator changes
|
|
|
|
Implement Resource UIDs
|
|
Use C++ range iterators for Lists in many situations
|
|
* Most resource types now have unique identifiers.
* Applies to text, binary and imported resources.
* File formats reference both by text and UID (when available). UID always has priority.
* Resource UIDs are 64 bits for better compatibility with the engine.
* Can be represented and used textually, example `uuid://dapwmgsmnl28u`.
* A special binary cache file is used and exported, containing the mappings.
Example of how it looks:
```GDScript
[gd_scene load_steps=2 format=3 uid="uid://dw86wq31afig2"]
[ext_resource type="PackedScene" uid="uid://bt36ojelx8q6c" path="res://subscene.scn" id="1_t56hs"]
```
GDScript, shaders and other special resource files can't currently provide UIDs, but this should be doable with special keywords on the files.
This will be reserved for future PRs.
|
|
Add a tooltip for Inclusive and Self in the editor profiler
|
|
This also changes the display mode tooltips to reflect the fact that
times are now displayed in milliseconds instead of seconds.
|
|
|
|
- Makes tips clearer and more consistent.
- Removes outdated "shift+v" that doesn't work
- Adds Ctrl+RMB for adding nodes at position
- Removes tip for non-existent Alt+Drag in 3D select tool
|
|
|
|
Node3D gizmo improvements
|
|
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs.
* Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins.
* Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes.
* Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles.
* Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
|
|
Expose an ImportOrder enum in ResourceImporter
|
|
|
|
Clarify the purpose of the default asset library URLs in the editor
|
|
Allow for easier editing of rect CollisionShape2D
|