Commit graph

16119 commits

Author SHA1 Message Date
Thaddeus Crews
b1fb0f5f2f
Merge pull request #100442 from GuilhermeGSousa/rename-animation-node-process
Rename animation node process function to avoid gdextension name collision
2024-12-16 12:10:02 -06:00
Thaddeus Crews
4d4c229a83
Merge pull request #100432 from markdibarry/add_get_line_range_rtl
Add `get_line_range()` to `RichTextLabel`
2024-12-16 12:09:54 -06:00
Thaddeus Crews
9c9af038d5
Merge pull request #91060 from dalexeev/code-edit-add-doc-tooltips
Code Editor: Add documentation tooltips
2024-12-16 12:09:45 -06:00
Thaddeus Crews
017f0eb33a
Merge pull request #97449 from Geometror/ge-connections-prop
[GraphEdit] Make connections a property
2024-12-16 12:09:43 -06:00
Thaddeus Crews
ee7de7d088
Merge pull request #99361 from havi05/itemlist-hover-on-selected
`ItemList` highlight selected items and draw `cursor`-stylebox last
2024-12-16 12:09:42 -06:00
Rémi Verschelde
08508d2e01
Merge pull request #99700 from hpvb/scene_tree_editor_performance
Improve Scene Tree editor performance
2024-12-16 17:16:00 +01:00
Hendrik Brucker
e5be03a42b [GraphEdit] Make connections a property 2024-12-16 02:28:34 +01:00
Mark DiBarry
53a1be61a1 Add get_line_range to RTL 2024-12-15 19:09:42 -05:00
Guilherme Sousa
469f5a8fbc Rename animation node process function 2024-12-15 18:27:21 +01:00
Danil Alexeev
80d11500b5
Code Editor: Add documentation tooltips 2024-12-15 10:51:33 +03:00
havi05
b05111799b ItemList - highlight selected items && draw cursor last 2024-12-14 19:03:43 +01:00
Rémi Verschelde
ffe0cdebab
Merge pull request #99355 from havi05/itemlist-toggle-mode
Add `Toggle` selection mode to `ItemList`
2024-12-14 18:25:25 +01:00
Rémi Verschelde
66a2ea4718
Merge pull request #98610 from Flarkk/fix_sphere_capsule
Fix normals of very large `SphereMesh` and `CapsuleMesh`
2024-12-14 18:25:17 +01:00
Rémi Verschelde
36c6ce92db
Merge pull request #97660 from HolonProduction/completion-cancelation-🌈
GUI: Only cancel completion with the `ui_cancel` action
2024-12-14 18:25:13 +01:00
Rémi Verschelde
20064cf5c0
Merge pull request #95044 from Hilderin/fix-double-click-signal-connection
Fix connecting a signal with a double click is too difficult
2024-12-14 18:25:07 +01:00
Hilderin
4e19ab8afe
Fix connecting a signal with a double click is too difficult
Co-authored-by: Danil Alexeev <dalexeev12@yandex.ru>
2024-12-14 16:18:34 +03:00
Thaddeus Crews
9ecdeb3723
Merge pull request #98747 from tetrapod00/standardize-renderer-strings
Standardize terms for renderers in error strings
2024-12-13 16:19:37 -06:00
Thaddeus Crews
3c6896fd2a
Merge pull request #99181 from GuilhermeGSousa/animation-node-extension
Add animation node extension
2024-12-13 16:19:30 -06:00
Thaddeus Crews
5527bcbfbe
Merge pull request #100363 from RandomShaper/fix_mtl_mt_deadlock_4.4
Fix deadlock possibility in threaded load of materials
2024-12-13 16:19:24 -06:00
Thaddeus Crews
80ae6fc1ee
Merge pull request #100324 from YYF233333/codestyle
Remove dead code in `AnimationNodeStateMachine`
2024-12-13 16:19:18 -06:00
Pedro J. Estébanez
4bfc6f8d70 Fix deadlock possibility in threaded load of materials 2024-12-13 12:49:10 +01:00
Florent Guiocheau
4c34813b32 Fix very large radius SphereMesh and CapsuleMesh normals 2024-12-13 09:26:59 +01:00
Thaddeus Crews
bfc66f0608
Merge pull request #100282 from devloglogan/motion-vectors-openxr
Add renderer motion vectors API for use with OpenXR
2024-12-12 16:13:36 -06:00
Thaddeus Crews
e0968eee8c
Merge pull request #91064 from KoBeWi/scan_everything
Make scan for projects threaded
2024-12-12 16:13:33 -06:00
Thaddeus Crews
7c015a768f
Merge pull request #99958 from lander-vr/reflection-probe-blend-property
Add Blend Distance property to ReflectionProbe
2024-12-12 16:13:32 -06:00
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
kobewi
cb4ceb823c Make scan for projects threaded 2024-12-12 22:31:32 +01:00
BlueCube3310
85e4d1b9d3 LightmapGI: Automatically compress new lightmaps 2024-12-12 17:43:47 +01:00
havi05
b29e93bb51 ItemList - Add Toggle mode 2024-12-12 17:33:04 +01:00
Yufeng Ying
180c1b1cfa Remove dead code. 2024-12-12 23:40:25 +08:00
Rémi Verschelde
26fec37389
Merge pull request #99942 from kitbdev/fix-invisible-subviewport-editor
Fix selecting and editing invisble items in SubViewports
2024-12-12 14:10:09 +01:00
Rémi Verschelde
9d10e42a41
Merge pull request #98766 from Calinou/tree-drag-and-drop-use-process
Fix Tree drag-and-drop scrolling having low FPS at low Physics Ticks per Second
2024-12-12 14:09:55 +01:00
Rémi Verschelde
0e5c337453
Merge pull request #85653 from BlueCube3310/lightmap-gi-shadowmask
Implement LightmapGI shadowmasks
2024-12-12 14:09:30 +01:00
BlueCube3310
189c8eb671 Implement shadowmasks for LightmapGI
Co-authored-by: dearthdev <nathandearthdev@gmail.com>
2024-12-12 11:00:28 +01:00
Thaddeus Crews
66dd2895fa
Merge pull request #100208 from eviltrout/highlight-bg-fix
Fix user selection on top of `bgcolor` areas in a `RichTextLabel`
2024-12-11 17:36:05 -06:00
Thaddeus Crews
c4aaad6aa2
Merge pull request #100183 from smix8/collision_polygon_shape_edit
Add basic editor editing for `ConvexPolygonShape2D` and `ConcavePolygonShape2D`
2024-12-11 17:35:55 -06:00
Thaddeus Crews
42580089b8
Merge pull request #100280 from Calinou/basematerial3d-remove-texturesize
Replace `textureSize()` with a uniform in BaseMaterial3D for MSDF rendering
2024-12-11 17:35:43 -06:00
Thaddeus Crews
b773fff5a4
Merge pull request #99622 from Chaosus/shader_fix_global_empty_type
Add `samplerExternalOES` type to shader globals
2024-12-11 17:35:40 -06:00
Thaddeus Crews
2b41a217d2
Merge pull request #100259 from Sauermann/proposal-right-click-cancel-drag
Allow canceling drag-and-drop with right mouse button
2024-12-11 17:35:39 -06:00
Thaddeus Crews
153ef23483
Merge pull request #100129 from smix8/pathunspaghettification
Despaghettify NavigationServer path queries
2024-12-11 17:35:38 -06:00
Thaddeus Crews
1c4d12db2b
Merge pull request #99981 from dsnopek/fix-compositor-effects-gdextension
`CompositorEffect` should use `GDVIRTUAL_CALL()` so it works with GDExtension
2024-12-11 17:35:28 -06:00
smix8
476479419b Despaghettify NavigationServer path queries
Despaghettify NavigationServer path queries.
2024-12-11 22:29:48 +01:00
Rémi Verschelde
c2e4ae782a
Merge pull request #100235 from akien-mga/revert-97303
Revert "Avoid duplicating signals from scene instances into packed scenes"
2024-12-11 18:48:18 +01:00
Hugo Locurcio
3dfc832272
Replace textureSize() with a uniform in BaseMaterial3D for MSDF rendering
This uniform was already defined for other uses previously.

`textureSize()` is known to be slow on mobile platforms due to how
the drivers implement it there, so it's best avoided.
2024-12-11 15:44:06 +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
smix8
7c84eba663 Add basic editor editing for ConvexPolygonShape2D and ConcavePolygonShape2D
Adds basic editor tooling to move the existing points of a ConvexPolygonShape2D or move the  segments of a ConcavePolygonShape2D while a CollisionShape2D node is selected.
2024-12-11 02:31:42 +01:00
Markus Sauermann
4d6a6b21e2 Allow canceling drag-and-drop with right mouse button
This is a small usability enhancement, that allows users to cancel
drag-and-drop without the need to press the escape key on the keyboard.
2024-12-11 00:13:54 +01:00
devloglogan
3deb5884d7 Renderer agnostic motion vector rendering/OpenXR changes 2024-12-10 15:59:17 -06:00