Commit Graph

257 Commits

Author SHA1 Message Date
StarryWorm a88418e2ae Fix CI errors 2026-04-02 15:04:02 -04:00
Thaddeus Crews 2e56f4ee53 Merge pull request #116798 from bruvzg/tests_rs
[Tests] Always init message queue and rendering server.
2026-03-30 13:35:39 -05:00
Rémi Verschelde 18edfa5245 Explicitly include scene_tree.h where used
Pre-requisite before removing `scene_tree.h` from `node.h`
which has cascading consequences on most of the codebase.
2026-03-05 10:43:25 +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 f332faf46b Explicitly include core/os/os.h where used 2026-03-04 09:54: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
Pāvels Nadtočajevs fc8b3281ca [Tests] Always init message queue and rendering server. 2026-02-26 13:41:21 +02: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
Thaddeus Crews a7b74be08c Tests: Tidy up compiled tests 2026-02-19 19:31:09 -06:00
Thaddeus Crews 5482b9e89e Tests: Convert test headers to compilation files
• Excludes module tests, as they'd be a more involved process
2026-02-19 07:36:26 -06: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
Fabio Alessandrelli 65ce1360b4 network: Normalize IP parsing, fix IPv6, tests 2026-01-13 18:55:55 +01:00
Mrfanta-stick 70727f46fd Fix OpenXR build failure when GLTF module is disabled
Wrap OpenXR render model classes with MODULE_GLTF_ENABLED guards since
they depend on the GLTF module. Include modules_enabled.gen.h
unconditionally to ensure proper module detection across all build
configurations.
2025-12-12 14:01:06 +01:00
sgil-rodriguez 58e92077b3 Add tests for AnimationPlayer 2025-12-03 09:46:58 +01:00
Thaddeus Crews b962544a3e Merge pull request #93463 from OneBogdan01/test-decal
Add unit tests for `Decal`
2025-11-24 16:00:09 -06:00
smix8 419fc6e22d Make NavigationServer backend engine selectable
Adds engine backend selection for NavigationServers, aka allows to swap navigation module for other backend implementations.
2025-10-30 08:59:06 +01:00
Edward Moulsdale b694fe661f Add unit tests for StreamPeerTCP 2025-10-23 19:57:19 +01:00
Aaron Franke 3d1c9fd5de Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Stuart Carnie 7227fdd805 Core: Add UNIX domain socket support
> [!NOTE]
>
> Later versions of Windows has support for `AF_UNIX`, so it could be
> added.
2025-09-26 05:46:19 +10:00
A Thousand Ships f8d72ba783 [Navigation 2D] Fix sign of cross product
Regression from splitting the servers. Also replaces the method for
getting the triangle area.
2025-09-23 14:55:17 +02:00
Bogdan Mocanu bc85a84033 Add unit tests for Decal 2025-09-22 17:26:28 +02:00
A Thousand Ships f11aff3841 Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
Nick-njh 907fdc6222 Adding tests for Animation Blend Tree
Co-Authored-By: kj-art-dev <56623499+kj-art-dev@users.noreply.github.com>
Co-Authored-By: Nick <148664926+nick-njh@users.noreply.github.com>
2025-06-10 13:53:01 +02:00
Rémi Verschelde 61639d9574 Merge pull request #106996 from Ivorforce/no-oa-hashmap
Core: Remove `OAHashMap`, in favour of `AHashMap`
2025-06-05 13:12:34 +02:00
Rémi Verschelde 9f98e922da Merge pull request #106574 from MisakaRinOwO/New-Tests-for-Sprite2d
Add unit tests for Sprite2D
2025-06-05 13:11:52 +02:00
aaronp64 6b2674fe18 Reuse and optimize sorting logic for List, SelfList, and HashMap
Added SortList class, and updated List, SelfList, and HashMap sort methods to use it.  Sorting is done with merge sort, with an initial check to optimize for already sorted lists, and sorted lists that were appended to.
2025-06-04 10:18:22 -04:00
kj-art-dev 3ce59a5114 Added new unit tests for Sprite2D.
Added a new test file and test cases for Sprite2D. Updated test_main.cpp to include the new test file.
2025-06-02 20:47:18 -07:00
Thaddeus Crews 5935356962 Merge pull request #100984 from TokageItLab/bone-constraint
Implement `BoneConstraint3D` with `CopyTransform`/`ConvertTransform`/`Aim` Modifiers
2025-06-02 18:51:57 -05:00
Silc Lizard (Tokage) Renew 4a2a95678b Implement BoneConstraint3D with Copy/ConvertTransfrom & TrackBone mods 2025-06-02 03:42:45 +09:00
Lukas Tenbrink 963c20565b Remove OAHashMap, in favour of AHashMap.
The two types had (mostly) the same decisions, but `AHashMap` is a faster implementation, and is more consistent with `HashMap`.
2025-05-31 15:50:10 +02:00
kobewi e7d31635dd Don't hard-code test path when deleting test data 2025-05-23 15:29:10 +02:00
Thaddeus Crews 56cc2bb68a Merge pull request #105848 from leandro-benedet-garcia/delete_cache
Delete test cache before running it
2025-05-15 10:22:21 -05:00
Yufeng Ying 3bf400ffae Move bisect to Span and deduplicate code.
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-05-14 18:19:09 +08:00
Leandro (Cerberus1746) Benedet Garcia ed35b9e181 Delete test cache before running it 2025-05-02 14:08:32 -03:00
Lukas Tenbrink 1b1ab76a14 Add FixedVector template.
This is a high performance `Vector`-like object that can be used if the maximum number of objects is small and known, and the objects are needed only temporarily.
2025-04-30 19:14:08 +02: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
Michael Alexsander 556933306a Allow to compile templates without navigation features 2025-04-01 11:53:35 -03: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
Michael Alexsander 5ad414d046 Allow to compile templates without physics servers 2025-03-28 11:00:44 -03:00
Pablo Andres Fuente e2bef7041e Fix StreamPeerGZIP::finish() internal buffer size usage
Fixes #97201

