1
0
Fork 0
Commit Graph

18098 Commits

Author SHA1 Message Date
Thaddeus Crews d4a87d9bb3
Merge pull request #106636 from Ivorforce/dictionary-mutating-fix
Fix `Dictionary::operator[]` from C++ accidentally modifying `const` dictionaries.
2025-10-10 10:26:01 -05:00
kleonc 2dce5172e2 Fix rotation/scale order in CanvasItem::draw_set_transform 2025-10-10 15:09:25 +02:00
Raul Santos fdecca2f18
Add `recording_signals` to MissingNode
Allows connecting unknown signals to MissingNode so they aren't lost when the Node type is missing.
2025-10-09 22:08:59 +02:00
Pāvels Nadtočajevs e4988b4bf3
Add MIME argument to the `FileDialog.add_filter`. 2025-10-09 22:17:56 +03:00
Thaddeus Crews 91a1798474
Merge pull request #109084 from allenwp/add-spatial-shader-debanding
Add material debanding for use in Mobile rendering method.
2025-10-09 11:46:58 -05:00
Thaddeus Crews 09ea0cf899
Merge pull request #111444 from lawnjelly/fti_fix_scene_tree_depth_limit4
FTI - Fix `SceneTreeFTI` depth limit behaviour
2025-10-09 11:46:53 -05:00
Thaddeus Crews 4ab22026b6
Merge pull request #111405 from Ivorforce/node-no-mesh
Remove transitive rendering includes from `node.h`
2025-10-09 11:46:49 -05:00
lawnjelly cee37f0234 FTI - Fix `SceneTreeFTI` depth limit behaviour
Fixes off by one bug, and increases the limit slightly.
2025-10-09 10:56:01 +01:00
Lukas Tenbrink 9843a016f5 Reorder registration of types, to register supertypes before subtypes. 2025-10-09 11:50:32 +02:00
Kaleb Reid 43c03e224a Use correct ndc for proximity fade in Compatibility 2025-10-08 21:18:41 -07:00
kobewi e6783dbdd1 Improve to_string() and add it to Resource 2025-10-09 00:54:38 +02:00
Allen Pestaluky bd9d1bf070 Add material debanding for use in Mobile rendering method.
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-10-08 16:22:41 -04:00
Thaddeus Crews 4ad9114c54
Merge pull request #111386 from YeldhamDev/scrcon_focus_fix
Fix incorrect margins in `ScrollContainer` with focus border enabled
2025-10-08 13:56:41 -05:00
lawnjelly 1c8ef479b4 FTI - Add `multimesh_instances_reset_physics_interpolation()` 2025-10-08 16:17:18 +01:00
Lukas Tenbrink 33689d7beb Remove transitive `mesh.h`, `rendering_server.h` and `shader.h` includes from `node.h`. 2025-10-08 12:16:52 +02:00
Lukas Tenbrink 207e8c1b92 Remove `compositor.h` include from `world_3d.h`. 2025-10-08 11:25:23 +02:00
Michael Alexsander e9a5208c8b
Fix incorrect margins in `ScrollContainer` with focus border enabled 2025-10-07 20:49:33 -03:00
Thaddeus Crews 0f7bf2913f
Merge pull request #111249 from HolonProduction/owner-node
Store `ThemeOwner` owner directly as `Node*`
2025-10-07 17:15:08 -05:00
Thaddeus Crews 8276e512d6
Merge pull request #110767 from Ryan-000/Fix-AnimationPlayer-to-use-StringName
Fix AnimationPlayer to use StringName instead of String in the exposed API.
2025-10-07 17:15:06 -05:00
Thaddeus Crews 72cf639020
Merge pull request #111178 from PhairZ/anim-is-paused
Expose `is_valid()` from `AnimationPlayer` to make detecting paused animations possible.
2025-10-07 17:15:04 -05:00
Thaddeus Crews e878d5a2fb
Merge pull request #111304 from HolonProduction/rm-last-vp-rect
Remove unused members from `Viewport`
2025-10-07 17:15:02 -05:00
Harper Stoeckle 6aab67da6b Fix incorrect transform calculation in `Camera2D` when using a custom viewport 2025-10-07 15:17:56 -06:00
Thaddeus Crews ccccb9d3cb
Merge pull request #111258 from Koyper/fix_rich_text_label_bullet_list_issues
[RichTextLabel] Fix bullet list font color and formatting issues
2025-10-07 11:54:43 -05:00
Thaddeus Crews 9c63619f20
Merge pull request #111318 from Ivorforce/registration-order-1
Improve type registration order in `register_core_types.cpp`.
2025-10-07 11:54:41 -05:00
Thaddeus Crews 9efb50bad7
Merge pull request #111250 from scgm0/Fix-RichTextLabel-Focus
Fix RichTextLabel Focus Box
2025-10-07 11:54:39 -05:00
Thaddeus Crews 916bfee528
Merge pull request #111230 from GabCoolDude/color_picker_tooltip_fix
Fix color text's tooltip not being updated when the intensity is more than 0
2025-10-07 11:54:33 -05:00
Thaddeus Crews a1974604fe
Merge pull request #108227 from Meorge/bugfix/kill-subtweens
Propagate `Tween.kill()` to subtweens
2025-10-07 11:54:29 -05:00
Koyper faf1ab126d Fix RichTextLabel bullet list font issues 2025-10-07 09:52:34 -05:00
Rémi Verschelde 56d5624e88
Merge pull request #111355 from bruvzg/zero_w_2
Enforce zero width spaces and joiners with missing font. Do not warn about missing non-visual characters.
2025-10-07 14:34:10 +02:00
Giganzo e384085ca1 Add setting for when to show the focus state for mouse input 2025-10-07 14:26:14 +02:00
Lukas Tenbrink d2ee378d1c Remove `VariantHasher` and `VariantComparator` in favour of specializing `HashMapHasherDefault` and `HashMapComparatorDefault`. 2025-10-07 13:47:39 +02:00
Rémi Verschelde 1cab5e1b1c
Merge pull request #110982 from TokageItLab/fix-rm-animtree-bw
Fix backward/pingpong root motion in AnimationTree
2025-10-07 13:07:06 +02:00
Pāvels Nadtočajevs fda161f976
Enforce zero width spaces and joiners with missing font. Do not warn about missing non-visual characters. 2025-10-07 13:10:24 +03:00
Ryan 35999a16dd Fix AnimationPlayer to use StringName instead of String
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-10-06 16:29:40 -04:00
Thaddeus Crews c01c7b800d
Merge pull request #111221 from Ivorforce/ahashmap-no-hashmap-include
Remove `hash_map.h` include from `a_hash_map.h`, and remove cross conversion operators
2025-10-06 14:34:15 -05:00
Thaddeus Crews 48ebbc438e
Merge pull request #111117 from YeldhamDev/focus_corner_cases_fix
Fix cases where `LineEdit` can still show focus with mouse events
2025-10-06 14:34:12 -05:00
Thaddeus Crews 5ee1384cbd
Merge pull request #110506 from TokageItLab/reset-mod
Fix Reset on Save corrupt poses if scene has multiple Skeletons
2025-10-06 14:34:08 -05:00
Mounir Tohami 9894256e3a More XR disable for Viewport and export. 2025-10-06 20:15:07 +03:00
Silc Lizard (Tokage) Renew 2fb310b182 Make StateMachinePlayback set `Start` state as default in constructor 2025-10-07 00:34:05 +09:00
Lukas Tenbrink d6036462b1 Remove `hash_map.h` include from `a_hash_map.h`, and remove cross conversion operators. 2025-10-06 17:20:31 +02:00
Thaddeus Crews 5935a32e32
Core: Cleanup headers in `core/config`
- `MainLoop` now forward-declared in `OS`
2025-10-06 09:20:56 -05:00
Thaddeus Crews d1d28c0bcf
Merge pull request #111223 from Ivorforce/remove-iterator-include
Replace `std::size` usage with `std_size` to avoid `<iterator>` include.
2025-10-06 09:06:49 -05:00
Thaddeus Crews 6ece891ae6
Merge pull request #110684 from Kaleb-Reid/fix-compat-refraction
Use correct screen-space to ndc equation in Compatibility refraction
2025-10-06 09:06:43 -05:00
Thaddeus Crews 686b56fae9
Merge pull request #106434 from Ivorforce/invert-hashfuncs
Reduce cross project includes by rewriting `HashMapHasherDefault`.
2025-10-06 09:06:37 -05:00
Thaddeus Crews e8535bc27e
Merge pull request #111292 from WhalesState/tree-tooltip-crash
Fix Tree column title tooltip crash.
2025-10-06 09:06:34 -05:00
Thaddeus Crews 30a0a41982
Merge pull request #111274 from chocola-mint/include-optimization-logger
Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`.
2025-10-06 09:06:32 -05:00
Thaddeus Crews 5b2d91ef31
Merge pull request #111270 from chocola-mint/include-optimization-control
Remove `timer.h` include from `control.h`.
2025-10-06 09:06:31 -05:00
Thaddeus Crews ef5ecd95d7
Merge pull request #111254 from Ivorforce/object-no-rb-rw
Remove `rw_lock.h` and `rb_map.h` includes from `object.h`.
2025-10-06 09:06:29 -05:00
Thaddeus Crews dac4704447
Merge pull request #111248 from J4RH/colorpicker-reverting-fix
Check that ColorPickerButton popup is currently open in `_modal_closed()`
2025-10-06 09:06:27 -05:00
Thaddeus Crews f9a2ecd184
Merge pull request #111116 from KoBeWi/fdm
Unify FileDialog context menus
2025-10-06 09:06:25 -05:00
Thaddeus Crews 3b04c8464c
Merge pull request #107273 from DexterFstone/add-game-speed-controls
Add game speed controls to the embedded game window
2025-10-06 09:06:24 -05:00
Michael Alexsander 984b52a972
Fix cases where `LineEdit` can still show focus with mouse events 2025-10-06 10:19:35 -03:00
Rémi Verschelde ef5cd99604
Merge pull request #106837 from reduz/unique-node-ids2
Add unique Node IDs to support base and instantiated scene refactorings
2025-10-06 14:08:24 +02:00
Rémi Verschelde 480f3d1119
Merge pull request #110017 from bruvzg/acomp_col_check
Add column boundary check in the autocompletion.
2025-10-06 14:07:53 +02:00
Juan faddd60c40
Add unique Node IDs to support base and instantiated scene refactorings
The main goal of this PR is to safeguard when a base or instantiated scene changes (nodes renamed, moved or readded),
that the hierarchy is still maintained and the node and its overridden properties can be preserved.

What it does:
* Implements unique node IDs.
* These IDs act as a fallback to names when saving.
* The IDs are **USED AS A FALLBACK**, so they are just an addition. It should not break any current existing scene.
* If a scene renames or moves a node, inherited or instantiated scenes will no longer lose reference to it.

Unlike the previous approach, this one is intended to be a fallback, only used if the node is not found.
This makes it safer to implement and ensure that, at worst case, we fail to find the node, but nothing breaks.
2025-10-06 12:55:38 +02:00
Lukas Tenbrink 40b9d003af Improve type registration order in register_core_types.cpp. 2025-10-06 10:53:31 +02:00
Pāvels Nadtočajevs 0d056cf294
Fix editor embedded windows partially resizing. 2025-10-06 09:12:20 +03:00
Lukas Tenbrink 9d44b68867 Remove `rw_lock.h` and `rb_map.h` includes from `object.h`. 2025-10-05 23:29:04 +02:00
HolonProduction 7f77565b66 Remove unused members from `Viewport` 2025-10-05 22:41:16 +02:00
Mounir Tohami 5a8c3bb0de Fix column title tooltip crash. 2025-10-05 17:48:21 +03:00
HolonProduction db9a0d82d9 Store `ThemeOwner` owner directly as `Node*` 2025-10-05 13:41:17 +02:00
chocola-mint ead282ff13 Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`. 2025-10-05 17:49:23 +09:00
DexterFstone 7ddce8ab26 Add game speed controls to the embedded game window 2025-10-05 11:13:15 +05:30
chocola-mint 19c47c5d99 Remove `#include "scene/main/timer.h"` from `control.h` 2025-10-05 14:41:06 +09:00
Lukas Tenbrink ad600125df Rewrite `HashMapHasherDefault` based on type traits - it is now possible to declare a default hashing function for any type.
Remove cross-project includes from `hashfuncs.h`.
Improve hashing function for `Color` (based on values instead of `String`).
Move `Variant` comparison from `hash_map.h` to `dictionary.cpp` (`VariantComparatorDictionary`), where it's used.
Remove now unnecessary `HashableHasher`.
2025-10-05 01:49:11 +02:00
Lukas Tenbrink 1db0a60dc0 Replace `std::size` usage with `std_size` to avoid `<iterator>` include. 2025-10-05 00:26:11 +02:00
scgm0 8657d8a090 Fix RichTextLabel Focus 2025-10-04 20:52:03 +08:00
Kaleb Reid 96ca7a205d Use correct ndc equation in Compatibility refraction 2025-10-04 02:03:31 -07:00
Jared 3d0daf15e1 Add visibility check in color_picker.cpp
Check that the Color Picker Popup is currently visible inside the tree before resetting the color and emitting popup_closed.
2025-10-04 21:30:49 +13:00
GabCoolDude f394656844 Fix color text's tooltip not being updated when the intensity is more than 0
Before, the tooltip would only change when pressing the "#" button in the editor, but it would never change at runtime or in the editor when changing the intensity
2025-10-03 23:33:47 +02:00
Paul Marechal 375f88d161 Fix file_dialog's root_subfolder on Windows
`root_prefix` either contains an empty string or the current root
including the drive letter. This means that the previous logic would
never ever match since `dir_access->get_current_dir(false)` explicitly
excludes the drive letter.

