Commit Graph

387 Commits

Author SHA1 Message Date
Thaddeus Crews 42e4ec1c38 Merge pull request #118651 from StarryWorm/fix-tabbar-label-max-width
Fix `TabBar` and `Label` being unable to shrink when given a maximum size
2026-05-07 16:22:27 -05:00
StarryWorm 05737cd449 Add "desired size" to Control
A `Control` can define `get_desired_size()` which allows it to grow based on its content without increasing its minimum size.
This new size will be respected by parent `Container`s.
Currently used by `Label` and `TabBar`.
2026-05-07 13:01:02 -04:00
Thaddeus Crews f46fad2974 Merge pull request #119261 from calbebop/test-texture-button
Add unit tests for `TextureButton`
2026-05-07 11:13:28 -05:00
Thaddeus Crews 864bad2705 Merge pull request #119264 from calbebop/add-spin-box-unit-tests
Add unit tests for `SpinBox`
2026-05-06 14:56:34 -05:00
CalBebop 7768e8ca06 Add unit tests for SpinBox 2026-05-06 12:43:38 -05:00
CalBebop 95811f6286 Add unit tests for ReferenceRect 2026-05-05 17:19:24 -05:00
CalBebop 0df87711d2 Add unit tests for TextureButton 2026-05-05 13:13:15 -05:00
Thaddeus Crews 771d727bea Merge pull request #119132 from calbebop/test-texture-rect
Add unit tests for `TextureRect`
2026-05-04 12:40:36 -05:00
CalBebop a969d1bf5a Add unit tests for NinePatchRect 2026-05-01 12:42:57 -05:00
CalBebop 2e88d139b5 Add unit tests for TextureRect 2026-04-30 18:52:15 -05:00
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
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
Rémi Verschelde e33e98a26f Style: Apply clang-format grouping rules 2026-03-17 20:11:01 +01: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
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
Goldenlion5648 c6b70a71e5 make caret at end of word work for lookup 2026-03-11 15:50:28 -04: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 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 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
StarryWorm 357fa00a4a rm class_db.h from resource.h 2026-02-27 19:08:29 -05: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 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
kobewi 44f9d7fa2e Change TabContainer's popup button into real Button 2026-02-08 18:13:45 +01:00
Lukas Tenbrink c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
DeeJayLSP cecdc7fb85 Update fallback fonts to latest releases 2026-01-21 19:33:24 -03:00
kit 9813c834fa Fix TextEdit Shift+Click selection start position 2026-01-09 10:46:45 -05:00
Rémi Verschelde e43485a9ee Merge pull request #113648 from kitbdev/fix-multisplit-incorrect-shrinking
Fix SplitContainer incorrect child shrink logic
2025-12-18 14:24:15 +01:00
Rémi Verschelde e7d8609c73 Merge pull request #113390 from X1Vi/text-edit-does-not-auto-scroll-113290
Fix `TextEdit` does not auto scroll properly on certain vertical sizes
2025-12-12 17:13:00 +01:00
X1Vi 442c117fb7 fix: scrollbar range fix and new tests for the same
fix: now the scrollbar also should work within the range it is provided

adjusted the tests according to the new scrollbar functinality

attempted to fix testcases for scrollbar
2025-12-12 18:31:19 +05:30
kit a8159efebf Fix SplitContainer incorrect child shrink logic 2025-12-05 15:48:11 -05:00
Lukas Tenbrink ebc9aebb69 Optimize RequiredParam to not increase and decrease refcounts on call. 2025-12-03 21:21:18 +01:00
sgil-rodriguez 58e92077b3 Add tests for AnimationPlayer 2025-12-03 09:46:58 +01:00
Thaddeus Crews 9f76aa3df5 Merge pull request #113282 from dsnopek/required-ptr-get-out-there
Use `RequiredParam`/`RequiredResult` in some high value places
2025-12-02 20:42:53 -06:00
Thaddeus Crews 554c2ab374 Merge pull request #112991 from syntaxerror247/fix-completion-popup-placement
Fix completion popup placement and adjust lines to available space
2025-12-02 11:52:12 -06:00
David Snopek fc92ce3e7f Use RequiredParam/RequiredResult in some high value places 2025-12-02 10:44:12 -06:00
Anish Kumar 834dfcbcaf Fix completion popup placement and adjust lines to available space 2025-11-26 19:12:36 +05:30