Skip to content
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

Implement blender-style 3D transform tools. #56543

Merged
merged 1 commit into from
Feb 8, 2022

Conversation

rcorre
Copy link
Contributor

@rcorre rcorre commented Jan 6, 2022

Fixes godotengine/godot-proposals#1215.

This adds shortcuts for blender-inspired transforms, where you can press
the key and immediately be transforming an object without holding the
mouse. Clicking commits the transformation, ESC aborts it.

This is inspired by Blender's G(rab)/R(otate)/S(cale) shortcuts, but I
decided not to add default bindings as S is already bound to the
regular scale tool, and it might be confusing to only bind some of them.

While actively using a transform tool, you can press X/Y/Z to lock the
transform to an axis or (shift)+X/Y/Z to constrain the transform to a
plane. These keys are only processed if you have a transform tool
(translate/rotate/scale) active and the mouse button is held.

Pressing XX/YY/ZZ will lock the transform to a local (rather than
global) axis.

This is achieved by temporarily toggling the local transform button. I
did this (vs handling it in the transform functions) for 3 reasons:

  • Transform logic for translate/rotate (but not scale) appears to be
    tightly coupled to the gizmo
  • This ensures the gizmo changes to indicate we're transforming
    locally/globally
  • Toggling the button state in the UI also gives the user feedback about
    the nature of the transform.

The original state of the button is reset when the transform completes.

Pressing the spatial_editor/cancel_transform shortcut key during a
transform operation will cancel the transform and reset the objects back
to their original transforms.

This functionality was already accessible by pressing RMB during a
transform, however:

  • ESC is more familiar to blender users, and a more common "cancel" key
    in general.
  • Given you must hold LMB during a transform, pressing RMB as well is
    clumsy if not impossible (on a laptop trackpad).
godot.mp4

@rcorre rcorre requested a review from a team as a code owner January 6, 2022 03:02
@rcorre
Copy link
Contributor Author

rcorre commented Jan 6, 2022

There seems to be a bug with a "dead zone", but it happens on master with the regular transform tools, even without this patch.

bug.mp4

@Calinou
Copy link
Member

Calinou commented Jan 6, 2022

There seems to be a bug with a "dead zone", but it happens on master with the regular transform tools, even without this patch.

Maybe this is caused by #49310? Try reducing the hardcoded drag distance threshold to 0 pixels and see if it still happens.

@rcorre
Copy link
Contributor Author

rcorre commented Jan 7, 2022

Setting the drag distance to 0 did not help. I filed #56582

@JFonS
Copy link
Contributor

JFonS commented Jan 12, 2022

I did some testing and I really like how these new shortcuts work, but I have a couple of notes/nitpicks:

  • Switching the locked axis doesn't give consistent feedback. Depending on whether you switch from no lock to global lock or from global lock to local lock, the node you are editing updates differently. In some cases it doesn't update at all, in others only the rotation is updated, and the full transform is not updated until you move the mouse.
    Ideally the object would completely update on screen as soon as you press the axis shortcut, giving the user a better idea of what is going to happen if they move the mouse.

  • Axis lines stay visible after a transformation/edit. It may just be missing a call to surface->update(); somewhere.

  • Are there any good shortcuts available that we could set as defaults for these transform modes? I think these new immediate modes can be very useful, so I would consider having them enabled by default.

@rcorre
Copy link
Contributor Author

rcorre commented Jan 12, 2022

Are there any good shortcuts available that we could set as defaults for these transform modes

I figured using anything other than the blender defaults of Grab Rotate Scale would be unintuitive, but S already conflicts with the normal scale tool (and maybe R does too? IIRC QWER are all bound by default)

Thanks for giving it a try! I'll look into the other two bullets.

@JFonS
Copy link
Contributor

JFonS commented Jan 19, 2022

I did some more testing after the changes, here are some more small things I found:

  • If you select the scale tool (R shortcut) and then do a view transform (click and drag anywhere) the object translates instead of scaling.

  • You can do Shift+Axis while rotating, but rotating an object over two axes is not really defined, so things just lock-up. I'm not sure what's the best way to handle this, probably just ignoring Shit+Axis shortcuts while rotating.

  • The displayed axis when doing Shift+Axis transforms are wrong for Shift+Y (only shows X axis) and Shift+Z (shows all axes).

Some other things I noticed that can be improved in future PRs, not necessarily in this one:

  • Axis highlighting on the gizmo handles is still active when doing instant transformations, which can be confusing. We could disable highlighting altogether, or even better, highlight the currently locked axes.

  • Given the way we compute transformations (intersecting rays and planes) sometimes the current mouse position doesn't intersect the transform plane and moving the mouse does nothing. This means the user can be moving things around and, after changing the locked axis, they get no movement and no feedback as to why nothing is happening. Improve rotation in the 3D transform gizmo #56946 should help alleviate this in rotations, but the other transforms can also fall into deadzones, so it would be interesting to look into those as well.

Again, great work on this PR. Once the three smaller items are fixed this should be good to merge :)

@rcorre rcorre force-pushed the blendermotion-4.0 branch from f3b53f8 to 1643325 Compare January 22, 2022 19:25
See godotengine/godot-proposals#1215.

This adds shortcuts for blender-inspired transforms, where you can press
the key and immediately be transforming an object without holding the
mouse. Clicking commits the transformation, ESC aborts it.

This is inspired by Blender's G(rab)/R(otate)/S(cale) shortcuts, but I
decided not to add default bindings as `S` is already bound to the
regular scale tool, and it might be confusing to only bind some of them.

While actively using a transform tool, you can press X/Y/Z to lock the
transform to an axis or (shift)+X/Y/Z to constrain the transform to a
plane. These keys are only processed if you have a transform tool
(translate/rotate/scale) active _and_ the mouse button is held.

Pressing XX/YY/ZZ will lock the transform to a local (rather than
global) axis.

This is achieved by temporarily toggling the local transform button. I
did this (vs handling it in the transform functions) for 3 reasons:

- Transform logic for translate/rotate (but not scale) appears to be
  tightly coupled to the gizmo
- This ensures the gizmo changes to indicate we're transforming
  locally/globally
- Toggling the button state in the UI also gives the user feedback about
  the nature of the transform.

The original state of the button is reset when the transform completes.

Pressing the `spatial_editor/cancel_transform` shortcut key during a
transform operation will cancel the transform and reset the objects back
to their original transforms.

This functionality was already accessible by pressing RMB during a
transform, however:

- ESC is more familiar to blender users, and a more common "cancel" key
  in general.
- Given you must hold LMB during a transform, pressing RMB as well is
  clumsy if not impossible (on a laptop trackpad).
@rcorre
Copy link
Contributor Author

rcorre commented Jan 23, 2022

Thanks again for the review @JFonS! I think I addressed the first 3 points.

@rcorre rcorre force-pushed the blendermotion-4.0 branch from 1643325 to 58e8e5f Compare January 23, 2022 01:56
@akien-mga akien-mga requested a review from JFonS February 3, 2022 16:34
Copy link
Contributor

@JFonS JFonS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, I did some more testing and everything works as expected :)

This should be good to merge, but we may want to merge #48307 first. I think rebasing this PR on top of the other will be more straightforward than the other way around. Approving nonetheless.

@akien-mga
Copy link
Member

As discussed on chat, @aaronfranke should have no trouble rebasing #48307 so let's merge this one as it's ready.

@akien-mga akien-mga merged commit cc097cd into godotengine:master Feb 8, 2022
@akien-mga
Copy link
Member

Thanks!

@aaronfranke
Copy link
Member

aaronfranke commented Feb 8, 2022

@akien-mga @rcorre Serious regression: As of this PR, I'm not able to move around the 3D editor camera. Middle click and right click do nothing. Zooming and focusing still work though. Everything works on 2a39a1c

@JFonS
Copy link
Contributor

JFonS commented Feb 8, 2022

looks like EditData::instant is wrongly initialized to true, so navigation doesn't work until you use the transform gizmo. Setting it to false on initialization fixes the issue.

@rcorre rcorre deleted the blendermotion-4.0 branch February 8, 2022 18:37
@geowarin
Copy link
Contributor

geowarin commented Feb 9, 2022

This is really awesome! Switching from blender to godot used to be a bit akward 😄
Thanks @rcorre!

Any chance this gets merged in 3.X.X?

@rcorre
Copy link
Contributor Author

rcorre commented Feb 10, 2022

I'd be willing to backport if the maintainers approve.

markdibarry added a commit to markdibarry/godot that referenced this pull request Feb 10, 2022
commit 2c28729122c71e025f9491b3d9905752341530fe
Merge: f91e5bad8c ba565bec1b
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 19:53:31 2022 +0100

    Merge pull request #57834 from Sauermann/fix-popup-control

commit ba565bec1be8184ff02dea7b5d3655d912132ee0
Author: Markus Sauermann <6299227+Sauermann@users.noreply.github.com>
Date:   Wed Feb 9 03:34:30 2022 +0100

    Update Popup and PopupMenu descriptions

commit f91e5bad8ce2ae30834e0f46be644dbc1d9daf10
Merge: d368b88f5c a18ba63417
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 16:14:50 2022 +0100

    Merge pull request #57855 from Faless/mp/4.x_rpc_strings

commit d368b88f5c4a79fe28a8e098993bd7012a54fe4b
Merge: 2cdbb7c9b8 346a4b4f50
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 16:14:34 2022 +0100

    Merge pull request #57852 from bruvzg/hb_msdf_update

commit a18ba63417fba0c73aa198566f3253b9b9a291fa
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Wed Feb 9 14:27:16 2022 +0100

    [Net] Allow to use strings as method name in RPC.

    Node::rpc and Node::rpc_id will now also accepts Strings instead of only
    accepting StringNames.

commit 2cdbb7c9b858b412df4c1eb50eba921985054f69
Merge: 77c2bfb636 c283a0ece7
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 14:16:00 2022 +0100

    Merge pull request #57847 from mbrlabs/region-select

commit 77c2bfb6366add6aa0b4d1945c554b0a24584ab3
Merge: 85610588d1 d5ea8547d6
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 13:25:40 2022 +0100

    Merge pull request #57838 from TechnicalSoup/ClassRefPatch2

commit 85610588d189e220799ca00237ebe4f00efcd445
Merge: f88a83f611 51cac0709e
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 13:25:18 2022 +0100

    Merge pull request #57843 from Pineapple/vector2-brackets-operator-master

