HP van Braam
6f7525c396
Improve Scene Tree editor performance
...
We now cache the Node*<>TreeItem* mapping in the SceneTreeEditor. This
allows us to make targeted updates to the Tree used to display the scene
tree in the editor.
Previously on almost all changes to the scene tree the editor would
rebuild the entire widget, causing a large number of deallocations an
allocations. We now carefully manipulate the Tree widget in-situ saving
a large number of these allocations.
In order to know what Nodes need to be updated we add a
editor_state_changed signal to Node, this is a TOOLS_ENABLED,
editor-only signal fired when changes to Node happen that are relevant
to editor state.
We also now make sure that when nodes are moved/renamed we don't check
expensive properties that cannot contain NodePaths. This saves a lot of
time when SceneTreeDock renames a node in a scene with a lot of
MeshInstances. This makes renaming nodes go from ~27 seconds to ~2
seconds on large scenes.
SceneTreeEditor instances will now also not do all of the potentially
expensive update work if they are invisible. This behavior is turned off
by default so it won't affect existing users. This change allows the
editor to only update SceneTreeEditors that actually in view. In
practice this means that for most changes instead of updating 6
SceneTreeEditors we only update 1 instantly, and the others only when
they become visible.
There is definitely more that could be done, but this is already a
massive improvement. In complex scenes we see an improvement of 10x,
things that used to take ~30 seconds now only take 2.
This fixes #83460
I want to thank KoBeWi, TokisanGames, a-johnston, aniel080400 for
their tireless testing. And AeioMuch for their testing and providing a
fix for the hover issue.
2024-12-12 22:47:05 +01:00
Yuri Rubinsky
a40fc2354a
Merge pull request #100036 from Chaosus/hover_sname
...
[Scene] Add `SceneStringName::hover`
2024-12-11 12:24:09 +03:00
Chaosus
9a8d6628de
[Scene] Add SceneStringName::hover
2024-12-11 11:11:25 +03:00
Chaosus
7adb986e15
Fix orphan strings in AnimationNodeStateMachine
2024-12-11 11:08:23 +03:00
Thaddeus Crews
15aa18bc92
Merge pull request #98675 from YeldhamDev/dont_be_shy_plugin
...
Fix certain editor plugins not showing when they should
2024-12-10 14:16:09 -06:00
Thaddeus Crews
ba89529390
Merge pull request #99695 from peterdang1502/error-calling-deferred-method-99571
...
Fix argument error when restarting project by executing Project -> Tools -> Upgrade Mesh Surface
2024-12-10 14:16:05 -06:00
Thaddeus Crews
b789935a13
Merge pull request #100049 from Chaosus/flat_button_sname
...
[Scene] Add `SceneStringName::FlatButton`
2024-12-10 14:16:01 -06:00
Thaddeus Crews
6cbf7c77c2
Merge pull request #100150 from ArchercatNEO/homeless-export
...
Use temp dirs instead of cache dirs for export
2024-12-10 14:15:54 -06:00
Thaddeus Crews
8f16f864a6
Merge pull request #99765 from dalexeev/core-fix-json-from-to-native
...
Core: Fix `JSON.{from,to}_native()` issues
2024-12-10 14:15:53 -06:00
Thaddeus Crews
b26f9f0380
Merge pull request #85275 from TheSofox/anchors-undo-fix
...
Correctly restore Control position on undoing an Anchors Preset
2024-12-10 14:15:47 -06:00
Thaddeus Crews
14b2f62d04
Merge pull request #100247 from BlueCube3310/tex-preview-all
...
Consider all texture types for resource thumbnail generation
2024-12-10 14:15:44 -06:00
Thaddeus Crews
bfc1d2f95f
Merge pull request #96773 from tetrapod00/resource-save-popup
...
[Editor] Use toast (notification) instead of dialog when saving with no open scene
2024-12-10 14:15:42 -06:00
BlueCube3310
ab0a2517b1
Consider all texture types for resource thumbnail generation
2024-12-10 14:57:10 +01:00
Chaosus
ba39b078f5
[Scene] Add SceneStringName::FlatButton
2024-12-10 11:12:26 +03:00
Thaddeus Crews
e9679a28ff
Merge pull request #91604 from nongvantinh/implement-7946
...
Save color palette as resources to reuse later
2024-12-09 14:33:29 -06:00
Thaddeus Crews
94711acfe1
Merge pull request #87375 from limbonaut/instantiate_property_editor
...
Export `EditorInspector::instantiate_property_editor` for use by plugins
2024-12-09 14:33:28 -06:00
Thaddeus Crews
a607bca2fd
Merge pull request #100024 from Ivorforce/optimize-string-single-char
...
Optimize string single char contains calls.
2024-12-09 14:33:24 -06:00
Thaddeus Crews
fb4d401933
Merge pull request #81714 from CreepGin/navigation_feel
...
Add 3D translation sensitivity to Editor Settings
2024-12-09 14:33:21 -06:00
Thaddeus Crews
2654dbaf5c
Merge pull request #99984 from KoBeWi/negative_diff_but_it's_deleting_whole_files
...
Move singleton StringName definitions to header
2024-12-09 14:33:11 -06:00
Michael Alexsander
b397add456
Fix certain editor plugins not showing when they should
2024-12-09 15:23:23 -03:00
ArchercatNEO
00a791f04e
Use temp dirs instead of cache dirs for export
...
Fixes #95897
During CI scenarios $HOME may be set to an invalid value (such as
`/var/empty`).
Using temp dirs fits better with godot's usage of these paths and is
independent from the user's $HOME.
2024-12-08 12:07:17 +00:00
Serhii Snitsaruk
803fa8f2e8
Export EditorInspector::instantiate_property_editor for use by plugins
...
And export useful properties and methods in the `EditorProperty` class.
2024-12-07 14:07:04 +01:00
Lukas Tenbrink
b5c31ebb41
Add contains_char() for single-character 'contains' calls.
2024-12-06 20:23:35 +01:00
Nông Văn Tình
e6a49ab6ac
Save color palette as resources to reuse later
...
Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>
2024-12-06 20:16:06 +07:00
kobewi
d3c9bee653
Move singleton StringName definitions to header
2024-12-06 13:43:31 +01:00
David
174e659a48
Add 3D translation sensitivity to Editor Settings
2024-12-05 22:50:52 +01:00
Thaddeus Crews
c153f963ce
Merge pull request #99947 from Meorge/ignore-macosx-in-zip
...
Ignore `__MACOSX` directory for export template and project ZIPs
2024-12-05 14:12:22 -06:00
Thaddeus Crews
30b32396de
Merge pull request #100053 from bruvzg/font_change
...
Change default Arabic font to Vazirmatn.
2024-12-05 14:12:14 -06:00
Thaddeus Crews
370e5f3b0e
Merge pull request #99920 from lander-vr/reflection-probe-ui-improvements
...
Clean up UI of ReflectionProbe
2024-12-05 14:12:12 -06:00
Thaddeus Crews
09cbe05485
Merge pull request #76231 from Calinou/inspector-text-show-tooltip
...
Show String properties' text in a tooltip in the inspector
2024-12-05 14:12:09 -06:00
Thaddeus Crews
ef22b6fe82
Merge pull request #100030 from passivestar/mainmenu-valign
...
Fix vertical alignment of the main menu bar
2024-12-05 14:12:06 -06:00
Thaddeus Crews
68cd7f2e97
Merge pull request #100027 from timothyqiu/efd-improve
...
Fix UI inconsistencies in `EditorFileDialog`'s toolbar
2024-12-05 14:12:04 -06:00
Thaddeus Crews
df94c00f6d
Merge pull request #100010 from KoBeWi/directory_compass_for_navigating_sea_of_directories
...
Don't rebuild tree when navigating to path
2024-12-05 14:11:53 -06:00
Thaddeus Crews
9951743adf
Merge pull request #97822 from stdmnpkg/loongarch
...
Add loongarch64 support for Linux/*BSD
2024-12-05 14:11:44 -06:00
Thaddeus Crews
4adf4bf58f
Merge pull request #99987 from KoBeWi/preferred_mess
...
Fix extensions when saving resource as
2024-12-05 14:11:42 -06:00
Thaddeus Crews
e9cbfd3dad
Merge pull request #99982 from hakro/quiet_tiptool
...
Ignore custom tooltip if its text is empty in signals tab
2024-12-05 14:11:40 -06:00
Student Main
e0693f8ad8
Add loongarch64 support
2024-12-06 00:18:26 +08:00
Pāvels Nadtočajevs
06cae04b87
Change default Arabic font to Vazirmatn.
2024-12-05 16:26:52 +02:00
Haoyu Qiu
1ef3bd5768
Fix UI inconsistencies in EditorFileDialog's toolbar
...
- Sort button has different stylebox compared to others
- The top toolbar has a separator on the right side when in open mode
- Update fav up/down buttons when fav list changes
2024-12-05 16:56:59 +08:00
passivestar
73f7e1379c
Fix vertical alignment of the main menu bar
2024-12-05 05:27:34 +04:00
Malcolm Anderson
2336415623
Ignore __MACOSX directory in export template collection ZIP file and project import ZIP file
...
Update editor/export/export_template_manager.cpp
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-04 13:31:26 -08:00
Thaddeus Crews
1f47e4c4e3
Merge pull request #99990 from KoBeWi/update_tree_after_updating_tree
...
Fix FileSystem dock filter reset when tree rebuilds
2024-12-04 11:02:11 -06:00
kobewi
113621dd89
Don't rebuild tree when navigating to path
2024-12-04 15:21:27 +01:00
kobewi
6e490dadcd
Don't navigate to path when file is double-clicked
2024-12-04 15:19:01 +01:00
Hugo Locurcio
e4106f8d61
Show String properties' text in a tooltip in the inspector
...
This allows previewing single-line or multipline strings
that are too long too fit within the box in the inspector.
2024-12-04 01:24:14 +01:00
kobewi
cc5be8507c
Fix FileSystem dock filter reset when tree rebuilds
2024-12-03 23:36:51 +01:00
kobewi
b0cee57d81
Fix extensions when saving resource as
2024-12-03 22:54:54 +01:00
Thaddeus Crews
44cda51110
Merge pull request #98812 from bruvzg/macos_bundles_as_file
...
[macOS] Handle bundles as files in the embedded file dialogs.
2024-12-03 14:41:07 -06:00
Thaddeus Crews
e5d62fa120
Merge pull request #99957 from StaydMcMuffin/preview_environment_sky_fix
...
Editor: Fix default preview environment sky's horizon and brightness.
2024-12-03 14:41:04 -06:00
Thaddeus Crews
156bc92282
Merge pull request #98397 from adamscott/add-tmp-support
...
Add temp utilities (alias `OS::get_temp_dir()`, `FileAccess::create_temp()`, and `DirAccess::create_temp()`)
2024-12-03 14:40:59 -06:00