Commit Graph

2505 Commits

Author SHA1 Message Date
Thaddeus Crews
4e6f5f31dc Merge pull request #107305 from timothyqiu/single-window-title
Fix window title drawn outside the title bar
2025-06-09 12:31:34 -05:00
Thaddeus Crews
6427343ec8 Merge pull request #106660 from bruvzg/ac_node_to_ctl
Move some accessibility properties from Node to Control
2025-06-09 12:31:32 -05:00
Thaddeus Crews
75f353bf2b Merge pull request #107283 from bruvzg/node_pack_tr
Bitpack node auto translation values.
2025-06-09 12:31:28 -05:00
Haoyu Qiu
f028bc93db Fix window title drawn outside the title bar 2025-06-09 16:20:26 +08:00
Pāvels Nadtočajevs
40665addbc Bitpack node auto translation values. 2025-06-09 00:03:53 +03:00
Haoyu Qiu
3886ee84e6 Don't store deprecated auto_translate property 2025-06-08 21:53:28 +08:00
Pāvels Nadtočajevs
aff5b413aa Move some accessibility properties from Node to Control 2025-06-08 16:25:28 +03:00
lawnjelly
a7b7d96f96 SceneTreeFTI - Fix force_update flag getting out of sync with invisible nodes
If the `force_update` flag remained set after the node was removed from the update lists, the node would never be updated in future. This could occur with hidden nodes that were moved after hiding.
2025-06-05 19:44:18 +01:00
Rémi Verschelde
ef6d90b1e0 Merge pull request #106307 from Rubonnek/improve_timer_error
Improve `Timer::start` error message.
2025-06-05 13:11:44 +02:00
Rémi Verschelde
c27c87b852 Merge pull request #105245 from timothyqiu/canvas-layer-range
Relax the range hint for canvas layer properties
2025-06-05 13:10:50 +02:00
Thaddeus Crews
b0f3c3fa22 Merge pull request #106966 from bruvzg/ac_trans_simpl
[Accessibility] Always auto-translation mode for names/descriptions.
2025-06-02 18:51:49 -05:00
Pāvels Nadtočajevs
3198b7bea2 [Accessibility] Always auto-translation mode for names/descriptions. 2025-05-30 17:55:27 +03:00
Pāvels Nadtočajevs
4877a964e4 Fix window embedding for windows with force_native enabled. 2025-05-30 08:31:17 +03:00
kobewi
34152b3f39 Remove redundant data.inside_tree 2025-05-28 15:27:59 +02:00
Thaddeus Crews
91b3a26438 Merge pull request #106848 from Faless/mp/rpc_config_revert
Expose `get_rpc_config` and `get_node_rpc_config`
2025-05-27 09:39:32 -05:00
Thaddeus Crews
63dff62948 Merge pull request #100673 from RandomShaper/res_duplicate
Overhaul resource duplication
2025-05-27 09:39:25 -05:00
Haoyu Qiu
8d93b6a54c Add translation preview in editor 2025-05-27 07:59:28 +08:00
Fabio Alessandrelli
b73ec1fa9b Expose get_rpc_config and get_node_rpc_config 2025-05-27 00:43:21 +02:00
Thaddeus Crews
f3f76df0cd Merge pull request #103504 from lawnjelly/fti_warn_physics_non_interp4
Physics Interpolation - Add editor configuration warnings
2025-05-26 11:24:39 -05:00
Thaddeus Crews
e89c4b0f9f Merge pull request #102330 from RGDTAB/add_partial_smaa
Add SMAA 1x to screenspace AA options
2025-05-26 11:24:35 -05:00
Thaddeus Crews
9cf026a3b9 Merge pull request #106783 from bruvzg/ac_linux_state
Do not activate accessibility when screen reader detection failed.
2025-05-26 11:24:31 -05:00
Thaddeus Crews
506417fe43 Merge pull request #105623 from lodetrick/section-feature-hide
Allow Inspector Section Checkboxes to hide features, Add "On" text to checkboxes
2025-05-26 11:24:25 -05:00
Fabio Alessandrelli
c28d5d0058 Revert "Expose get_rpc_config and get_node_rpc_config"
This reverts commit 8835f326b1.
2025-05-26 15:57:38 +02:00
Pedro J. Estébanez
342266cfd9 Overhaul Variant::duplicate() for resources
This in the scope of a duplication triggered via any type in the `Variant` realm. that is, the following: `Variant` itself, `Array` and `Dictionary`. That includes invoking `duplicate()` from scripts.

A `duplicate_deep(deep_subresources_mode)` method is added to `Variant`, `Array` and `Dictionary` (for compatibility reasons, simply adding an extra parameter was not possible). The default value for it is `RESOURCE_DEEP_DUPLICATE_NONE`, which is like calling `duplicate(true)`.

Remarks:
- The results of copying resources via those `Variant` types are exactly the same as if the copy were initiated from the `Resource` type at C++.
- In order to keep some separation between `Variant` and the higher-level animal which is `Resource`, `Variant` still contains the original code for that, so it's self-sufficient unless there's a `Resource` involved. Once the deep copy finds a `Resource` that has to be copied according to the duplication parameters, the algorithm invokes the `Resource` duplication machinery. When the stack is unwind back to a nesting level `Variant` can handle, `Variant` duplication logic keeps functioning.