This change removes this boolean parameter so we compare paths in a way
that can match.

I've had a look at the implementations for other platforms for
`DirAccess::get_current_dir(bool include_drive)` and outside Windows
none seem to consider the `include_drive` parameter which makes me
believe that this change won't break other platforms.
2025-10-03 14:45:37 -04:00
Thaddeus Crews f6aa5ba23c
Merge pull request #97210 from AleksLitynski/object-snapshot-debugger
Add an ObjectDB Profiling Tool
2025-10-03 12:01:11 -05:00
Thaddeus Crews fb572aff53
Merge pull request #107666 from Sch1nken/add-physics-interpolation-multimesh2d
Add MultiMesh physics interpolation for 2D transforms (MultiMeshInstance2D)
2025-10-03 12:01:07 -05:00
Thaddeus Crews 71a485a1af
Merge pull request #104715 from Andrewyuan34/add-auto-scroll
Add auto-scroll behavior when selecting text outside the visible area in RichTextLabel
2025-10-03 12:01:05 -05:00
Thaddeus Crews 38af23a654
Merge pull request #89409 from aaronfranke/server-folders
Move server files into their subfolders
2025-10-03 12:01:00 -05:00
Thaddeus Crews c3caa263bf
Merge pull request #111106 from aaronfranke/group-2d-cam-override
Group together 2D camera override functions
2025-10-03 12:00:59 -05:00
Pāvels Nadtočajevs 1c50f8660a
Add column boundary check in the autocompletion. 2025-10-03 19:17:58 +03:00
Seif El-Din Ahmed 2cb1c51038 Expose is_valid() 2025-10-03 18:37:00 +03:00
Michael Alexsander 8973c91293
Add icon color theme items for `TabBar` and `TabContainer` 2025-10-03 10:41:28 -03:00
Silc Lizard (Tokage) Renew 8df06279c6 Fix Reset on Save corrupt poses if scene has multiple Skeletons 2025-10-03 10:33:33 +09:00
Silc Lizard (Tokage) Renew 749d9b95b9 Fix backward root motion in AnimationTree 2025-10-03 10:30:57 +09:00
kobewi 9af58c1133 Unify FileDialog context menus 2025-10-02 23:10:27 +02:00
Aaron Franke e2dd60b5f8
Group together 2D camera override functions 2025-10-02 13:21:44 -07:00
Thaddeus Crews b67b765a10
Merge pull request #111159 from KoBeWi/soon
Remaining FileDialog changes before unification
2025-10-02 15:12:02 -05:00
Thaddeus Crews 7bdec67718
Merge pull request #111126 from HolonProduction/gotta-get-path
Optimize initial `Node::get_path` call by avoiding `Vector::reverse`
2025-10-02 15:12:01 -05:00
kobewi fdc79f5286 Remaining FileDialog changes before unification 2025-10-02 19:13:04 +02:00
Mounir Tohami 2421dfaab3 Group virtual keyboard properties in the inspector 2025-10-02 14:15:10 +03:00
Mounir Tohami d9af8e0acc Fix Camera2D editor override and 2D debug templates. 2025-10-02 13:52:29 +03:00
Thaddeus Crews abbe792575
Merge pull request #111067 from HolonProduction/rm-multiplayer
Remove unused `multiplayer` member from `Node`
2025-10-01 17:54:20 -05:00
Thaddeus Crews 33bfd1fac4
Merge pull request #111060 from Kaleb-Reid/fix-dof-enable
Always show settings to enable DOF near + far
2025-10-01 17:54:18 -05:00
Thaddeus Crews 1c4760878b
Merge pull request #110843 from allenwp/fix-glow-intensity-editor-compatibility
Fix glow intensity not showing in compatibility renderer
2025-10-01 17:54:15 -05:00
HolonProduction b50ce590b4 Optimize initial `Node::get_path` call by avoiding `Vector::reverse` 2025-10-01 22:56:53 +02:00
Thaddeus Crews caefb0f1c1
Merge pull request #110527 from WhalesState/text-edit-styles
Fix TextEdit `read_only` drawing.
2025-10-01 13:12:47 -05:00
Thaddeus Crews 45dfd4dd23
Merge pull request #108147 from KoBeWi/set_get_is_back
Expose FileDialog callbacks for getting custom icons
2025-10-01 13:12:42 -05:00
Thaddeus Crews 486626413b
Merge pull request #110444 from bruvzg/rtl_bb_sp
[RTL] Fix `outline_size=0` and `font`/`otf` tags with invalid arguments breaking tag stack and spamming errors.
2025-10-01 13:12:39 -05:00
Thaddeus Crews f745685f54
Merge pull request #110028 from zeux/simplify-prune
Enable component pruning during mesh simplification
2025-10-01 13:12:36 -05:00
Thaddeus Crews 6b9acd7e9e
Merge pull request #110055 from dagarsar/tree-rtl
Add helper methods to convert right-to-left `Rect2i` and `Point2i` in `Tree`'s `draw_item`
2025-10-01 13:12:34 -05:00
Thaddeus Crews 7eaf1ee62d
Merge pull request #110278 from KoBeWi/controledraw
Redraw shape controls when ColorPicker theme changes
2025-10-01 13:12:33 -05:00
Thaddeus Crews 42263551b5
Merge pull request #110212 from Giganzo/spin-box-held-down
Fix SpinBox value change when held down on separation between buttons
2025-10-01 13:12:31 -05:00
kobewi f88b51995b Expose FileDialog callbacks for getting custom icons 2025-10-01 12:08:34 +02:00
Pāvels Nadtočajevs 61003f18ab
[Label] Add MSDF pixel range/outline configuration warning. 2025-10-01 12:31:08 +03:00
Aaron Franke 3d1c9fd5de
Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Thaddeus Crews 09609c1320
Merge pull request #111043 from HolonProduction/rm-import-path
Remove unused `import_path` member from `Node`
2025-09-30 20:10:44 -05:00
Thaddeus Crews a430bf6e8b
Merge pull request #110768 from Ir1ana/fix/110710
Fix nested TileMapLayers highlight rendering in editor
2025-09-30 20:10:41 -05:00
Thaddeus Crews 131d6b14a2
Merge pull request #110894 from Giganzo/spinbox-focus-state
Fix SpinBox stepper grabbing focus state on mouse input
2025-09-30 20:10:39 -05:00
Thaddeus Crews 1889f68007
Merge pull request #110886 from fstxz/fix-line-edit-double-click
Fix LineEdit's placeholder text being selected when double clicking
2025-09-30 20:10:35 -05:00
Thaddeus Crews 5f2593c9a2
Merge pull request #110987 from TokageItLab/smod-physics-interpolate
Make extended SkeletonModifiers retrieve interpolated global transform
2025-09-30 20:10:30 -05:00
Aaron Franke 9fbf5808a0
Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
Thaddeus Crews 4d231b5bf8
Merge pull request #108146 from KoBeWi/singleton_favrec
Expose methods to access FileDialog's favorite/recent lists
2025-09-30 18:35:26 -05:00
Thaddeus Crews e5bf31b170
Merge pull request #107369 from Ivorforce/node-iter-children
Core: Add `Node::iterate_children` as a fast way to iterate a node's children
2025-09-30 18:35:21 -05:00
Thaddeus Crews b9010edcfa
Merge pull request #110951 from aaronfranke/const-arr-ref-text-bidi
Use const Array ref in `set_structured_text_bidi_override_options`
2025-09-30 18:35:20 -05:00
Thaddeus Crews af08ab49f7
Merge pull request #107468 from Calinou/editor-animationtree-warn-disabled
Display AnimationTree editor warnings when the node is disabled
2025-09-30 18:35:14 -05:00
Thaddeus Crews b9513683d5
Merge pull request #109900 from Ryan-000/Make-Node-orphan_node_count-thread-safe
Make Node::orphan_node_count thread-safe
2025-09-30 18:35:13 -05:00
Thaddeus Crews d86123870b
Merge pull request #52285 from rxlecky/camera-override-cleanup
Clean up and simplify camera override API
2025-09-30 18:35:11 -05:00
Thaddeus Crews 45d064c388
Merge pull request #109590 from bruvzg/focus_checks
`find_*_valid_focus`: Check all tested neighbors to prevent loops.
2025-09-30 18:35:00 -05:00
kobewi 3615b188d7 Expose methods to access FileDialog's favorite/recent lists 2025-09-30 22:46:09 +02:00
Thaddeus Crews 21fd4faf1b
Merge pull request #107469 from Ivorforce/vector-localvector-explicit-span-conversions
Remove implicit conversions between `LocalVector` and `Vector`
2025-09-30 11:19:17 -05:00
kobewi 618afcffa6 Add pivot_offset_ratio property to Control 2025-09-30 15:27:52 +02:00
HolonProduction a9673e2bfc Remove unused `multiplayer` member from `Node` 2025-09-30 14:02:00 +02:00
Kaleb Reid c79fe58939 Always show settings to enable DOF near + far 2025-09-29 22:29:24 -07:00
Malcolm Anderson 9ad608691b Kill subtweens when their parent tween is killed
# Conflicts:
#	scene/animation/tween.h
2025-09-29 15:11:19 -07:00
Ryan 6ebef31b3c Make Node::orphan_node_count thread-safe 2025-09-29 17:54:41 -04:00
HolonProduction 743e0edfd7 Remove unused `import_path` member from `Node` 2025-09-29 21:40:01 +02:00
Silc Lizard (Tokage) Renew f3db297fd1 Make extended SkeletonModifiers retrieve interpolated global transform 2025-09-28 13:35:10 +09:00
Pāvels Nadtočajevs 9a1fbff651
[RTL] Fix `outline_size=0` and `font`/`otf` tags with invalid arguments breaking tag stack and spamming errors. 2025-09-27 20:42:05 +03:00
Aaron Franke 754d49ac81
Skip copying values constructed immediately before returning 2025-09-26 19:13:58 -07:00
Aaron Franke 1a7be001d2
Use const Array ref in `set_structured_text_bidi_override_options` 2025-09-26 14:31:38 -07:00
kobewi e68b171aaa Fix Script editor state types 2025-09-26 21:38:12 +02:00
Michael Alexsander 26745b4b87
Unfold tree items on hover while drag-n-dropping
Co-authored-by: suddjian
2025-09-26 14:38:45 -03:00
Thaddeus Crews a078895ad2
Merge pull request #109243 from precup/tile-map-optimizations
Avoid unnecessary updates in `TileMapLayer`
2025-09-25 12:13:57 -05:00
Thaddeus Crews c32c2606f4
Merge pull request #110837 from wheatear-dev/add-gdsoftclass-deeper
Add `GDSOFTCLASS` to deeper inheritors of `Object`
2025-09-25 12:13:56 -05:00
danielgsilva bc9c14da7a Add helper methods and simplify logic 2025-09-25 13:41:15 +01:00
A Thousand Ships bd65cfa876
Revert "Replace many uses of `is_class` with `derives_from`."
This reverts commit 78b743cf4a.
2025-09-25 13:48:53 +02:00
Artemy Fedotov 40d56c98bc
Fix LineEdit's placeholder text being selected when double clicking 2025-09-25 12:05:48 +04:00
Arseny Kapoulkine ccbece58d8 Enable component pruning during simplification
In addition to the regular edge collapse, we now allow the simplifier to
remove small isolated components. Components that are removed are below
the error threshold in size and as such should not noticeably contribute
to the overall rendering of the object.

