Commit Graph

658 Commits

Author SHA1 Message Date
Thaddeus Crews a70b7ad1e6 Merge pull request #115666 from DarkKilauea/rendering/hdr-output-changed
[Windows] HDR Output: Emit window events when HDR state changes
2026-04-03 11:52:20 -05:00
Rémi Verschelde a369cd466b Make Node.get_path_to() error user-friendly when there is no common parent 2026-03-30 21:54:14 +02:00
Josh Jones 3512a169b2 Emit events when HDR output state changes externally 2026-03-21 14:42:56 -07:00
Bashar-R c0706bb71d Fix editable children state when duplicating instantiated nodes
Co-Authored-By: Pedro J. Estébanez <RandomShaper@users.noreply.github.com>
2026-03-16 10:57:29 -05:00
Samuel Rhodes 5a29f338f5 Fix error in debugger while changing scene on button clicked with touchscreen
When changing scenes via button click with a touchscreen, nodes can be removed
from the tree during input event processing. The ERR_FAIL_COND_V assertion in
can_process() would trigger an error when called on nodes already removed from
the tree. Changed to return false instead of asserting, which is the correct
behavior for nodes not in the tree.

Fixes #115376
2026-03-16 11:34:26 +01:00
Fredia Huya-Kouadio ef0163ba9f Add support for PiP mode 2026-03-06 23:29:16 -08:00
Rémi Verschelde 2dd1f4ef60 Decouple node.h from scene_tree.h, minimize its other includes 2026-03-05 13:54:46 +01:00
Rémi Verschelde 765362b033 Explicitly include core/config/engine.h where used 2026-03-04 10:17:10 +01:00
Rémi Verschelde a447ac95ec Move DisplayServer enums and typedefs to DisplayServerEnums
This will allow decoupling `display_server.h` from a number of headers in the
codebase which only require those enums and not all the DisplayServer API.
2026-03-03 12:44:02 +01:00
Pāvels Nadtočajevs 1306221592 Move accessibility methods/enums from DisplayServer to the AccessibilityServer dedicated singleton. 2026-03-02 13:48:29 +02:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
kobewi 6f86914f55 Cleanup _validate_property() implementations 2026-02-23 15:05:25 +01:00
Rémi Verschelde 1c12d2c36e Tidy up includes in scene/main and scene/debugger 2026-02-19 15:09:29 +01:00
Thaddeus Crews 4e84cd8a6b Merge pull request #116326 from KoBeWi/noden't
Remove some unused Node methods
2026-02-16 15:02:41 -06:00
Thaddeus Crews 1e12317895 Merge pull request #115646 from Ivorforce/list-explicit-copy
Change `List` copy constructor from implicit to explicit.
2026-02-16 15:02:34 -06:00
kobewi 3c0eaa38de Remove some unused Node methods 2026-02-15 18:46:00 +01:00
X23 44fa4a4cde Fix transform notification in threaded processing. 2026-02-07 17:51:30 +08:00
Rémi Verschelde 63c78e684b Merge pull request #114165 from KoBeWi/static
Use actual class names in resource type hints
2026-02-02 10:10:24 +01:00
Lukas Tenbrink 7072a9a874 Change List copy constructor from implicit to explicit. 2026-01-30 18:58:42 +01:00
kobewi f7b9703cbd Use actual class names in resource type hints 2026-01-29 21:07:56 +01:00
Lukas Tenbrink 1825e89787 Change copy constructors of HashMap and AHashMap from implicit to explicit. 2026-01-21 13:01:23 +01:00
David Snopek 6d60660cd6 Unmark Node::is_editable_instance() parameter as required 2025-12-03 08:34:04 -06:00
Thaddeus Crews 9f76aa3df5 Merge pull request #113282 from dsnopek/required-ptr-get-out-there
Use `RequiredParam`/`RequiredResult` in some high value places
2025-12-02 20:42:53 -06:00
David Snopek fc92ce3e7f Use RequiredParam/RequiredResult in some high value places 2025-12-02 10:44:12 -06:00
Rindbee e0532a711a Fix resource shared when duplicating an instanced scene
For resources with `resource_local_to_scene` enabled in the sub-scene,
the resource is already set when the sub-scene is instantiated, so does
not need to be set again. Just needs to update the property of the
resource according to the value in the main scene.
2025-12-02 20:45:54 +08:00
David Snopek 090a4540b7 Use RequiredParam and RequiredResult in a handful of places in order to test 2025-11-24 12:12:10 -06:00
Thaddeus Crews 6a3d1f1fa1 Merge pull request #57121 from KoBeWi/noddeganger
Add `DUPLICATE_INTERNAL_STATE` flag
2025-11-13 17:42:47 -06:00
Thaddeus Crews d2ff4c6377 Merge pull request #112401 from xuhuisheng/dev/queue-free
Fix crash on queue free scene node in editor
2025-11-13 12:33:37 -06:00
xuhuisheng 63d1319674 Fixes crash on queue free scene node in editor
Update scene/main/node.cpp

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-11-13 21:10:44 +08:00
Thaddeus Crews 72925d756f Merge pull request #112076 from kevinlam508/custom-node-reference-duplication
Fix duplicating node references of custom node type properties
2025-11-11 16:07:53 -06:00
Lukas Tenbrink 78096d4ce7 Revert "Add warning when node name is invalid"
This reverts commit 0d46d42f2a.
2025-11-05 18:11:43 +01:00
Thaddeus Crews 80b82af92b Merge pull request #111163 from HolonProduction/node-greater-than
Speed up `Node::is_greater_than` by avoiding `alloca`
2025-11-04 16:32:42 -06:00
HolonProduction 8c5e67a514 Speedup Node::is_greater_than by avoiding alloca 2025-11-04 17:34:08 +01:00
AdvanceControl 0d46d42f2a Add warning when node name is invalid 2025-11-03 17:52:25 +08:00
Kevin Lam b9cc82df40 Fix duplicating node references of custom node type properties
Script assignment must be complete for the subtree in order to correctly assign into properties set to a script type.
2025-10-27 16:00:45 -05:00
Mike Precup abfc63b483 Speed up signal disconnects in the editor 2025-10-22 22:27:25 -07:00
Thaddeus Crews 60710df3b6 Merge pull request #94047 from KoBeWi/resource_printer
Improve `to_string()` and add it to Resource
2025-10-16 12:48:11 -05:00
Lukas Tenbrink 1e0b41ab27 Remove display_server.h transitive include from node.h. 2025-10-14 00:43:02 +02:00
Thaddeus Crews 31f9ed087e Merge pull request #110650 from WhalesState/node-cache-less-dirty
Optimize children cache updates and refine special-case handling
2025-10-13 12:30:14 -05:00
kobewi e6783dbdd1 Improve to_string() and add it to Resource 2025-10-09 00:54:38 +02:00
Lukas Tenbrink 33689d7beb Remove transitive mesh.h, rendering_server.h and shader.h includes from node.h. 2025-10-08 12:16:52 +02:00
Juan faddd60c40 Add unique Node IDs to support base and instantiated scene refactorings
The main goal of this PR is to safeguard when a base or instantiated scene changes (nodes renamed, moved or readded),
that the hierarchy is still maintained and the node and its overridden properties can be preserved.