commit 346a4b4f5043dd99bc9e870dacb32964ee1994b7
Author: bruvzg <7645683+bruvzg@users.noreply.github.com>
Date:   Wed Feb 9 14:20:15 2022 +0200

    msdfgen: Update to version 1.9.2

commit c768189bd218937e5a754ba02fd41e936f278aba
Author: bruvzg <7645683+bruvzg@users.noreply.github.com>
Date:   Wed Feb 9 14:18:08 2022 +0200

    HarfBuzz: Update to version 3.3.2

commit c283a0ece7f8c508aa28d787fc103e6b6cdaffb6
Author: Marcus Brummer <mbrlabs7@gmail.com>
Date:   Wed Feb 9 10:32:03 2022 +0100

    Improved region-select in the 3D editor viewport

commit f88a83f6113ac8c7788fda163b831f2f8dabb96b
Merge: 5b866426fd 374299c6fb
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 11:11:01 2022 +0100

    Merge pull request #57810 from timothyqiu/tree-button-id

commit 5b866426fd409bac3502238aaa3d3fd6b3a4ef90
Merge: 79077e6c10 eb24c91040
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 11:05:26 2022 +0100

    Merge pull request #57605 from naithar/fix/godot-view-touch-4.0

commit d5ea8547d6528d838c0c44617f6dab0c4587709e
Author: TechnicalSoup <ben.werbowyj@gmail.com>
Date:   Wed Feb 9 15:50:50 2022 +1100

    Correct C# code example in Color class reference

    Correct C# example code for html method in the Color class reference.

commit 79077e6c10db9e8e53a8134f72e326f3ffb9c51c
Merge: 5e53d9d777 90162851a7
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 09:46:02 2022 +0100

    Merge pull request #57817 from akien-mga/version-hash-cpp

commit 5e53d9d777a4087204dc142d21b878bfab265d63
Merge: d6deada47c f94df6fa2b
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 09:45:47 2022 +0100

    Merge pull request #57820 from akien-mga/scons-compiledb-opt-in

commit d6deada47caa9368a8a45ac3ae11473316d2cc50
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Wed Feb 9 09:39:28 2022 +0100

    Revert "Show the 3D transform gizmo in the center when otherwise offscreen"

    This reverts commit 4234a72b256a95cc345dfa2289fe0a3b588631b6.

    There are some errors which are problematic to have in 4.0 alpha 2.
    The PR can be redone with fixes and merged again after the dev release.

    Fixes #57839.

commit 196801fc64026ab7daee44994ee92bc6eb9faae4
Merge: 3cb9dc78d6 ef81dc1831
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 09:38:39 2022 +0100

    Merge pull request #57837 from YeldhamDev/that_was_pointless

commit f94df6fa2b59f688761988362607ee40455e8e3b
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Tue Feb 8 21:46:47 2022 +0100

    SCons: Make compilation database generation optional

    Saves around 3 s on incremental rebuilds to have it disabled by default.
    Can be enabled with `compiledb=yes`.

commit 90162851a79f46a0e8887e9a403b9ee4db333eb9
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Tue Feb 8 20:50:37 2022 +0100

    Core: Move generated `VERSION_HASH` to a `.cpp` file

    This lets us have its definition in `core/version.h` and avoid
    rebuilding a handful of files every time the commit hash changes.

commit 51cac0709e9c053b0785fc11cd26cb9cc83c01ae
Author: Bartłomiej T. Listwon <blistwon@gmail.com>
Date:   Wed Feb 9 09:17:17 2022 +0100

    Fix Vector2 and Vector2i coord access via operator[]

commit 3cb9dc78d6001af550f125bb6f8b7da27a291add
Merge: d435c51cda d4553c5126
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 09:14:17 2022 +0100

    Merge pull request #57806 from akien-mga/scons-gotta-go-fast

commit d435c51cda529cc85a945fb909217dd6b0dc531b
Merge: a4759e375a eb9d8ad44a
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 08:16:49 2022 +0100

    Merge pull request #57836 from BastiaanOlij/deprecated_vulkan_macros

commit ef81dc1831db37c104091b5f7edf8102c8d72270
Author: Michael Alexsander <michaelalexsander@protonmail.com>
Date:   Wed Feb 9 01:36:20 2022 -0300

    Remove code to update the layout direction of submenus from `PopupMenu`

commit eb9d8ad44ae3cd6d793c472dd7c64110275eff8c
Author: Bastiaan Olij <mux213@gmail.com>
Date:   Wed Feb 9 15:04:47 2022 +1100

    Nitpicking, VK_VERSION_* have been deprecated, replaced by VK_API_VERSION_*.

commit a4759e375a5adcba6de7aaad11f3a5408592ea4c
Merge: f111768ba9 35806c1511
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 01:22:12 2022 +0100

    Merge pull request #57832 from Sauermann/fix-id-creation

commit f111768ba9345e092d4e4878a32b71952ce1f960
Merge: b480140ce1 839b8cae1e
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 01:20:58 2022 +0100

    Merge pull request #57813 from MisoMosiSpy/disabled_icons

commit 35806c1511a0ea4da8fcf3907f8a2011bebbdb7b
Author: Markus Sauermann <6299227+Sauermann@users.noreply.github.com>
Date:   Wed Feb 9 00:53:57 2022 +0100

    Adjust id creation in PopupMenu to avoid duplicate ids

commit 839b8cae1e33b8fa656c5249b5cf4617148fef4e
Author: MisoMosiSpy <misomosispy@gmail.com>
Date:   Tue Feb 8 22:12:00 2022 +0530

    Updated alpha value for disabled icons in default theme.

commit b480140ce162414582aa185f4378a133684179b7
Merge: 64c4ce516a f7529d417d
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 00:27:08 2022 +0100

    Merge pull request #57825 from Calinou/ios-remove-obsolete-define

commit 64c4ce516a9bc501a9e25421b722cd5245a0f5bb
Merge: ba1024f42d 41a158af56
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Wed Feb 9 00:24:55 2022 +0100

    Merge pull request #52592 from ellenhp/randomizer

commit 41a158af56f8ebd06b7a09aad0949a86f12bfcc7
Author: Ellen Poe <ellenhp@google.com>
Date:   Sat Sep 11 23:57:09 2021 -0700

    Add AudioStreamRandomizer, replacing AudioStreamRandomPitch

    Add additional randomization options.

commit ba1024f42d9ba279b13eee0cbe3286089dc39ffb
Merge: 25d4c14fef 74fc4410f4
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 23:25:16 2022 +0100

    Merge pull request #57822 from Calinou/ios-remove-armv7

commit 25d4c14fef0b76b8f4dcc09214b5b30f84998e62
Merge: 8907c566ed dd970482c5
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 23:23:50 2022 +0100

    Merge pull request #57627 from JFonS/occluder_improvements

commit 8907c566ed24b5c648c5b733b85e004299a51c27
Merge: c65a4fe9b6 2d82e076f4
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 23:12:05 2022 +0100

    Merge pull request #57773 from pfertyk/issue_57710_tabbar_update_hover

commit c65a4fe9b6d45357ed938744758b8e965746f0db
Merge: d64b27e510 4234a72b25
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 22:49:14 2022 +0100

    Merge pull request #48307 from aaronfranke/gizmo-offscreen

commit f7529d417dfed775da3de9eeadf7a7a39a21c094
Author: Hugo Locurcio <hugo.locurcio@hugo.pro>
Date:   Tue Feb 8 22:45:36 2022 +0100

    Remove obsolete define in the iOS buildsystem code

    This define was used by the WebM/libvpx code, but it's now removed
    in `master`.

commit d64b27e510d3bda72730717f1bce0f5a3470a689
Merge: a5963500b9 a6c77c7c5a
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 22:34:23 2022 +0100

    Merge pull request #57819 from Jojox/fix_padded_texture_format

commit a5963500b9b1b4cc965c2ff14d1f50ca955f4964
Merge: f05f2dd80f 68b04a5a07
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 22:19:55 2022 +0100

    Merge pull request #57818 from raulsntos/typed-navigation

commit f05f2dd80fca926a5dc1a58249321b638209f425
Merge: 76ce5c16f3 6c3b6664b5
Author: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
Date:   Tue Feb 8 22:16:54 2022 +0100

    Merge pull request #57076 from IgorKordiukiewicz/fix-mono-string-capitalize

    String.Capitalize() in C# now matches the behaviour of String::capitalize() in C++

commit 74fc4410f462e26ce9842eeb1cebb428532f9915
Author: Hugo Locurcio <hugo.locurcio@hugo.pro>
Date:   Tue Feb 8 22:09:30 2022 +0100

    Remove support for ARMv7 (32-bit) on iOS

    All iOS devices since the iPhone 5S support ARMv8 (64-bit).

    The last iOS version supported on ARMv7 devices is 10.x, which is
    too old to run Godot 4.0 projects since the minimum supported
    iOS version is 11.0.

commit 2d82e076f49db6b4979da5e75926e1c0fa8c5636
Author: Paweł Fertyk <pfertyk@pfertyk.me>
Date:   Mon Feb 7 21:40:16 2022 +0100

    Fix `TabBar._update_hover` crash

    Fixes #57710.

commit 4234a72b256a95cc345dfa2289fe0a3b588631b6
Author: Aaron Franke <arnfranke@yahoo.com>
Date:   Tue Feb 1 09:23:14 2022 -0600

    Show the 3D transform gizmo in the center when otherwise offscreen

commit a6c77c7c5a5a9f2f2d990679c7a4d2efa8749918
Author: JoJoX <jonas.lhoste@gmail.com>
Date:   Tue Feb 8 15:27:44 2022 -0500

    Use source image format when creating padded texture

commit 68b04a5a073e66f73b0df3daec89999960f04c84
Author: Raul Santos <raulsntos@gmail.com>
Date:   Tue Feb 8 20:58:55 2022 +0100

    Add array element type to `_get_polygons` and `_get_outlines`

commit 76ce5c16f351632d40fea9e6ea2bb015cb827aca
Merge: faeb71865e 4397109aab
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 21:14:51 2022 +0100

    Merge pull request #55584 from KoBeWi/twoids

commit faeb71865eae069c1940d0e84c35ad82591a400a
Merge: 39562294ff 8345aabaf4
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 21:13:00 2022 +0100

    Merge pull request #56946 from JFonS/editor_transform_improvements

