7838 Commits

Author SHA1 Message Date
lawnjelly
c59ef69184 Span - update more Geometry API to use span 2025-10-13 11:25:35 +01:00
lawnjelly
5b8789e83a Merge pull request #111424 from lawnjelly/span
[3.x] Add `Span` and some basic uses from `Geometry`.
2025-10-13 08:53:06 +01:00
lawnjelly
db9921b17f Add Span and some basic uses from Geometry. 2025-10-11 08:16:27 +01:00
lawnjelly
f41edf2a03 Merge pull request #84804 from lawnjelly/blob_shadows
[3.x] Blob shadows
2025-10-09 15:32:50 +01:00
lawnjelly
758bc38071 FTI - Fix SceneTreeFTI depth limit behaviour
Fixes off by one bug, and increases the limit slightly.
2025-10-09 10:38:10 +01:00
lawnjelly
dedf461674 Add blob shadows feature
BlobShadow node (sphere or capsule)
BlobFocus
Backends for GLES2 and GLES3
2025-10-01 06:37:54 +01:00
lawnjelly
3f7046272e Merge pull request #107702 from lawnjelly/faster_children_iteration
[3.x] Fast child iteration in `Node`, `Spatial`, `CanvasItem`
2025-10-01 05:18:20 +01:00
lawnjelly
e56cf87f3c Fix is_visible_in_tree regression for out of tree 2025-08-28 18:08:00 +01:00
Marius Hanl
c7bace1955 Fix Line breaking may not work correctly when using color tags with specific font 2025-08-17 16:30:25 +02:00
lawnjelly
cd9713e890 Fast child iteration in Node, Spatial, CanvasItem 2025-07-16 03:08:26 +01:00
lawnjelly
e4449b847f Merge pull request #108120 from lawnjelly/fti_multimesh_reset_all3
[3.x] `FTI` - Add `multimesh_instances_reset_physics_interpolation()`
2025-07-02 08:20:15 +01:00
lawnjelly
98567a0375 LODManager - Auto-deactivate when no LODs 2025-07-01 18:27:10 +01:00
lawnjelly
2163855d6e Merge pull request #108117 from lawnjelly/fti_toplevel_resets3
[3.x] `FTI` - Add reset on setting `toplevel`
2025-07-01 18:23:22 +01:00
lawnjelly
67ef4127b1 Merge pull request #108132 from lawnjelly/fti_clear_all3
[3.x] `FTI` - Clear all when enabling / disabling `SceneTreeFTI`
2025-07-01 18:22:09 +01:00
lawnjelly
0718852d2c Add EditorSettings EDITOR_GET_CACHED 2025-07-01 17:00:08 +01:00
lawnjelly
50a684cf88 FTI - Clear all when enabling / disabling SceneTreeFTI 2025-06-30 08:15:20 +01:00
lawnjelly
8bf24dcc44 FTI - Add multimesh_instances_reset_physics_interpolation() 2025-06-29 18:54:46 +01:00
lawnjelly
e13227419f FTI - Add reset of setting toplevel 2025-06-29 18:23:01 +01:00
lawnjelly
8c6198a58f Revert "FTI - Reduce VisualInstance xform notifications"
This reverts commit 5ec4fd38fa.
2025-06-24 20:16:52 +01:00
lawnjelly
c34001675e Merge pull request #107889 from lawnjelly/fti_global_setting_static3
[3.x] `FTI` - Change `SceneTree` global setting to static
2025-06-24 08:37:33 +01:00
lawnjelly
5743ec5f51 Merge pull request #107696 from timothyqiu/revert-hover-pressed-3.x
[3.x] Revert "Fix Button not listing `hover_pressed` stylebox"
2025-06-23 17:21:16 +01:00
lawnjelly
a298f63924 FTI - Change SceneTree global setting to static
Also fixup `FTI` configuration warnings so that they only output when the project is using `FTI`.
2025-06-23 11:44:27 +01:00
lawnjelly
aec5bf47dd Optimize hotspots with Object::derives_from 2025-06-23 09:15:24 +01:00
Lukas Tenbrink
aa63595b83 Use ancestral classes to speed up Object::cast_to when possible. 2025-06-22 16:21:42 +02:00
lawnjelly
84f761ba54 Merge pull request #107493 from lawnjelly/remove_vi_visible
[3.x] Remove `vi_visible` flag from `Spatial`.
2025-06-22 13:11:54 +01:00
lawnjelly
ae786bd43a Provide quick access to Object ancestry 2025-06-19 11:04:50 +01:00
Haoyu Qiu
62feeaab33 Revert "Fix Button not listing hover_pressed stylebox"
This reverts commit cc11089786.
2025-06-19 12:06:28 +08:00
lawnjelly
e208003378 Change Node children to use LocalVector
There is no need for COW, it will only slow `Node` down.
2025-06-18 14:39:38 +01:00
lawnjelly
8e48d57f4b Spatial and CanvasItem children change to LocalVector 2025-06-18 13:22:20 +01:00
lawnjelly
e430053b16 Remove _is_vi_visible()
Can be replaced by `is_visible_in_tree()`.
2025-06-16 17:55:49 +01:00
lawnjelly
6c3f393623 Merge pull request #107545 from lawnjelly/explicit_pool_vector
[3.x] Remove implicit conversion from `LocalVector` to `PoolVector`
2025-06-16 05:58:55 +01:00
lawnjelly
035ffd8caa Remove implicit conversion from LocalVector to PoolVector 2025-06-14 20:11:48 +01:00
lawnjelly
bd47dc4b29 Remove implicit conversion from LocalVector to Vector 2025-06-14 19:46:29 +01:00
lawnjelly
c416aced1a Merge pull request #105681 from lawnjelly/fti_reduce_xform_notifications
[3.x] FTI - Reduce `VisualInstance` xform notifications
2025-06-13 05:21:52 +01:00
lawnjelly
67265bacd5 Merge pull request #107324 from lawnjelly/is_vis_in_tree
[3.x] Pre-calculate `is_visible_in_tree()`
2025-06-12 15:23:59 +01:00
lawnjelly
aea8ebf1f3 Merge pull request #107307 from lawnjelly/scenetreefti_get_interp_hidden
[3.x] FTI - `global_transform_interpolated()` on demand for invisible nodes
2025-06-12 14:18:43 +01:00
lawnjelly
54e5949ffb Pre-calculate is_visible_in_tree() 2025-06-12 10:58:41 +01:00
lawnjelly
5ff65c880e Merge pull request #107178 from lawnjelly/scenetreefti_fix_hidden_forced
[3.x] `SceneTreeFTI` - Fix `force_update` flag for invisible nodes
2025-06-12 10:40:49 +01:00
lawnjelly
d164443cd3 Add ability to mute AudioServer.
Adds the option to change the audio driver to the Dummy driver and back at runtime, with a set of MuteState flags - Disabled (user control), Silence (period of silence), Focus Loss (when app is not in focus), and Paused (when app is paused).

