Commit Graph

2608 Commits

Author SHA1 Message Date
02e1919514 Cleanup and simplify camera override API
- Harmonise the camera override 2D and 3D APIs
- Switch to using Camera2D/3D nodes to provide override functionality. This makes for simpler code, gets rid of much of copy-pasted camera code and makes code that relies on current viewport camera such as VisibleOnScreenNotifiers and object picking work out of the box.
- Make camera override code only accesible within DEBUG_ENABLED builds
2025-08-31 15:34:46 +02:00
eecfdbdd7d Add missing range hint to Viewport.oversampling_override in the editor 2025-08-29 17:41:35 +02:00
45a0d2a90a Make SceneTree not crash when receiving a notification without a root being set. 2025-08-28 01:38:27 +02:00
6abfa4be7b Don't redraw invisible CanvasItems 2025-08-23 14:27:21 +02:00
10e11ec87f Rename SVGTexture to DPITexture. 2025-08-21 11:39:16 +03:00
7b47f5e8db [Accessibility] Process non-focusable windows (popups, menus) as part of the parent window tree. 2025-08-17 12:15:08 +03:00
10fd7163d4 Add methods to check which event first triggered "just pressed/released" state. 2025-08-12 16:25:23 +03:00
3b12b3402f Forward mouse events to embedded no-focus windows. 2025-08-05 22:31:44 +03:00
2111ff0e2a Fix menu keyboard and controller navigation. 2025-07-21 10:03:07 +03:00
254fa6c642 fix releasing the old unique name when renaming a Node
This fixes `Node::set_name()` to release the old unique name before
performing the rename.  #76560 changed the code to update `data.name`
before calling `_release_unique_name_in_owner()`, causing to incorrectly
try releasing the new name instead of the old name.

Fixes #108683
2025-07-16 14:21:50 -07:00
af4e96b1b3 Merge pull request #108604 from deralmas/fitting-shenanigans
Wayland: Workaround tooltip issues
2025-07-15 08:04:27 -05:00
e1e2277f5a Merge pull request #108530 from mihe/physics-debug-perf
Fix performance regression when rendering collision shapes
2025-07-15 08:04:25 -05:00
ba3848a4ef Merge pull request #108387 from BadMachine/fix/102960-location_header_parsing_when_redirects
Fix wrong "location" substring matching when HTTP status is 301 or 302
2025-07-15 08:04:07 -05:00
cf48f5a102 Disable tooltip fitting if FEATURE_SELF_FITTING_WINDOWS is available 2025-07-15 11:44:56 +02:00
25f0e0ac91 Add DUPLICATE_INTERNAL_STATE flag 2025-07-12 22:18:59 +02:00
8634a8e234 Fix performance regression when rendering collision shapes 2025-07-11 20:52:58 +02:00
379d967d1a Fix MissingNode {get,set}_original_scene bindings 2025-07-11 20:34:46 +02:00
56fa8caef4 Optimize scene tree groups 2025-07-11 10:57:04 -05:00
e748514112 Merge pull request #105835 from bruvzg/edited_scene_direction
Improve edited scene layout direction detection.
2025-07-09 11:33:11 -05:00
11adf408ab Add is_instance() helper method to Node 2025-07-08 20:42:52 +02:00
78f1543e35 Add an ObjectDB Profiling Tool
A new tab is added to the debugger that can help profile a game's memory usage.