commit 8345aabaf49fde32729fe168775d6a394115553b
Author: jfons <joan.fonssanchez@gmail.com>
Date:   Mon Jan 17 15:48:21 2022 +0100

    Improve rotation in the 3D transform gizmo

    * Get rid of deadzones.
    * Make it easier to select rotation handles at very oblique angles.
    * Handle rotation for axes that are perpendicular to the camera.

commit 39562294ff3e6a273f9a73f97bc54791a4e98f07
Merge: 592e92d938 e0c82913ff
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 19:55:36 2022 +0100

    Merge pull request #57816 from JFonS/fix_3d_viewport_navigation

commit e0c82913ff39ab036f3c440f9e064f91ed797bc7
Author: jfons <joan.fonssanchez@gmail.com>
Date:   Tue Feb 8 19:24:50 2022 +0100

    Fix navigation in 3D viewport

    The incorrect initialization of EditData::instant to true was preventing the navigation code to run until the transform gizmo was used.

commit 4397109aab412f1f9edcd949bb1e80728b6a8f67
Author: kobewi <kobewi4e@gmail.com>
Date:   Fri Dec 3 12:54:57 2021 +0100

    Fix uid conflict when duplicating resource

commit 592e92d938ce4eeb053e208dc673598d9aaa727a
Merge: 72de251501 d3345ef1f8
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 17:32:49 2022 +0100

    Merge pull request #57809 from akien-mga/osx-11.00-warning

commit 72de2515019048dfdad5817ab069207061ba858c
Merge: 6889085813 fb1fa2a3f7
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 17:32:33 2022 +0100

    Merge pull request #57807 from KoBeWi/ninja_methods

commit 68890858133ab2046b9418a349d613b5d2cfdffd
Merge: 96e4de3511 0e8147d303
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 17:32:14 2022 +0100

    Merge pull request #57808 from KoBeWi/named_inspector

commit 374299c6fb7248c1bae08fcc0ba7f0467c980f7e
Author: Haoyu Qiu <timothyqiu32@gmail.com>
Date:   Tue Feb 8 23:56:13 2022 +0800

    Improve TreeItem button API

commit 96e4de35117e516b5c25303224bfd3269f067188
Merge: cc097cd22b 21b9f1ecfe
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 16:42:01 2022 +0100

    Merge pull request #57626 from Calinou/3d-editor-rename-debug-draw-modes

commit cc097cd22b67416bb9b6db1fdcc96d8056b8c703
Merge: 2a39a1c221 58e8e5f219
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 16:39:19 2022 +0100

    Merge pull request #56543 from rcorre/blendermotion-4.0

commit d3345ef1f84cd68a7d28912ba0063cd988b95cd5
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Tue Feb 8 16:20:07 2022 +0100

    OSX: Pass `-mmacosx-version-min=11.0` instead of `11.00`

    Both are recognized by Xcode and equivalent, but osxcross issues a
    warning for the latter:
    ```
    osxcross: warning: '-mmacosx-version-min=' (11.0.0 != 11.00)
    ```

commit 0e8147d3039e7e8ce3f61850c3ab8b004df8ce85
Author: kobewi <kobewi4e@gmail.com>
Date:   Tue Feb 8 16:15:27 2022 +0100

    Display built-in script names in the inspector

commit fb1fa2a3f74a0b5ff2562829a73c9b1b91a80706
Author: kobewi <kobewi4e@gmail.com>
Date:   Tue Feb 8 16:06:57 2022 +0100

    Reload built-in scripts when picking methods

commit d4553c51262e347b8c877d57ca251d94faf4dc30
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Tue Feb 8 15:35:13 2022 +0100

    SCons: Add `fast_unsafe` option for faster rebuilds

    This reverts #53828 which had caused a significant drop in incremental
    rebuild time for debug builds (from 10s to 23s on my laptop).

    The "faster but unsafe" options are re-added, as well as adding
    `max_drift=60` which we didn't use previously.

    These options speed up SCons' own processing of the codebase to decide
    what to build/rebuild (i.e. the first step before actually calling the
    compiler). This will therefore not make much difference for scratch
    builds, and is mostly useful for incremental rebuilds (including "null"
    rebuilds with no change).

    These options are enabled automatically for `debug` builds, unless
    `fast_unsafe=no` is passed.
    They are disabled by default for `release` and `release_debug` builds,
    unless `fast_unsafe=yes` is passed.

commit 2a39a1c2217a1d31826cd68f03cfdd8a0be769f0
Merge: e776580c30 b966ca6167
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 15:22:31 2022 +0100

    Merge pull request #57612 from maiself/improve-gamepad-detection

commit e776580c3047bf4c7418362b7b55de993e52194b
Merge: cb7f21eac3 db43237c78
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 15:21:31 2022 +0100

    Merge pull request #57801 from reduz/fix-blend-shape-mask-2

commit cb7f21eac33ce7e322dc51133045c332e7c14fa7
Merge: 4a2f22daf4 8e3245383a
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 15:21:15 2022 +0100

    Merge pull request #57774 from bruvzg/font_edit_fixes

commit 4a2f22daf47c275a7839c0f85924366d1162c8f0
Merge: b6ddf4a629 3495288b03
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 14:36:31 2022 +0100

    Merge pull request #57798 from akien-mga/scons-module-tests-simplify

commit 8e3245383a266986605b098ed1ac0746258c3a61
Author: bruvzg <7645683+bruvzg@users.noreply.github.com>
Date:   Mon Feb 7 22:40:28 2022 +0200

    [Editor] Fix font style matching issues.

    Fix font selection when no style selected.
    Fix style matching when fonts have different style sets.
    Use SNAME for theme overrides.

commit b6ddf4a62931e4154fac5b31bca60fe8f48cd7ff
Merge: e26598b4a1 21bf23d966
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 14:04:28 2022 +0100

    Merge pull request #57692 from YeldhamDev/popping_options

commit db43237c787b0ab0a57e5366392aaa57af628309
Author: reduz <reduzio@gmail.com>
Date:   Tue Feb 8 13:38:19 2022 +0100

    Fix BLEND_SHAPE_MASK

    * Should now be correct
    * Supersedes 53738

commit e26598b4a1b6bc4e5fa9eb4c9413b0d4aff6129d
Merge: 561fbe2175 31824420e4
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 13:43:19 2022 +0100

    Merge pull request #40140 from hinlopen/tree-scroll-center

commit 561fbe21751806ddec84311e4fed7943e241cd25
Merge: f9e496168f f8dde5871c
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 13:17:35 2022 +0100

    Merge pull request #56923 from fire-forge/fix-create-root-node-scrolling

commit 3495288b037a20c2baebad1985b3b00dda93e72d
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Tue Feb 8 12:39:40 2022 +0100

    SCons: Improve logic to generate `modules_tests.gen.h`

    This removes the need for `AlwaysBuild` by ensuring that the proper
    files are being tracked as `Depends`.

commit f9e496168f336b750149ad95a9eab526a0be0fcc
Merge: b0fd01b50c 8675ff0a74
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 12:56:43 2022 +0100

    Merge pull request #57786 from 0And/vectorslerp

commit b0fd01b50c70dd4724f753f3903932e3559ee0c7
Merge: f425d403fe 720fbe3101
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 12:55:49 2022 +0100

    Merge pull request #57797 from bruvzg/mac_no_focus

commit 720fbe310112521663d3d04bb3ebda7623a9d158
Author: bruvzg <7645683+bruvzg@users.noreply.github.com>
Date:   Tue Feb 8 13:22:03 2022 +0200

    [macOS] Fix NO_FOCUS macOS flag.

commit f425d403fe8be16b1a5dafbdce4dce546bdd28a4
Merge: 13d4cbb87c a08fc442a0
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 11:15:01 2022 +0100

    Merge pull request #57066 from KoBeWi/in_the_name_of_the_custom

commit 13d4cbb87c027dde09fa11ed9d5db98e6600309d
Merge: a66e55069e 38232c70db
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 11:13:38 2022 +0100

    Merge pull request #57788 from reduz/describe-sname-usage

commit a66e55069e6794ff5bf7d7a39e797e5be2a7df4a
Merge: dc17cce995 6eeeb9a63c
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 11:13:24 2022 +0100

    Merge pull request #57796 from akien-mga/revert-sname-theme-setters

commit dc17cce995a5958fe608221aa089ff912853a744
Merge: f32c715fbc b801742b77
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 11:12:44 2022 +0100

    Merge pull request #57795 from bruvzg/gde_missing_binds

commit f32c715fbc7c74798df838254185ef33864db031
Merge: 7e308d5120 317cd0b19a
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 11:09:43 2022 +0100

    Merge pull request #57720 from akien-mga/prefer-cast-to-get_class-string-compare

commit 7e308d5120f61bcb70eb0afdbac35511484324d8
Merge: 6b13056409 bbcd9c5b97
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 10:50:08 2022 +0100

    Merge pull request #57791 from timothyqiu/raycast-clear-except

commit 6b13056409dba9c9ac1bccce23fb9320d7c48725
Merge: deece9035a 4fcc35bdfa
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 10:42:18 2022 +0100

    Merge pull request #57794 from bruvzg/x11_fs_fix

commit deece9035a4bf3a8db5b35dacff3e26285248c85
Merge: 0154ce2c8d 8bc837453b
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 10:40:08 2022 +0100

    Merge pull request #57790 from bruvzg/fix_fs_detect

commit 6eeeb9a63ce6f9dc6134429ed9c6cf92b1a8f2ed
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Tue Feb 8 10:30:18 2022 +0100

    Re-add missing `SNAME` macros in `get_theme_*` calls

    They were removed in the previous commit reverting the addition of `SNAME`
    to `add_theme_*` and theme setter methods, which is not wanted.

commit fc076ece3ddecd44a62dc0febed7baee47f2eede
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Tue Feb 8 10:14:58 2022 +0100

    Revert "Add missing SNAME macro optimization to all theme methods call"

    This reverts commit a988fad9a092053434545c32afae91ccbdfbe792.

    As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used
    everywhere but only in critical code paths. For theme methods specifically, it
    was by design that only getters use `SNAME` and not setters.

commit 317cd0b19a284f9a7296fcb4e06d9b2362da8c85
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Sun Feb 6 14:12:19 2022 +0100

    Refactor some object type checking code with `cast_to`

    Less stringly typed logic, and less String allocations and comparisons.