Control for the flags is added for the editor in EditorSettings, and for the project in ProjectSettings.

Editor defaults to muted (Dummy driver) when there is no audio output, and automatically switches to active on output. This significantly reduces CPU usage.
2025-06-10 16:53:58 +01:00
lawnjelly
7b362bba82 FTI - global_transform_interpolated() on demand for invisible nodes 2025-06-08 17:47:23 +01:00
lawnjelly
f99c6b3ecd SceneTreeFTI - Fix force_update flag for invisible nodes 2025-06-05 19:59:45 +01:00
lawnjelly
b6b3ec546c Merge pull request #99870 from arkology/3.x_texture-progress-cross-plugin-friendly
[3.x] Show `TextureProgress` radial center cross only when editing the scene
2025-06-03 13:25:56 +01:00
lawnjelly
cc61ab2fd5 SceneTreeFTI - fix identity_xform flag getting out of sync
This could cause incorrect rendered xform for one frame.
2025-06-02 11:41:21 +01:00
lawnjelly
5ec4fd38fa FTI - Reduce VisualInstance xform notifications 2025-05-30 07:15:17 +01:00
lawnjelly
65eb3a2e31 FTI - Optimize SceneTree traversal 2025-05-24 18:26:25 +01:00
Haoyu Qiu
87f9b06f52 Expose some helper methods on Viewport
Expose gui_release_focus and gui_get_focus_owner to Viewport
Expose a method to get hovered Control in Viewport

Co-Authored-By: Gilles Roudiere <gilles.roudiere@gmail.com>
Co-Authored-By: Claire Blackshaw <evilkimau@gmail.com>
2025-05-20 07:55:55 +08:00
lawnjelly
2f4336b117 Merge pull request #99434 from arkology/3.x_to-infinity-and-beyond
[3.x] Improve `TextureProgress.set_radial_initial_angle()` by removing loops
2025-05-17 19:34:44 +01:00
lawnjelly
1222ef8682 Merge pull request #95978 from jadoc/tooltips-outside-window-3.x
[3.x] Cancel tooltips when the mouse leaves the window
2025-05-17 19:22:32 +01:00
lawnjelly
6ffa4b80f0 Merge pull request #105266 from bruvzg/3x_rtl_track_custom_font_changes
[3.x, RTL] Track external changes in the custom fonts set by BBCode / `push_font`.
2025-05-17 19:04:13 +01:00
lawnjelly
958a7c9ca6 Merge pull request #103355 from lawnjelly/fti_warn_physics_non_interp
[3.x] Physics Interpolation - Add editor warning for non-interpolated `PhysicsBody`
2025-05-17 18:15:12 +01:00