This helps simplify topologically complex but small parts of larger
meshes and more comfortably reach the LOD targets.

In some cases, pruning can cause the last LOD to shrink to 0 triangles
which may prevent a slightly larger LOD from being used at the maximum
distance; in this case we retry simplification without pruning once.
2025-09-24 22:23:55 -07:00
Clay John 6e4e8072e1
Merge pull request #110027 from zeux/lod-iter
Switch LOD generation to use iterative simplification
2025-09-24 20:57:41 -07:00
Edward Moulsdale e366471fdc Add GDSOFTCLASS to deeper inheritors of Object 2025-09-24 19:15:56 +01:00
Mounir Tohami c07966583f Fix editor theme margins and TextEdit normal/read_only styles draw. 2025-09-24 20:42:22 +03:00
Thaddeus Crews 7e5c6890b2
Merge pull request #110298 from 0xcafeb33f/fix-skeleton-mirror
Fix Skeleton2D TwoBoneIK and LookAt mirroring
2025-09-24 09:59:13 -05:00
Thaddeus Crews 6f57447710
Merge pull request #109943 from kevinlam508/proper-tree-size-without-scrollbars
Fix tree to update size with scrollbars disabled
2025-09-24 09:59:13 -05:00
Thaddeus Crews 5db618a2db
Merge pull request #109078 from WhalesState/text-edit-clipping
Fix TextEdit clips children and focus style.
2025-09-24 09:59:12 -05:00
Thaddeus Crews 78b743cf4a
Merge pull request #110832 from Ivorforce/is-class-to-derives-from
Replace many uses of `is_class` with `derives_from`.
2025-09-24 09:59:09 -05:00
Thaddeus Crews 6547174ccf
Merge pull request #110024 from dagarsar/tree-rl
Fix child relationship lines not being drawn when selecting cells other than first
2025-09-24 09:59:05 -05:00
Thaddeus Crews 54e74142af
Merge pull request #110656 from KoBeWi/LocalTweener
Change list of Tweeners from Vector to LocalVector
2025-09-24 09:59:03 -05:00
Giganzo e90a337fa3 Fix SpinBox stepper grabbing focus state on mouse input 2025-09-24 16:51:59 +02:00
danielgsilva 1a77567029 Add method to check if any cell is selected and fix relationship line conditional 2025-09-24 13:44:57 +01:00
Allen Pestaluky 3101d75634 Fix glow intensity not showing in compatibility renderer when blend mode is set to mix. 2025-09-23 17:45:35 -04:00
Arseny Kapoulkine e40436d527 Switch LOD generation to use iterative simplification
Instead of simplifying every LOD from the original down to an
increasing number of triangles, we simplify each LOD from the previous
LOD and stop when the simplification can't proceed further.