commit 4fcc35bdfa86fa8b39efe1030ed6d40ef36f76a7
Author: bruvzg <7645683+bruvzg@users.noreply.github.com>
Date:   Tue Feb 8 11:01:24 2022 +0200

    [X11] Fix decoration reset when returning from fullscreen mode.

commit 8bc837453b32df943dbf866954bbc66f1c023bfd
Author: bruvzg <7645683+bruvzg@users.noreply.github.com>
Date:   Tue Feb 8 10:36:57 2022 +0200

    [Windows] Fix fullscreen mode detection on window move/resize.

commit bbcd9c5b9781fdbebd2e03a6bf054d387d3df24c
Author: Haoyu Qiu <timothyqiu32@gmail.com>
Date:   Tue Feb 8 16:31:07 2022 +0800

    Fix RayCast{2,3}D.clear_exceptions clears parent

commit 38232c70db31eaca3ae9ac770b763141d6daa68c
Author: reduz <reduzio@gmail.com>
Date:   Tue Feb 8 08:55:20 2022 +0100

    Clarify SNAME usage

    * Explain where it should be used, with examples.
    * Clarify that it should _not_ be used everywhere, only where needed.
    * Supersedes #57720

    This PR is the result of the discussion that happened in a contractor meeting, and it attempts to clarify the intended use for this macro for other contributors.
    As a personal note, It is my view that other approaches to using SNAME (like having a global or per class table of string names) are mere overengineering without any real benefit (performance remains the same, and usage of stringnames becomes more cumbersome. Additionally, there was not any significant amount of errors in name mismatching as a result of using strings since Godot was open sourced).

commit 0154ce2c8d66528d617e10b139640fd4c4405c6b
Merge: d6ba4a223f 7a8b11ee14
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 08:57:29 2022 +0100

    Merge pull request #43015 from Xrayez/refactor-auto-instaprop

    Refactor auto-instantiation of `Object` properties in editor

commit b801742b773a8002dc6bddb4fb157565179654d3
Author: bruvzg <7645683+bruvzg@users.noreply.github.com>
Date:   Tue Feb 8 09:49:14 2022 +0200

    [GDExtension] Add binds for missing methods, operators, and constants required for GDExtension TextServer implementation.

commit d6ba4a223fc394fa2fd9321c19468e05b5de1de0
Merge: 26facc0543 acd562be5d
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Tue Feb 8 08:14:21 2022 +0100

    Merge pull request #57785 from TechnicalSoup/ClassRefPatch2

    Add method descriptions to Color class reference

commit 8675ff0a745836263d09565e5ab729fc02abf760
Author: Andrew Jacob <amj1108@icloud.com>
Date:   Mon Feb 7 22:58:43 2022 -0700

    Allow C# Vector2/3 slerp values to have any length

commit acd562be5d3295d9f5e6741e36149ca0849c9b3d
Author: TechnicalSoup <ben.werbowyj@gmail.com>
Date:   Tue Feb 8 16:13:48 2022 +1100

    Add method descriptions to Color Class Reference

    Add definitions and code examples for the html and html_is_valid methods

commit 26facc054331f8810dba0c040f730111d2b27899
Merge: c842402ced 8a1d924896
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 22:49:15 2022 +0100

    Merge pull request #57775 from TechnicalSoup/ClassRefPatch

    Add method description to Vector3i Class Reference

commit 8a1d924896a338cbe10118168cf3b57b221965c9
Author: TechnicalSoup <ben.werbowyj@gmail.com>
Date:   Tue Feb 8 07:52:11 2022 +1100

    Add method description to Vector3i Class Reference

    Add description for the abs method in the Vector3i class. Description added is identical to the abs method for the other vector classes

commit c842402ced8422b3904909a15bd15ca76b029a26
Merge: d35269ab21 81b6da9d3d
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 19:21:12 2022 +0100

    Merge pull request #57766 from winterpixelgames/master-faster-script-class-get-parent

commit 81b6da9d3db46b0043052330ea97dffe15902dae
Author: Jason Knight <jason@winterpixel.com>
Date:   Mon Feb 7 11:37:48 2022 -0600

    Use ScriptServer::get_global_class_base instead of script_class_get_base in script_class_is_parent.

commit d35269ab21451a88331844b2098d4e9e20d43fc5
Merge: 05bad19a9a 5d4a141c97
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 18:28:27 2022 +0100

    Merge pull request #57764 from timothyqiu/octant-delete

commit 05bad19a9ab6b173c5e3287283eaa8f72c0c16d2
Merge: 650e218b96 5268786ac0
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 18:27:58 2022 +0100

    Merge pull request #57752 from Calinou/doc-csg-nodes-performance

commit 5d4a141c978dbac6cd89cf3afc6f75f0e5ac431e
Author: Haoyu Qiu <timothyqiu32@gmail.com>
Date:   Tue Feb 8 00:27:01 2022 +0800

    Fix GridMap memory leak

commit 5268786ac0213d4881f8a214b4d81f0c33340802
Author: Hugo Locurcio <hugo.locurcio@hugo.pro>
Date:   Mon Feb 7 13:58:08 2022 +0100

    Document performance limitations with CSG nodes, link to tutorial

commit 650e218b9606e4640ac10ecbff1b7f08b6be0daf
Merge: 8910d0bcb4 59e9a8c275
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 15:54:32 2022 +0100

    Merge pull request #56768 from YeldhamDev/dock_float_theme

commit 8910d0bcb4a6c03acfbcb7ec4c585ed0f2e1f4d9
Merge: be1adf491a 086256431a
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Mon Feb 7 15:24:32 2022 +0100

    Merge pull request #53704 from Faless/mp/4.x_gdscript_custom_callable

    [GDScript] Implement RPC custom callable (`my_func.rpc()`)

commit a08fc442a07be2c2c668a6b6a92a501522115cd4
Author: kobewi <kobewi4e@gmail.com>
Date:   Sun Feb 6 19:02:53 2022 +0100

    Fix script editor errors with CustomCallables

commit be1adf491a6b40642cba186167e6635efca37f99
Merge: 1694626e03 20fb34927d
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 13:58:35 2022 +0100

    Merge pull request #57736 from TechnicalSoup/Patch-3

commit 59e9a8c275ac56bdc23883d8902920e93bcb6c69
Author: Michael Alexsander <michaelalexsander@protonmail.com>
Date:   Thu Jan 13 18:13:45 2022 -0300

    Fix theming for floating window docks

commit 086256431a958cb843e5d009749edb943dc8666f
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Fri Oct 8 12:36:06 2021 +0200

    [Net] Add type check to GDScriptRPCCallable.

    It will print an error when using an RPC defined on an object which does
    not extend Node.

commit 994638da4f78ad09a1ead707874654ae0d2a36db
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Thu Oct 7 14:39:52 2021 +0200

    [Net] Implement GDScript custom RPC callable.

commit 1694626e03639cdf6879117e00772bdcc6bad594
Merge: bc1a3d791d b84ef16aa7
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 13:36:09 2022 +0100

    Merge pull request #57305 from bruvzg/macos_cleanup

commit bc1a3d791d8797071844ca5ac3d15aee59b361f9
Merge: 6a56314eab a6e8cdae66
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 13:27:12 2022 +0100

    Merge pull request #57490 from Calinou/test-add-animation

commit 6a56314eaba261b73cb297ebd8754a9746de2e45
Merge: 6a33d8b93f e81ccaf270
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 13:22:23 2022 +0100

    Merge pull request #57748 from fabriceci/rename-script-template-variable

commit 6a33d8b93fc7175865a9c064c6ba4bf400c9650d
Merge: 88aea70a09 948e66c3d6
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 13:21:53 2022 +0100

    Merge pull request #57718 from Faless/js/4.x_pwa_prefer_cache_pr

commit 88aea70a098d91f1887e7c4e3218ce23c42e3b4f
Merge: bfb75d107c d9d12cd352
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 13:20:15 2022 +0100

    Merge pull request #57749 from timothyqiu/feature-class-props

commit dd970482c5961278034fde5fb2961e31c543e9ae
Author: jfons <joan.fonssanchez@gmail.com>
Date:   Fri Feb 4 16:28:18 2022 +0100

    Improvements and fixes to occluders

    Improvements:
    * Occluder3D is now an abstract type inherited by: ArrayOccluder3D, QuadOccluder3D, BoxOccluder3D, SphereOccluder3D and PolygonOccluder3D. ArrayOccluder3D serves the same purpose as the old Occluder3D (triangle mesh occluder) while the rest are primitives that can be used to manually place simple occluders.
    * Occluder baking can now apply simplification. The "bake_simplification_distance" property can be used to set a world-space distance as the desired maximum error, set to 0.1 by default.
    * Occluders can now be generated on import. Using the "occ" and "occonly" keywords (similar to "col" and "colonly" for colliders) or by enabling on MeshInstance3Ds in the scene's import window.

    Fixes:
    * Fixed saving of occluder files after bake.
    * Fixed a small error where occluders didn't correctly update in the rendering server.

    Bonus content:
    * Generalized "CollisionPolygon3DEditor" so it can also be used to edit Resources. Renamed it to "Polygon3DEditor" since it was already being used by other things, not just colliders.
    * Fixed a small bug in "EditorPropertyArray" where a call to "remove" was left after the "remove_at" rename.

commit 20fb34927d8a03c60c8fa9a3c58d0d582fd6aee9
Author: TechnicalSoup <ben.werbowyj@gmail.com>
Date:   Mon Feb 7 12:28:42 2022 +1100

    Fix icons for sub windows

    Modify the create_sub_window method to set an icon for all sub windows, setting the icon to the same icon as the main window.

    Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>

commit bfb75d107c91fc36c07b917a12de715b6b107ef9
Merge: b024602660 a6e280c5de
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 12:50:44 2022 +0100

    Merge pull request #57741 from Chaosus/vs_fixes

commit d9d12cd352b0244cc95b5d4d928753a26a0515ea
Author: Haoyu Qiu <timothyqiu32@gmail.com>
Date:   Mon Feb 7 18:55:17 2022 +0800

    Don't display empty Class Properties in feature profile

commit e81ccaf270fa06a7ecc6cbf9aed2a35dee29984c
Author: fabriceci <fabricecipolla@gmail.com>
Date:   Mon Feb 7 11:46:30 2022 +0100

    rename jump force to jump velocity

