Commit Graph

1388 Commits

Author SHA1 Message Date
Thaddeus Crews 1aabcb9e9b Merge pull request #118306 from StarryWorm/text-edit-max-size
Make `TextEdit`'s `scroll_fit_content_*` properties work properly with maximum sizes
2026-04-10 10:32:44 -05:00
Aaron Franke cfded120ae Move visual shaders to a module 2026-04-08 12:05:22 -07:00
StarryWorm 747c3deeb5 TextEdit::scroll_fit_content_* is now maximum size aware
If `Control::get_combined_maximum_size()` returns a size smaller than `get_minimum_size()` in the target axis, scrollbars are shown.
2026-04-08 08:36:53 -04:00
Thaddeus Crews b903c1070a Merge pull request #118232 from StarryWorm/container-tests
Add tests for Container nodes
2026-04-07 18:21:43 -05:00
Thaddeus Crews 266e8f715a Merge pull request #116640 from StarryWorm/max_size
Add `custom_maximum_size` property to `Control`
2026-04-07 18:21:42 -05:00
Thaddeus Crews ad46310dd5 Merge pull request #114556 from jgill88/gh-11698
Add ping-pong playback support to SpriteFrames / AnimatedSprite2D / AnimatedSprite3D
2026-04-07 18:21:36 -05:00
StarryWorm d69e34bb20 Allow Label and RichTextLabel to use the new custom_maximum_size
These will be able to use `custom_maximum_size` for autowrapping and trimming, reflecting expected behavior.
2026-04-07 14:34:13 -04:00
StarryWorm bdca8b66e7 Add custom_maximum_size to Control
This property mirrors `custom_minimum_size` and enables the user to set a size the `Control`. Enabling `propagate_maximum_size` forces all children to respect this node's maximum_size.
Not all `Control` types handle this gracefully, which may result in content clipping.
2026-04-07 14:34:12 -04:00
StarryWorm 039d474aa7 Add tests for Container nodes 2026-04-05 17:50:14 -04:00
StarryWorm 3778da1f36 Modernize create_test.py 2026-04-05 13:09:51 -04:00
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
StarryWorm 4ae336740d Add missing resource_*.h includes
Add missing `resource_importer.h` includes
Add missing `resource_loader.h` includes
Add missing `resource_saver.h` includes
2026-03-27 07:03:39 -04:00
Josh Gill d4d8b781be Add ping-pong playback support to SpriteFrames / AnimatedSprite2D / AnimatedSprite3D 2026-03-23 22:32:29 -07:00
Adriano Sudário fd8d310d2a Add unit tests for StyleBoxEmpty and StyleBoxLine
Add unit tests for StyleBoxEmpty and StyleBoxLine
2026-03-23 16:30:29 -03:00
Lukas Tenbrink 05c33acbb1 Make memnew(RefCounted) return Ref, to force callers to take ownership of it through a reference. 2026-03-18 20:34:08 +01:00
Thaddeus Crews 4e7fefbf62 Merge pull request #117474 from Ivorforce/gdtype-signals
Move signal ownership from `ClassDB` to `GDType`
2026-03-18 11:43:30 -05:00
Rémi Verschelde 98868393cc Style: Enforce #include validation hook 2026-03-18 10:41:59 +01:00
Rémi Verschelde e33e98a26f Style: Apply clang-format grouping rules 2026-03-17 20:11:01 +01:00
Lukas Tenbrink 7a73d3f16b Move signal ownership from ClassDB to GDType. 2026-03-17 11:58:10 +01:00
Rémi Verschelde 7795057e4b Misc includes or modernize fixes found via clangd-tidy 2026-03-16 21:38:26 +01:00
Thaddeus Crews 40184ac402 Merge pull request #106867 from Ivorforce/cowdata-sanitize
Poison `CowData` pointer during destruction in sanitizer builds.
2026-03-16 11:33:01 -05:00
Rémi Verschelde d9b81615e5 Remove unused includes in platform with clangd-tidy
Handled Linux, Windows, Android, and (partially) Web.
2026-03-14 22:37:05 +01:00
Rémi Verschelde 96436e33f9 Merge pull request #117277 from Ryan-000/ryan-opt-tree
Optimize AnimationTree, Improve internals & Editor & `Node::process_thread_group` safety
2026-03-14 12:16:19 +01:00
Rémi Verschelde 422be7031a Merge pull request #113586 from Ivorforce/gdtype-noms-enums
Move enum registration from `ClassDB` / `ClassInfo` to `GDType`.
2026-03-14 12:15:44 +01:00
Ryan 1a5d818ea9 Optimize AnimationTree & Improve internals
Apply suggestions from code review

Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-Authored-By: Silc Lizard (Tokage) Renew <tokage.it.lab@gmail.com>
2026-03-14 02:24:21 -04:00
Lukas Tenbrink 56f44c077d Poison CowData pointer during destruction in sanitizer builds. 2026-03-13 20:27:49 +01:00
Lukas Tenbrink efcc97ee8a Move enum registration from ClassDB / ClassInfo to GDType.
Create caches across supertypes for faster lookup.
2026-03-13 19:20:30 +01:00
Goldenlion5648 c6b70a71e5 make caret at end of word work for lookup 2026-03-11 15:50:28 -04:00
Rémi Verschelde e015e8bde4 Remove unused includes in core with clangd-tidy 2026-03-11 06:41:36 +01: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
StarryWorm 3cb2d376f8 Get rid of all unnecessary class_db.h includers 2026-03-04 17:40:05 -05:00
Rémi Verschelde eabb9a63d4 Rename callable_method_pointer.h to callable_mp.h and include it explicitly
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.

Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
2026-03-04 16:23:23 +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
StarryWorm 357fa00a4a rm class_db.h from resource.h 2026-02-27 19:08:29 -05:00
Thaddeus Crews abdde1b69d Core: Remove class_db.h include from ref_counted.h 2026-02-26 18:14:23 -06: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 cb9b4cff90 Decouple MeshStorage from RenderingServer
By moving RS::SurfaceData and RS::MeshInfo to RenderingServerTypes.

This notably allows removing RS dependency from `mesh.h`.
2026-02-25 20:17:28 +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
kit e5c50f4b7b Fix SplitContainer accessibility errors 2026-02-21 16:16:25 -05:00
Thaddeus Crews 9a19d32fdb Merge pull request #116541 from Ivorforce/a-variant-shaped-pool
Move variant pools to their own compile unit.
2026-02-21 12:17:01 -06:00
Lukas Tenbrink e9465cd380 Move variant pools to their own compile unit. 2026-02-21 13:24:17 +01:00
Pāvels Nadtočajevs f69edf810e [String] Allow using Java style %[arg$] prefix in sprintf. 2026-02-20 15:07:58 +02:00
Thaddeus Crews a7b74be08c Tests: Tidy up compiled tests 2026-02-19 19:31:09 -06:00
Thaddeus Crews dde6e84bc3 Tests: Compiled test conversion follow-up 2026-02-19 10:19:03 -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
K. S. Ernest (iFire) Lee 481865ba34 Run linter on run_compatibility_test.py. 2026-02-18 14:27:21 -08:00