What it does:
* Implements unique node IDs.
* These IDs act as a fallback to names when saving.
* The IDs are **USED AS A FALLBACK**, so they are just an addition. It should not break any current existing scene.
* If a scene renames or moves a node, inherited or instantiated scenes will no longer lose reference to it.

Unlike the previous approach, this one is intended to be a fallback, only used if the node is not found.
This makes it safer to implement and ensure that, at worst case, we fail to find the node, but nothing breaks.
2025-10-06 12:55:38 +02:00
Thaddeus Crews f6aa5ba23c Merge pull request #97210 from AleksLitynski/object-snapshot-debugger
Add an ObjectDB Profiling Tool
2025-10-03 12:01:11 -05:00
Thaddeus Crews 7bdec67718 Merge pull request #111126 from HolonProduction/gotta-get-path
Optimize initial `Node::get_path` call by avoiding `Vector::reverse`
2025-10-02 15:12:01 -05:00
HolonProduction b50ce590b4 Optimize initial Node::get_path call by avoiding Vector::reverse 2025-10-01 22:56:53 +02:00
Thaddeus Crews 09609c1320 Merge pull request #111043 from HolonProduction/rm-import-path
Remove unused `import_path` member from `Node`
2025-09-30 20:10:44 -05:00
Thaddeus Crews e5bf31b170 Merge pull request #107369 from Ivorforce/node-iter-children
Core: Add `Node::iterate_children` as a fast way to iterate a node's children
2025-09-30 18:35:21 -05:00
Ryan 6ebef31b3c Make Node::orphan_node_count thread-safe 2025-09-29 17:54:41 -04:00
HolonProduction 743e0edfd7 Remove unused import_path member from Node 2025-09-29 21:40:01 +02:00
Thaddeus Crews 685c7e92e5 Merge pull request #100437 from KoBeWi/ruaninstancequestionmark
Add `is_instance()` helper method to Node
2025-09-23 12:08:48 -05:00