commit b02460266065413957eae3de34f9aef49c5a72f1
Merge: 6f425242dc a988fad9a0
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 11:46:25 2022 +0100

    Merge pull request #57725 from jmb462/missing-sname-theme-setters

commit 6f425242dcce95ae9993dca017f91e7bab2060d3
Merge: a6abeb6b20 ec00283f91
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 11:16:27 2022 +0100

    Merge pull request #57743 from akien-mga/resource-importer-insert-opt-in

commit a6abeb6b20fe542f4cf2582819ec6f3c99ab1fed
Merge: 404364d4b4 60d8df3fee
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 10:16:50 2022 +0100

    Merge pull request #57682 from clayjohn/VULKAN-canvas-blur

commit 404364d4b4eb3949ea85f628fd1cb85fdaa59399
Merge: 863f2840a5 ab5b5e1577
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 09:52:11 2022 +0100

    Merge pull request #57684 from KoBeWi/todo_optimize

commit ec00283f9100c0456f09fd70edd2c6d3eb763c92
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Mon Feb 7 09:38:42 2022 +0100

    ResourceImporter: Restore default append logic for new importers

    This was changed in #56943 to allow adding new importers from plugins that
    take precedence over built-in ones, but this should be opt-in, not the default
    behavior.

    Fixes #57730.

commit a6e280c5de51fd8c3b5d1ab1161fd5ee58f1e6be
Author: Yuri Roubinsky <chaosus89@gmail.com>
Date:   Mon Feb 7 08:46:51 2022 +0300

    Add some more fixes to visual shader

commit 863f2840a582e289612147be43d8cbededed668c
Merge: c2a540de51 8bde86da10
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 08:19:58 2022 +0100

    Merge pull request #57735 from YeldhamDev/popups_and_mirrors

    Make popups from `MenuButton`, `OptionButton`, and submenus obey the layout direction

commit c2a540de51e41e1dbfc3ae8d6cfc438061e3c28d
Merge: 602cacae21 ee3b7bc747
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 08:14:30 2022 +0100

    Merge pull request #57732 from KoBeWi/leftplication

    Move Replication tab to a fixed position

commit 602cacae2190e2f8714b19158878d7a65c04e98d
Merge: 481b05fef1 803ac608a6
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 08:00:24 2022 +0100

    Merge pull request #57727 from kleonc/sprite_frames_editor_fix_loading_non_texture_crash

    `SpriteFramesEditor` Fix crash when selecting non-`Texture2D` file for splitting

commit 481b05fef1918aed9cee47680cb55b997acc5daa
Merge: 8aa4ed8b5b 303f0c8626
Author: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
Date:   Mon Feb 7 04:58:16 2022 +0100

    Merge pull request #57738 from raulsntos/fix-57503

    Attach mono thread before getting `nativeName` field

commit 303f0c8626aea2aef21a70a1598f689ee4e16b0d
Author: Raul Santos <raulsntos@gmail.com>
Date:   Mon Feb 7 03:41:44 2022 +0100

    Attach mono thread before getting nativeName field

    In order to access the `nativeName` constant field from a C# class, the
    mono scope thread must be attached or the mono domain will be null.

commit 8bde86da10eacff9221a19a2806eb2ece789de03
Author: Michael Alexsander <michaelalexsander@protonmail.com>
Date:   Sun Feb 6 23:07:08 2022 -0300

    Make popups from `MenuButton`, `OptionButton`, and submenus obey the layout direction

commit ee3b7bc747f2dd244d216e392535bccf5be23ca2
Author: kobewi <kobewi4e@gmail.com>
Date:   Mon Feb 7 01:06:55 2022 +0100

    Move Replication tab to a fixed position

commit 8aa4ed8b5b22881661f1355cf90871c4e25c68e2
Merge: 3ae38edc8e 5108af42ad
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Mon Feb 7 00:35:42 2022 +0100

    Merge pull request #57729 from TechnoPorg/astar-fix-invalid-include

    Remove a cross include from a_star.cpp

commit 803ac608a62d738a5bec9c8dbed4b62c8bcd8b5a
Author: kleonc <9283098+kleonc@users.noreply.github.com>
Date:   Sun Feb 6 23:39:04 2022 +0100

    SpriteFramesEditor Fix crash when selecting non-Texture2D file for splitting

commit 3ae38edc8e09a97578fc93e11399e635cd82b15c
Merge: 61dd3136fc d6c7d4ab5d
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sun Feb 6 23:22:15 2022 +0100

    Merge pull request #56844 from Calinou/ssr-fix-background-line-master

    Fix visible background line in intersections in screen-space reflections

commit a988fad9a092053434545c32afae91ccbdfbe792
Author: jmb462 <jmb462@gmail.com>
Date:   Sun Feb 6 20:17:35 2022 +0100

    Add missing SNAME macro optimization to all theme methods call

commit 5108af42ad9b84ca8cf9e4a499f67481ca09b9da
Author: TechnoPorg <jonah.janzen@gmail.com>
Date:   Sun Feb 6 15:05:17 2022 -0700

    Remove a cross include from a_star.cpp

commit a6e8cdae662b8a84e37edd41d46de8b23a1c76a6
Author: Hugo Locurcio <hugo.locurcio@hugo.pro>
Date:   Fri Jan 21 14:12:55 2022 +0100

    Add a unit test suite for Animation

commit 61dd3136fc19fb752f140c1942f32b1517373a42
Merge: 9cf6e5113b 01c1667836
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sun Feb 6 21:25:42 2022 +0100

    Merge pull request #57701 from Calinou/contributing-prefer-attachments

    Recommend using GitHub attachments for minimal reproduction projects

commit 9cf6e5113b05e4442b9a6a3f617f00902ca1d80e
Merge: 784b74ef56 db18faf660
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sun Feb 6 21:24:47 2022 +0100

    Merge pull request #57716 from Chaosus/vs_vector_3d

    Rename `PORT_TYPE_VECTOR` to `PORT_TYPE_VECTOR_3D` in visual shaders

commit 784b74ef563bf3a33c4b0ae438447ed7ce99e6e1
Merge: 95719930a8 989caab0ad
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sun Feb 6 21:24:06 2022 +0100

    Merge pull request #57721 from YeldhamDev/separate_from_separators

    Better handle icons and checkboxes with separators in `PopupMenu`

commit 989caab0ad80316120e6eb2c248c3e793e61c7eb
Author: Michael Alexsander <michaelalexsander@protonmail.com>
Date:   Sun Feb 6 15:19:04 2022 -0300

    Better handle icons and checkboxes with separators in `PopupMenu`

commit 21bf23d9660337473c98fdb1952def6d5f9847c6
Author: Michael Alexsander <michaelalexsander@protonmail.com>
Date:   Sat Feb 5 23:47:00 2022 -0300

    Enhancements and fixes for `OptionButton` and `PopupMenu`

commit 948e66c3d6930924b54ec48a0dfc929040befb0a
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Mon Jan 31 15:28:12 2022 +0100

    [HTML5] Implement JavaScript PWA update callbacks.

    Allows detecting when a new version of the progressive web app service
    worker is waiting (i.e. an update is pending), along a function to force
    the update and reload all clients.

commit 3cc72ac03f6d7254220b17e23384196112c60192
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Mon Jan 31 15:19:25 2022 +0100

    [HTML5] Improve editor progressive web app behavior.

    Ensures early claim for aggressive caching.
    Adds a button to update when it detects a new version asking
    confirmation due to the necessary reload.

commit cc4612277be252ca7b0b3b718a6142d4e01a6093
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Tue Dec 21 14:41:26 2021 +0100

    [HTML5] PWA service worker prefers cached version.

    Use an offline first approach, where we prefer the cached version over
    the network one.
    This forces games using PWA to always re-export the project and not just
    the PCK, so that the service worker version gets updated correctly, and
    the end-user cache is correctly cleared on update.

commit db18faf660c9901f7d8c43526a056b6536d731a4
Author: Yuri Roubinsky <chaosus89@gmail.com>
Date:   Sun Feb 6 20:15:28 2022 +0300

    Rename `PORT_TYPE_VECTOR` to `PORT_TYPE_VECTOR_3D`

commit 95719930a8940d4737d512d75004e8b5cd50e825
Merge: 79a4d782a5 871b9fc352
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sun Feb 6 18:11:12 2022 +0100

    Merge pull request #57672 from fire-forge/fix-image-drop-nodes

commit 79a4d782a5ef0801fb65ee8c8a488942044c8e10
Merge: e38df41de8 1ce81dc5f2
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sun Feb 6 17:03:11 2022 +0100

    Merge pull request #57709 from jmb462/missing-sname-optimization

commit e38df41de8f20516ab8b2c91bedb4388cd9e41aa
Merge: 762a31169d 8c7268664d
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sun Feb 6 16:40:59 2022 +0100

    Merge pull request #57607 from reduz/fix-variant-vec-integer-float-mul-div

commit 762a31169d5e0939fda5bdaab537cec5ab39f870
Merge: fb6cf1e3b7 635da44ef8
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sun Feb 6 16:40:48 2022 +0100

    Merge pull request #57633 from jordigcs/x11-snap-refresh-rate

commit fb6cf1e3b7a4734dac36cd40ddaaaedf5010d766
Merge: fd0d2dcabf 729c1f056b
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sun Feb 6 16:39:42 2022 +0100

    Merge pull request #57689 from NeilKleistGao/master

commit 1ce81dc5f2bd5db8bff0e60af846b994492810f9
Author: jmb462 <jmb462@gmail.com>
Date:   Sun Feb 6 15:53:53 2022 +0100

    Add missing SNAME macro optimization in some function calls

commit 8c7268664da7ef98f802ec90fa2ba17b4d695847
Author: reduz <reduzio@gmail.com>
Date:   Thu Feb 3 22:16:58 2022 +0100

    Fix integer vector mul/div operators and bindings.

    * Vector2i and Vector3i mul/div by a float results in Vector2 and Vector3 respectively.
    * Create specializations to allow proper bindings.

    This fixes #44408 and supersedes #44441 and keeps the same rule of int <op> float returnig float, like with scalars.

commit 635da44ef8d1875e2e8b8b7fbfbc574456e92226
Author: jordi <creptthrust@gmail.com>
Date:   Fri Feb 4 10:21:07 2022 -0600

    Snap refresh rate to hundreths place on X11