This has a few benefits:

- It's significantly faster; using sparse flag helps ensure that
  subsequent simplifications after the first one are increasingly
  cheaper.

- It results in higher quality attributes on generated LODs; attribute
  quadrics reduce the quality of attribute preservation the more they
  are accumulated, so recomputing them from intermediate geometry helps.

- It results in monotonic appearance: if a feature is reduced in a
  higher LOD, it will stay reduced or get reduced more significantly in
  lower LODs. This is not a significant problem right now, but can be
  helpful to ensure if the number of LODs increases or some newer
  features get enabled.
2025-09-23 13:28:45 -07:00
Thaddeus Crews 96d9303b76
Merge pull request #109992 from zeux/simplify-regularize
Use regularization flag for LODs of deformable objects to improve appearance post deformation
2025-09-23 14:51:48 -05:00
Thaddeus Crews e6d25c0f73
Merge pull request #110819 from KoBeWi/overrun_with_dupes
Remove overrun code duplication
2025-09-23 14:51:45 -05:00
Lukas Tenbrink 8ef4a43ada Replace many uses of `is_class` with `derives_from`. 2025-09-23 19:59:00 +02:00
Thaddeus Crews c62356fcaa
Merge pull request #85080 from Cykyrios/draw-ellipse
Add methods to draw ellipses
2025-09-23 12:08:51 -05:00
Thaddeus Crews 1f5d8a39cb
Merge pull request #110520 from m4rr5/fix_vrs_modes_list
Fix Viewport VRS Mode property listing unimplemented Depth buffer option
2025-09-23 12:08:49 -05:00
Thaddeus Crews 685c7e92e5
Merge pull request #100437 from KoBeWi/ruaninstancequestionmark
Add `is_instance()` helper method to Node
2025-09-23 12:08:48 -05:00
Thaddeus Crews 5a8a3ed8e2
Merge pull request #110703 from dsnopek/xr-tracker-change
Fix XR tracker name changing at runtime
2025-09-23 12:08:45 -05:00
Thaddeus Crews 9708b088f9
Merge pull request #110249 from beicause/fix-compositor-effects-init-callback
Fix `CompositorEffect` not setting post-transparent callback on init
2025-09-23 12:08:43 -05:00
kobewi a57fef9558 Remove overrun code duplication 2025-09-23 16:08:46 +02:00
t0mj3dus0r f5432271b9 use self_modulate instead of modulate for TileMapLayer highlight rendering 2025-09-23 15:10:53 +02:00
lawnjelly cbbc2eae0e Fix ancestry constructors
Some object constructors in 4.x were not initializing ancestry correctly for some types, this was producing casting failures.
2025-09-23 08:23:55 +01:00
Thaddeus Crews 7521044465
Merge pull request #110750 from timothyqiu/color-picker-add
ColorPicker: Fix preset button order after calling `add_preset()`
2025-09-22 21:01:01 -05:00
Thaddeus Crews a20ca7bbfe
Merge pull request #110459 from YeldhamDev/let_the_poor_ints_slide
Allow to use sliders for integers in `EditorSpinSlider`
2025-09-22 13:28:52 -05:00
Thaddeus Crews 2d94ad1f3a
Merge pull request #93389 from KoBeWi/MASSIVE_copy_paste
Remove code duplication in Button
2025-09-22 13:28:47 -05:00
Thaddeus Crews 89c51cb183
Merge pull request #110571 from WhalesState/get-children
Improve `Node::get_children` performance.
2025-09-22 13:28:46 -05:00
Thaddeus Crews 035f5d3055
Merge pull request #110763 from Ivorforce/object-derives-from
Use `AncestralClass` to speed up `Object::cast_to` when possible.
2025-09-22 13:28:45 -05:00
Thaddeus Crews be421bcdd4
Merge pull request #110250 from YeldhamDev/i_just_cant_keep_focused
Hide `Control` focus when given via mouse input
2025-09-22 13:28:44 -05:00
Thaddeus Crews d069699940
Merge pull request #110752 from wheatear-dev/expand-110693
Add `GDSOFTCLASS` to six inheritors of `Object`
2025-09-22 13:28:41 -05:00
Michael Alexsander f16ff829f0
Allow to use sliders for integers in `EditorSpinSlider` 2025-09-22 11:23:15 -03:00
Thaddeus Crews ba0da90ba6
Merge pull request #108254 from KoBeWi/ENABLE_HINT_GROUP_PROPERTY_HINT
Add more `PROPERTY_HINT_GROUP_ENABLE` uses
2025-09-22 08:50:12 -05:00
Thaddeus Crews 999b94cc39
Merge pull request #109012 from Lielay9/fix_gradient_color
Round gradient colors
2025-09-22 08:50:08 -05:00
Thaddeus Crews c852872cb2
Merge pull request #108804 from bruvzg/mac_bundle_icon
[macOS] Use "file" icon for bundles in the file dialogs.
2025-09-22 08:50:02 -05:00
Thaddeus Crews 94dbc42a56
Merge pull request #62083 from KoBeWi/string_slice'n_dice
Improve usage of `String.split()` vs `get_slice()`
2025-09-22 08:50:01 -05:00
Lukas Tenbrink 96619d46a1 Use `AncestralClass` to speed up Object::cast_to when possible. 2025-09-22 13:21:51 +02:00
Haoyu Qiu 172c80df67 Make text-related nodes translation domain aware
- Makes `is_layout_rtl()` translation domain aware
- Makes various text-drawing controls translation domain aware
- Makes translation preview use the project's fallback locale when disabled
2025-09-22 09:39:14 +08:00
Edward Moulsdale 12e97610a8 Add GDSOFTCLASS to six inheritors of Object 2025-09-21 16:22:29 +01:00
Haoyu Qiu 52df1aeb59 ColorPicker: Fix preset button order after calling `add_preset` 2025-09-21 22:17:38 +08:00
Mounir Tohami b25e35cf58 Fix TextEdit styles and disable clipping.
Co-Authored-By: kit <kitbdev@gmail.com>
2025-09-21 07:32:30 +03:00
kobewi 98a4b46b6a Add more PROPERTY_HINT_GROUP_ENABLE uses 2025-09-20 21:11:12 +02:00
Thaddeus Crews 149a4b4ca1
Merge pull request #107868 from lawnjelly/quick_ancestry4
Provide quick access to `Object` ancestry
2025-09-20 13:41:39 -05:00
Thaddeus Crews 74e869c777
Merge pull request #109981 from bruvzg/clamp_menui_h
Clamp menus at the bottom of the screen.
2025-09-19 20:54:33 -05:00
Thaddeus Crews 72785c54ed
Merge pull request #110012 from dagarsar/tree-const-arg
Reinstate `const` parameter in `Tree`'s `draw_item_rect`
2025-09-19 20:54:31 -05:00
Thaddeus Crews 647546bcac
Merge pull request #110089 from dagarsar/tree-margin-1
Fix `Tree` relationship lines do not apply `h_separation` and `item_margin` correctly
2025-09-19 20:54:27 -05:00
Thaddeus Crews 90b771ce3a
Merge pull request #109512 from precup/speedy-big-trees
Speed up very large `Trees`
2025-09-19 20:54:14 -05:00
kobewi 0108e2f82f Change list of Tweeners from Vector to LocalVector 2025-09-19 22:36:07 +02:00
David Snopek bb06ffd944 Fix XR tracker name changing at runtime 2025-09-19 14:36:36 -05:00
kobewi e3ce74dc7e Remove code duplication in Button 2025-09-19 20:34:41 +02:00
Michael Alexsander aeb3a45c97
Hide `Control` focus when given via mouse input 2025-09-19 13:43:29 -03:00
Arseny Kapoulkine 92596e3f17 Regularize deformable objects to fix excessive errors post deformation
This significantly improves LOD quality for skinned objects, especially
if the skinned object geometry is very simple (e.g. planar or
cylindrical) in bind pose.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-09-19 08:45:57 -07:00
kobewi d61a337a70 Improve usage of String.split() vs get_slice() 2025-09-19 16:31:55 +02:00
Thaddeus Crews 2753d333f6
Merge pull request #109375 from ColinSORourke/VisualShaderEmbedHandling
Fix VisualShader Conversion failing with subresources
2025-09-19 09:17:10 -05:00
Thaddeus Crews 9b96eaaf80
Merge pull request #107989 from Jojo-1000/docs-add-required-qualifier
Documentation: Add missing required qualifier for various classes
2025-09-19 09:17:06 -05:00
Thaddeus Crews f27f917d32
Merge pull request #107955 from lodetrick/mouse-signals
Fix `mouse_entered` and `mouse_exited` Signals being emitted too early
2025-09-19 09:17:04 -05:00
Thaddeus Crews 2c1ad5b07a
Merge pull request #109031 from bruvzg/tab_spacing
Include `SPACING_SPACE` in tab stops calculation.
2025-09-19 09:17:00 -05:00
Cykyrios 9f7c3d00dd Add methods to draw ellipses 2025-09-19 10:45:16 +02:00
Thaddeus Crews 3dbb193ece
Merge pull request #109990 from zeux/meshopt-0.25
Update meshoptimizer to v0.25
2025-09-18 21:02:27 -05:00
Colin O'Rourke c4559c02de VisualShader Conversion fails with Embeds
Potentially resolves https://github.com/godotengine/godot/issues/101375

