1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00
Commit Graph

10873 Commits

Author SHA1 Message Date
Micky
f60c98f4e4 Fix typo in Window's exclude_from_capture 2025-04-05 14:22:36 +02:00
Riteo
84d3adcf2f Wayland: Implement native sub-windows
The backend is now mature enough to not explode with multiple windows
but the `DisplayServer` API still cannot meet some guarantees required
by the various Wayland protocols we use. To meet those guarantees this
patch adds three new elements to the DisplayServer API, with relative
handling logic for `Window` and `Popup` nodes:

 - `WINDOW_EVENT_FORCE_CLOSE`, which tells a window to *forcefully*
close itself and ensure a proper cleanup of its references, as Wayland
enforces this behavior;

 - `WINDOW_FLAG_POPUP_WM_HINT`, which explicitly declares a window as a
"popup", as Wayland enforces this distinction and heuristics are not
reliable enough;

 - `FEATURE_SELF_FITTING_WINDOWS`, which signals that the compositor can
fit windows to the screen automatically and that nodes should not do
that themselves.

Given the size of this feature, this patch also includes various
`WaylandThread` reworks and fixes including:

 - Improvements to frame wait logic, with fixes to various stalls and a
configurable (through a `#define`) timeout amount;

 - A proper implementation of `window_can_draw`;

 - Complete overhaul of pointer and tablet handling. Now everything is
always accumulated and handled only on each respective `frame` event.
This makes their logic simpler and more robust.

 - Better handling of pointer leaving and pointer enter/exit event
sending;

 - Keyboard focus tracking;

 - More solid window references using IDs instead of raw pointers as
windows can be deleted at any time;

 - More aggressive messaging to window nodes to enforce rects imposed by
the compositor.
2025-04-04 20:23:25 +02:00
Thaddeus Crews
8bd9cdeea6 Merge pull request #104890 from HolonProduction/json-rpc-manual-bind
JSONRPC: Require manual method registration
2025-04-03 16:50:24 -05:00
HolonProduction
e2c3731cdd JSONRPC: Require manual method registration 2025-04-03 17:51:03 +02:00
Silc Lizard (Tokage) Renew
96200abb97 Add p_delta argument to _process_modification() and expose advance() 2025-04-03 23:58:54 +09:00
Thaddeus Crews
b6c8155439 Merge pull request #104958 from bruvzg/ok_cancel_swap
Make `swap_cancel_ok` setting 3-state instead of boolean.
2025-04-03 09:27:55 -05:00
Thaddeus Crews
2e9a99864f Merge pull request #99631 from Mickeon/documentation-duplicate-signals-oopsie
Mention `DUPLICATE_SIGNALS` only affects `CONNECT_PERSIST` signals
2025-04-03 09:27:51 -05:00
Pāvels Nadtočajevs
2f8b96e8a2 Make swap_cancel_ok setting 3-state instead of boolean. 2025-04-03 13:08:11 +03:00
Thaddeus Crews
673ae98d64 Merge pull request #104918 from bruvzg/do_note_stdin
[Docs] Add note about console wrapper to `get_stdin_type`.
2025-04-02 07:37:30 -05:00
Pāvels Nadtočajevs
ce2d0ac62f [Docs] Add note about console wrapper to get_stdin_type. 2025-04-02 13:55:06 +03:00
smix8
f2197a1013 Expose TriangleMesh api functions wrapped for scripting
Adds script wrapped TriangleMesh api functions to create and query the triangle BVH tree.
2025-04-02 09:52:35 +02:00
Thaddeus Crews
b9b3c3fe14 Merge pull request #104889 from MJacred/patch-1
Clarify that `Window.dpi_changed` signal is supported on Linux (Wayland)
2025-04-01 19:53:36 -05:00
Thaddeus Crews
314f3fe6bb Merge pull request #103507 from Eole211/fix-min-wall-slide-doc
Fix CharacterBody's `wall_min_slide_angle` doc
2025-04-01 19:53:31 -05:00
Thaddeus Crews
9637894c59 Merge pull request #104873 from bruvzg/tts_on_demand
Enable TTS on demand, instead of fully disabling it when project setting is not set.
2025-04-01 19:53:28 -05:00
MJacred
179ce63dbf Update class docs: dpi_changed signal is supported on Linux (Wayland) 2025-04-01 19:40:36 +02:00
Thaddeus Crews
c23832b265 Merge pull request #104878 from bruvzg/color_mod_f
Add font import flag to toggle modulation of colored glyphs.
2025-04-01 08:01:33 -05:00
Thaddeus Crews
03d460ff4a Merge pull request #102283 from matmas/fix-docs-log-multiplayer
Fix `LogMultiplayer` example in documentation
2025-04-01 08:01:32 -05:00
Pāvels Nadtočajevs
4638ade13f Enable TTS on demand, instead of fully disabling it when project setting is not set. 2025-04-01 15:24:46 +03:00
Pāvels Nadtočajevs
19f360d65a Add font import flag to toggle modulation of colored glyphs. 2025-04-01 13:36:10 +03:00
Thaddeus Crews
cc7217970d Merge pull request #104762 from smix8/depr_map_force_update
Deprecate NavigationServer `map_force_update()`
2025-03-31 19:02:09 -05:00
smix8
5e83618183 Deprecate NavigationServer map_force_update()
Deprecates map_force_update() function as it is incompatible with async updates.
2025-03-30 17:18:33 +02:00
Thaddeus Crews
8b2952a71c Merge pull request #101504 from AThousandShips/nav_split_new
[Navigation] Create a dedicated 2D navigation server
2025-03-30 09:05:43 -05:00
Thaddeus Crews
152c14b053 Merge pull request #104597 from bruvzg/path_check
Implement `DirAccess.is_equivalent` method.
2025-03-29 10:16:34 -05:00
A Thousand Ships
5cc0539961 [Navigation] Create a dedicated 2D navigation server
* Add a dedicated 2D server
* Create dedicated tests
* Split performance metrics between 2D and 3D
* Rename the 3D only server module
2025-03-29 12:10:50 +01:00
Rémi Verschelde
ddae331c79 Merge pull request #103853 from aaronfranke/gltf-fix-light-color-space
GLTF: Fix wrong color space for GLTFLight on export
2025-03-28 17:30:09 +01:00
Rémi Verschelde
05c207039f Merge pull request #100849 from ColinSORourke/string-docs-clarify
Clarify ambiguous String comparison methods documentation
2025-03-28 17:29:55 +01:00
Rémi Verschelde
b12258bd22 Merge pull request #99897 from aaronfranke/editor-top-nodes
Clarify API for top selected nodes in EditorSelection and make public
2025-03-28 17:29:51 +01:00
bruvzg
48bfe13e4f Add methods to decode/encode multibyte encodings. 2025-03-28 17:32:34 +02:00
Rémi Verschelde
b0ede90786 Merge pull request #104525 from lawnjelly/fti_fix_proj_setting_doc
Physics Interpolation - Fix project setting tooltip
2025-03-28 14:33:07 +01:00
Rémi Verschelde
81425f1ebd Merge pull request #104103 from lodetrick/xr-controller-docs
Clarify `XRController3D` `get_input` name corresponds to actions in the action set
2025-03-28 14:32:31 +01:00
Rémi Verschelde
46a5940950 Merge pull request #103643 from dsnopek/openxr-alternative-reference-spaces
OpenXR: Support alternative reference spaces from extensions
2025-03-28 14:32:00 +01:00
Rémi Verschelde
e9d827b440 Merge pull request #103173 from m4gr3d/fix_prebuilt_manifest_config
Updates and fixes to the Android prebuilt export logic
2025-03-28 14:31:57 +01:00
Aaron Franke
17db92b8b8 Clarify API for top selected nodes in EditorSelection and make public 2025-03-27 16:09:08 -07:00
Colin O'Rourke
f8582ac5c3 Clarify Ambiguous Documentation
Clarifying Ambiguous wording in the description of multiple String Compare To functions.
2025-03-26 10:08:52 -07:00
Thaddeus Crews
c5e36a973c Merge pull request #104115 from mihe/scene-state-binds
Bind `SceneState` methods `get_path` and `get_base_scene_state`
2025-03-25 11:09:00 -05:00
Pāvels Nadtočajevs
d5cea9bb2e Implement DirAccess.is_equivalent method. 2025-03-25 17:52:15 +02:00
Logan Detrick
503b8892af Clarify XRController input name is defined by XRInterface and explain for OpenXR 2025-03-24 16:14:51 -07:00
David Snopek
3f27351f2b OpenXR: Support alternative reference spaces from extensions
Co-authored-by: Fredia Huya-Kouadio <fhuyakou@gmail.com>
2025-03-24 11:33:30 -05:00
Thaddeus Crews
6bbccdb317 Merge pull request #102561 from Dowsley/docs/update-tilemap-references
Replace references from TileMap to TileMapLayer in documentation
2025-03-24 10:01:00 -05:00
Thaddeus Crews
777c6637e9 Merge pull request #103214 from aaronjyoder/master
Add tab spacing modifier for tabs in TabBar and TabContainer
2025-03-24 10:00:54 -05:00
lawnjelly
407ab8768c Physics Interpolation - Fix project setting tooltip
Corrects a confusing documentation which refers to physics objects, whereas FTI applies to all rendered objects.
2025-03-24 11:23:32 +00:00
J. F. Dowsley
77e661a60c Replace references from TileMap to TileMapLayer in documentation
Correct sentence

