Commit Graph

106 Commits

Author SHA1 Message Date
Danil Alexeev 32d1f518fa Improve editor-only class checking 2026-03-25 17:07:39 +03:00
Rémi Verschelde e33e98a26f Style: Apply clang-format grouping rules 2026-03-17 20:11:01 +01:00
Rémi Verschelde 6d309c858e Remove unused includes in modules with clangd-tidy 2026-03-16 16:40:39 +01:00
Rémi Verschelde 8c0f175c94 Decouple RenderingServer from as much of the codebase as possible
Notably decouples it from:
- AccessibilityServer
- DisplayServer
- Viewport
- Window
2026-03-03 12:48:07 +01:00
Thaddeus Crews abdde1b69d Core: Remove class_db.h include from ref_counted.h 2026-02-26 18:14:23 -06:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
Rémi Verschelde f0a448540e Misc dependency improvements for files depending on rendering_server.h
On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 3s.
2026-02-25 20:17:27 +01:00
Rémi Verschelde a3cb56dd38 Decouple RenderingServer from XR/OpenXR headers
Move BlitToScreen to RenderingServerTypes.
2026-02-25 20:17:23 +01:00
Rémi Verschelde f5a290ac46 Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.

With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.

On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
Rémi Verschelde ad4b910a10 Minimize include dependencies of display_server.h
- Removes `native_menu.h` dependency from `display_server.h`.
  It's now forward-declared in all DisplayServer implementations and should
  be included in the .cpp's.
- Removes some unused `rb_set.h` and `rb_map.h` dependencies, which leads to
  having to include them explicitly in half the scene and editor codebase...
  which shows how much we depend on `display_server.h`.
- Forward-declare `input_event.h`, so now we need only `keyboard.h`.
2026-02-17 19:45:31 +01:00
Aaron Franke ac2e01684c Use const ref parameters in the Web modules 2025-09-28 08:13:13 -07:00
Hugo Locurcio f6895c4150 Fix MDN link for XRReferenceSpaceType in WebXRInterface class documentation 2025-09-10 01:13:09 +02:00
Adam Scott 793258919b [Web] Fix Emscripten for WebXR and update minimum version 2025-07-22 14:02:44 -04:00
A Thousand Ships 2db7ecd410 [Docs] Various grammar and spelling fixes 2025-06-23 20:54:08 +02:00
David Snopek 9fc8dd686b WebXR: Better errors when WebXR Layers or multiview are unavailable 2025-06-08 13:22:00 -05:00
kobewi 13f642d959 Replace XML codeblock spaces with tabs 2025-06-06 14:35:38 +02:00
Thaddeus Crews 01fc9aee6c Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00
Thaddeus Crews ad40939b6f Core: Replace C math headers with C++ equivalents
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 -05:00
Adam Scott ab1757c4b9 Add singleton check before adding webxr interface 2025-04-09 12:54:30 -04:00
Yufeng Ying 4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
Thaddeus Crews 324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
Michael Alexsander aea559b39a Allow to compile the engine without XR support 2025-02-25 17:07:21 -03:00
Yufeng Ying 33817b186f Remove unused header in drivers and modules.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2024-12-24 00:40:47 +08:00
Adam Scott 0d350e7108 Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Max Hilbrunner a6997d37cc Docs: remove duplicate words 2024-09-30 12:21:30 +02:00
Thaddeus Crews 9f9ee0c813 SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
David Snopek 7d56b09f23 Expose a function to create textures from a native handle in the compatibility renderer 2024-09-19 09:05:32 -05:00
David Snopek 2f001e6789 Fix support for environment blend modes on WebXRInterface 2024-06-26 22:02:20 -05:00
David Snopek ef3fbf0091 Improve WebXR API docs related to hand tracking support 2024-06-26 08:52:10 -05:00
Rémi Verschelde 95110ddcb4 Merge pull request #93614 from Malcolmnixon/webxr-hand-tracking-palm-rotation
Fix WebXR palm joint calculation to include rotation
2024-06-26 11:08:50 +02:00
Malcolm Nixon 8c5b307faf This PR modifies how the WebXR palm joint transform is calculated so it also has the correct rotation. 2024-06-25 23:23:18 -04:00
David Snopek 9b42333e98 [WebXR] Fix closure compiler mangling XRSession.enabledFeatures 2024-06-25 12:36:14 -05:00
patwork 1a89ae70eb Upgrade to eslint 9 2024-05-22 11:32:25 +02:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
Malcolm Nixon e00e5c0386 Remove the Hand enum from XRHandTracker to fix name-collision with the hand property of the base class.
Co-Authored-By: David Snopek <191561+dsnopek@users.noreply.github.com>
2024-04-25 19:38:57 -04:00
Malcolm Nixon 823ae7b3fa Rework XR Trackers to have a common ancestor. Allow creation of XRNode3D to drive node positions and visibility. 2024-04-18 20:04:01 -04:00
David Snopek fa81e12588 Fix lint errors in WebXR module 2024-02-23 16:24:58 -06:00
David Snopek 7fa8ccd1ed WebXR: Add support for hand tracking 2024-02-23 15:30:10 -06:00
Markus Sauermann 2235a1cbd0 Add screen-related attributes to mouse input events 2024-02-05 23:30:15 +01:00
David Snopek 275c496bc8 Add MSAA support for WebXR 2023-12-11 09:01:24 -06:00
Rémi Verschelde 81064cc239 Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
Rémi Verschelde 346f1ab86b Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
Rémi Verschelde 25b2f1780a Style: Harmonize header includes in modules
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module ("local" includes) should be listed
first in their own block using relative paths, before Godot's "core" includes
which use "absolute" (project folder relative) paths, and finally thirdparty
includes.

Includes in `#ifdef`s come after their relevant section, i.e. the overall
structure is:

- Local includes
  * Conditional local includes
- Core includes
  * Conditional core includes
- Thirdparty includes
  * Conditional thirdparty includes
2023-06-15 14:35:45 +02:00
Yuri Sizov 391eccca76 Validate code tags in documentation for potential params
Adds a check to make_rst to look for matches
between the text inside of the [code][/code] tag
and known param identifiers.
Fixes most of what was revealed.
2023-04-26 21:36:04 +02:00
Rémi Verschelde ab7cb2a95d Merge pull request #72938 from dsnopek/webxr-frame-rate
[WebXR] Add support for getting and setting display refresh rate
2023-04-11 22:56:06 +02:00
Bastiaan Olij e31c2e4277 Add a get_system_info method to XRInterface 2023-03-15 13:11:48 +11:00
Rémi Verschelde 1c1524a651 Bump version to 4.1-dev
Can't stop, won't stop, they said, huh?
2023-03-01 01:44:37 +01:00
David Snopek 9e4d80e08e Fix byte packing (and buffer overrun) in godot_webxr_get_bounds_geometry() 2023-02-10 19:33:18 -06:00
David Snopek 886f2270ed [WebXR] Add support for getting and setting display refresh rate 2023-02-10 19:21:38 -06:00
David Snopek 055045af18 Update WebXR tutorial link to point at the Godot 4 version 2023-01-25 13:20:53 -06:00