VisualShader now has a has_node_embeds function that runs through it's child nodes to find embedded resources via object properties. Conversion plugin uses this function to catch the error.
2025-09-18 14:35:30 -07:00
Lukas Tenbrink 0be2a77156 Fix `Dictionary::operator[]` from C++ accidentally modifying `const` dictionaries.
Fix `AudioStreamWav` inserting keys into the input dictionary.
2025-09-18 21:17:42 +02:00
Thaddeus Crews 1c056c7c86
Merge pull request #107481 from lawnjelly/localvector_children
Use `LocalVector` for `Node3D` and `CanvasItem` children
2025-09-18 12:42:28 -05:00
Thaddeus Crews 468ad87a37
Merge pull request #107596 from DeeJayLSP/safe-wav-load
Use 64-bit offset/loop points in `AudioStreamWAV`
2025-09-18 12:42:22 -05:00
Thaddeus Crews 3ad1642b2e
Merge pull request #110410 from BastiaanOlij/fix_stereo_label3d_fixed_size
Fix fixed size flag on StandardMaterial3D when rendering in stereo
2025-09-18 12:42:21 -05:00
Mounir Tohami 3335708ce0 Refine children cache invalidation to skip more special cases. 2025-09-18 18:28:59 +03:00
DeeJayLSP 7b5c53d996 Use 64-bit offset/loop points in `AudioStreamWAV` 2025-09-17 20:39:21 -03:00
kobewi 43fa18c3e6 Fix color picker shape minimum size 2025-09-17 21:33:38 +02:00
Thaddeus Crews 38d80598f5
Merge pull request #108121 from Repiteo/core/disabled-class-rework
Core: Handle disabled class detection in `ClassDB`
2025-09-17 11:34:16 -05:00
Mounir Tohami 7dc6df3051 Optimize `Node::get_children`.
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-09-17 13:31:23 +03:00
Thaddeus Crews 153bd70c8a
Merge pull request #109562 from YYF233333/style-vector
Replace "local" `Vector` with `LocalVector`
2025-09-16 20:28:59 -05:00
Thaddeus Crews 2557b0da9f
Merge pull request #101285 from Nazarwadim/use_LocalVector_in_animation
Use `LocalVector` in `Animation`
2025-09-16 20:28:52 -05:00
Lukas Tenbrink abe3b481ae Make conversions from `LocalVector` to `Vector` explicit. 2025-09-16 21:41:28 +02:00
Mounir Tohami b22e266d71 Allow all ColorPicker Shapes to expand horizontally
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2025-09-16 21:35:46 +03:00
Thaddeus Crews c39edeca6d
Merge pull request #109744 from Repiteo/core/math-constants-semantic
Core: Integrate semantic constants in math structs
2025-09-16 11:44:49 -05:00
Thaddeus Crews f69fe1e453
Merge pull request #110380 from TokageItLab/fix-validation-retarget-prop
Fix `_validate_property()` in `RetargetModifier3D`
2025-09-16 11:44:46 -05:00
Thaddeus Crews de572675e0
Merge pull request #109369 from ColinSORourke/MaterialConversionErrorFix
Material Conversion Error Handling
2025-09-16 09:48:59 -05:00
Thaddeus Crews ebb51d1f7d
Merge pull request #109363 from Giganzo/line_edit_rtl_icon
Fix LineEdit icon positon in right-to-left layout
2025-09-16 09:48:58 -05:00
Silc Lizard (Tokage) Renew ee404c657e Fix _validate_property() in RetargetModifier3D 2025-09-16 19:32:22 +09:00
Yufeng Ying 5d66b0b41a Replace unneeded Vector. 2025-09-16 15:04:13 +08:00
DeeJayLSP af5a81faf8 Add one padding frame to QOA buffer for short streams 2025-09-15 10:27:36 -03:00
Ryan 040ff854e0 Fix AudioStreamPolyphonic to honor AudioStreamPlayer.pitch_scale 2025-09-14 23:41:03 -04:00
Marcel Offermans 7d09e4a428 Fixes #110519 by removing the 'Depth buffer' option that is not present in the back-end. 2025-09-14 21:04:05 +02:00
Olle Lukowski 578d7cd115 Ensure the AnimationPlayer emits animation_finished for every animation 2025-09-14 12:46:17 +02:00
Bastiaan Olij 748f35ccb8 Fix fixed size flag on StandardMaterial3D when rendering in stereo 2025-09-11 20:53:19 +10:00
Luo Zhihao adbd78af91
AnimationTree: Fix `libraries` is stored 2025-09-11 09:41:22 +08:00
Thaddeus Crews 7723226e6f
Merge pull request #110215 from WhalesState/resource-deep-copy
Fix Resource duplicate calls `ImageTexture::set_image` with an invalid image.
2025-09-08 13:57:27 -05:00
Thaddeus Crews 4102fffad7
Merge pull request #110145 from TokageItLab/skrd
Move Skeleton3D init process (for dirty flags) into `POST_ENTER_TREE` from `ENTER_TREE`
2025-09-08 13:57:26 -05:00
cafebeef bc0eba5296 Fixed Skeleton2D TwoBoneIK and LookAt mirroring
Co-authored-by: thiagola92 <thiagola92@gmail.com>
2025-09-06 16:20:24 -05:00
Mounir Tohami 0d32849565 Fix Resource deep duplicate sets image properties with invalid resources. 2025-09-05 22:16:20 +03:00
kobewi 502f49d7f9 Redraw shape controls when ColorPicker theme changes 2025-09-05 18:04:38 +02:00
Luo Zhihao d9d796618d
Fix `CompositorEffect` not setting post-transparent callback on init 2025-09-04 19:16:00 +08:00
Giganzo c6be28af7a Fix SpinBox value change when held down on separation between buttons 2025-09-02 23:15:56 +02:00
Clay John fcd1cf8d57
Merge pull request #110191 from bruvzg/tx_upd_or
[TextEdit] Fix text edit font update order.
2025-09-02 07:24:02 -07:00
Pāvels Nadtočajevs 7368d148c1
[TextEdit] Fix text edit font update order. 2025-09-02 08:51:18 +03:00
yotam-frid b01b84e3a1
Fix single-object inspect command regression 2025-09-01 20:28:39 +02:00
Thaddeus Crews 89f32c6ead
Merge pull request #110107 from aaronfranke/fix-range-overflow
Fix Range scale overflow
2025-09-01 12:25:47 -05:00
Thaddeus Crews 8ccb7ba2ec
Merge pull request #90832 from YeldhamDev/just_ignore_the_margin_bro
Fix incorrect submenu icon and accelerator text positions involving margins
2025-09-01 12:25:44 -05:00
Thaddeus Crews bfe246c2af
Merge pull request #90922 from YeldhamDev/so_many_popupmenu_bugs
Fix wrong tooltip behavior in `PopupMenu`s that have styles  with top borders
2025-09-01 12:25:43 -05:00
Thaddeus Crews ac5c6a1060
Merge pull request #110148 from bruvzg/0_5_msdf_outline
[MSDF] Fix outline bleed out at small sizes.
2025-09-01 12:25:41 -05:00
Silc Lizard (Tokage) Renew f68252f95f Move Skeleton3D init process into post_enter_tree from enter_tree 2025-09-02 01:31:40 +09:00
Thaddeus Crews cbed98c683
Merge pull request #110160 from WhalesState/cp-intensity
Fix ColorPicker after adding intensity sliders.
2025-09-01 11:14:11 -05:00
Thaddeus Crews 7e88218cb5
Merge pull request #110094 from Calinou/editor-viewport-oversampling-override-add-property-hint
Add missing range hint to `Viewport.oversampling_override` in the editor
2025-09-01 11:14:10 -05:00
Mounir Tohami 5412885a7a Fix ColorPicker after adding intensity sliders. 2025-09-01 13:06:44 +03:00
Mike Precup 67723a9572 Speed up very large Trees 2025-08-31 13:38:43 -07:00
Pāvels Nadtočajevs f766e401db
[MSDF] Fix outline bleed out at small sizes. 2025-08-31 23:35:33 +03:00
rxlecky 02e1919514 Cleanup and simplify camera override API
- Harmonise the camera override 2D and 3D APIs
- Switch to using Camera2D/3D nodes to provide override functionality. This makes for simpler code, gets rid of much of copy-pasted camera code and makes code that relies on current viewport camera such as VisibleOnScreenNotifiers and object picking work out of the box.
- Make camera override code only accesible within DEBUG_ENABLED builds
2025-08-31 15:34:46 +02:00
Aaron Franke efb580e9e5
Fix Range scale overflow 2025-08-29 20:43:51 -07:00
Thaddeus Crews 825ef2387f
Merge pull request #110044 from timothyqiu/theme-type-name-validation
Validate theme type name input in Add Theme Type dialog
2025-08-29 12:00:44 -05:00
Thaddeus Crews b0da1c77e4
Merge pull request #110041 from Ivorforce/scene-tree-notification-no-root
Make `SceneTree` not crash when receiving a notification without a root being set
2025-08-29 12:00:43 -05:00
Hugo Locurcio eecfdbdd7d
Add missing range hint to `Viewport.oversampling_override` in the editor 2025-08-29 17:41:35 +02:00
danielgsilva bf7422e2c7 Take into account parent and child folding status when drawing relatioship lines 2025-08-29 14:03:39 +01:00
Maybee Rezbit dc8f7b4f5d Expose "fade" methods for AnimationNodeStateMachinePlayback 2025-08-28 13:54:42 -04:00
Pāvels Nadtočajevs 02adbc47ba
Do not set flags when `PopupMenu::set_visible` is called to hide popup. 2025-08-28 13:16:16 +03:00
Haoyu Qiu e5373c5cb0 Validate theme type name input in Add Theme Type dialog 2025-08-28 15:47:37 +08:00
Lukas Tenbrink 45a0d2a90a Make `SceneTree` not crash when receiving a notification without a root being set. 2025-08-28 01:38:27 +02:00