commit 01c1667836dde9338a1fd4fa9425aca815a277a3
Author: Hugo Locurcio <hugo.locurcio@hugo.pro>
Date:   Sun Feb 6 12:33:00 2022 +0100

    Recommend using GitHub attachments for minimal reproduction projects

    Third-party file hosts can have their files expire or be removed
    by the owner. In comparison, GitHub attachments are more resilient.

    This also fixes the link to create a bug report.

commit 729c1f056b2bb0b2101452172596d556f75f73fe
Author: NeilKleistGao <neilkleistgao@bupt.edu.cn>
Date:   Sun Feb 6 18:32:55 2022 +0800

    Edit font properties on multiple objects at once

commit fd0d2dcabf5b7418691b693cd01baecbb69fdeb9
Merge: 9d1626b4d7 a2484c3293
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sun Feb 6 11:18:20 2022 +0100

    Merge pull request #57694 from Chaosus/shader_fix-for_loop

    Fix unknown identifier error in for loop

commit a2484c329313d7b1ade0cb8f84c7dc4c57e37a4d
Author: Yuri Roubinsky <chaosus89@gmail.com>
Date:   Sun Feb 6 08:17:25 2022 +0300

    Fix unknown identifier error in for loop

commit 871b9fc352b89f0471c9c549c0421beaa8540056
Author: FireForge <isaacr.7.2005@gmail.com>
Date:   Sat Feb 5 12:28:16 2022 -0600

    Fix node types in image drag-and-drop and add node icons

commit ab5b5e15771f8167985f6ae05a85278802d5a55f
Author: kobewi <kobewi4e@gmail.com>
Date:   Sun Feb 6 00:26:28 2022 +0100

    Rework CanvasItem visibility propagation

commit 60d8df3feefd07b955c4b083ad7ab27d90b49fa4
Author: clayjohn <claynjohn@gmail.com>
Date:   Sat Feb 5 15:03:39 2022 -0800

    Optimize and fix backbuffer gaussian blur

commit 9d1626b4d7a867b4778845dd12519c603f0cf88f
Merge: bd32dd4a48 0e659b4230
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 20:26:34 2022 +0100

    Merge pull request #57017 from godotengine/string-name-static-false-unclaimed

commit bd32dd4a48ba0008dc72c8dcd75f8d41bc510aba
Merge: 5f42e0d0ab a6f34ea2d0
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 19:50:37 2022 +0100

    Merge pull request #56943 from V-Sekai/override-import

    Make add_importer and add_post_importer_plugin override existing importers.

commit 5f42e0d0abad7b2c6d90e56cbc2064b8444e2a07
Merge: eb4b4a317b 347d2dfc42
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 18:26:04 2022 +0100

    Merge pull request #57646 from Faless/mp/4.x_interfaces

    [Net] Move RPC, Node cache out of MultiplayerAPI.

commit eb4b4a317b4aa4e35dcf0749cdcacaa958e0498a
Merge: feb34dfb2e 1ec96bc206
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 18:23:11 2022 +0100

    Merge pull request #57649 from Faless/net/4.x_ws_queue_hostres

    [Net] Non-blocking WebSocket hostname resolution.

commit feb34dfb2e4ed748f9ea672e24cff69d1bfe1cd1
Merge: eac1883791 012809d8ae
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 16:09:52 2022 +0100

    Merge pull request #57385 from madmiraal/update-mouse-pointer-definitions

    Update definitions of get_mouse_position methods

commit eac1883791020930c2f5a3e1ca67ea5cae0cd17d
Merge: aecff478b7 9963c4f0d3
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 16:08:41 2022 +0100

    Merge pull request #57657 from lawnjelly/err_macros_flush

    Add fflush to error macros

commit aecff478b71ccc4b8a6017ea896563fb0a95c002
Merge: 69d7d1ec52 189dab2d76
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 16:05:53 2022 +0100

    Merge pull request #48006 from KoBeWi/incognito_layer

    Add visibility to CanvasLayer

commit 69d7d1ec52c610a618265e48f26bd3d4bb1a1083
Merge: dd9426d14b 74adf0bf2e
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 14:38:56 2022 +0100

    Merge pull request #57655 from reduz/remove-get-rid-by-index

    Remove RID_Owner.get_rid_by_index

commit dd9426d14b5d37616b54f3e94fc96745f80b3fae
Merge: df1724470d 8acc8838c4
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 14:36:33 2022 +0100

    Merge pull request #56503 from gerhean/Add-shortcut_cell-double-click-functionality

    Add shortcut_cell double click functionality

commit 189dab2d765dcc9ad74e7392fa0b239ea70a9513
Author: kobewi <kobewi4e@gmail.com>
Date:   Sun Apr 18 20:49:21 2021 +0200

    Add visibility to CanvasLayer

commit 9963c4f0d328600a39646479e7b8809694f3108a
Author: lawnjelly <lawnjelly@gmail.com>
Date:   Sat Feb 5 12:31:54 2022 +0000

    Add fflush to error macros

    CRASH_NOW macros would previously crash before outputting any error messages. This PR ensures calling fflush for stdout before terminating.

commit 8acc8838c4b95e645a61b417e8a89fd14990a555
Author: Ger Hean <gerhean@live.com>
Date:   Wed Jan 5 12:03:52 2022 +0800

    Add shortcut_cell double click functionality

commit 74adf0bf2e171353c33cd47ed67ec5ee040a284a
Author: reduz <reduzio@gmail.com>
Date:   Sat Feb 5 11:59:34 2022 +0100

    Remove RID_Owner.get_rid_by_index

    * Implementing this function efficiently is not really possible.
    * Replaced by an option to get all RIDs into a buffer for performance.

commit 31824420e4cf3a30eb35334c43cb8393af585346
Author: Stijn Hinlopen <f.a.hinlopen@gmail.com>
Date:   Sun Jul 5 20:06:51 2020 +0200

    Center when scrolling to tree item.

commit df1724470d1cff4f67aeb4c0d039114373aeb001
Merge: 2e44778cd2 419b342a9a
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 10:28:07 2022 +0100

    Merge pull request #49775 from fire/faster-cvtt

    Faster CVTT by lowering default quality

commit 2e44778cd2f3d004bac80c3cd3935a8835936e2c
Merge: eb371dee01 f86ab4031a
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 10:18:21 2022 +0100

    Merge pull request #57635 from jmb462/fix-template-optionbutton

    Fix OptionButton in create script dialog doesn't select the correct template

commit eb371dee01674c3cf5acc61daeb1f817ae7dc00b
Merge: 2511d63215 0c0ff5da50
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 10:15:38 2022 +0100

    Merge pull request #57651 from theoniko/theoniko-effects_rc.cpp

    Fix copy paste bug in renderer_rd/effects_rd.cpp

commit 2511d6321517cc6a50e89fa2b2b1e53ea57139fc
Merge: a0c87d4c11 e01d08159c
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 10:15:16 2022 +0100

    Merge pull request #57614 from Chaosus/shader_for_fixes

    Few more fixes to for loop in shaders

commit a0c87d4c114002ead8362ef1fa3a647282a725de
Merge: 9fd095011e 1305ff92f7
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 10:14:10 2022 +0100

    Merge pull request #57620 from Haydoggo/expression-exp-fix

    Fix Expression's parsing of positive exponent literals

commit 9fd095011ed27c7f6bd7f20cf6f18025cb8b1971
Merge: c5a832e087 70da14db68
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 10:11:13 2022 +0100

    Merge pull request #57639 from Sauermann/fix-onready-docs

    Add @ to onready annotated variables in docs

commit c5a832e0873e5d6c722f7fddb3fc206d00d9c7f1
Merge: 8b5d6d4cb2 e714f5e56e
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 10:10:38 2022 +0100

    Merge pull request #57648 from KoBeWi/shrunken_tb

    Rework TextureButton stretch

commit f86ab4031a8d5044ecf2ba79dc40bf6906156a48
Author: Jean-Michel Bernard <jmb462@gmail.com>
Date:   Fri Feb 4 19:08:10 2022 +0100

    Fix template OptionButton in create script dialog doesn't select the correct template

commit e01d08159cc21ef1b7fde5990804444cbbba1417
Author: Yuri Roubinsky <chaosus89@gmail.com>
Date:   Fri Feb 4 08:40:42 2022 +0300

    Few more fixes to for loop in shaders

commit 0c0ff5da50645bb625421e49dae5496fec16fa98
Author: theoniko <nikolaoutheod@gmail.com>
Date:   Sat Feb 5 06:41:30 2022 +0100

    Fix copy paste bug in renderer_rd/effects_rd.cpp

commit 1305ff92f79f3ae4d84e8a92f5caedda94e076cb
Author: Hayden <Haydenleete@gmail.com>
Date:   Sat Feb 5 00:14:49 2022 +1300

    Make parser treat all exponent literals as float

commit 8b5d6d4cb28789e7ebacdf5adee9ec77bd34f3e8
Merge: d091995e05 3acc39095e
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Sat Feb 5 04:32:47 2022 +0100

    Merge pull request #48329 from Faless/net/4.x_file_access_network

    [Net] Fix bogus FileAccessNetwork deconstructor.

commit 3acc39095ea668dc4fe2b2f907a8cdec4be3a6f9
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Fri Apr 30 15:52:29 2021 +0200

    [Net] Fix bogus FileAccessNetwork deconstructor.

    Now correctly erases old instances.
    The code will likely need overhaul anyway to be usable.
    It doesn't apply to editor runs, there's a bunch of inconsistencies on
    how to clients are handled, and I don't really understand why multiple
    instances are created for a single client/server.

commit 1ec96bc2063579f8e2f73944974cadcb15e348b0
Author: Jordan Schidlowsky <jordan@winterpixel.com>
Date:   Sat Jan 29 00:29:27 2022 +0100

    [Net] Non-blocking WebSocket hostname resolution.

    Hostname is now resolved during poll in WebSocketClient (wslay) to avoid
    blocking during connect.
    An attempt is still made to find the hostname in the resolver cache.

commit e714f5e56e1c581e448ee683b2f1a48e9edd0e05
Author: kobewi <kobewi4e@gmail.com>
Date:   Sat Feb 5 02:11:32 2022 +0100

    Rework TextureButton stretch