While that is good from a responsibility separation standpoint, that would have a caveat: `Variant` would not be aware of the mapping between original and duplicate subresources and so wouldn't be able to keep preventing multiple duplicates.

To avoid that, this commit also introduces a wormwhole, a sharing mechanism by which `Variant` and `Resource` can collaborate in managing the lifetime of the original-to-duplicates map. The user-visible benefit is that the overduplicate prevention works as broadly as the whole `Variant` entity being copied, including all nesting levels, regardless how disconnected the data members containing resources may be across al the nesting levels. In other words, despite the aforementioned division of duties between `Variant` and `Resource` duplication logic, the duplicates map is shared among them. It's created when first finding a `Resource` and, however how deep the copy was working at that point, the map kept alive unitl the stack is unwind to the root user call, until the first step of the recursion.

Thanks to that common map of duplicates, this commit is able to fix the issue that `Resource::duplicate_for_local_scene()` used to ignore overridden duplicate logic.
2025-05-26 10:06:40 +02:00
Pāvels Nadtočajevs
f92fd74268 Do not activate accessibility when screen reader detection failed. 2025-05-25 00:17:23 +03:00
lawnjelly
c7764ef26b FTI - Optimize SceneTree traversal 2025-05-24 17:38:33 +01:00
kobewi
42249bb659 Add @export_file_path to export raw paths (no UID) 2025-05-22 13:25:17 +02:00
Logan Detrick
1a427d3dec Add feature hint string and "On" text for checkable groups 2025-05-21 14:56:55 -07:00
Raymond DiDonato
6b99608950 Add SMAA 1x 2025-05-21 15:02:09 -04:00
lawnjelly
cbd6c8d561 SceneTreeFTI faster access to Node children 2025-05-21 17:19:10 +01:00
Riteo
408de3c970 Wayland: Fix window fitting in single-window mode
We disabled window fitting in multi-window mode as it was broken due to
the limited data but it should still be enabled for embedded windows.
2025-05-21 00:58:41 +02:00
Thaddeus Crews
5538850d87 Core: Convert Pair/KeyValue to constexpr 2025-05-15 10:37:41 -05:00
Thaddeus Crews
22a0e81a69 Merge pull request #103922 from Jesusemora/Jesusemora-patch-1
Show `theme_type_variation`s in the inspector on `Control`s that inherit a theme
2025-05-13 16:22:29 -05:00
Haoyu Qiu
51a063d6d3 Remove unused SceneTree::make_group_changed 2025-05-13 16:40:17 +08:00
Rémi Verschelde
1f2f144ce7 Merge pull request #106298 from bruvzg/ac_win_transform
[Accessibility] Account for window scaling transform when setting node bounds.
2025-05-13 01:05:38 +02:00
Rémi Verschelde
c4c28f8f62 Merge pull request #106281 from KoBeWi/false
Fix wrong children range when duplicating node
2025-05-13 01:05:23 +02:00
Rémi Verschelde
f23d1968b4 Merge pull request #106247 from bruvzg/ac_wl_resize
Do not call `accessibility_set_window_rect` on Wayland, fix main windows accessibility context creation.
2025-05-13 01:05:08 +02:00
Jesusemora
b22eba1285 Show theme_type_variations in the inspector on Controls that inherit a theme
`theme_type_variation`s are now shown in the children and children of children
that inherit a theme from a parent `Control` node.
2025-05-13 00:56:06 +02:00
kobewi
258062e312 Fix wrong children range when duplicating node 2025-05-12 20:21:40 +02:00
Wilson E. Alvarez
90328e921f Improve Timer::start error message. 2025-05-12 11:06:56 -04:00
Pāvels Nadtočajevs
870fb5f74b [Accessibility] Account for window scaling transform when setting node bounds. 2025-05-12 09:12:55 +03:00
Pāvels Nadtočajevs
5441a82cfb Do not call accessibility_set_window_rect on Wayland, fix main windows accessibility context creation. 2025-05-11 12:51:46 +03:00
lawnjelly
795ed8fd12 Faster Node::get_child_count()
There is no need to update the children cache when including internal nodes in the count.
2025-05-10 11:35:59 +01:00
kobewi
34b485d62b Remove empty constructors and destructors from scene/ 2025-05-06 14:46:54 +02:00
Aaron Franke
a404b668a1 Change Node set_name to use StringName 2025-05-01 15:15:19 -07:00
Thaddeus Crews
730adf4801 Merge pull request #105973 from lawnjelly/fti_fix_3d_exit_tree
FTI - Fix `SceneTreeFTI` behaviour on exit tree
2025-05-01 14:27:21 -05:00
lawnjelly
ba4ab2dda3 FTI - Fix SceneTreeFTI behaviour on exit tree 2025-05-01 07:52:16 +01:00
Pāvels Nadtočajevs
c6e1bc6170 Fix oversampling for embedded windows using content scale. 2025-04-30 17:35:22 +03:00
lawnjelly
f8f350a32a Add GLOBAL_GET cached macros.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-04-30 15:08:50 +01:00
Thaddeus Crews
70ff5770c9 Merge pull request #83757 from HauntedBees/master
Add `Node.get_orphan_node_ids`, edit `Node.print_orphan_nodes`
2025-04-29 11:24:08 -05:00