Commit graph

626 commits

Author SHA1 Message Date
Rémi Verschelde
a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
Rémi Verschelde
0fcd30180f
Merge pull request #91039 from timothyqiu/dock-icons
Allow setting editor dock tabs to icon only
2024-05-08 14:35:29 +02:00
A Thousand Ships
a0dbdcc3ab
Replace find with contains/has where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde
039aa28a60
Merge pull request #89574 from Riteo/scale-your-expectations-with-this-one
Wayland: Workaround API limitation in screen/UI scale logic
2024-05-07 21:52:44 +02:00
Riteo
1bb8199342 Wayland: Workaround API limitation in screen/UI scale logic
Mainly, this fixes auto UI scaling with _single-monitor_ fractional
setups (see the comment in `display_server_wayland.cpp` for more info).

This is the result of a bunch of current limitations, mainly the fact
that the UI scale is static (it's probed at startup) and the fact that
Wayland exposes fractional scales only at the window-level, by design.

The `screen_get_scale` special case should help in 99% of cases, while
the auto UI scale part will unfortunately only help with single-screen
situations, as multi-screen fractional scaling requires dynamic UI
scale changing.
2024-05-07 19:50:48 +02:00
Rémi Verschelde
594498e718
Merge pull request #90966 from Calinou/debug-draw-use-runtime-colors
Use same colors for editor and running project for collision/path debug
2024-05-07 16:49:31 +02:00
A Thousand Ships
fd8a31b53d
[Editor] Prevent some shortcut errors when generating docs 2024-05-03 17:43:54 +02:00
ajreckof
cba9606611 Add colored margin in Inspector for arrays and dictionaries.
Apply suggestions from code review

Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-Authored-By: Tomek <kobewi4e@gmail.com>
2024-05-03 10:56:23 +02:00
Sofox
b823724e00 Add line limit to Editor Output Log 2024-05-02 13:28:59 +01:00
Haoyu Qiu
1e20612940 Allow setting editor dock tabs to icon only 2024-04-30 09:34:14 +08:00
Rémi Verschelde
ba804f1be7
Merge pull request #90875 from KoBeWi/minor_problem
Use minor version in EditorSettings file name
2024-04-23 19:11:35 +02:00
Hugo Locurcio
b1a2394b3b
Use same colors for editor and running project for collision/path debug
This harmonizes the appearance of collision shapes and paths between
the editor and running project, in both 2D and 3D.

This means that in 3D, paths are now green and shapes are now cyan
instead of light blue.
2024-04-21 00:58:08 +02:00
Rémi Verschelde
1bd6fe81ea
Merge pull request #89538 from CrayolaEater/feature/custom-aabb-gizmos
Add Gizmo to display 3D custom AABB
2024-04-19 16:27:16 +02:00
Bogdan Inculet
8caa1b8783 Add Gizmo to display 3D custom AABB 2024-04-19 02:31:30 +03:00
kobewi
12f39befa9 Use minor version in EditorSettings file name 2024-04-19 00:13:06 +02:00
Hugo Locurcio
ed540964ee
Add an editor setting to import resources while unfocused
This can be used to speed up iteration by starting the import process
earlier when saving files in the project folder. This also allows getting
visual feedback on changes without having to click the editor window,
which is useful with multi-monitor setups.

The downside is that this increases idle CPU usage and may steal CPU
time from other applications when importing resources, so this is
disabled by default.
2024-04-15 19:40:04 +02:00
kobewi
49e69fabba Add automatic checking for engine updates 2024-04-15 15:08:27 +02:00
Rémi Verschelde
27dec32699
Merge pull request #89735 from bruvzg/ed_native_fd2
[Native File Dialog] Add support for using native dialogs in the editor.
2024-04-04 14:31:39 +02:00
Gilles Roudière
3cd4b2859c Expose TileMapLayer 2024-04-03 11:02:34 +02:00
bruvzg
61f7145f43
[Native File Dialog] Add support for using native dialogs in the editor. 2024-03-28 11:53:03 +02:00
VolTer
de8b6f7a3c Add editor settings for autocompletion with NodePath and StringName 2024-03-19 17:23:54 +02:00
passivestar
3199c294f9 Allow connecting signals to existing methods without opening the script editor 2024-03-12 15:50:54 +04:00
Nathan Franke
2130f1121a
Automatically create folder in project manager create/import/install 2024-03-08 12:27:50 -06:00
Rémi Verschelde
2d408f48e7
Merge pull request #88546 from bruvzg/indent_wrap
[TextEdit] Add support for optional wrapped line indentation.
2024-03-05 09:55:51 +01:00
Micky
adbe238332 Add autocompletion for EditorSettings' methods 2024-03-01 14:58:28 +01:00
Michael Alexsander
d70c45b5c8
Add option to add built-in strings in the POT generation 2024-02-28 11:34:26 -03:00
smix8
10e8f3698b Auto-bake edited NavigationPolygons in the Editor on a timer
Auto-bakes edited NavigationPolygons in the Editor on a timer.
2024-02-27 20:51:38 +01:00
Muller-Castro
1638c1b28f Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
bruvzg
dad4aae386
[TextEdit] Add support for optional wrapped line indentation. 2024-02-26 08:20:14 +02:00
Robert Yevdokimov
13e82094ee Remove word duplicates in comments and strings, and fix casing and punctuation 2024-02-23 17:28:28 -05:00
K. S. Ernest (iFire) Lee
04d43947bf
Add ufbx for FBX importing
This update introduces a new import method for FBX files using ufbx. If the fbx2gltf import fails, it will use the most recently cached scene from the ufbx import. The process is sped up by introducing threads to load the ufbx portion.

Key changes include:

- Support for importing geometry helper nodes in FBX files.
- Addition of cameras and lights with updated names.
- Removal of the fbx importer manager.
- Introduction of ModelDocument3D and updates to its methods.
- Changes to FBX import options and visibility.
- Updating the documentation and handling some errors.
- Store the original non-unique node, mesh and animation names in FBX and glTF.

Co-Authored-By: bqqbarbhg <bqqbarbhg@gmail.com>
2024-02-23 22:33:04 +01:00
Rémi Verschelde
213c835cde
Merge pull request #85017 from Geometror/vs-redesign
Redesign the graph editor for visual shaders
2024-02-22 23:34:19 +01:00
Hendrik Brucker
02a33b67a8 Redesign the graph editor for visual shaders 2024-02-22 20:40:09 +01:00
Rémi Verschelde
43771659cb
Merge pull request #86610 from Joseph-DiGiovanni/system-theme-options
Add option for editor to follow system theme and accent colors
2024-02-22 16:39:40 +01:00
Hugo Locurcio
6ae54fd787
Move EditorNode setting registration so they are in class reference
Co-authored-by: Micky <micheledevita2@gmail.com>
2024-02-17 11:33:22 +01:00
Joseph DiGiovanni
7eacb6ddbf Add follow system theme settings 2024-02-14 15:31:21 -05:00
Bitlytic
f9e03459e8
Add an option to center children around the new parent when reparenting 2024-02-14 13:46:04 +01:00
Hugo Locurcio
7e25292205
Show update spinner by default in dev_build=yes editor builds
This ensures contributors can see when something forces the
editor to redraw constantly.

The existing boolean `true` value will be casted to `1` in the setting,
so it'll switch to Enabled automatically if the setting was previously
enabled.
2024-02-10 00:45:56 +01:00
Rémi Verschelde
f8020d1364
Merge pull request #88026 from Calinou/editor-default-enable-add-type-hints
Enable Add Type Hints editor setting by default
2024-02-08 10:53:58 +01:00
Hugo Locurcio
345f09d125
Enable Add Type Hints editor setting by default
Now that GDScript type hints improve performance since Godot 4.0
and the community is increasingly getting used to typed GDScript,
it makes sense to add type hints by default.

Official demos will also be moving to type hints at some point
in the future, further increasing the relevance of enabling type
hints out of the box.
2024-02-06 19:41:26 +01:00
Hugo Locurcio
6f9586443a
Add a V-Sync editor setting
The editor setting makes it possible to tweak V-Sync status
independently of the project setting.

Use cases:

- Decrease input lag and increase editor responsiveness when editing
  a project that has V-Sync enabled.
- Avoid tearing when editing a project that has V-Sync disabled.
2024-02-05 22:14:20 +01:00
Rémi Verschelde
0cce6eb150
Merge pull request #87443 from YuriSizov/pms-hotter-younger-cousin
Improve layout and UX of the project manager
2024-01-30 19:10:46 +01:00
Yuri Sizov
4d97c33503 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.
2024-01-30 17:52:08 +01:00
Riteo
7e0f7d3abd 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.
2024-01-30 16:44:47 +01:00
mxaddict
ad106a283b Update blender_path behavior to require exact path to executable instead of trying to guess it 2024-01-27 00:41:53 +08:00
Yuri Sizov
45eedba1fa Improve editor theme generation after the refactor 2024-01-17 15:16:53 +01:00
Yuri Sizov
dc3b07e551 Introduce editor theme spacing presets
This change adds a new editor setting related to theming
which controls base and additional spacing used in the
generated editor theme. These values can also be changed
manually by the user to customize their experience.

Limited effort was applied to make sure both Compact and
Spacious presets work and look fine, but further tuning
and adjustments are totally expected. Some controls will
require layout changes or additional fixes to their constants.
2024-01-16 11:57:45 +01:00
Yuri Sizov
13d34d6a2b Merge pull request #85923 from Calinou/editor-filesystem-dock-add-open-in-terminal
Add a editor FileSystem dock action to open a terminal in selected folder
2023-12-22 17:19:53 +01:00
Yuri Sizov
e18659c69d Merge pull request #82872 from jsjtxietian/require-editor-restart-when-csg-gizmo-color-changed
Prompt require editor restart to user when gizmo color changed
2023-12-19 20:32:20 +01:00
msreis
f1cc14d525 Fix missing time for some script functions in profiler
Fixes the issue by adding a mechanism by which the functions that were
previously disappearing can be profiled too. This is optional with
an editor setting, since collecting more information naturally slows the engine
further while profiling.

Fixes #23715, #40251, #29049
2023-12-19 19:42:21 +01:00