commit 347d2dfc42967c14daced64706ad6db0b3ebf9b5
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Fri Feb 4 16:24:16 2022 +0100

    [Net] Move RPC, Node cache out of MultiplayerAPI.

    Now uses two interfaces so it can be overridden in the future, and
    core no longer depends on Node.

    The interfaces are implements in scene/multiplayer.
    Replaces root_node with root_path.
    Remove all Node references from MultiplayerAPI.

commit 70da14db688cc750fdb12ea0f262dcf39bc8e42d
Author: Markus Sauermann <6299227+Sauermann@users.noreply.github.com>
Date:   Fri Feb 4 19:52:43 2022 +0100

    Add @ to onready annotated variables in docs

commit d091995e058e3b143ed44f484a05058c856922cc
Merge: 992794e44a 54b47b8fa6
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Sat Feb 5 00:58:43 2022 +0100

    Merge pull request #57518 from pycbouh/docs-theme-refinement

commit 419b342a9a716426159f7a51ae17390386ecc884
Author: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
Date:   Tue Jan 18 04:39:55 2022 -0800

    Faster CVTT by reducing quality.

    Make BC6 and BC7 CVTT faster while still having better quality than DXT5.

commit 992794e44a47a7adddce589bd68ad71402d5ba66
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 22:26:16 2022 +0100

    CI: Force invalidate macOS cache

    I *hate* having to commit this kind of noise to our
    commit history. Especially on a Friday at 10 pm.

commit 3db1d689ce11507d9597bb434891da95168f2c69
Merge: 77d08b68b0 64e53cdc55
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 19:03:44 2022 +0100

    Merge pull request #57631 from groud/terrain_fix_with_empty_cells

commit 77d08b68b06b5b821d90ac561c261c93b4bc5928
Merge: 2885befbe6 de45534fed
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 19:03:28 2022 +0100

    Merge pull request #49445 from Calinou/gdscript-highlight-namespace-reserved-keyword

commit 2885befbe6891ab20606dabdfb6f62184156f477
Merge: 84290fe4b1 c971316d88
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 19:03:10 2022 +0100

    Merge pull request #55950 from Faless/mp/4.x_replication_nodes

commit 84290fe4b1a51cae21bcfb83b6c6d4ecc4392186
Merge: 61c57491bc 5ddb518496
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 19:02:57 2022 +0100

    Merge pull request #57623 from akien-mga/core-math-struct-em-all

commit 61c57491bc346aef567990c293deaa1706f6afca
Merge: 8495be9cec e223bad86d
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 19:00:39 2022 +0100

    Merge pull request #57625 from akien-mga/core-split-vector2i-own-header

commit 54b47b8fa6c8d26351b531d63131ea41e3772164
Author: Yuri Sizov <yuris@humnom.net>
Date:   Tue Feb 1 18:43:53 2022 +0300

    Refine Theme documentation to make it more factual

commit 64e53cdc552bada4c93e2e3879a6eff1fd5da8d6
Author: Gilles Roudière <gilles.roudiere@gmail.com>
Date:   Fri Feb 4 18:10:12 2022 +0100

    Fixes terrain painting on TileMaps when using empty terrain bits

commit de45534fed49523211ee234185f101f4e5ec80ff
Author: Hugo Locurcio <hugo.locurcio@hugo.pro>
Date:   Wed Jun 9 01:19:16 2021 +0200

    Highlight "namespace" as a GDScript keyword in the syntax highlighter

    Like "trait" and "yield", "namespace" is currently not implemented
    but is still reserved for future use.

commit 5ddb51849666759f1ad172eb999791663501aaee
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Fri Feb 4 14:30:17 2022 +0100

    Core: Make all Variant math types structs

    Some were declared as structs (public by default) and others as classes
    (private by default) but in practice all these math types exposed as
    Variants are all 100% public.

commit 21b9f1ecfeeefeeed51cc83a102ee149d8e93c06
Author: Hugo Locurcio <hugo.locurcio@hugo.pro>
Date:   Fri Feb 4 16:36:19 2022 +0100

    Rename 3D editor debug draw modes to be more explicit

    - Rename "Directional Shadow" to "Directional Shadow Map"
      to distinguish it from the "Directional Shadow Splits" option.
    - Rename "Disable LOD" to "Disable Mesh LOD" as it only affects
      automatic mesh LOD, not visibility ranges.
    - Rename "GI Buffer" to "VoxelGI/SDFGI Buffer" as it doesn't cover
      LightmapGI or SSIL.
    - Rename the cluster options to match the respective node names.

commit e223bad86d6e5225aa205394d047714a92610967
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Fri Feb 4 15:35:14 2022 +0100

    Core: Move Vector2i to its own `vector2i.h` header

    Also reduce interdependencies and clean up a bit.

commit 8495be9cece924b22a8148ce335d04836027bc40
Merge: 721c32ee2b 5f56d385b0
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 16:05:30 2022 +0100

    Merge pull request #57621 from akien-mga/core-split-rect2i-own-header

commit 012809d8ae75df43629bbf7e1233a2c82ed5edb8
Author: Marcel Admiraal <madmiraal@users.noreply.github.com>
Date:   Fri Jan 28 15:19:07 2022 +0000

    Update definitions of get_mouse_position methods

commit 721c32ee2bb15ca16692dee848fc3190ed0b6a49
Merge: 89eb6d372d 93e2d0446f
Author: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
Date:   Fri Feb 4 15:05:51 2022 +0100

    Merge pull request #57618 from Densorius/master

    Fixed opening new instances of VS 2022 while a instance is already open

commit c971316d887eb2406ef86106c158845a9a6b76ba
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Wed Dec 1 08:24:46 2021 +0100

    [Editor] Replication plugin to configure MultiplayerSynchronizers.

    Allows configuring the MultiplayerSynchornizer in a way similar to
    AnimationPlayer.
    Properties are added manually, edither as plain properties, or via the
    NodePath format for child nodes' properties "path/to/node:property"
    relative to the MultiplayerSynchronizer root path.

    Nice things to add would be:
    - Moving properties up/down in the list.
    - Some form of keying, autmatic filling of the replication properity
      line edit.

