Commit Graph

16905 Commits

Author SHA1 Message Date
Thaddeus Crews
8ff4ea8a4a Merge pull request #97763 from Geometror/fix-gn-child-vis-conn-update
Fix `GraphEdit` connections not updating when a child of `GraphNode` goes invisible or changes size
2025-04-21 08:24:24 -05:00
Thaddeus Crews
0cc292f880 Merge pull request #105272 from lodetrick/add_section_toggle
Add enable checkboxes to editor sections
2025-04-21 08:24:20 -05:00
Thaddeus Crews
47c0da6c9d Merge pull request #105375 from bruvzg/svg_scale_tx
Implement `SVGTexture` auto-scalable with font oversampling.
2025-04-21 08:24:18 -05:00
Thaddeus Crews
f807754c1b Merge pull request #105237 from ibrahn/popup-drop-shadow-fix
Fix shadow offset larger than shadow size in PopupMenu and PopupPanel.
2025-04-21 08:24:16 -05:00
Thaddeus Crews
05f8b3e561 Merge pull request #105482 from maxpiepenbrink/fix-canvas-translate-regression
Fix regression causing jittery canvas transforms
2025-04-21 08:24:15 -05:00
Thaddeus Crews
8aaae4f4f3 Merge pull request #98560 from Koyper/tree_relationship_line_fix
[Tree] Fix relationship lines 1px width draw bug when MSAA anti aliasing is enabled
2025-04-21 08:24:06 -05:00
Pāvels Nadtočajevs
24bb0d5c4f Use SVGTextures for editor and default theme icons. 2025-04-19 12:48:24 +03:00
Pāvels Nadtočajevs
9f5048fb36 Implement SVGTexture auto-scalable with font oversampling. 2025-04-19 12:42:54 +03:00
Thaddeus Crews
d3ee6af73c Merge pull request #105524 from yahkr/bbcode_br
Add [br] to bbcode parsing for `rich_text_label`
2025-04-18 12:21:29 -05:00
Thaddeus Crews
1e8b7fe5a0 Merge pull request #101582 from Flynsarmy/recursive_transition_wording
Improve wording on recursive transition detection warning
2025-04-18 12:21:26 -05:00
yahkr
fc051c8b36 Add [br] to bbcode parsing for rich_Text_label 2025-04-18 09:59:47 -04:00
Max Piepenbrink
cf8455c52d Fix regression causing jittery canvas transforms
This PR https://github.com/godotengine/godot/pull/104451 introduced
a tricky regression. Canvas item transforms could risk not being
updated for multiple frames due to the conditional on the line
in this commit. Before the "approx_pos|size_changed" fix, the
transform would get updated incidentally either way. But now there's
a gap where (pos_changed && !size_changed) may not be true for a few
frames and there's nothing else left to trigger a transform update.

The fix is quite simple, for updating the canvas item transform
we remain trigger happy around position changes, but respect the
approx_size_changed.
2025-04-16 23:59:05 -07:00
Thaddeus Crews
c5c1cd4440 Merge pull request #105453 from reduz/signals-thread-safe
Add thread safety to Object signals
2025-04-16 15:39:22 -05:00
Thaddeus Crews
4d55d9865b Merge pull request #105304 from KoBeWi/≥
Fix `exp_edit` description
2025-04-16 15:39:21 -05:00
Thaddeus Crews
3c0652699a Merge pull request #103967 from HolonProduction/window-focus
GUI: Fix focus cycle through window
2025-04-16 10:45:17 -05:00
Thaddeus Crews
11cb8140b8 Merge pull request #105370 from yuantianle/fix-graphnodes-connected-to-headers-rather-than-ports
Fix GraphNode frag/vert port positions misaligned
2025-04-16 10:45:16 -05:00
Thaddeus Crews
7d4ba0759c Merge pull request #105322 from bruvzg/remove_dbg_draw
Remove debug focus rect draws from MenuBar and GraphNode.
2025-04-16 10:45:12 -05:00
Thaddeus Crews
00bd421089 Merge pull request #105222 from kitbdev/fix-mouse-filter-recursive-and-rename
Fix and rename mouse filter recursive behavior and focus mode recursive behavior
2025-04-16 10:45:12 -05:00
Juan
2f39d8ebef Add thread safety to Object signals
* It turns out the majority of this work was done already by AThousandShips as part of #89451. This allows to do lock-less emitting of signals.
* This means, that only the signal map needs to be protected, making the task simple and without risk of deadlocks, or affecting performance.
* Objects can choose to not protect signals for performance (as example Node uses thread guards for protection, so these signals are not thread safe).
2025-04-16 17:14:44 +02:00
yuantianle
6e1fb68f65 Fix GraphNode frag/vert port positions misaligned
Issue conclusion: GraphNode port connections appear misaligned when switching between vertex and fragment modes, only realigning after zoom or layout refresh.

Investigation: The root cause was due to port positions being calculated before child layouts had finalized, resulting in inaccurate Y positions for ports. The original implementation relied on Control::position.y, which was not yet updated during the initial layout pass.

Explaination: This fix computes vertical offset using titlebar and stylebox sizes instead, ensuring port alignment is correct immediately after layout, without relying on zoom-triggered re-layouts.

Resolves: #105232

Add layout mode check to distinguish GraphEditor and ShaderGraphEditor

Fix port position calculation by distinguishing between GraphEditor and ShaderGraphEditor layouts.

Due to differences in layout flow and update timing (CPU vs GPU), ShaderGraphEditor requires manual vertical offset calculation, while standard GraphEditor can directly get the actual child positions after layout in run time.