Instead of using and arbitrary fixed size for the internal buffer,
the remaining available bytes of the internal `RingBuffer` is used.

Also add unit tests for `StreamPeerGZIP`.
2025-03-19 09:56:32 +01:00
A Thousand Ships b064fcf547 [Navigation] Rename classes in preparation for future restructure 2025-03-12 13:26:34 +01:00
Lukas Tenbrink 605b62cd29 Add Span struct (replacing StrRange). Spans represent read-only access to a contiguous array, resembling std::span. 2025-03-09 18:19:51 +01:00
Pablo Andres Fuente 5775d29ad8 Fix SCRIPT ERROR/ERROR/WARNING on test output
Also "fixing" some GDScript completion tests which
where named wrongly.
2025-03-06 13:44:48 +01:00
Pablo Andres Fuente d1338528f9 Fix file loggin log rotation
Fixes #97066

`RBSet` were used on `RotatedFileLogger` because it guarantees that
iterating it is done via `operator<`. This is important because
`RotatedFileLogger` depends on this behavior to delete the oldest log file.
On #61194 `HashSet` was added and all `RBSet` uses were replaced by
`HashSet`.
When that happened, the iteration in order is guaranteed to be the insertion
order, wich made that `RotatedFileLogger` delete the newest log file.
As a bonus, I added unit test for `RotatedFileLogger` and `CompositeLogger`.
2025-02-10 21:57:07 +01:00
Rémi Verschelde 4cf02312f6 Merge pull request #101136 from JulianHeuser/master
Add test for GLTFDocument
2025-01-07 00:45:14 +01:00
Julian 5727eda0e1 GLTFDocument test case 2025-01-06 15:53:33 -05:00
AThousandShips 25ecf5ec83 [Core] Fix UID encoding
Fixes edge case where `0` encoded as `uid://` instead of `uid://a`, and
fixes the size of the temporary buffer storing encoded UID strings.
2024-12-31 15:20:09 +01:00
Hilderin 9d2a4c03be Embedding game process in editor 2024-12-18 17:52:42 -05:00
kit 63a90b3dd8 Add tests for SplitContainer 2024-12-17 18:16:52 -05:00