Corrections

Corrections

Update doc/classes/TileSet.xml

Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>

Update doc/classes/TileSetScenesCollectionSource.xml

Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>

Remove undesired line in TileSet

More clarity on Node2D mention
2025-03-21 10:42:15 -03:00
Rémi Verschelde
0f5668b140 Merge pull request #104361 from timothyqiu/node-note
Fix typos in `ProjectSettings` class reference
2025-03-21 13:04:01 +01:00
Rémi Verschelde
5595d8246e Merge pull request #104258 from Monochrome-debug/documentation_change
Improve documentation for return value of `Packed*Array.resize`
2025-03-21 13:03:41 +01:00
Rémi Verschelde
f51ea67fb5 Merge pull request #104232 from Ivorforce/camera-server-shutdown
Deactivate the `CameraServer` by default.
2025-03-21 13:03:32 +01:00
Rémi Verschelde
92fb04c6cc Merge pull request #103941 from stuartcarnie/metal_fx_features
Renderer: Expose and document `Features` enum for MetalFX
2025-03-21 13:03:19 +01:00
Rémi Verschelde
55cb380c3f Merge pull request #100874 from Lazy-Rabbit-2001/visible-on-screen-rect
Optimize usability of VisibleOnScreenNotifier2D
2025-03-21 13:03:14 +01:00
Rémi Verschelde
e50ac32d5a Merge pull request #82321 from ywmaa/custom_debug_color_curve3D
Allow customizing debug color of Path3D.
2025-03-21 13:02:57 +01:00
Lukas Tenbrink
54685c3037 Deactivate the CameraServer by default.
Add `monitoring_feeds` property to `CameraServer`.
This saves resources for games that don't use a physical camera.
2025-03-21 07:58:57 +01:00
Max Chacon
44d10c576e Improve documentation for return value of Packed*Array.resize
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-03-20 16:21:01 +01:00