Commit graph

53383 commits

Author SHA1 Message Date
Juan Linietsky ab5fc22f67 Optimize Node children management
* Adding and removing child nodes is now constant time, speed up should be huge.
* Searching for node paths as in ("path/to/node") should be far faster too.

This changes the children management and makes it a hashmap, optimizing most StringName based operations.
Most operations should be severe speed up without breaking compatibility.

This should fix many issues regarding to node access performance, and may also speed up editor start/end, but benchmarks are needed. So if you want to test, please make some benchmarks!

Further performance improvements will be done in the future by removing NOTIFICATION_MOVED_IN_PARENT and replacing by something less laborious.
2023-04-08 10:54:28 +02:00
Haoyu Qiu 936c9e83b4 Fix connect signal dialog not allowing Unicode method name 2023-04-08 16:31:25 +08:00
RandomCatDude c118314fe8 Apply sky fog after luminance multiplier 2023-04-08 12:52:33 +05:00
fuzzy@notepc c6a45f1031 Fix #75790, where creating Ceil(Vector2) node in Visual Shader Editor
crashes engine due to index out of bounds.
2023-04-08 13:30:11 +09:00
jeffVenancius 97c2133548 Add an option to show a TextEdit caret when editable is disabled
Update doc/classes/TextEdit.xml
2023-04-07 22:27:01 -03:00
cody 5062df41a5 Fix "error X3708: continue cannot be used in a switch" in HTML export 2023-04-07 23:16:10 +02:00
smix8 1549aeaef8 Add Mesh ConvexDecompositionSettings wrapper
Adds wrapper MeshConvexDecompositionSettings to control parameters for Mesh ConvexDecomposition operations.
2023-04-07 22:39:25 +02:00
3deathtoll 3841c4a4b4 Make SyntaxHighlighter::get_text_edit a const function 2023-04-07 23:46:50 +05:30
RedworkDE 27124ed8e5 C#: Discontinue GodotNuGetFallbackFolder 2023-04-07 19:22:43 +02:00
Yuri Sizov 4154039832 Improve includes of EditorNode (and everything else)
Also start organizing editor-specific GUI components
into a dedicated folder, `editor/gui`.
Also move `editor_file_server` next to the rest of debugger classes.
2023-04-07 18:59:49 +02:00
Rémi Verschelde c151d3231f
Merge pull request #75760 from reduz/optimize-node-add-child-validation
Optimize Node::add_child validation
2023-04-07 18:20:28 +02:00
Riteo Siuga af9372eb59 Convert the logo's text outlines into paths
This avoids rendering issues with ThorVG and other renderers (which
don't support the `paint-order` property) at a slight cost in file size.

This approach has already been used by the main icon.
2023-04-07 17:51:56 +02:00
Yuri Sizov f38b540273
Merge pull request #75756 from smix8/fix_obstacle_avoidance_sim_4.x
Fix NavigationObstacles not being added to avoidance simulation
2023-04-07 15:11:40 +02:00
Yuri Sizov b5f532094e
Merge pull request #56671 from Rgtemze/warn_if_concave
Warn when a concave polygon is assigned to ConvexPolygonShape2D
2023-04-07 14:39:41 +02:00
Haoyu Qiu 2c0db8222a Set font sizes for various styles in editor output panel 2023-04-07 20:01:55 +08:00
Yuri Sizov a13635cdf8
Merge pull request #70901 from timothyqiu/tree-scroll-offset
Add scrollbar offset theme constants to Tree
2023-04-07 13:24:01 +02:00
Juan Linietsky 223ce4fcb9 Optimize Node::add_child validation
Adding 10k nodes is almost twice as fast.
2023-04-07 13:18:47 +02:00
Yuri Sizov 920e8067f7
Merge pull request #68091 from AThousandShips/sprite_frames_order
Improve SpriteFrameEditor frame addition ordering
2023-04-07 13:13:41 +02:00
Yuri Sizov 3abe4781b6
Merge pull request #75241 from Calinou/doc-compressedtexturelayered
Fix CompressedTextureLayered description in the class reference
2023-04-07 13:08:48 +02:00
Yuri Sizov f1f0e5f91d
Merge pull request #75728 from smix8/fix_audiostreamplayer2d_crash_4.x
Fix AudioStreamPlayer2D crash when PhysicsServer2D runs on thread
2023-04-07 12:46:53 +02:00
Yuri Sizov 8c551374ca
Merge pull request #75738 from bruvzg/web_phzkezs
[Web] Fix keycode/physical keycode mixed up.
2023-04-07 12:44:36 +02:00
Yuri Sizov 47af40c71f
Merge pull request #75665 from Malcolmnixon/penetration-depth-precision
Modify contact_max_allowed_penetration precision to 3 significant digits
2023-04-07 12:43:12 +02:00
Yuri Sizov cbb2e17369
Merge pull request #75368 from MightiestGoat/fix-limit-interpolation-R0
Fix the limit for interpolation of R0 with respect to metallic and the calculation of the cos theata in the Fresnel Shlick term in SSR
2023-04-07 12:40:33 +02:00
Yuri Sizov 08c1b55862
Merge pull request #74891 from jmattspartacus/OccluderPolygon2D_memLeak_53722
Fix for OccluderPolygon2D memory leak
2023-04-07 12:37:51 +02:00
Clay John 132000f58d
Merge pull request #75767 from spanzeri/missing-node-index-update-on-deletion
Update sibling indices after a node is removed.
2023-04-06 14:43:35 -07:00
Samuele Panzeri 404f24b5c4 Update sibling indices after a node is removed.
With change 104392e the code to update node indices on removal was erronously removed.
The out of date indices would cause crashes while selecting nodes in a graph editor (e.g. animation tree) and selected nodes are oftern pushed to beginning or end of the child list for the parent.
2023-04-06 20:47:57 +02:00
mightygoat 2c000cb72f Fix the limit for interpolation of R0 with respect to metallic and SSR
Shlick term
2023-04-06 23:14:47 +05:30
smix8 aadf33efd8 Fix NavigationObstacles not being added to avoidance simulation
Fixes NavigationObstacles not being added to avoidance simulation.
2023-04-06 16:32:49 +02:00
Rémi Verschelde 92b7a9603a
Merge pull request #75701 from reduz/notification-moved-in-parent
Remove NOTIFICATION_MOVED_IN_PARENT
2023-04-06 14:35:04 +02:00
Juan Linietsky 104392ef4e Remove NOTIFICATION_MOVED_IN_PARENT
* This notification makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILDREN_CHANGED (and children_changed signal).
* Changed Canvas code (and similar) to use the above signal, to perform more efficiently.

This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
It is required for the changes in #75627 to be entirely effective.
2023-04-06 13:57:13 +02:00
Haoyu Qiu 498d538578 Add scrollbar offset theme constants to Tree 2023-04-06 15:04:28 +08:00
bruvzg 744bf604bf [Web] Fix keycode/physical keycode mixed up. 2023-04-06 09:40:59 +03:00
smix8 a5351086b0 Fix AudioStreamPlayer2D crash when PhysicsServer2D runs on thread
Fixes AudioStreamPlayer2D crash when PhysicsServer2D runs on thread due to empty PhysicsSpace
2023-04-06 03:29:09 +02:00
Malcolm Nixon 1d1d3c71e0 Modify "physics/3d/solver/contact_max_allowed_penetration" precision to three significant digits, so values down to "0.001" can be specified.
Updated additional 2D and 3D physics parameters based on team recommendations

Co-Authored-By: Ricardo Buring <rburing@users.noreply.github.com>
2023-04-05 18:14:35 -04:00
Rémi Verschelde 49a196277f
Merge pull request #75661 from KoBeWi/no_resource_can_hide_from_the_all-seeing_popup
Add a list of all sub-resources used in the scene
2023-04-05 22:47:48 +02:00
kobewi 5a99304251 Add a list of all sub-resources used in the scene 2023-04-05 21:01:49 +02:00
Rémi Verschelde fba9416fe0
Merge pull request #75700 from akien-mga/ci-visible-whitespace
CI: Visibly print trailing whitespace when static checks fail
2023-04-05 20:21:19 +02:00
Rémi Verschelde c80b7638be
Merge pull request #75687 from umarcor/umarcor/ci/redundant
[ci/windows] remove obsolete 'tools' in the name
2023-04-05 20:21:16 +02:00
Rémi Verschelde 6935216b5c
Merge pull request #75309 from HK-SHAO/fix-python-type-error
Fix the Python type error when creating the .sln file
2023-04-05 20:21:13 +02:00
Rémi Verschelde 5cf878c090
Merge pull request #75113 from m4gr3d/fix_2d_editor_dragging_main
Fix the issue preventing dragging in the 2D editor
2023-04-05 20:21:09 +02:00
Rémi Verschelde b63c77aceb
Merge pull request #75034 from capnm/Fix_tvg_Picture_size
SVG: fix tvg::Picture->size() and scale based errors.
2023-04-05 20:21:04 +02:00
Rémi Verschelde df91291a56
Merge pull request #74463 from bend-n/0x686578206465636f6465
Add a `String.hex_decode()` method to complement `PackedByteArray.hex_encode()`
2023-04-05 20:21:01 +02:00
Martin Capitanio bfc498f3d0 SVG: fix tvg::Picture->size() and scale based errors.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-04-05 19:15:21 +02:00
Rémi Verschelde 266280ffca
CI: Visibly print trailing whitespace when static checks fail
GitHub Actions seems to be hiding colored whitespace, and after lots of
attempts I couldn't find a way to work it around.

So instead I'm using a perl expression to replace trailing spaces with
`·` and tabs with `<TAB>` in the ANSI colored diff output. This ensure
that they're visible, and they are properly colored as expected too.
2023-04-05 18:31:46 +02:00
bendn ca0feabbb0
add hex_decode() to String 2023-04-05 19:44:00 +07:00
umarcor 2abadbb58b [ci/windows] remove obsolete 'tools' in the name 2023-04-05 14:10:52 +02:00
Rémi Verschelde 44d539465a
Merge pull request #75675 from bruvzg/tvg_store_string
[SVG Font] Keep a copy of UTF-8 XML source string during the whole SVG processing.
2023-04-05 12:03:37 +02:00
Rémi Verschelde 0d6a07c031
Merge pull request #75664 from BastiaanOlij/fix_sky_framebuffer_init
Fix framebuffers in sky not being created on mobile renderer
2023-04-05 12:03:34 +02:00
Rémi Verschelde d985d559bc
Merge pull request #75641 from Listwon/fileaccessmemory-buffer-pos
Fix moving position indicator out of bounds in FileAccessMemory
2023-04-05 12:03:31 +02:00
Rémi Verschelde b8375071b0
Merge pull request #75636 from lyuma/advanced_importer_extract_textures_fix
gltf: Remove obsolete hack to embed gltf textures in advanced import
2023-04-05 12:03:27 +02:00