-
-
Notifications
You must be signed in to change notification settings - Fork 21.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve layout and UX of the project manager #87443
Improve layout and UX of the project manager #87443
Conversation
If quick settings are added, |
Oh wow, I actually really like this idea! The only thing that doesn't convince me fully is, as you expected, the writing on the top left. I feel like the logo is too detailed for the size and the discoverability got worse, like, you can't really know at a glance that clicking it will bring the about screen. Looks-wise, I think that only the text might be less "dense", although I'm not sure how to fix the discoverability point. Otherwise, amazing job! |
I like it, the only thing that feels off is that on the right panel all options are about editing one of the projects except for "remove missing", feels like it doesnt belong there |
I'd suggest separating the "remove missing" button by putting it at the bottom instead |
I think there was a discussion about it recently. It belongs to the top button row semantically, but it's also a feature that is not needed often. So I think someone mentioned putting it in some three-dot menu in the top row. Or we could do as @AThousandShips suggests. |
I like it, though I'm not sure I about the first popup dialog box immediately prompting the user to make a choice about going online or cnaceling out of something. Feels a little pushy to begin a first, fresh startup. |
Yeah, I thought about replacing the dialog with a similar UI placed on top of an empty project list. That could be nice! |
Icons on the entries themselves has been discussed in the past but this removes a lot of information, the icons aren't always obvious (and tooltips should not contain fundamental information, only additional information), I also find this much busier and less easy to navigate The project manager is the first thing you encounter, including if you've been away from using the editor for a long time, so it should be as clear and obvious as possible, arguably to the point where it gets excessively so, space isn't really at a premium here and we can afford buttons that are very obvious (For one, if I saw the icons and has to guess without accessing the tooltip I'd assume the buttons did: "edit the project" and "rename the project" and not "run the project" and "edit the project") |
I agree with your points, though the main things I like from it is it feeling more "balanced" in a way, due to the tabs being centered now, and the simplified tag management (would need a better icon for adding tags when there are none though). |
Both Unreal and Unity display a tooltip when you right click on the project entry or on the "settings" icon in the project entry. I don't find it intuitive to have to select the project entry in one panel and have to switch to another unrelated panel to perform actions on the project. Another reason is that this design is very cumbersome to use on a smartphone where you expect to hold down on the project entry or click on some extra icon on the entry itself. Maybe I'm wrong but I feel like 99% of the time you are opening a project or searching for one, not removing/adding/modifying anything about it in the project manager. I want to see more projects and less buttons that i don't touch most of the time. In fact, I would move everything (other than new/add/search) to a side panel. That way you have a LOT more vertical space to show what matters: your projects. And if you make it hideable you'd have a ui that works well on both desktop and mobile. |
You won't see more projects without the sidebar than otherwise, and on smartphones not relying on tooltips is even more important |
Every mobile application allows you to hold (or swipe) an entry to display options specific to that entry. None works the way godot works. And yes, removing the entire top of the UI in a left side panel will effectively show more projects. Edit: some typos. |
Less than the space for one project is taken up by the top, and just by making it wider we won't have more lines, that would just make things more crowded, most projects don't have names that are long enough to matter that there's a sidebar of not Again, the project manager is the absolutely first thing anyone sees, and that needs to be very clear, I really like how obvious and non-confusing the project manager is, nothing is hidden behind a menu, everything is clearly spelled out, no risk of someone getting confused about what something does or what to do |
I don't have a goal to make the editor more usable on a smartphone with this PR. For a decent user experience in such a constrained environment we need to design a bespoke interface. So let's forgo this part of the discission for this time. |
I have few questions/issues related to existing and updated design; It will be great if these changes can be taken up too.
In my view, the project manager looks crowded with functionality. I am not sure how many functionalities are really used that regularly. A gut check (or poll) of the usage has to be done and adjust the UI accordingly. |
Based on feedback from @theMotionblur and @hmans adjusted the message that appears when the project list is empty. Instead of being put into a popup, it is now always visible in the body of the empty list. You now have two clear actions, one to create a new project, and one to go to the asset library. The note about online connections only appears if you are in the offline mode. I also renamed the "New" button to "Create" to give it a bit more significance, visually. And moved the "Remove Missing" lower in the sidebar, as suggested by @AThousandShips. PS. I've pushed it as a new commit. Once we are done with iterations, I will clean up commits into one or several but isolated commits, depending on how the discussion goes. |
Yep, this was noted in other feedback and I made some changes, see above. I agree it can be "New Project" or "Create Project" too, if we prefer.
Are you talking about Godot logo, or about project icons? Project icons seem to fit the needed height right now, but I don't particularly have an opinion about the changes that you suggest. This can be done separately though.
As discussed above there are some options here. For now I've moved it lower in the sidebar as suggested in other comments.
I don't see much point in this distinction. It's just a handpicked subset of settings, and it can be changed in future to include other options, not just what I've initially decided to include. I'd argue that the network mode is already falling out of the "Customize" grouping. I also entertained the idea of not having any text in the top-right corner at all. Just a button with an icon. This may make the UI less busy.
I don't have an opinion about that, and it's outside of the scope for this PR.
Sure, but this may make it harder to find in the task bar/manager. This can also be done separately anyway, it's a minor change. |
I think this is some excellent work! Had to open the 4.2 Project Manager to check the differences, the new UI feels like how it was always meant to be! I shared this on Twitter but I figured I'd use the proper channel as well. I have a small revision for the blank/no projects UI. I think button contrast and information hierarchization can be improved, and I'd personally add the option to open a project, which I think deserves the same attention as creating a new one. |
@YuriSizov , thanks for the detailed reply.
I don't mind either way, my suggestion was to improve the prominence of the button as it is a primary action. It should stand out from the other array of actions as a UX designer would say.
yes, talking about the project Icons and not the Godot Logo(which in my opinion is awesome ❤️) . Just give a try to reduce the icons size to 2/3 or 1/2 but centered vertically. if it does not feel good, ignore this comment.
Technically you are right. but, I looked into other editors like android studio, and VS code, they have customize. Moreover, if you add the word customize, the debate over what settings to be added in project manager is out. Talking about network mode: honestly, it is not necessary, as when you switch to asset library or news, it should automatically turn on or if you insist, follow the @JoNax97 approach above, although buttons should be link buttons
👍 . I like the gear(⚙️) icon if settings, palette(🎨) icon if customize Anyway, it is awesome work. Keep it up. |
The point is that it won't automatically turn on. Not unless you actively choose to go online as a user. In the current implementation if you click the "Open Asset Library" button from the empty list suggestion, it will auto-enable the online mode (which is why in the older iteration it spelled "Go Online and ..."). It should be acceptable because we have a note right next to it, explaining this. But when simply switching to the asset library tab it won't go online by itself. If it would, there would be no point in the feature to limit online connectivity. |
6f2e12e
to
099e467
Compare
a51b982
to
9b5487c
Compare
Addressed feedback.
|
I think the note about Asset Library is not necessary since the button says "Go Online and Open Asset Library". It could be shown on the Asset Library page when in offline mode. The description text also feels unnecessary, it's just combing the three buttons' text into a sentence :P The three buttons feels floating now (don't belong to the list area) compared to those shown in #87443 (comment).
|
|
||
void EditorAssetLibrary::_force_online_mode() { | ||
EditorSettings::get_singleton()->set_setting("network/connection/network_mode", EditorSettings::NETWORK_ONLINE); | ||
EditorSettings::get_singleton()->notify_changes(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the notify_changes()
necessary? We use it only in the settings dialog (and there are more places where settings are changed).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think without that the notification isn't sent, and I rely on it elsewhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I remember simply modifying the settings would cause propagation and saving automatically, but maybe it has changed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Supposedly doing set
/set_setting
should emit a signal which the editor settings dialog connects to and triggers the notification and then save on 1.5 second delay. I'll double check.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, so it works. But the delay makes it awkward. You click the button, and for a couple of seconds nothing happens. So I'll keep it for the buttons that are supposed to force the setting immediately.
I'd suggest removing the "Note:" from the asset library comment, it makes it look like a dev/code comment. |
This turns custom font theme properties into a proper variation, which makes applying it simpler.
This PR also adds default font styles for RichTextLabels in the editor, and improves the introduction dialog when you don't have any local projects available. The offline mode is implemented in the asset library plugin, alongside some code improvements.
Currently it allows to adjust language, theme preset, UI scaling, and network mode. Project manager has been updated to support dynamic theme updates.
9b5487c
to
f923b58
Compare
Seems like we're in a state where we can consider merging this. I updated commit messages to signify that. We agreed with the production team that the overall separation of commits makes sense. I removed the "News" tab to avoid giving false hope to people until we actually decide to add that. It was a teaser after all :) I also made some changes suggested by KoBeWi above while rebasing. Overall impressions seems to be that the change is for the better, but some details may need further discussion. Opinions about the logo are divided. Some love it, some don't really like it; some find it out of place, especially when the window itself has an icon and a title. Let's see what early testers think. The rudimentary offline mode seems like a welcomed addition (which needs to be extended to other parts of the editor), however it is not a replacement for a proper sandbox. In a future PR I will also add API for plugin makers to fetch the current mode and request a popup to ask the user to go online to enable their plugin's features, if required. |
Thanks! Great rework both design and feature wise 🥇 Let's see how the community likes it :) |
commit e2686e16b878583c24e0f56a90332ac5da6c0014 Author: bitbrain <miguel-gonzalez@gmx.de> Date: Sun Feb 4 11:26:26 2024 +0000 Grab focus of renamed file in file system dock commit b4e2a24c1f62088b3f7ce0197afc90832fc25009 Merge: c341d9704c 547f03b6d7 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:23:21 2024 +0100 Merge pull request #87915 from dalexeev/editor-fix-parse-category-for-custom-categories Editor: Fix `_parse_category()` is not called for custom categories commit c341d9704c06f017dfc86b17149cb441ef2ef68a Merge: c680c7cffe 2ba6066d5d Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:22:58 2024 +0100 Merge pull request #87913 from OverloadedOrama/docs-feature-native-dialog Minor fix in DisplayServer docs to include Linux & Windows in `FEATURE_NATIVE_DIALOG` commit c680c7cffe3e558e5c48a2cf160bf4bd3f2fa4f8 Merge: a72789c9d6 112f489449 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:22:35 2024 +0100 Merge pull request #87912 from bruvzg/menu_name_set_fix [macOS] Fix changing main menu item names. commit a72789c9d6d3c252017cc369e946bb6375b20d71 Merge: 21d336d69d 344ee36bfe Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:22:11 2024 +0100 Merge pull request #87907 from adamscott/fix-window-override-settings Fix `display/window/size/window_{width,height}_override` to permit `0` commit 21d336d69d00646ff96a8ead3a2abc8724d2b268 Merge: f69aa5e649 6d3c987808 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:21:47 2024 +0100 Merge pull request #87903 from AThousandShips/collide_fix Fix `max_collisions` not being passed in `PhysicsBody3D::test_move` commit f69aa5e6492ece1c5a98d44ef91f6f5963cc231b Merge: 217597371e dcf4d82fb5 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:21:24 2024 +0100 Merge pull request #87887 from jtakakura/fix-unintentional-translation-in-animation-tree Fix unintentional translations in AnimationTree commit 217597371ef49e8723ba687ceb349081a9e5a3bb Merge: cfc9a9f50b 2696fee3c6 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:21:01 2024 +0100 Merge pull request #87878 from adamscott/emacs-gitignore Add basic Emacs `.gitignore` entries commit cfc9a9f50b1d69d413117ee505ab0dd8741d2985 Merge: 22d402e23d da42124efe Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:20:37 2024 +0100 Merge pull request #87869 from capnm/240202_thorvg_from_v0.12.3_to_0.12.4 ThorVG: update from v0.12.3 to v0.12.4 commit 22d402e23d8bd01cad87bc7c5ba7966be37fd20b Merge: 607a3b2409 fee70558f8 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:20:14 2024 +0100 Merge pull request #87863 from EterDelta/reload-notification Expose `NOTIFICATION_EXTENSION_RELOADED` to `ClassDB` commit 607a3b2409f534eae3981fcfe2de4e59dc282a70 Merge: 673f1614c4 17e9fd06ce Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:19:50 2024 +0100 Merge pull request #87631 from ryevdokimov/decouple-message-from-framerate Make viewport message dependent on framerate not physics step commit 673f1614c4def695df28e0e2dc2efba785ef0ad2 Merge: 0465027878 e74a0f4b09 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:19:24 2024 +0100 Merge pull request #87630 from dsnopek/openxr-passthrough-from-gdextension OpenXR: Allow moving vendor passthrough extensions to GDExtension commit 04650278789bfd23ec0f01755f96e5c02883a291 Merge: 8b0c5f2fca a2c2caa2f4 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:18:59 2024 +0100 Merge pull request #87419 from KoBeWi/very_important_i Fix shortcut name consistency in SceneTreeDock commit 8b0c5f2fca21672e0f6d1bade96811c2f8086d7f Merge: f4fb4799ae 89dacb88ec Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:18:35 2024 +0100 Merge pull request #87186 from Faless/mp/fix_remote_sync_cleanup [MP] Fix remote net ID cleanup commit f4fb4799ae3f5d2df86daf8c25a2bb66ff265f44 Merge: 82e8aef485 cb08f2a968 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:18:08 2024 +0100 Merge pull request #87185 from Faless/mp/fix_reset [MP] Fix spawned nodes not working after reset commit 82e8aef485911b6e83dd10d89795841ec6b3518f Merge: bbccd95d22 30914c0434 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:17:42 2024 +0100 Merge pull request #87132 from ryevdokimov/fix-bound-box Fix bounding boxes not being calculated properly and not respecting top-level nodes commit bbccd95d22c6c06d9d137d218ec48c7e65acb5c3 Merge: f7433a429e 7638a6c981 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:17:18 2024 +0100 Merge pull request #84885 from shana/vsproj-for-everyone New VS proj generation logic that supports any platform that wants to opt in commit f7433a429e956195a19d97996e2be9db45bae297 Merge: 1c8ae43efe f7f51bdd7a Author: Rémi Verschelde <rverschelde@gmail.com> Date: Sat Feb 3 23:16:44 2024 +0100 Merge pull request #36252 from Calinou/colored-cli-help Add colors to the command-line help commit 547f03b6d75272902fa3811792fe0b03ff7ed5c3 Author: Danil Alexeev <danil@alexeev.xyz> Date: Sat Feb 3 23:30:45 2024 +0300 Editor: Fix `_parse_category()` is not called for custom categories commit 2ba6066d5dcf4b9835310e01b00a6cec5320733b Author: Emmanouil Papadeas <manoschool@yahoo.gr> Date: Sat Feb 3 21:36:02 2024 +0200 Minor fix in DisplayServer.xml to include Linux & Windows in FEATURE_NATIVE_DIALOG commit 112f489449634984dd6f248bc9a3513393312b1f Author: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Sat Feb 3 21:12:48 2024 +0200 [macOS] Fix changing main menu item names. commit e74a0f4b0986bb6054e4ebad05fb793f64a105e1 Author: David Snopek <dsnopek@gmail.com> Date: Thu Jan 25 14:07:50 2024 -0600 OpenXR: Allow moving vendor passthrough extensions to GDExtension commit 2696fee3c6b08cd9645a61ebf08b84fd70be5a72 Author: Adam Scott <ascott.ca@gmail.com> Date: Fri Feb 2 15:32:27 2024 -0500 Add basic Emacs .gitignore entries commit 344ee36bfec57b5c737c26a6fbd0edf62a488eae Author: Adam Scott <ascott.ca@gmail.com> Date: Sat Feb 3 12:09:43 2024 -0500 Fix `display/window/size/window_{width,height}_override` set `0` commit 6d3c98780805462c677e6cf17cb66c1bd299de29 Author: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Date: Sat Feb 3 16:19:09 2024 +0100 Fix `max_collisions` not being passed in `PhysicsBody3D::test_move` commit 1c8ae43efefa679ed01ddefb38ccf2c1e52abb22 Merge: 10e111477d 6da378afea Author: Rémi Verschelde <remi@verschelde.fr> Date: Sat Feb 3 08:14:40 2024 +0100 Merge pull request #87864 from AThousandShips/format_fix CI scripts: Fix `printf` for format checks commit dcf4d82fb5e1f58418a4ebbe21164f61e804d448 Author: Junji Takakura <j.takakura@gmail.com> Date: Sat Feb 3 10:49:04 2024 +0900 Fix unintentional translations in AnimationTree commit fee70558f8fae8ace29c10a0393197cb1679fe4a Author: EterDelta <67644822+EterDelta@users.noreply.github.com> Date: Fri Feb 2 04:35:53 2024 -0500 Expose NOTIFICATION_EXTENSION_RELOADED to ClassDB commit 17e9fd06ce8f7e98bed087f9e01a17e47a234060 Author: Robert Yevdokimov <robert.yevdokimov@autStand.com> Date: Fri Jan 26 16:37:59 2024 -0500 Make viewport message dependent on framerate not physics step commit 6da378afeaaec007d761113198bdd6c0966eafa7 Author: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Date: Fri Feb 2 12:10:02 2024 +0100 Fix `printf` for format checks Prevents errors with input being invalid format strings commit 30914c0434da2ad11780221c242cd2d6354326a6 Author: Robbie Cooper <cooperra@users.noreply.github.com> Date: Wed Jan 10 20:44:06 2024 -0500 Fix bounding boxes Each time an AABB is rotated, it gets bigger. That means opposite rotations don't cancel out. The previous implementation repeatedly rotates children AABBs as it climbs up the tree. This often resulted in selection boxes looking bigger than their contents. This implementation calculates and applies a single final transformation to each AABB before it is merged with the others. After merging, there are no additional rotations, so AABBs remain accurate. Co-Authored-By: Robert Yevdokimov <105675984+ryevdokimov@users.noreply.github.com> commit da42124efe4f04fbb2749a255af09118b5be6156 Author: Martin Capitanio <capnm@capitanio.org> Date: Fri Feb 2 12:38:09 2024 +0100 ThorVG: update from v0.12.3 to v0.12.4 https://github.com/thorvg/thorvg/releases/tag/v0.12.4 + Full Changelog: https://github.com/thorvg/thorvg/compare/v0.12.3...v0.12.4 Godot-related SVG bug fixes: + loader/svg: Apply specification of out-of-range elliptical arc parameters, fix zero check of arc's rx and ry. thorvg/thorvg#1938 commit 10e111477db68fe65776a1d68fb1ffccaf6520fc Merge: 0d1fa8d657 0d88aadd53 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:06:29 2024 +0100 Merge pull request #87856 from bruvzg/transpbg Automatically set viewport background to transparent when window flag is set. commit 0d1fa8d657d503b478b1056422d3d3f4941116e3 Merge: 99db7204dc e896fbb638 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:06:05 2024 +0100 Merge pull request #87854 from jsjtxietian/Placeholder Update visuals immediately after resizing `Placeholder*` textures commit 99db7204dc40c2d744423aba85a6b6a870a56e58 Merge: d0f8b76ffd 559b434ef1 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:05:39 2024 +0100 Merge pull request #87848 from nikitalita/natvis-cowdata-fix Fix `godot.natvis` after CowData 64-bit promotion commit d0f8b76ffdf2de0d5f7ed164591a9d7b3456f16c Merge: 92ff4f7877 999180d5b5 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:05:14 2024 +0100 Merge pull request #87838 from paulloz/dotnet/fix-duplicate-key-on-reload C#: Fix duplicate key issue on reload commit 92ff4f7877ddbbf97c6170143b07c590ec04487c Merge: efa587ad36 8f6d4eaa31 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:04:50 2024 +0100 Merge pull request #87836 from stuartcarnie/autoreleasepool macOS: Use autorelease pools commit efa587ad36a4ff8a465cb7a076d01ce0ce83b71a Merge: 8a47d6eb50 6057ec9b06 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:04:25 2024 +0100 Merge pull request #87795 from RandomShaper/d3d12_dont_leak_please Direct3D 12: Avoid terrible leak related to command allocators commit 8a47d6eb507b80b3a4318441cea17587565179ca Merge: 7f5079f7c8 d81c9c32c5 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:03:59 2024 +0100 Merge pull request #87790 from nongvantinh/fix-87643 Fix incorrect condition for error filtering commit 7f5079f7c8c07c9508b65924c8c897e30c64d2a6 Merge: fb5f34a75a 59c75b074a Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:03:35 2024 +0100 Merge pull request #87757 from hakro/vampire-origins Do not reflect the origin lines in a mirror commit fb5f34a75a4b2e2becb97448b2bfcaf9ae214cd5 Merge: 24a2560d30 5935bfa860 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:03:09 2024 +0100 Merge pull request #87745 from dsnopek/openxr-change-reference-space OpenXR: Allow changing play area mode during active session commit 24a2560d3050ce5fd978e0c37871852340003a4a Merge: 88df5b871f 1e14503715 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:02:44 2024 +0100 Merge pull request #87682 from zaevi/fix_csharp_stringname_ref C#: Fix issues for StringName reference in `CSharpInstanceBridge.Get`. commit 88df5b871f68941589f34d3629e2b580916665a1 Merge: 8fc2407085 c00bd0008a Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:02:19 2024 +0100 Merge pull request #87318 from ckaiser/feature/indeterminate_progressbar Add indeterminate mode to ProgressBar commit 8fc2407085de7d572c75c08a8794fbf25e7fc214 Merge: 7de27ea56a eb565780e7 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:01:52 2024 +0100 Merge pull request #86654 from ryevdokimov/fix-listening-for-input-escape Prevent escape key from closing Editor Settings window when filtering for shortcuts commit 7de27ea56a9ec233457cb0c1a354361bff8e8670 Merge: d714e7b60a f191330968 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:01:25 2024 +0100 Merge pull request #84643 from rsburke4/top-level-problem-fix Fix `Node3D` children using `top_level` in different position in-editor versus runtime commit d714e7b60a0c43fcc462bb43ce0abc82db164f1b Merge: 0858c4ecbc b015fba2c8 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:00:59 2024 +0100 Merge pull request #82933 from aaronfranke/orthonormal-phys-bone-transf Orthonormalize PhysicalBone3D transforms when resetting them commit 0858c4ecbca5b48a9f3439e6bb73ad045dabf20c Merge: 58ffe0958a 61872e47af Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:00:35 2024 +0100 Merge pull request #82889 from ershn/improve_process_mode_api_documentation Improve Node's documentation on `process_mode` related members/methods commit 58ffe0958a0a54b2ed6d76a745de9500b55470d8 Merge: e0eccaeb60 b8a7270567 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 12:00:07 2024 +0100 Merge pull request #74195 from TheSecondReal0/flow-top-to-bottom Add option to reverse FlowContainer fill direction (HFlow bottom-to-top, VFlow right-to-left) commit e0eccaeb60b40fd7aedd272e5c9dfff123e42c1a Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Feb 2 10:47:57 2024 +0100 i18n: Sync translations with Weblate Still tracking 4.2 translations for now. (cherry picked from commit 991454b8bdf4e90545d4ffe84a6bff865782bc6a) commit 0d88aadd53fe966942fb0aa13bce2d177648a897 Author: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Fri Feb 2 09:46:01 2024 +0200 Automatically set viewport background to transparent when window flag is set. commit e896fbb638674972ce98d6475398bb3765b65b71 Author: jsjtxietian <jsjtxietian@outlook.com> Date: Fri Feb 2 14:56:05 2024 +0800 Support immediately update ui after resizing placeholder* texture commit f7f51bdd7a5b73143ef126c85f767cb5d5b54e84 Author: Hugo Locurcio <hugo.locurcio@hugo.pro> Date: Sat Feb 15 21:37:48 2020 +0100 Add colors to the command-line help commit a2c2caa2f495f5061b7c060f4b89c0732ad43571 Author: kobewi <kobewi4e@gmail.com> Date: Sat Jan 20 20:05:28 2024 +0100 Fix shortcut name consistency in SceneTreeDock commit 559b434ef115c223d2dfc115dd553a46ce39b820 Author: nikitalita <69168929+nikitalita@users.noreply.github.com> Date: Thu Feb 1 13:40:06 2024 -0800 Fix natvis after CowData 64-bit changes commit 999180d5b5c1023f441100e7b45a3aa346a2e898 Author: Paul Joannon <hello@pauljoannon.com> Date: Thu Feb 1 21:06:17 2024 +0100 Delay fs update when populating path bimap commit 8f6d4eaa31662bbff08fb0a694fb41f74f225b0a Author: Stuart Carnie <stuart.carnie@gmail.com> Date: Fri Feb 2 07:06:53 2024 +1100 use autorelease pools around main loop Reduces memory usage considerably commit b8a7270567abdbb94a425727eb0b365d0c06f85d Author: TheSecondReal0 <66881186+TheSecondReal0@users.noreply.github.com> Date: Thu Jun 29 00:41:08 2023 -0600 Add option to reverse FlowContainer fill direction (HFlow bottom-to-top, VFlow right-to-left) commit c00bd0008a9ed2d0c31d23c9364f7d818d3beb08 Author: Christian Kaiser <info@ckaiser.com.ar> Date: Wed Jan 17 21:49:57 2024 -0300 Add indeterminate mode to ProgressBar commit 6057ec9b06e71d4d0fc68de1067001ec3f41000d Author: Pedro J. Estébanez <pedrojrulez@gmail.com> Date: Wed Jan 31 20:00:23 2024 +0100 Direct3D 12: Avoid terrible leak related to command allocators commit 5935bfa8603b7c22df4ea777a688723a408e6c5d Author: David Snopek <dsnopek@gmail.com> Date: Tue Jan 30 10:30:54 2024 -0600 OpenXR: Allow changing play area mode during active session commit d81c9c32c5ea4e91de3038b30c4a7a9ab78b7481 Author: Nông Văn Tình <vannongtinh@gmail.com> Date: Wed Jan 31 23:01:37 2024 +0700 Fix incorrect condition for error filtering Fixes: #87643 The original condition stopped immediately after checking for 'searchText' in the 'Message' field, resulting in premature termination of subsequent checks. This fix ensures that all relevant conditions are appropriately evaluated before determining the filtering outcome. Additionally, accompanying changes include improved code readability for better comprehension. This adjustment enhances the maintainability of the error filtering mechanism, contributing to a more robust codebase overall. commit 7638a6c9811590a384e2126dd004e302f76d3e4a Author: Andreia Gaita <shana@spoiledcat.net> Date: Tue Nov 14 13:39:44 2023 +0100 Add new VS proj generation logic that supports any platform that wants to opt in Custom Visual Studio project generation logic that supports any platform that has a msvs.py script, so Visual Studio can be used to run scons for any platform, with the right defines per target. Invoked with `scons vsproj=yes` To generate build configuration files for all platforms+targets+arch combinations, users should call ``` scons vsproj=yes platform=XXX target=YYY [other build flags] ``` for each combination of platform+target[+arch]. This will generate the relevant vs project files but skip the build process, so that project files can be quickly generated without waiting for a command line build. This lets project files be quickly generated even if there are build errors. All possible combinations of platform+target are created in the solution file by default, but they won't do anything until each one is set up with a scons vsproj=yes command for the respective platform in the appropriate command line. This lets users only generate the combinations they need, and VS won't have to parse settings for other combos. Only platforms that opt in to vs proj generation by having a msvs.py file in the platform folder are included. Platforms with a msvs.py file will be added to the solution, but only the current active platform+target+arch will have a build configuration generated, because we only know what the right defines/includes/flags/etc are on the active build target currently being processed by scons. Platforms that don't support an editor target will have a dummy editor target that won't do anything on build, but will have the files and configuration for the windows editor target. To generate AND build from the command line, run ``` scons vsproj=yes vsproj_gen_only=no ``` commit 61872e47aff153d0cdbafbc41b3c180fba9f3397 Author: Ershn <ershnsyn@gmail.com> Date: Fri Oct 6 11:10:56 2023 +0900 Improve Node's documentation on process_mode related members/methods commit 9adb7c7d130c6d4eb0e80b92d6eebd71fac3384d Merge: f23fda39d3 d8658df94e Author: Rémi Verschelde <remi@verschelde.fr> Date: Wed Jan 31 14:01:59 2024 +0100 Merge pull request #87764 from Riteo/wayland-native-handle Wayland: Implement `window_get_native_handle` commit f23fda39d3af5915754379f652103505ab038c50 Merge: f8a039e9b5 edb21e0573 Author: Rémi Verschelde <remi@verschelde.fr> Date: Wed Jan 31 14:00:30 2024 +0100 Merge pull request #87776 from bruvzg/wl_nfd [Wayland] Add support for native file dialogs. commit edb21e05739b46c98852f4ffbadc040b11efc6db Author: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Wed Jan 31 11:43:56 2024 +0200 [Wayland] Add support for native file dialogs. commit d8658df94e09a3ed82c66eb5085c89ece1239d0c Author: Riteo <riteo@posteo.net> Date: Fri Jan 26 16:27:44 2024 +0100 Wayland: implement `window_get_native_handle` This will be the most useful for stuff like OpenXR, although we'd need a way to eventually also expose the EGL handles. commit f8a039e9b54875a3435ace4b9953cefa591a0753 Merge: cb0d450b7d 4577dfdb67 Author: Rémi Verschelde <remi@verschelde.fr> Date: Wed Jan 31 11:13:19 2024 +0100 Merge pull request #84745 from lawnjelly/lightcull Shadow volume culling and tighter shadow caster culling commit cb0d450b7deb5f72c4278fb1c769cc5cec591041 Merge: 099401563c 4f41b94943 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Wed Jan 31 10:57:17 2024 +0100 Merge pull request #87775 from clayjohn/GLTF-export-ra-rg Remove workaround in GLTF exporter that double converts ra textures to rg commit 099401563c7c1ab16e3abe64cea07baddd039fd3 Merge: a3d50f7714 a5dffe7804 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Wed Jan 31 10:56:53 2024 +0100 Merge pull request #87772 from TokageItLab/fix-cubic-animation-time Fix cubic interpolation wrong argument for the time commit a3d50f7714103ebd255249a8c183378a6f49d523 Merge: 7de88873a6 87d97fe7d8 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Wed Jan 31 10:56:30 2024 +0100 Merge pull request #87769 from ryevdokimov/fix-all-tools-can-select-regression Fix a regression that breaks gizmo transforming when 'View Gizmos' is off commit 7de88873a6af14bdbc5b46f8a917091abdf4a577 Merge: 3939a881f0 c3d6cc57be Author: Rémi Verschelde <rverschelde@gmail.com> Date: Wed Jan 31 10:56:06 2024 +0100 Merge pull request #87765 from Riteo/wayland-skip-no-scanner Wayland: Disable backend at build-time if wayland-scanner is missing commit 3939a881f06f9dffaab4b6984c708b140b2214bf Merge: 6287d7ce70 4ad74a5663 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Wed Jan 31 10:55:43 2024 +0100 Merge pull request #87755 from KoBeWi/tidy_for_no_reason Some editor code cleanup commit 6287d7ce7017b5ac74d0dc3a60bdfb2b4098b6f8 Merge: 1c916c3d5b f711b4f01f Author: Rémi Verschelde <rverschelde@gmail.com> Date: Wed Jan 31 10:55:19 2024 +0100 Merge pull request #87720 from fire/llvm-mingw-qitabent Avoid non-constant-expression cannot be narrowed on Windows on mingw. commit 1c916c3d5beebc8bc6453b563f611813ac855c58 Merge: ad8b136a31 3d2cbb216e Author: Rémi Verschelde <rverschelde@gmail.com> Date: Wed Jan 31 10:54:55 2024 +0100 Merge pull request #87546 from dsnopek/openxr-hand-tracking-vendor-extensions OpenXR: Make it possible to implement vendor extensions to hand tracking from GDExtension commit ad8b136a314abae07ee413fd6554b07a51dfd597 Merge: 51f71749a3 22421e134b Author: Rémi Verschelde <rverschelde@gmail.com> Date: Wed Jan 31 10:54:30 2024 +0100 Merge pull request #87436 from Mickeon/doc-peeves-Timer-s-out Tweak Timer documentation commit 51f71749a314b93083830e79f7086f328ec1b770 Merge: eb105b9ae9 2dae53c316 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Wed Jan 31 10:54:06 2024 +0100 Merge pull request #87389 from scgm0/file_access_1 Explicitly initialize all of `FileAccess::create_func[ACCESS_MAX]` commit eb105b9ae9ddf1935f0f34d66a759a707f66f7e6 Merge: 04f7014bd1 d2ab1b60c4 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Wed Jan 31 10:53:43 2024 +0100 Merge pull request #87372 from Mickeon/documentation-SkeletonProfileHumanoid-bone-list Document bone list for SkeletonProfileHumanoid commit 04f7014bd100e30524db2b4d34a60e6f675b09c8 Merge: 313f623b9d 253ad63005 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Wed Jan 31 10:53:18 2024 +0100 Merge pull request #86690 from Calinou/editor-fov-clarify-vertical Clarify the FOV setting in the 3D editor camera is vertical FOV commit 2dae53c316493899736e42e3a38fb8190006adc8 Author: scgm0 <2682963017@qq.com> Date: Sat Jan 20 06:31:48 2024 +0800 Explicitly initialize all of `FileAccess::create_func[ACCESS_MAX]` commit 22421e134b3b8a2e1b7fa0364cb0c3c71319caad Author: Micky <micheledevita2@gmail.com> Date: Sat Jan 20 18:49:05 2024 +0100 Tweak Timer documentation commit 4f41b9494353adb529af6c062c86361988481e27 Author: clayjohn <claynjohn@gmail.com> Date: Tue Jan 30 23:22:20 2024 -0800 Remove workaround in GLTF exporter that double converts ra textures to rg commit b015fba2c8a481efe65fe29da10a1be5022d9cd6 Author: Aaron Franke <arnfranke@yahoo.com> Date: Fri Oct 6 15:39:46 2023 -0500 Orthonormalize PhysicalBone3D transforms commit a5dffe78040af3d03bddc3a0acfbf3119fe0e114 Author: Silc Lizard (Tokage) Renew <61938263+TokageItLab@users.noreply.github.com> Date: Wed Jan 31 13:56:25 2024 +0900 Fix cubic interpolation wrong argument for the time commit f711b4f01f9921a52acde6135ca8dfa992172828 Author: K. S. Ernest (iFire) Lee <fire@users.noreply.github.com> Date: Tue Jan 30 20:18:15 2024 -0800 Avoid non-constant-expression cannot be narrowed on Windows mingw. Fixes non-constant-expression cannot be narrowed from type 'DWORD' (aka 'unsigned long') to 'int' in initializer list [-Wc++11-narrowing] Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com> commit 87d97fe7d84f218a62b09b890b3e1039a063fe66 Author: Robert Yevdokimov <robert.yevdokimov@autStand.com> Date: Tue Jan 30 22:31:52 2024 -0500 Fix a regression in #86804 that breaks gizmos transforming when 'View Gizmos' is off commit c3d6cc57be605fad96ae092685578ef215ca8dbc Author: Riteo <riteo@posteo.net> Date: Wed Jan 31 02:08:33 2024 +0100 Wayland: disable backend at build-time if wayland-scanner is missing This allows previous X11-only setups to still build Godot with default settings. Note that compilation will still abort if wayland-scanner is present but not the various Wayland libraries. commit 253ad6300528c9e802a2ebea41ed8c5aeaa0f822 Author: Hugo Locurcio <hugo.locurcio@hugo.pro> Date: Mon Jan 1 17:43:01 2024 +0100 Clarify the FOV setting in the 3D editor camera is vertical FOV commit 59c75b074a8630d2cf2fbd6b23fb4d68fa3b3a97 Author: Hakim <hakim.rouatbi@gmail.com> Date: Tue Jan 30 22:57:02 2024 +0100 Do not reflect the origin lines in a mirror commit 4ad74a5663d1e38f4e95159ec1caa53bae3b8799 Author: kobewi <kobewi4e@gmail.com> Date: Tue Jan 30 21:33:31 2024 +0100 Some editor code cleanup commit 313f623b9d102cc8c411ae7cab9518f98c2f87f2 Merge: 0cce6eb150 dec635119e Author: Rémi Verschelde <remi@verschelde.fr> Date: Tue Jan 30 19:35:09 2024 +0100 Merge pull request #87738 from akien-mga/mbedtls-2.28.7 mbedtls: Update to upstream version 2.28.7 commit 0cce6eb1505f7dd9c0cece2a825b1509cf23f158 Merge: cae7599498 f923b58f88 Author: Rémi Verschelde <remi@verschelde.fr> Date: Tue Jan 30 19:10:46 2024 +0100 Merge pull request #87443 from YuriSizov/pms-hotter-younger-cousin Improve layout and UX of the project manager commit f923b58f88e43c09c45ffd155a71d3eb8349bf22 Author: Yuri Sizov <yuris@humnom.net> Date: Tue Jan 30 17:35:46 2024 +0100 Correctly handle failures to open a project commit 28e8a4c0ee782fc54b822401885b38172b9b0e41 Author: Yuri Sizov <yuris@humnom.net> Date: Tue Jan 30 17:35:46 2024 +0100 Replace empty list dialog with an integrated panel commit 068c0d2699066f833694cf912d299acbf6b8755a Author: Yuri Sizov <yuris@humnom.net> Date: Tue Jan 30 17:35:46 2024 +0100 Implement a quick settings dialog for the project manager Currently it allows to adjust language, theme preset, UI scaling, and network mode. Project manager has been updated to support dynamic theme updates. commit 4d97c33503bff8c83a82ce3be5f55c0fb577db39 Author: Yuri Sizov <yuris@humnom.net> Date: Tue Jan 30 17:35:46 2024 +0100 Add a network mode setting to bring the editor offline This PR also adds default font styles for RichTextLabels in the editor, and improves the introduction dialog when you don't have any local projects available. The offline mode is implemented in the asset library plugin, alongside some code improvements. commit bac037b1e0adc20aa37f2920f586ed9f8ec0e3f0 Author: Yuri Sizov <yuris@humnom.net> Date: Tue Jan 30 17:35:46 2024 +0100 Improve the project manager UI commit cae7599498070226fecba29d45dffaa36ecf20b4 Merge: aff437e623 10445d80d8 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:48:22 2024 +0100 Merge pull request #87741 from akien-mga/sync-gamecontrollerdb Sync controller mappings DB with SDL2 community repo commit aff437e6235d1f563437c441ce35abbfcf39f7f1 Merge: 07df0a7ae5 ffdf8084c0 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:48:19 2024 +0100 Merge pull request #87734 from bruvzg/raw_str_d3d Use raw strings for D3D12 install messages. commit 07df0a7ae57a92c46b92e63afadeed6e17d4ced4 Merge: 3dfedd69ea 52aa5668fe Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:48:15 2024 +0100 Merge pull request #87732 from aaronfranke/fix-audio-player-3d-autoplay-notif Fix AudioStreamPlayer3D autoplay and internal notifications commit 3dfedd69eafdf51a8a60aba226b1414a9f8e69e3 Merge: 736696b533 7565d1f3ab Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:48:11 2024 +0100 Merge pull request #87711 from matthew1006/threaded-loading-progress-fix Fix `ResourceLoader.load_threaded_get_status` returning `[0]` constantly in exported projects. commit 736696b533f6add4751467c144dd5a06c905d0d6 Merge: ba6ecf3e06 82380ec700 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:48:07 2024 +0100 Merge pull request #87679 from raulsntos/dotnet/remove-unused C#: Remove unused code commit ba6ecf3e06802e8eb114822e26ac8c84cd5cdbd1 Merge: 926a7dffd6 25c0c95960 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:48:02 2024 +0100 Merge pull request #87676 from Mickeon/oooh-Reduz-of-the-past-You're-so-quirky Mention and deprecate InputEventJoypadButton's pressure commit 926a7dffd6660841a80e0db2502bfac6f17bca0f Merge: f390b86acd 5e7cda3405 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:47:58 2024 +0100 Merge pull request #87421 from dalexeev/gds-docgen-use-autoload-singleton-name GDScript: Use autoload singleton name in `GDScriptDocGen` commit f390b86acd22e2722d79e20b9a42454e59c451d0 Merge: 9572cf5ab2 6e965f6c83 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:47:54 2024 +0100 Merge pull request #87194 from kitbdev/tab-deselect Allow no tabs to be selected in TabBar and TabContainer commit 9572cf5ab2e34bd4a932e3a1c021587f656b85ed Merge: 1f027f9aef b31acb0cd5 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:47:50 2024 +0100 Merge pull request #86823 from dalexeev/gds-utility-func-as-callable GDScript: Allow utility functions to be used as `Callable` commit 1f027f9aef06c423411acc17a87fba1c0f62d686 Merge: 6a126b0934 e07ec89bdf Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:47:44 2024 +0100 Merge pull request #86471 from dalexeev/gds-fix-pot-gen-skips-some-nodes-2 GDScript: Fix POT generator skips some nodes (part 2) commit 6a126b0934d1dac09aaf504da2f5d7dc1156feda Merge: a8cfd1436a 7e0f7d3abd Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:47:38 2024 +0100 Merge pull request #86180 from Riteo/wayland-squashed Add Wayland support (squashed review edition) commit a8cfd1436a5e9c87ff4910a18641e60761994076 Merge: 2edfdace76 3a4a0c6b15 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:47:33 2024 +0100 Merge pull request #86176 from dalexeev/gds-fix-type-highlighting GDScript: Fix type highlighting commit 2edfdace769dc9b3b5c5c06915c234ca73dc28c7 Merge: 51991e2014 faebb0895f Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 17:47:23 2024 +0100 Merge pull request #83220 from dalexeev/gds-highlight-code-regions GDScript: Highlight code region comments commit 7496f99060d7655cbf974dba3851838faba629d4 Author: Yuri Sizov <yuris@humnom.net> Date: Tue Jan 30 17:35:46 2024 +0100 Create a MainScreenButton theme variation This turns custom font theme properties into a proper variation, which makes applying it simpler. commit 7e0f7d3abd4a02f423a5b95616840e028a9af7fa Author: Riteo <riteo@posteo.net> Date: Fri Dec 15 02:55:34 2023 +0100 Add Wayland support Not everything is yet implemented, either for Godot or personal limitations (I don't have all hardware in the world). A brief list of the most important issues follows: - Single-window only: the `DisplayServer` API doesn't expose enough information for properly creating XDG shell windows. - Very dumb rendering loop: this is very complicated, just know that the low consumption mode is forced to 2000 Hz and some clever hacks are in place to overcome a specific Wayland limitation. This will be improved to the extent possible both downstream and upstream. - Features to implement yet: IME, touch input, native file dialog, drawing tablet (commented out due to a refactor), screen recording. - Mouse passthrough can't be implement through a poly API, we need a rect-based one. - The cursor doesn't yet support fractional scaling. - Auto scale is rounded up when using fractional scaling as we don't have a per-window scale query API (basically we need `DisplayServer::window_get_scale`). - Building with `x11=no wayland=yes opengl=yes openxr=yes` fails. This also adds a new project property and editor setting for selecting the default DisplayServer to start, to allow this backend to start first in exported projects (X11 is still the default for now). The editor setting always overrides the project setting. Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra. commit 10445d80d87ac6a8340a749071a218c9eac6ceca Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 15:14:27 2024 +0100 Sync controller mappings DB with SDL2 community repo Synced with gabomdq/SDL_GameControllerDB@232c738ce0948eb86b6b1b6ba7bcdc92d10faef0 commit dec635119eaffb31f566d3cb5a49f49d65e73a69 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Tue Jan 30 14:09:13 2024 +0100 mbedtls: Update to upstream version 2.28.7 commit ffdf8084c07f7989c129a46ff339debfdd448080 Author: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Tue Jan 30 11:13:12 2024 +0200 Use raw strings for D3D12 install messages. commit 4577dfdb6747600438ac4b86c29a4d6c12ec9b0a Author: lawnjelly <lawnjelly@gmail.com> Date: Fri Nov 10 08:17:47 2023 +0000 Shadow volume culling and tighter shadow caster culling Existing shadow caster culling takes no account of the camera. This PR adds the highly encapsulated class RenderingLightCuller which can cut down the casters in the shadow volume to only those which can cast shadows on the camera frustum. commit 52aa5668fe8bde49104c06345eaffc56fbf30958 Author: Aaron Franke <arnfranke@yahoo.com> Date: Tue Jan 30 00:56:12 2024 -0600 Fix AudioStreamPlayer3D autoplay and internal notifications commit 25c0c95960a6c6b8e65da7f9828fd83b3c6d1720 Author: Micky <micheledevita2@gmail.com> Date: Sun Jan 28 14:45:42 2024 +0100 Mention and deprecate InputEventJoypadButton's pressure commit 51991e20143a39e9ef0107163eaf283ca0a761ea Merge: 9ab5cedef6 4628d0c7dc Author: Rémi Verschelde <remi@verschelde.fr> Date: Mon Jan 29 23:24:05 2024 +0100 Merge pull request #84674 from m4gr3d/add_flag_to_run_scons_from_gradle Add parameter to allow generation of the Godot native shared libraries from gradle commit 9ab5cedef6de32826b9184e960b3880df3888a5a Merge: 37e5a71f5d 745f8e112f Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 21:34:59 2024 +0100 Merge pull request #87712 from akien-mga/revert-gdscript-uid-annotations-for-now Revert "Add UID support to GDScript files" (for now) commit 37e5a71f5da86c090850d8e30cdcc890dd903d61 Merge: 86f6811752 666daf47c3 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 21:34:36 2024 +0100 Merge pull request #87710 from AThousandShips/dummy_free Free dummy renderer objects commit 86f6811752683c79ad05ee6c075b180ab20352aa Merge: 6809791fee 0de8a736da Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 21:34:13 2024 +0100 Merge pull request #87701 from KoBeWi/extratreestial_tweens Allow `Node.create_tween()` outside SceneTree commit 6809791feec71790046a266707eb37dfb4721a4e Merge: 1d3722a6aa f1781fe9d1 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 21:33:49 2024 +0100 Merge pull request #87553 from clayjohn/GLES3-shader-compilation Significantly improve the speed of shader compilation in compatibility backend commit 1d3722a6aa76ae5cafbadc6f48eaf6f0567d5845 Merge: b65c495d6e 595c6248a3 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 21:33:26 2024 +0100 Merge pull request #87170 from AThousandShips/run_fix Fix reloading current scene forgetting path commit b65c495d6eefa0a33a58345cce89660a7cff101c Merge: 6a47a53273 f5ca58d32f Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 21:33:00 2024 +0100 Merge pull request #86845 from RandomShaper/no_load_regress Avoid regressing in progress reporting in resource load commit 6a47a5327340f71eac49fc99ffe832927a8ea6f9 Merge: 6c2f412cc7 000367893a Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 21:32:35 2024 +0100 Merge pull request #86765 from reduz/filesystem-to-bottom Allow to move FileSystem dock to bottom and drag resources across bottom docks commit 6c2f412cc76d95e0080dc9e271758b4100f5ef89 Merge: 64ddf1ff0c 7d6ded2027 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 21:32:10 2024 +0100 Merge pull request #84760 from KoBeWi/ultimate_get_property_list_reloaded Fetch override list from ThemeDB commit 64ddf1ff0cc88cad79f570e3dbeba560cdd6248f Merge: fa48a51183 085629a7c9 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 21:31:42 2024 +0100 Merge pull request #79436 from Calinou/textureregion-increase-max-zoom Extend minimum/maximum zoom level of TextureRegion editor commit 745f8e112fcf5d61e0fc377bdbc2539dd6b16ef9 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 21:00:26 2024 +0100 Revert "Add UID support to GDScript files" This reverts commit c7f68a27ec4b825302998eeb5a400f869cd21cf7. We still think GDScript files need UIDs to allow safe refactoring, but we're still debating what form those should take exactly. So far there seems to be agreement that it shouldn't be done via an annotation as implemented here, so we're reverting this one for now, to revisit the feature in a future PR. commit 6e965f6c8337eb9946a5e3da7183d89aa53aac38 Author: kit <kitbdev@gmail.com> Date: Sun Jan 14 18:39:47 2024 -0500 Allow tab deselection commit 0de8a736dad9bf9ed5b8075946bf1e96a47b20f6 Author: kobewi <kobewi4e@gmail.com> Date: Mon Jan 29 14:10:07 2024 +0100 Allow Node.create_tween() outside SceneTree commit 666daf47c31307c50a9f0eb08fc5146d0a3e5f32 Author: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Date: Mon Jan 29 18:48:47 2024 +0100 Free dummy renderer objects These leaked during tests etc. commit 7565d1f3abb592a5978613701a4b9b744df748da Author: Matthew Edwards <matthew1006@hotmail.co.uk> Date: Mon Jan 29 17:27:57 2024 +0000 Push p_original_path into load_paths_stack and sub_tasks instead of p_path. commit 7d6ded2027d0c81fa0e0419d8afc57699fe1e468 Author: kobewi <kobewi4e@gmail.com> Date: Sat Nov 11 18:29:42 2023 +0100 Fetch override list from ThemeDB commit 000367893ad3594b8e9318b98bd96e1a6bf0f94a Author: Juan Linietsky <reduzio@gmail.com> Date: Mon Jan 29 14:36:10 2024 +0100 Ability to move FileSystem dock to bottom * Allows moving the filesystem dock to the bottom * Added ability to drag resources across bottom docks commit 085629a7c91c26b1664dcbf93b2d413688279435 Author: Hugo Locurcio <hugo.locurcio@hugo.pro> Date: Thu Jul 13 20:29:47 2023 +0200 Extend minimum/maximum zoom level of TextureRegion editor This also applies a similar change to the SpriteFrames editor. commit fa48a51183567934984b381ad8ec281cb24d66ba Merge: e59e58a68a 15369fdb1d Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:18:09 2024 +0100 Merge pull request #87688 from AThousandShips/what_is_this Remove unnecessary `this->` expressions commit e59e58a68afd60d0fa63e61751bd6d30575f3bb3 Merge: 6305277312 de5b0d7103 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:18:05 2024 +0100 Merge pull request #87686 from radzo73/get_button_color [TreeItem] Add `get_button_color()` commit 63052773125a684d9c6c7250e6f8be523cfda23f Merge: f0144d7f45 f77f46ebff Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:18:00 2024 +0100 Merge pull request #87670 from RandomShaper/d3d12_16bit Direct3D 12: Query support for 16-bit operations commit f0144d7f450d461bf8d4c026d24e490654233760 Merge: 5c61803971 9d50a486bf Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:56 2024 +0100 Merge pull request #87669 from bs-mwoerner/csharp_deadlock Fix possible deadlock when creating scripts during a background garbage collection commit 5c61803971a906b65cf1b61d3856b66b4737efe6 Merge: 9a789adff2 85df221610 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:52 2024 +0100 Merge pull request #87668 from bruvzg/add_baseline_offset [TextServer / Font] Add support for customizable baseline offset. commit 9a789adff27ccaae2e0445d4c60289f00ea8d9df Merge: 074b4eb770 36c2c4bf0d Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:48 2024 +0100 Merge pull request #87632 from Sauermann/fix-remove-unused-group-variable Remove unused internal Variable `Viewport::gui_input_group` commit 074b4eb7704538b869664d4b4ec5f1f6882053d5 Merge: 604f8b093e bcc96441d6 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:45 2024 +0100 Merge pull request #87627 from RandomShaper/one_more_undef Undefine yet another macro from Windows headers commit 604f8b093e25048c67c9d0d7b8a4f2efdd9fa6b2 Merge: 1fdee4f6f5 dfa303f7c4 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:41 2024 +0100 Merge pull request #87624 from bruvzg/dx12_old_mingw [D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in. commit 1fdee4f6f526b1d3499a72cdf013d462d5507d49 Merge: 75d2cf3075 cbc929edf0 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:37 2024 +0100 Merge pull request #87618 from DarioSamo/lightmapper_samplerless Do not use a linear sampler on lightmapper when retrieving grid data. commit 75d2cf3075514f01a4897827976314ca0f3eb922 Merge: 15c78ae8cc d9057c8b56 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:33 2024 +0100 Merge pull request #87616 from ryevdokimov/cancel-transformation-2d Add cancel transformation shortcut to 2D to match 3D commit 15c78ae8ccf41b498aff9545464d59e01ef80a7a Merge: 563364d93e 73589f6db6 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:29 2024 +0100 Merge pull request #87612 from capnm/240126_thorvg_from_v0.12.1_to_0.12.3 ThorVG: update from v0.12.1 to v0.12.3 commit 563364d93e2381d44332352a16af1a9e989d0734 Merge: 78680cdebc f04b584ed3 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:25 2024 +0100 Merge pull request #87603 from jsjtxietian/_property_get_revert Fix `ShaderMaterial::_property_get_revert` crash when given non-existing `p_name` commit 78680cdebc8a97bc2d81decc72cd8cccafe1f669 Merge: ef9cb3dfa5 47da9f8892 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:21 2024 +0100 Merge pull request #87572 from RandomShaper/d3d12_custom_dbg_print Direct3D 12: Fix and enable custom debug printing commit ef9cb3dfa5156901a7133ff30a46a844c4d97ce1 Merge: 8202a73c73 3e4e0f08c4 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:17 2024 +0100 Merge pull request #87535 from Mickeon/scene-tree-configuration-warnings-cleanup Improve appearance of Node configuration warnings commit 8202a73c73623c51c63ff3bd70f5e44a39c59b78 Merge: a248e8c78d 39f279710c Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:12 2024 +0100 Merge pull request #87512 from DarioSamo/rd_graph_fixes Fix validation errors by improving stage and slice tracking behavior of RenderingDeviceGraph. commit a248e8c78d30b2ba1eab272038e7ae6e1db74f26 Merge: 68957d2944 06f2f1ecbc Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:09 2024 +0100 Merge pull request #87502 from mihe/soft-body-bindings Bind physics server methods related to `SoftBody3D` commit 68957d29442413e26857c1d41e8565209e619d5d Merge: c1dbaa73a6 c228e31a96 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:05 2024 +0100 Merge pull request #87445 from KoBeWi/expand_the_Control_empire Clarify sizing of main screen plugins commit c1dbaa73a6e0935a3abc31584d35063e543536b0 Merge: 061c776228 e28b31ec96 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:17:00 2024 +0100 Merge pull request #87393 from stuartcarnie/bugfix Use `os_unfair_lock` on Apple platforms commit 061c77622822ce7e3a4deaa60808c0773186a6c0 Merge: 269145f48a d644b9b640 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:55 2024 +0100 Merge pull request #87381 from YuriSizov/core-sneaky-properties Better hide internal properties from users commit 269145f48a13a943f52d67a20d9aa7b075f1e0db Merge: 440d8cd989 0437db0106 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:51 2024 +0100 Merge pull request #87300 from Calinou/math-normalize-error-show-value Display values in vector/quaternion math function errors commit 440d8cd989c484e5b3bee7f733574a92376d98c9 Merge: ec08b323bf 9d0302d708 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:48 2024 +0100 Merge pull request #87167 from 0x0ACB/public_character_body Make CharacterBody properties public commit ec08b323bfff8145b67e88e09a2e8c4a680d3c49 Merge: c2968e497d e03f2b65c2 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:42 2024 +0100 Merge pull request #86927 from Mickeon/filling-docs Fill the documentation of a few overlooked classes commit c2968e497d1bd0b4b9e4f3fe6599589f1702c2bc Merge: 44b92ec85f 8723d116c4 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:37 2024 +0100 Merge pull request #86693 from Mickeon/doc-peeves-midiiiiii Improve all documentation about MIDI support commit 44b92ec85f229d634394bda827364e7473122f36 Merge: 6d1e51c23e 50d33aac6c Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:34 2024 +0100 Merge pull request #86313 from BlueCube3310/etc2-r-rg Implement `ETC2_R` and `ETC2_RG` compression to `etcpak` commit 6d1e51c23edf5ba61843e1407425fa916911171e Merge: 13bf4fd19a 5579edb137 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:28 2024 +0100 Merge pull request #86273 from DevPoodle/sampler-state-descriptions Add descriptions to remaining properties of RDSamplerState commit 13bf4fd19ac9a5c44b79a89b825efd19286783bc Merge: 2a862a6f6c 857586b7ae Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:22 2024 +0100 Merge pull request #85519 from mxaddict/blender-rpc-server Added proper timeout for blender rpc connection commit 2a862a6f6cc20a849a677dce9606ea0f603f8f33 Merge: 964de297e4 f16f8bf39b Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:19 2024 +0100 Merge pull request #85503 from 20kdc/bone2d-fix-apply_rest-master Fix the documentation of `Bone2D::apply_rest` commit 964de297e4ebcd12c1c8861b6821a0244dedcb63 Merge: 8febe50797 7d0d405e22 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:12 2024 +0100 Merge pull request #85450 from KoBeWi/advanced_properties_for_every_Object Improve documentation for dynamic properties commit 8febe507977b6d68c77ad4185eef257e3e193243 Merge: 0796d08b8f ad106a283b Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:05 2024 +0100 Merge pull request #85448 from mxaddict/master Update `blender_path` behavior to require exact path to executable instead of trying to guess it commit 0796d08b8f8bf590074b9b09f878f933ce867bdd Merge: 07d290e67e 04a930d9a6 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:16:01 2024 +0100 Merge pull request #84515 from Calinou/editor-multi-window-unavailable-disable-buttons Disable multi-window buttons instead of hiding them when support is unavailable commit 07d290e67e008e8c1d839271ad57a19db0f6be06 Merge: e2c5d2fada f468e59efd Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:15:57 2024 +0100 Merge pull request #83747 from Riteo/gdext-doc GDExtension: Add an interface for loading extra documentation commit e2c5d2fada518c5785da3a8b3de0fff00611a639 Merge: f220d46cdc c051c44df9 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:15:53 2024 +0100 Merge pull request #82113 from nongvantinh/fix-50163 Allow Editor to reload external changes of scripts commit f220d46cdccb15f1aa141cd89c9dacee85b1b6ec Merge: 17e7f85c06 8406e60522 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Mon Jan 29 13:15:42 2024 +0100 Merge pull request #80231 from romlok/input-key-location Support detecting and mapping ctrl/alt/shift/meta by their left/right physical location commit d644b9b640e905555e7e59fcc85eeb0b786141b6 Author: Yuri Sizov <yuris@humnom.net> Date: Fri Jan 26 20:42:20 2024 +0100 Better hide internal properties from users commit 15369fdb1d692e1515dd888dfbae275074be63be Author: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Date: Sun Jan 28 21:51:39 2024 +0100 Remove unnecessary `this->` expressions commit f04b584ed36016a1fcf6f26400f84ee4159560e2 Author: jsjtxietian <jsjtxietian@outlook.com> Date: Fri Jan 26 12:47:55 2024 +0800 Fix `ShaderMaterial::_property_get_revert` crash when given non-exist `p_name` commit de5b0d71036c6e412de89f77eca57a4e35ffd3a3 Author: radzo73 <radzo73qwerty@gmail.com> Date: Sun Jan 28 14:55:48 2024 -0500 Add `get_button_color(column, id)` Docs should point to Color constuctor instead of just the class, but I unfortunately cannot. commit 9d50a486bf00592888664828b35d703c46eaa9b0 Author: Michael Wörner <michael.woerner@blickshift.de> Date: Sun Jan 28 11:46:38 2024 +0100 Fixed ~CSharpScript() holding on to a mutex longer than necessary, creating potential for a deadlock. commit c228e31a96f25c337f1b11b639783fb43c857e8c Author: kobewi <kobewi4e@gmail.com> Date: Sun Jan 21 16:05:52 2024 +0100 Clarify sizing of main screen plugins commit 1e14503715d20bc1fc10f0343e7eecf6d6707feb Author: Zae <zaevi@live.com> Date: Mon Jan 29 02:04:02 2024 +0800 C#: Fix issues for StringName reference in `CSharpInstanceBridge.Get`. commit 0437db0106374ca42b0081e46954e72208b5b30b Author: Hugo Locurcio <hugo.locurcio@hugo.pro> Date: Wed Jan 17 17:30:04 2024 +0100 Display values in vector/quaternion math function errors This can help track down the source of the error more easily. commit 82380ec7009223629924f2931ce748396c0001f4 Author: Raul Santos <raulsntos@gmail.com> Date: Mon Jan 22 05:38:20 2024 +0100 C#: Remove unused code - Remove `AotBuilder` that was used for MonoAOT in 3.x. - Remove `PlaySettings` that was used for IDE support in 3.x. - Remove `ApiAssembliesInfo` that was used for Project generation in 3.x. - Remove pieces of the old iOS support from 3.x. commit f16f8bf39bc79c48c4424d7a6b2e3a0f1eedc18b Author: 20kdc <asdd2808@gmail.com> Date: Wed Nov 29 11:17:04 2023 +0000 Fix the documentation of Bone2D::apply_rest (squashed) Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com> commit f77f46ebff0c305854d528fd8a81b1645be3ab10 Author: Pedro J. Estébanez <pedrojrulez@gmail.com> Date: Sun Jan 28 12:43:58 2024 +0100 Direct3D 12: Query support for 16-bit operations commit 85df221610e72e4b93f4eaf57a2f470c6da8e54d Author: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Sun Jan 28 12:34:56 2024 +0200 [TextServer / Font] Add support for customizable baseline offset. commit 04a930d9a696ca984d2962d8001c50cb65593f29 Author: Hugo Locurcio <hugo.locurcio@hugo.pro> Date: Mon Nov 6 12:41:08 2023 +0100 Disable multi-window buttons instead of hiding them when support is unavailable This is more explicit as for why this functionality isn't available depending on editor settings and current platform. This also exposes a `EditorInterface.is_multi_window_enabled()` method so that editor plugins can easily query whether the editor is able and expected to create multiple windows. commit 3e4e0f08c4fcad6453259a3d8b2ab1d8c775aa32 Author: Micky <micheledevita2@gmail.com> Date: Tue Jan 23 18:47:26 2024 +0100 Improve appearance of Node configuration warnings commit 36c2c4bf0d59de8faadf6ef00cc7957d7f134ba7 Author: Markus Sauermann <6299227+Sauermann@users.noreply.github.com> Date: Fri Jan 26 23:37:30 2024 +0100 Remove unused Variable `Viewport::gui_input_group` The gui input group is not needed during the gui input step. commit 8723d116c4274de9e60c96bcc8471a0e6c8cbab6 Author: Micky <micheledevita2@gmail.com> Date: Sun Dec 31 18:47:18 2023 +0100 Overhaul documentation about MIDI support commit 857586b7ae41f1e50ad3ff85e42cb84df159d7c6 Author: mxaddict <mxaddict@codedmaster.com> Date: Thu Nov 30 02:33:36 2023 +0800 Added proper timeout for blender rpc connection commit bcc96441d6194baca5bc758e0d5eb59844b7054d Author: Pedro J. Estébanez <pedrojrulez@gmail.com> Date: Fri Jan 26 19:43:43 2024 +0100 Undefine yet another macro from Windows headers commit dfa303f7c450868ecb2a379c09d23dffffc5ca20 Author: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Fri Jan 26 19:02:06 2024 +0200 [D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in. commit ad106a283b5bd577e159149fe4afa074c0b28f3e Author: mxaddict <mxaddict@codedmaster.com> Date: Tue Nov 28 17:56:04 2023 +0800 Update blender_path behavior to require exact path to executable instead of trying to guess it commit 06f2f1ecbc9f6f2fee81135478b027f5d7bea2e4 Author: Mikael Hermansson <mikael@hermansson.io> Date: Mon Jan 22 13:55:57 2024 +0100 Bind physics server methods related to `SoftBody3D` commit cbc929edf01b04a575235752178f1f73766790d3 Author: Dario <dariosamo@gmail.com> Date: Fri Jan 26 11:23:26 2024 -0300 Do not use a linear sampler on lightmapper when retrieving grid data. commit c051c44df999f48bacea4cac9237c418e4d31d09 Author: Nông Văn Tình <vannongtinh@gmail.com> Date: Wed Nov 1 12:49:51 2023 +0700 Allow Editor to reload external changes of scripts commit 8406e60522bb8d09649193be43c1c819edc1d059 Author: Mel Collins <sigh@ambimist.com> Date: Thu Aug 3 15:18:26 2023 +0200 Add InputEventKey.location to tell left from right This adds a new enum `KeyLocation` and associated property `InputEventKey.location`, which indicates the left/right location of key events which may come from one of two physical keys, eg. Shift, Ctrl. It also adds simulation of missing Shift KEYUP events for Windows. When multiple Shifts are held down at the same time, Windows natively only sends a KEYUP for the last one to be released. commit d9057c8b5641a350cb13a43ec296ec3a9f4b253e Author: Robert Yevdokimov <robert.yevdokimov@autStand.com> Date: Fri Jan 26 08:24:58 2024 -0500 Add cancel transformation shortcut to 2D commit 39f279710c1c864782ed8abe679eda00b01f3ef8 Author: Dario <dariosamo@gmail.com> Date: Mon Jan 22 16:11:26 2024 -0300 Improve stage and slice tracking behavior of RenderingDeviceGraph to fix various synchronization issues. commit f468e59efdd971712be5fb6972cd21891d867c85 Author: Riteo <riteo@posteo.net> Date: Thu Oct 19 00:50:30 2023 +0200 GDExtension: add an interface for loading extra documentation Adds two new GDExtension interface methods: - `editor_help_load_xml_from_utf8_chars` - `editor_help_load_xml_from_utf8_chars_and_len` Both of these methods parse the XML passed into an extra documentation container which, when needed, is merged into the main doc container. Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com> commit 17e7f85c06366b427e5068c5b3e2940e27ff5f1d Merge: 99ac3d332a b4e519b07f Author: Rémi Verschelde <remi@verschelde.fr> Date: Fri Jan 26 13:18:26 2024 +0100 Merge pull request #87609 from akien-mga/scons-d3d12-install-fix-linux-support SCons: Fix Windows cross-compilation from Linux after #86717 commit b4e519b07f37c8a3e8d2282df085e059cbf87d4b Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 12:26:13 2024 +0100 SCons: Fix Windows cross-compilation from Linux after #86717 commit 73589f6db604c9c93d3c5ab4cc2cd51f9628256f Author: Martin Capitanio <capnm@capitanio.org> Date: Fri Jan 26 10:04:27 2024 +0100 ThorVG: update from v0.12.1 to v0.12.3 https://github.com/thorvg/thorvg/releases/tag/v0.12.3 + Full Changelog: https://github.com/thorvg/thorvg/compare/v0.12.1...v0.12.3 Godot-related SVG bug fixes: + svg_loader: Add missing transform functions skewX and skewY. thorvg/thorvg#1928 + sw_engine: Rectified dash line drawing issue. thorvg/thorvg#1932 commit 99ac3d332ac8aec3ef93b13e8aa9755da667efb0 Merge: 0f6e68a44d e868a9f577 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:49:53 2024 +0100 Merge pull request #87597 from zaevi/fix_csharp_aot_initialization C#: Fix not assigning `runtime_initialized` when initializing with AOT. commit 0f6e68a44d70bb9a28fd5d96763e64e189526015 Merge: e5ecf95c1a 6d17fc1f73 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:49:29 2024 +0100 Merge pull request #87587 from bruvzg/rtl_image_update_connect [RTL] Connect image update signals. commit e5ecf95c1a78066acdf7e26ff17a0468e7d9a610 Merge: d3dfcc5977 2561f6fc52 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:49:06 2024 +0100 Merge pull request #87571 from 0x0ACB/fam_offby1 Fix `FileAccessMemory` off by one error in `eof_reached` commit d3dfcc5977ad3d08db1c7e1a56c0ea9a12856697 Merge: 3bbf4abfaa c892582779 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:48:42 2024 +0100 Merge pull request #87555 from EIREXE/video_player_unfunny Replace internal usage of ImageTexture in VideoStreamPlayer for Texture2D commit 3bbf4abfaa51848b6d18ad9f4c559973faee3cef Merge: 31baf464b3 18599c0935 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:48:18 2024 +0100 Merge pull request #87550 from zaevi/fix_csharp_generic_reloading C#: Fix sorting for generic types when reloading assemblies. commit 31baf464b377636dbdcb5c6b24379bc6470750d3 Merge: 563e385810 a16ca4b96c Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:47:50 2024 +0100 Merge pull request #87549 from emanvidmaker/DarkModeOnWin10Patch Make dark mode Title Bar work on Windows 10 1909 (build:18363) and above commit 563e3858104da5c99e2bbaf0af3525e4db1e4e28 Merge: 73419e645b 201e946741 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:47:25 2024 +0100 Merge pull request #87526 from zaevi/fix_csharp_gc C#: Fix incorrect GC handle for non-instantiable types. commit 73419e645b136728032e2326f4e7b31a0cca67d2 Merge: 85b2c947b2 ed20e32f06 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:47:01 2024 +0100 Merge pull request #87523 from skyace65/Minor-Doc-fixes Fix several minor class reference issues commit 85b2c947b26e6f82d755f281a595ddbcb858260d Merge: e96030ecb4 46b3096570 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:46:37 2024 +0100 Merge pull request #87518 from paulloz/dotnet/fix-warnings Clean a number of C# warnings commit e96030ecb424d8cda5ed033c020e2047e8175872 Merge: 184009eda6 a3f07ad858 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:46:13 2024 +0100 Merge pull request #87506 from mihe/soft-body-without-attachment Fix error when pinning soft body point without attachment commit 184009eda65d2c3f504712169db4d462c8b42cd0 Merge: 2a861ab5a2 0a89a2db9e Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:45:49 2024 +0100 Merge pull request #87482 from RandomShaper/d3d12_spacey Direct3D 12: Let NIR runtime data and push constants use the same register scheme as bindings commit 2a861ab5a2dfb2ce878da39ad959fd36bc013963 Merge: 62c87dc83e 3c596094ab Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:45:25 2024 +0100 Merge pull request #87459 from jsjtxietian/tween-from Fix passing int to tween's `from` with float property will be forced to interpolate as int commit 62c87dc83e1b1b58d94d7de544965d090ea73258 Merge: 1ce40ebb44 552403d581 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:45:01 2024 +0100 Merge pull request #87444 from Mickeon/documentation-XROrigin3D-tweaks Tweak XROrigin3D documentation commit 1ce40ebb44c2e40f2f8e4a9a402fd6cbbad51d4d Merge: c26a338430 efb1cbaad4 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:44:37 2024 +0100 Merge pull request #87386 from clayjohn/GLES3-lightmap-bake Add GLES3 infrastructure for lightmap baking in the compatibility backend commit c26a338430c7343399158edc6842e4eb4d55a9d3 Merge: cd5e973d7a ff089f8cea Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:44:13 2024 +0100 Merge pull request #87356 from jsjtxietian/connection-error Check if the ref shader is valid in visual shader's `_update_option_menu` commit cd5e973d7a2402f6ddaa52e38bda1cfccf33bab0 Merge: 535a2a6f27 ea2c6f1d0b Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:43:49 2024 +0100 Merge pull request #86717 from mrbbbaixue/d3d12-sdk-install-python Add a python script to install Direct3D 12 SDK components. commit 535a2a6f273bae109bc3d121d0e73a4b218bd3b3 Merge: 23275074cb 43a709fd0d Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:43:25 2024 +0100 Merge pull request #86581 from MJacred/optimize/audio_server Optimize `AudioServer::_driver_process()` commit 23275074cbce100ea0dec9ed590a6c3cd1fa15b4 Merge: 849b69828b e864b26e54 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:42:59 2024 +0100 Merge pull request #86304 from OverloadedOrama/fix-menubar-scaling Fix `MenuBar` and `MenuButton` hover position scaling properly with the scale factor multiplier commit 849b69828ba7e43c672612a2a661fa93d4d4f39b Merge: d36f5cf2ba 692412562d Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:42:34 2024 +0100 Merge pull request #85908 from avilches/fix-must-be-variant-analyzer-fail-with-generic-typed-attributes Allow using `[MustBeVariant]` in generic typed attributes commit d36f5cf2ba55995bd0ac83043552601e03b9ee74 Merge: 5034478611 7676e389a7 Author: Rémi Verschelde <rverschelde@gmail.com> Date: Fri Jan 26 11:42:01 2024 +0100 Merge pull request #85504 from nongvantinh/fix-csharp-loader Fix C# script loader does not work reliably commit 6d17fc1f736c648234f5f83564dfd3c1653c2d5c Author: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Thu Jan 25 17:51:18 2024 +0200 [RTL] Connect image update signals. commit 18599c0935571aeede87198d943c4da13b2ad389 Author: Zae <zaevi@live.com> Date: Fri Jan 26 18:00:46 2024 +0800 C#: Fix sorting for generic types when reloading assemblies. commit 43a709fd0d1229c419f36fe436709b872479f5ff Author: MJacred <loesch.benny92@gmx.de> Date: Fri Jan 26 10:11:13 2024 +0100 Optimize AudioServer::_driver_process() Move expensive calculations outside inner hot loops. Forward-ported from 3.6 commit 46b309657048d881fd41c0af40f723b570d02ed4 Author: Paul Joannon <hello@pauljoannon.com> Date: Wed Jan 24 00:49:34 2024 +0100 Clean a bunch of C# warnings - `[Obsolete]` tag generated in the middle of documentation comments - Potential `null` values in generators - Obsolete call to `GetEditorInterface()` - We don't want `Godot.Collections.Array` to end with `Collection` - A few culture specifications and use of `AsSpan` instead of `SubSt…
I generally like the redesign (although the logo feels tacked on somehow), but I think it's crazy to set defaults that are useful to only a tiny fraction of users. Seriously, how many people actually care about the privacy implications of a program checking for updates or downloading the latest news posts? It has to be in the 0.01% range at most, surely. Why wouldn't you make it a CLI option for those people and leave sensible defaults for the rest of us? Think about it this way. If checking for updates automatically is a problem for your privacy, you're already well and truly screwed by a thousand other pieces of software. You couldn't use the internet at all. |
So your logic is "you've already got tons of software tracking you, what's one more?" How is that helpful? Also plenty of people care, despite it not being something you can fathom, and it's not like it's this huge thing to have to enable something once... |
No, my logic is "Godot isn't tracking you so why would we make offline mode the default when 99.99% of people will want online mode?" Browsers and websites are the real privacy issue. Setting Godot (of all things) to offline mode by default literally solves nothing. I get caring about privacy, but this isn't about privacy, this is about setting defaults that apply to only the smallest number of users. There's no way to justify that that I can see. You say it's not a hard thing to enable once? True! Why don't we just disable mouse input by default and give keyboard-only users the default they've always wanted? You only have to enable the setting once, right, so who cares that the default is only useful to a tiny fraction of users? (And yes, this is a massive exaggeration, but you get where I'm coming from, right? It just seems crazy to me.) Truly caring about privacy is a huge amount of work that very, very few people are willing to put in. People just want convenience... even game devs using open source engines. (This rant is courtesy of a long-time desire to see Linux become mainstream combined with frustration at Linux devs for their total and complete lack of understanding of and focus on what normal people actually want.) Edit: I guess really my point is that being online isn't automatically a breach of privacy, so what's the reasoning for being offline by default? |
You do understand that there's more reasons for not automatically going online right? Like not doing random downloads on a slow or metered connection... But since you're making complete strawmen like:
I'll bid you a good day... |
More than most, yes! I've had slow, metered connections for many years and experienced the frustration of not being able to disable automatic updates. However, even on my most limited internet I never thought a program should start in some fully offline mode, only that it should have the option of limiting how much it downloads (mostly, I cared about not auto-updating). But that's entirely beside the point! Godot isn't wanting to do automatic updates, only automatic checking for updates. Godot will never automatically update because it can't; it's a game engine and upgrading your project is often a major undertaking. And yet again, as I've said multiple times now, I'm not suggesting we should remove the offline mode, only that it shouldn't be the default.
That's not a strawman. That's just getting across how ridiculous the choice seems to me. If you want to ignore my real arguments, that's cool with me. I've said my piece and I'm happy to leave it at that. |
Remember that Godot is backed by a foundation based in the EU, so we have to be GDPR-compliant at the end of the day. One of the points of GDPR is that you need to ask for explicit consent to do anything that deals with personal data somewhere in the pipeline. Checking for updates requires sending a HTTP request which exposes your IP address to an host, so that's why you need to opt in. |
I'm not trying to be contrary, but that's a stretch. While IP addresses are typically considered PII, sending your IP address to a host without explicit consent is not automatically a breach of GDPR, especially if the IP isn't logged. You don't need user consent so long as you have a "legitimate interest". Even if you're logging IPs, it probably counts as "legitimate interest" so long as you're doing it for a good reason (and if you're not logging anything it definitely counts). IANAL but see article 6.1.f. Either way, a Network Mode switch doesn't constitute user consent to processing of PII, so if that's your concern, this is not an appropriate way to resolve it. |
This change is only in part about privacy, and more about security. For privacy, we probably want to link/display the privacy policy before going online (so this PR is at least a step in the correct direction). The security concern is about how certain functionalities of the asset library (and soon Editor Help - WIP in #69751), depends on content hosted on third party websites, over which we have no control. In general, the Godot Asset Library does not store any content, which is instead hosted on github, gitlab, or other third party site. This means we have no control over e.g. the images that are used as icons, or screenshots when displaying the asset list in the editor. Since there have been in the past multiple remote code execution vulnerabilities in image handling libraries, we believe it's safer to not force the risk on the user immediately after selecting the "Asset Library" tab (which can still be used to install local assets). |
Introduction
For a few months now I have been thinking about how the project manager feels unpolished and is not a very good representation of Godot's editor UI. I considered that we already have established a nice basic layout with the editor itself, and it's would fit very well into the project manager. I also considered that this would be the least controversial way to update the project manager right now, since such a change would make it resemble the editor more, rather than try to push for something completely new.
With a redesign it's important to keep in mind not only what we want to provide right now, but also what we want to achieve in the future. There has long been talks about such features as an update checker or a news feed from the official website. At the same time, we wanted to improve the way how we handle privacy within the editor and its online features. These two goals are naturally at odds with each other, so it was also my task here to address them together and provide you with a full picture.
And finally, the project manager is currently lacking in the configuration department. You can only change a language, but not other settings which may be important when you first launch Godot. Such settings can be the editor UI theme and the display scale. These not being configurable from the getgo negatively affect user experience. I wanted to address this as well.
So I started with some rework weeks ago, and was able to finally finish it now.
Features
A refreshed look based on the "main view" design of the Godot editor itself.
The tab container has been replaced with the familiar view switches, which grab your attention much better. This should help highlight the asset library much better than before, where a tab for it would be smooshed and lost. Not much is different about the layout itself within each tab, since recent additions (as of 4.2) already make it more organized.
We currently have some issues with keyboard navigation, which this PR doesn't fix. But it's something that we should definitely look into later.
The top bar is split into three parts, which tie the overall look together. In the middle you have the tabs to switch between the project list, the asset library, and potentially more views. As a bait I've added a yet disabled "News" tab to give you all a better idea of how it might fit in. I am fully committed to implement it, if we agree on having it. Or it can be done by someone else too. Not in this PR, but as a follow-up, and, again, only if we agree. I can remove it from the final version of this PR if we don't agree or if we decide that leaving it disabled like that is not a good idea.
On the left I've added a Godot logo, just as a stylistic choice. I think it adds some character to the overall look, but I'm open to change it to something else. We can switch to a different logo (say, only text without the cute robot), or remove it too. But I'd like to insist on keeping it, or at least coming up with an alternative filler for this space. The logo acts as a replacement for the old "About" button.
On the right the old language selector is gone in favor of the new Quick Settings dialog button. More about it below.
The version string is now at the bottom. @KoBeWi's update checker (#75916) can be moved there as well, to alert users in a non-intrusive way. The new footer bar does take away from the vertical space, but in a recent PR I have actually fixed the size application in the project manager. So in the 4.3 branch it actually has more vertical space to work with by default than in 4.2 and before. That was actually a bug I discovered while working on this, and I think that combined these two changes result in plenty of space left for the project list.
Finally, I'm also trying something with the welcome dialog that you see if you have no projects. I think it's a good direction, but I'm not sure if I like the result insofar. But we can always improve on it later.
A new Quick Settings dialog to adjust more than just the language.
While there is a PR (#82212) to bring the entire editor settings dialog into the project manager, I find this solution to be overwhelming for the majority of use cases where you need to configure something before launching the editor.
Instead I propose that we provide a small and local dialog which allows customizing only some of the settings which may be immediately useful, especially when you start Godot for the first time. I've decided to stop at the language, scale, theme, and network mode (more about that one below). It's a bit of a custom UI, but it's easily to implement and maintain, and it allows users to quickly edit the most useful visual settings which directly affect their experience with the project manager.
If we still want to provide the full editor settings dialog in the project manager, I think it can be added on top of this Quick Settings dialog. We can add a button to the Quick Settings dialog which would bring the full dialog up, and I think that would be sufficient compromise for those who need to tinker with some deeper laid settings.
There is, of course, an argument for having a "basic" toggle in the editor settings. But from my experience with the project settings dialog this toggle doesn't significantly help with the user experience. We reduce the number of settings (while also hiding some useful ones, arbitrarily), but the navigation still sucks. It's not a tailored menu, it's still a verbose list, which is not too clear to navigate. So my proposal is to add a tailored menu first, and then maybe add a shortcut for the full menu on top of it.
The network mode setting to bring the editor offline.
With this PR we will start in the offline mode by default. This means that the asset library won't be making any web requests, not until you let the editor go online. The same will apply to future possible features like the update checker and the news section. The same should probably apply to the dialog which allows you to download export templates, and other editor tools with online activity, but pardon me, I haven't implemented it in this PR for simplicity's sake.
The idea is that we don't want to break privacy for users who are concerned about it. And we also want this to be as small of an obstacle as possible for the rest. So besides a new editor settings all UIs which need online activity should offer a way to switch to the online mode with one click.
Added to the "Network" group of settings "Network Mode" currently has two options, "Offline" and "Online". I consciously made it an option list because I can imagine there being a need for a less binary configuration, with some partial mode to allow some connectivity (e.g. only from the Godot-hosted sources).
This feature should make it less controversial to add the update checker and the news tab, or other such features, in the future. It should also replace the adhoc flag from the update checker PR (#75916), as it provides a more universal solution for the editor to go completely offline.
I've kept commits separate as I fully expect some bikeshedding to happen, some rejections to occur, and some ideas to be cut or to be asked to be split out. Each commit is self sufficient and should make it easier to review, but what I should do with them next is up to the consensus of you all.
To close things off, here's a short demo of how the first time experience might look like now.
godot-pm-demo.cut.mp4