This change adds a layout mode check (`is_using_resort_layout) to determine the appropriate method for computing port positions.

Fixed nits using cached values and removed redundant condition variable definition.

Add comment for the condition checking.
2025-04-15 14:25:05 -07:00
cier
ebe9370724 Add enable checkboxes to editor sections
Fixes https://github.com/godotengine/godot-proposals/issues/4173
2025-04-15 13:49:41 -07:00
HolonProduction
6b9641d364 Fix focus cycle through window 2025-04-15 20:24:32 +02:00
Thaddeus Crews
039d9ffd30 Merge pull request #104317 from pafuent/fixing_wrong_focus_style_clipping_on_scroll_container
Fix `ScrollContainer` focus border issue
2025-04-15 12:28:50 -05:00
Thaddeus Crews
c6341f49a1 Merge pull request #105337 from L2750558108/pr-fix-duplicate-in-node
Replace duplicate code of `is_ancestor_of()` in node.cpp
2025-04-15 12:28:49 -05:00
Thaddeus Crews
aba5841b34 Merge pull request #105323 from bruvzg/rtl_right_trim
[RTL] Fix VC_GLYPHS_RTL visible character trimming mode.
2025-04-15 12:28:48 -05:00
Thaddeus Crews
0737ebeb17 Merge pull request #105409 from timoschwarzer/fix/typo-oversampling
Fix typo ovrsampling → oversampling
2025-04-15 12:28:43 -05:00
Thaddeus Crews
5f6c49af96 Merge pull request #104349 from jaydensipe/scroll-high-refresh-rate-fix
Fix smooth scrolling being tied to physics process
2025-04-15 12:28:38 -05:00
Hendrik Brucker
867fbd8be3 Fix GraphEdit connections not updating when a child of GraphNode goes invisible or changes size 2025-04-15 18:31:17 +02:00
Timo Schwarzer
d0aa95a6d4 Fix typo ovrsampling → oversampling 2025-04-15 11:21:51 +02:00
Thaddeus Crews
f56a4d4fe4 Merge pull request #105138 from stuartcarnie/fix_hangs
Renderer: Reduce scope of mutex locks to prevent common deadlocks
2025-04-14 19:39:47 -05:00
Thaddeus Crews
866d59d216 Merge pull request #105264 from clayjohn/primitive-mesh-optimize
Optimize PrimitiveMesh creation by avoiding CoW behavior and dynamic memory allocations
2025-04-14 19:39:46 -05:00
Thaddeus Crews
4cc419f6e6 Merge pull request #105259 from bruvzg/rtl_track_custom_font_changes
[RTL] Track external changes in the custom fonts set by BBCode / `push_*`.
2025-04-14 19:39:45 -05:00
Koyper
4766e32419 Fix Tree relationship line 1px width draw bug. 2025-04-14 18:07:03 -05:00
Pablo Andres Fuente
e1384dd159 Fix ScrollContainer focus border issue
Fixes #100176

Instead of using no clipping technique to draw the focus border because
it causes problems if a `ScrollContainer` is nested in another
`ScrollContainer`, now the focus border is drawn using an internal
`PanelContainer`.
2025-04-14 17:51:43 -03:00
Pāvels Nadtočajevs
4afeca3bcf Replace global oversampling with overrideable per-viewport oversampling. 2025-04-14 13:43:09 +03:00
2750558108
3c745c0315 Replace duplicate code of is_ancestor_of in node.cpp 2025-04-13 14:05:21 +08:00
Stuart Carnie
09282c316a Renderer: Reduce scope of mutex locks to prevent common deadlocks
Fixes #102877
2025-04-13 06:56:13 +10:00
Pāvels Nadtočajevs
d782d827f7 [RTL] Fix VC_GLYPHS_RTL visible character trimming mode. 2025-04-12 21:13:19 +03:00
Pāvels Nadtočajevs
5688d30439 Remove debug focus rect draws from MenuBar and GraphNode. 2025-04-12 21:05:18 +03:00
kobewi
23a0b7d4d0 Fix exp_edit description 2025-04-12 11:49:26 +02:00
Jayden Sipe
292119dd68 Fix smooth scrolling tied to physics process 2025-04-11 17:14:25 -04:00
Thaddeus Crews
addab4f001 Merge pull request #95916 from Repiteo/core/bit-field
Core: Add dedicated `BitField` template
2025-04-11 13:29:13 -05:00
Thaddeus Crews
0d267e7b1e Core: Add dedicated BitField template 2025-04-11 11:53:26 -05:00
Lukas Tenbrink
b711d72e8f Remove unnecessary friend class declarations of CowData.
Use default implementations for various containers.
2025-04-11 18:26:08 +02:00
clayjohn
9b6f9e5701 Optimize PrimitiveMesh _create_mesh_array function by avoiding CoW behavior and dynamic memory allocations 2025-04-11 09:04:44 -07:00
Thaddeus Crews
b546680e96 Merge pull request #105265 from bruvzg/gr_node_resize
Fix graph node resizing.
2025-04-11 09:51:10 -05:00
Thaddeus Crews
717df3ee88 Merge pull request #105249 from Repiteo/core/math-defs-namespace
Core: Use `Math` namespace for constants
2025-04-11 09:51:04 -05:00
Pāvels Nadtočajevs
13cf88073b Fix graph node resizing. 2025-04-11 08:20:20 +03:00
Thaddeus Crews
297650a912 Merge pull request #93466 from bruvzg/alt_oem
[TextEdit / LineEdit] Add support for OEM Alt codes input.
2025-04-10 16:53:46 -05:00
Thaddeus Crews
4c66c21542 Merge pull request #103024 from cruglet/master
TabBar: Add boolean toggle for middle-click to fire `tab_close_pressed` signal.
2025-04-10 16:53:44 -05:00