Specifically, this lets you save a snapshot of all the objects in a running
game's ObjectDB to disk. It then lets you view the snapshot and diff two
snapshots against each other. This is meant to work similarly to Chrome's
heap snapshot tool or Unity's memory profiler.
2025-07-08 16:39:24 +02:00
9bc59cd100 - fixed wrong "location" substring matching when HTTP status is 301 or 302 2025-07-07 23:12:25 +02:00
9228354adc Merge pull request #108112 from lawnjelly/fti_toplevel_resets
`FTI` - Add reset on setting `top_level`
2025-07-01 17:57:56 -05:00
3f0de57b3c Clear SceneTreeFTI completely on enabling / disabling. 2025-06-30 08:04:53 +01:00
2d3dedb12d FTI - Add reset on setting top_level 2025-06-29 17:01:51 +01:00
db28859774 Merge pull request #107591 from timothyqiu/group-enable-default
Make `PROPERTY_HINT_GROUP_ENABLE` hide properties by default
2025-06-24 18:34:28 -05:00
c03a7b7893 Delay Mouse signals until after internal processing 2025-06-24 14:29:17 -07:00
583c72f999 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 10:19:24 +01:00
14a814586a Provide quick access to Object ancestry 2025-06-23 07:11:11 +01:00
6e650163da Add a proper error message when trying to add node to a group with an empty name 2025-06-21 13:58:31 +04:00
e2a9c11157 Merge pull request #107584 from timothyqiu/editor-root-auto-translate
Fix root node auto translation settings affecting editor root
2025-06-18 18:13:51 -05:00
353bd80c91 Merge pull request #107581 from timothyqiu/window-title-update
Fix game view window not updating title when translation changes
2025-06-18 18:13:50 -05:00
a9ac00f8f7 Added multimesh physics interpolation for 2D transforms (MultiMeshInstance2D)
Replicated MultimeshInstance3D behaviour to MultiMeshInstance2D and added mesh_storage for 2D transform

Also call VisualInstance::_physics_interpolated_changed()

Use Node instead of VisualInstance. Addded comment

Fixed typo :)

Using CanvasItem instead of Node now. Made CanvasItem::_physics_interpolated_changed() protected
2025-06-18 16:04:51 +02:00
af2b9be356 Node3D and CanvasItem children change to LocalVector 2025-06-18 13:32:30 +01:00
a7ab249a2a Make PROPERTY_HINT_GROUP_ENABLE hide properties by default 2025-06-16 20:03:49 +08:00
34a97f9c9b Fix scale and position of popups with force_native. 2025-06-16 13:03:42 +03:00
2a7fa46110 Fix root node auto translation settings affecting editor root 2025-06-16 17:12:27 +08:00
0a1fa10315 Fix game view window not updating title when translation changes 2025-06-16 09:35:25 +08:00
318a81779b Merge pull request #107498 from bruvzg/force_native_crash
Fix `set_force_native` when window is not in tree.
2025-06-13 18:37:52 +02:00
5ea0baab8b Fix set_force_native when window is not in tree. 2025-06-13 19:08:56 +03:00
175c38d0dc Core: Add Node::iterate_children as a fast way to iterate a node's children, without needing allocations or get_child.
Adds `Iterable` class to templates.
2025-06-13 17:01:51 +02:00
6f2ab528ca Merge pull request #107488 from KoBeWi/clamped_scale_factory
Multiply contents minimum size by scale factor
2025-06-13 15:54:39 +02:00
8a4081347f Multiply contents minimum size by scale factor 2025-06-13 14:12:15 +02:00
59556cbd17 SceneTreeFTI - miscellaneous speedups 2025-06-13 12:15:47 +01:00
22702244f8 Merge pull request #105414 from KoBeWi/disable_uid_here
Add `@export_file_path` to export raw paths (no UID)
2025-06-13 01:30:24 +02:00
ae484828bb Merge pull request #107408 from Ivorforce/node-path-string-explicit
Make conversions from `NodePath` to `String` explicit.
2025-06-12 22:49:03 +02:00
b7caebcd78 Merge pull request #107175 from lawnjelly/scenetreefti_fix_show_updates
`SceneTreeFTI` - Fix `force_update` flag getting out of sync with invisible nodes
2025-06-12 11:56:37 +02:00
8ba4656ea3 Compile out editor-only logic within validate_property in games 2025-06-12 12:54:19 +08:00
e2931a5c19 Make conversions from NodePath to String explicit. 2025-06-11 16:50:27 +02:00
8aac4a157f Merge pull request #106742 from bruvzg/about_to_popup
Call `PopupMenu`  min. size calculations after `about_to_popup` signal processing.
2025-06-11 12:10:05 +02:00