commit d219547c96ce66a6f54d9d9d7ae431e9b115221f
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Fri Oct 8 14:13:06 2021 +0200

    [Net] New replication interface, spawner and synchronizer nodes.

    Initial implementation of the MultiplayerReplicationInterface and its
    default implementation (SceneReplicationInterface).

    New MultiplayerSpawner node helps dealing with instantiation of scenes
    on remote peers (e.g. clients).
    It supports both custom spawns via a `_spawn_custom` virtual function,
    and optional auto-spawn of known scenes via a TypedArray<PackedScenes>
    property.

    New MultiplayerSynchornizer helps synchronizing states between the local
    and remote peers, supports both sync and spawn properties and is
    configured via a `SceneReplicationConfig` resource.
    It can also sync via path (i.e. without being spawned by a
    MultiplayerSpawner if both peers has it in tree, but will not send the
    spawn state in that case, only the sync one.

commit 5f56d385b04f4054ec86605fcda56ffeed4ca5f4
Author: Rémi Verschelde <rverschelde@gmail.com>
Date:   Fri Feb 4 13:28:02 2022 +0100

    Core: Move Rect2i to its own `rect2i.h` header

    And take the opportunity to improve interdependencies a bit with forward
    declares where possible.

commit 89eb6d372d83f0e79ff7bcc78c304a37bed72abe
Merge: 225a3b2545 ceafdf347e
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 13:49:15 2022 +0100

    Merge pull request #57591 from vnen/gdscript-enum-fixes

commit 225a3b2545691148dbcb2acf94e4fada024e809d
Merge: 2e320dcf87 f4ea9cd9f3
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 13:28:56 2022 +0100

    Merge pull request #57341 from bruvzg/win_multiwin_fs

commit 2e320dcf8796d77b6196ef93d4ea304bf5bcb3d4
Merge: d235c1bb19 244db37508
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 13:06:38 2022 +0100

    Merge pull request #57617 from bruvzg/char_cleanup

commit d235c1bb1964b80d776a64aa2a1b198a8e52bf72
Merge: 85f6151e9d 54dec44dba
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 11:51:07 2022 +0100

    Merge pull request #57335 from jordigcs/display-refresh-rate

commit 85f6151e9d4ce9ecc4fe587cc6e76356b49e8a43
Merge: 29c4644890 d14165dae9
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 11:48:57 2022 +0100

    Merge pull request #54645 from rxlecky/editor-window-offset-bug-45740

commit f4ea9cd9f301d3af3a707e330221a4f1e242e7be
Author: bruvzg <7645683+bruvzg@users.noreply.github.com>
Date:   Fri Jan 28 11:19:53 2022 +0200

    [Windows] Add  WS_BORDER flag to windows in WINDOW_MODE_FULLSCREEN mode to allow multi-window interface in full-screen.
    [Windows] Add WINDOW_MODE_EXCLUSIVE_FULLSCREEN without WS_BORDER flag enabled (no multi-window support).

commit 29c4644890c82f38f54553fa127a9661e7a0c75a
Merge: 2a3c4f00c8 45a32f21ee
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 11:01:41 2022 +0100

    Merge pull request #57086 from YeldhamDev/scene_tabs_fix

commit 93e2d0446fb7b3eb4dbf875a488b8506fb1e73ff
Author: Densorius <d_angevaare@live.nl>
Date:   Fri Feb 4 10:38:28 2022 +0100

    Fixed opening new instances of VS 2022 while a instance is already open

commit 244db375087440888ca5b86fd0d114a54f41489a
Author: bruvzg <7645683+bruvzg@users.noreply.github.com>
Date:   Fri Feb 4 10:32:20 2022 +0200

    Cleanup and move char functions to the `char_utils.h` header.

commit 2a3c4f00c892dbee388cda69239285df3e0a41b5
Merge: b68db2f98a fbd9599b04
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 10:13:29 2022 +0100

    Merge pull request #57541 from reduz/node-add-remove-hook

commit b68db2f98aafa9550d683c20a675650613fbc6a6
Merge: c24fc415dc 018de19eba
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 09:30:50 2022 +0100

    Merge pull request #57571 from Haydoggo/improved-expression

commit b966ca6167beefc470c3469665200b542b1ea58a
Author: Mai Lavelle <mai.lavelle@gmail.com>
Date:   Thu Feb 3 22:56:43 2022 -0500

    Improve detection of gamepads on Linux

    Some devices (Nintendo Switch Right Joy-Con) report only a right stick.

commit 54dec44dbae4859842c6d99aafaafd186b33fee4
Author: jordi <creptthrust@gmail.com>
Date:   Thu Jan 27 13:46:57 2022 -0600

    Add screen_get_refresh_rate to DisplayServer

commit c24fc415dc703c65cf6b556dca90adb50915e7dc
Merge: cfa2bfca4e 9ea0508d35
Author: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
Date:   Fri Feb 4 03:47:11 2022 +0100

    Merge pull request #57609 from Densorius/master

    Add Visual Studio 2022 support with fallback to 2019

commit 9ea0508d35fa747b81b327e41969f926633d768f
Author: Densorius <d_angevaare@live.nl>
Date:   Fri Feb 4 00:06:53 2022 +0100

    Add Visual Studio 2022 support with fallback to 2019

commit cfa2bfca4eb03dbbdf8bd107db01aeac8cf646a1
Merge: f8f19b313d 6d3d17651a
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Fri Feb 4 00:15:18 2022 +0100

    Merge pull request #57598 from Faless/js/4.x_fix_config_regression

commit 018de19ebade24d72ae7ba39fdcfeffbff99fa88
Author: Hayden Leete <hle69@uclive.ac.nz>
Date:   Thu Feb 3 14:52:53 2022 +1300

    Added hex and bin literal support to Expression parser

    fixed formatting

commit f8f19b313d62b707467c54d245b9c3e0ad53f34f
Merge: 025e778020 adbe948bda
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Thu Feb 3 22:21:24 2022 +0100

    Merge pull request #57562 from AnilBK/string-add-contains

    String: Add contains().

commit 025e778020dde6dcee89f5ae1e2a63ccddc24340
Merge: c47f059776 d5d05386a6
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Thu Feb 3 22:17:25 2022 +0100

    Merge pull request #57175 from fire-forge/add-type-icons

    Add type icons to Project Settings, Array, and Dictionary editors

commit eb24c9104014f7d26676e712453dbc5fbea5f7ff
Author: Sergey Minakov <naithar@icloud.com>
Date:   Tue Jan 11 13:56:45 2022 +0300

    [iOS] Fix touch handling for overlay views

    Workaround for GodotView touches being called from UIWindow on different UIView input

commit adbe948bda202209b55249198e1837324e703ddb
Author: Anilforextra <anilforextra@gmail.com>
Date:   Thu Feb 3 21:48:38 2022 +0545

    String: Add contains().

commit c47f0597763c13793821adf1eb7352acde704520
Merge: 7191605324 466661c78f
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Thu Feb 3 20:41:29 2022 +0100

    Merge pull request #57467 from webbuf/modules-initialize

    Initialized Member Variables in /modules

commit 7191605324fe04d16ffaf30c31ec808624cc17a2
Merge: bf0253bab9 ddd96b3059
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Thu Feb 3 20:36:59 2022 +0100

    Merge pull request #57587 from bruvzg/gde_fix_ptr_and_enum_returns

    [GDExtension] Fix registration of functions with enum or native pointer return type.

commit d5d05386a658875bf3fff908ceb879158d1a1c2f
Author: fire540 <isaacr.7.2005@gmail.com>
Date:   Mon Jan 24 18:16:05 2022 -0600

    Add type icons to Project Settings, Array, and Dictionary editors

commit 6d3d17651a6e264d47126b2dd5e641b3fa6ba3f7
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date:   Thu Feb 3 19:10:08 2022 +0100

    Revert "[HTML5] Better engine config parsing."

    This reverts commit 2f509f1b12c33234a0d8f0e254c727fd92e57720.

    Breaks closure compiler builds.
    And adds a warning for future readers.

commit bf0253bab936f053bb5ae56e6fcf67defaf9afbc
Merge: ffc828ac50 5c3600b29f
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Thu Feb 3 18:10:30 2022 +0100

    Merge pull request #56764 from madmiraal/fix-45592-2

commit ffc828ac50a54b177caf99ff44c385b459827335
Merge: 5e39a8eded ebe9495b7d
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Thu Feb 3 17:51:16 2022 +0100

    Merge pull request #57582 from akien-mga/editorproperty-range-fix-step

commit ceafdf347e5ecc050629fd4eac93030dabb0d0e9
Author: George Marques <george@gmarqu.es>
Date:   Wed Feb 2 13:57:24 2022 -0300

    GDScript: Treat enum values as int and enum types as dictionary

    Since enums resolve to a dictionary at runtime, calling dictionary
    methods on an enum type is a valid use case. This ensures this is true
    by adding test cases. This also makes enum values be treated as ints
    when used in operations.

commit b013c0d544e784392020aa693fd248fa52f450c2
Author: George Marques <george@gmarqu.es>
Date:   Tue Feb 1 21:31:12 2022 -0300

    GDScript: Allow tests to run on release builds

    - Fix compilation issues by disabling warnings on release builds. This
      also strips warnings from expected result before the comparison to
      avoid false mismatches.
    - Add a `#debug-only` flag to tests. Must be the first line of the test
      script. Those won't run with release builds. Can be used for test
      cases that rely on checks only available on debug builds.

commit ad6e2e82a9e2f7e6f6db99a7be474a1f2f2739bf
Author: George Marques <george@gmarqu.es>
Date:   Thu Jan 27 11:34:33 2022 -0300

    GDScript: Consolidate behavior for assigning enum types

    This makes sure that assigning values to enum-typed variables are
    consistent. Same enum is always valid, different enum is always
    invalid (without casting) and assigning `int` creates a warning
    if there is no casting.

    There are new test cases to ensure this behavior doesn't break in
    the future.

commit 5e39a8eded8e3eba84ab9c74d31ba4aca6a235d2
Merge: 3004415bfc 73c225838f
Author: Rémi Verschelde <remi@verschelde.fr>
Date:   Thu Feb 3 17:15:06 2022 +0100

    Merge pull request #56992 from YeldhamDev/smarter_popmenu_focus

commit 466661c78fe254ba8ff2fe0d90183c66874aabf2
Author: zwebb <zwebb@ufl.edu>
Date:   Mon Jan 31 12:42:32 2022 -0500

    initialized member variables in header

commit 3004415bfc1cf53…
@JFonS
Copy link
Contributor

JFonS commented Feb 11, 2022

@rcorre Sure, any improvements that are on master can be backported to 3.x

@geowarin
Copy link
Contributor

geowarin commented Feb 12, 2022

Sorry for the late feedback. First, it's totally awesome.

Second, I noticed that, on my French azerty keyboard, without keypad, I'm unable to use numbers to affect the transform, even with the "emulate numpad" setting in Editor>3D.

To be honest, I'm not sure if it's in the scope of this PR, "emulate numpad" never worked for me when I'm in azerty.
However, when I switch to qwerty, the number keys switch the camera positions, even while I'm in the middle of a transform.
So maybe something can be added in the future to change that.

Edit: never mind I realized that imputing numbers to affect transforms was not implemented by this PR (maybe later ? 😄 )
I'll open a separate issue for the "emulate numpad" setting not working on international keyboard.

@Calinou
Copy link
Member

Calinou commented Feb 12, 2022

Using physical key inputs for KEY_1 to KEY_0 would allow supporting any keyboard layout when entering numbers using the top row.

@rcorre
Copy link
Contributor Author

rcorre commented Feb 13, 2022

I'm taking a look at adding number support now. Thanks for the suggestion @geowarin!

@akien-mga
Copy link
Member

I'm taking a look at adding number support now. Thanks for the suggestion @geowarin!

See #58024

@FeelingFun
Copy link

Hello! Your work is really great! This feature is my favorite.
I installed Alpha 2 build and gave it a try. In my test I begin to translate the node, constrain movement to specific axis (by pressing X shortcut), and when I switch to another axis (for example, pressing Y shortcut) the node suddenly changes position.

test.mp4

Can you please help to fix it?

@Calinou
Copy link
Member

Calinou commented Feb 19, 2022

I installed Alpha 2 build and gave it a try. In my test I begin to translate the node, constrain movement to specific axis (by pressing X shortcut), and when I switch to another axis (for example, pressing Y shortcut) the node suddenly changes position.

The same behavior occurs in Blender 2.93, so I believe this is done by design:

simplescreenrecorder-2022-02-19_18.26.57.mp4

@FeelingFun
Copy link

I installed Alpha 2 build and gave it a try. In my test I begin to translate the node, constrain movement to specific axis (by pressing X shortcut), and when I switch to another axis (for example, pressing Y shortcut) the node suddenly changes position.

The same behavior occurs in Blender 2.93, so I believe this is done by design:

simplescreenrecorder-2022-02-19_18.26.57.mp4

But it's not the same in Maya (and probably 3DS Max). Maybe we should consider an option in Editor Settings to allow alternative behavior?

@Calinou
Copy link
Member

Calinou commented Feb 19, 2022

But it's not the same in Maya (and probably 3DS Max). Maybe we should consider an option in Editor Settings to allow alternative behavior?

This pull request only intended to provide Blender-style controls, not Maya/3DS Max-style controls. Feel free to open a proposal discussion for this, but it needs significant community support to be considered.

@ywmaa
Copy link
Contributor

ywmaa commented Jul 26, 2022

I tried this feature, it is awesome, but I miss assiginig specific number, example :
Press R (begin Rotation)
Lock Axis (Y axis as an example)
write a number, 90, it will rotate the object by 90 degrees.

@Zireael07
Copy link
Contributor

@ywmaa: I think this is either already requested or already implemented in 4.x

@rcorre
Copy link
Contributor Author

rcorre commented Jul 26, 2022

Using numbers to control transforms is implemented in an open PR here: #58389

@matthewperiut
Copy link

I'm not sure if anyone will see this comment, but in Godot 4.0 release, I'm pressing G S and R and there is no transformations occurring? Is there something I'm missing to use blender-style transform keybinds?

@rcorre
Copy link
Contributor Author

rcorre commented Mar 5, 2023

@matthewperiut updating to godot4 may have wiped your editor keybindings. Ensure that you've bound G, S, R to "Begin {Translate, Rotate, Scale} Transformation". They aren't bound by default as some conflict with builtin keybindings. These appear to work for me on 4.0-stable.

@matthewperiut
Copy link

matthewperiut commented Mar 9, 2023

@rcorre Thanks! Works like a charm!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Blender-inspired UI and shortcuts for transform tools in 3D editor
10 participants