Commit Graph

665 Commits

Author SHA1 Message Date
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
Hugo Locurcio 0e97acff84
Add a editor FileSystem dock action to open a terminal in selected folder
This is useful to enter some commands without having to open a separate
terminal and `cd` to the project folder.
2023-12-19 15:04:02 +01:00
Yuri Sizov 02d4579fa2 Merge pull request #85000 from bruvzg/ed_ui_direction
[Editor] Add option to override editor UI layout direction.
2023-12-19 13:01:35 +01:00
Yuri Sizov 92e024aac5 Merge pull request #79785 from KoBeWi/ioioioio
Load project metadata file only when needed
2023-12-19 13:00:54 +01:00
bruvzg 932174fedf
[Editor] Add option to override editor UI layout direction. 2023-11-17 14:56:45 +02:00
bruvzg 899e56de5d
Re-add optional OIDN denoise as an external executable. 2023-10-11 19:52:18 +03:00
Danil Alexeev de7cbe8789
Highlight doc comments in a different color 2023-10-08 19:26:10 +03:00
jsjtxietian b0ccd5c84f Prompt require editor restart to user when gizmo color changed 2023-10-06 15:02:03 +08:00
Saracen 3f4513d4de Add error checks for DirAccess creation. 2023-09-26 03:07:43 +01:00
Hugo Locurcio e732a9d41b
Add XML files to default TextFile extensions in the editor
This allows opening `*.xml` files by double-clicking them in the
FileSystem dock.
2023-09-13 20:44:15 +02:00
Rémi Verschelde 006a88c855
Merge pull request #80975 from Calinou/editor-property-auto-refresh-add-property-hint
Add a property hint range to Auto Refresh Interval editor setting
2023-09-12 08:49:08 +02:00
Hugo Locurcio 9359e0b91d
Add a property hint range to Auto Refresh Interval editor setting
This prevents using zero or negative values, which are invalid and
will cause various issues in the editor (such as the inspector never
updating until the editor is closed and reopened).
2023-09-11 19:46:21 +02:00
Jean-Michel Bernard 67dce301aa Add code region folding to CodeEdit 2023-09-11 18:36:40 +02:00
Yuri Rubinsky 35802374ac Add coloring for completion of vector components 2023-08-30 21:13:25 +03:00
KurtBliss 300ecfab89 Fixed editor filesystem/import properties not being caught by the doctool
Defined glft editor properties in editor_settings
Added documentation descriptions and entries
2023-08-14 06:06:28 -04:00
Ninni Pipping e2a91309d0 Fix API hash related crash in `EditorSettings` 2023-07-31 16:35:41 +02:00
Yuri Sizov 92960b7a22 Merge pull request #78615 from RandomShaper/fix_doc_cache
Re-enable docs cache with fixes
2023-07-26 18:39:22 +02:00
Yuri Sizov 3bc842b1b1 Merge pull request #54524 from Calinou/animation-editor-add-bypass-confirmation
Skip keyframe creation dialog when holding Shift in the animation editor
2023-07-26 18:39:01 +02:00
kobewi 3dc47b0b84 Load project metadata file only when needed 2023-07-23 17:51:42 +02:00
Hugo Locurcio a39190a18f
Allow using floating-point bone sizes and outline widths in the 2D editor
This is useful when animating pixel art sprites in the 2D editor,
as a value of `1` is often too large when zoomed in.
2023-07-17 12:44:09 +02:00
Hugo Locurcio 5e117ee7bf
Skip keyframe creation dialog when holding Shift in the animation editor
The editor setting to always bypass the confirmation dialog was removed,
since the new shortcut effectively supersedes it in a more granular way.
2023-07-17 12:09:32 +02:00
Yuri Sizov 5f23b8b916 Merge pull request #78451 from alula/integer-zoom
Add option to swap default Alt+scroll zooming behavior in 2D editor
2023-07-14 21:27:54 +02:00
Pedro J. Estébanez cac4d44cde Re-enable docs cache with fixes 2023-07-05 10:44:58 +02:00
Alula 9676905aee
Add option to swap Alt+scroll zooming behavior in 2D editor
Update doc/classes/EditorSettings.xml

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-06-21 18:56:58 +02:00
quinnyo 68c24f9993 Add code_complete_enabled code editor setting 2023-06-21 02:51:05 +10:00
Rémi Verschelde 080d471e98
Merge pull request #75200 from Calinou/debugger-editor-settings-add-property-hints
Add property hints for debugger/profiler editor settings
2023-06-19 21:39:10 +02:00
bruvzg 75e6ec8874
[TextEdit] Expose all auto-wrap modes. 2023-06-13 10:28:27 +03:00
Fredia Huya-Kouadio b2cd6a8a95 Add setting to control the window used to run the project for the Android editor
The follow options were added to the (new) `run/window_placement/android_window` editor setting:

- `Same as Editor`: run the project in the same window as the editor
- `Side-by-side with Editor`: run the project in an adjacent window to the editor
- `Auto`: choose how to run the project based on the device screen size
2023-06-07 18:32:52 -07:00
Yuri Sizov 282f5ebda1
Merge pull request #47628 from Calinou/2d-editor-remove-contrained-view
Remove constrained view in the 2D editor
2023-05-31 16:35:54 +02:00
Rémi Verschelde 6dcd490d03
Merge pull request #66763 from MewPurPur/remove-bookmark-hiding
Remove editor setting for hiding bookmarks
2023-05-29 10:28:37 +02:00
Hugo Locurcio 86314e1e53
Remove constrained view in the 2D editor
We initially added an option to disable constraining the 2D editor view.
This setting was still enabled by default to avoid confusing users
who end up scrolling too far away from their current scene
(which is a problem if you don't know about the F key to focus
on the selection).

However, it's probably a better choice to unconstrain the 2D editor view
by default because:

- Lots of people don't know about this setting and wonder how they
  can scroll far away from the scene. This feels really limiting for them,
  and it can even lead to some people thinking Godot intentionally limits
  scene sizes.
- The 3D editor doesn't have such a contrain mechanism.
  This makes the 2D editor more consistent with the 3D editor.
2023-05-20 03:01:12 +02:00
Hendrik Brucker dc46163b12 Improve editor state persistence 2023-05-11 04:17:03 +02:00
trollodel b4d6b47c17 Add multi window code and shader editors 2023-05-10 09:14:21 +02:00
Fredia Huya-Kouadio 30824e9818 Adds a `scale_gizmo_handles` entry to the `Touchscreen` editor settings
When enabled, this scales the editor icons to improve usability on touchscreen devices.
In addition this commit fixes touch detection for the collision_shape_2d_editor_plugin so it scales with the icons size.
2023-05-07 15:55:28 -07:00
Winston Yallow 277e261acf
Add editor setting for spin slider sensibility 2023-04-27 13:45:24 +02:00
clayjohn 48ebae7812 Validate renderer selection in project manager and change default renderer editor setting to expose an enum to users 2023-04-21 16:51:57 -07:00
bruvzg 520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method. 2023-04-19 08:54:53 +03:00
bruvzg a5009f4d3c
[Web] Detect host OS and use macOS keys on mac hosts. 2023-04-11 10:58:54 +03:00
Hugo Locurcio f575ca09ae
Add property hints for debugger/profiler editor settings
This also adds descriptions for those settings.
2023-03-22 01:07:31 +01:00
Rémi Verschelde d76c1c4f45
Merge pull request #73651 from hakro/editor-freelook-physical-shortcuts
Use physical shortcuts for freelook navigation in the editor
2023-03-03 11:02:53 +01:00
Rémi Verschelde 02583ddde8
Merge pull request #72460 from Calinou/project-manager-disable-incompatible-rendering-methods
Disable incompatible rendering methods in the project manager
2023-02-22 22:47:07 +01:00
Hugo Locurcio 8ebc5b2875
Disable incompatible rendering methods in the project manager
The project manager can now only create projects that use a rendering
method compatible with the current platform. Rendering methods that
are disabled at build-time are also grayed out (only for OpenGL).

While it is possible in theory to create a project using Forward+
on web (thanks to the automatic fallback),
it will look different once edited on a desktop platform.
2023-02-22 19:57:17 +01:00
Fredia Huya-Kouadio 445053a62d Enable granular control of touchscreen related settings 2023-02-22 00:16:39 -08:00
Hakim 52de40310a Use physical shortcuts for freelook navigation in the editor 2023-02-21 10:56:14 +01:00
bruvzg 64ba999eb1
Fix shortcut reset. 2023-02-21 08:08:53 +02:00
bruvzg b3c64675cc
[macOS] Replace all `Alt/Option+Letter/Number` default shortcuts to avoid conflicts with special character input. 2023-02-20 22:02:47 +02:00
Yuri Sizov 28db611f0f
Merge pull request #71792 from EricEzaM/66428-changing-the-play-shortcut-gets-overwritten-every-restart
Fix shortcuts which have feature override defined reverting to default when user changes the shortcut to be same as non-overridden.
2023-02-17 20:31:52 +03:00
Haoyu Qiu 0edd46e3fc Fix editor language dropdown incomplete in some locales 2023-02-15 08:59:11 +08:00
Yuri Sizov dd6ac955c3 Increase default font sizes for EditorHelp 2023-02-11 20:09:57 +01:00
Haoyu Qiu 5d7e003b29
Prepare for moving editor and classref translations to godot-editor-l10n repo
- Separate editor interface and property translations.
- Add property translation in TranslationServer.
- The split and merge of the POT/PO/Makefiles and extract scripts is done
  directly in godot-editor-l10n, the files will be removed in the next commit.
- Remove the hardcoded "to_include" lists from the SCsub, we'll only commit the
  files which are ready to inclue.
2023-02-07 14:20:40 +01:00
Fredia Huya-Kouadio 63c88df3f7 Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices 2023-01-28 00:21:05 -08:00
kobewi 65d729e22e Add file hint to external program paths 2023-01-26 13:43:04 +01:00
kobewi 60ed7c5004 Add "Open in External Program" option 2023-01-21 18:33:32 +01:00
Eric M 9da04d8374 Fix shortcuts which have feature override defined reverting to default when user changes the shortcut to be same as non-overriden. 2023-01-21 16:40:03 +10:00
bruvzg 2718a7b7d3
Add support for the custom initial screen for the main window, fix primary screen detection. 2023-01-07 11:14:35 +02:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
clayjohn 324f5364e7 Added gl_compatibility as an option to the project creation screen
Last selected option is saved as default for next time
2022-12-13 14:11:07 -08:00
Rémi Verschelde 2fadc1299d
Merge pull request #67871 from Calinou/editor-theme-add-oled-preset
Add Black (OLED) editor theme preset
2022-11-28 08:46:12 +01:00
Hugo Locurcio 11842eb738
Disable code font ligatures by default in the editor 2022-11-12 22:38:04 +01:00
Hugo Locurcio a19e389f4f
Hide Antialiasing import option on DynamicFonts with MSDF enabled
Antialiasing cannot be adjusted on fonts rendered with MSDF.
Internally, Godot always uses grayscale antialiasing for those fonts.

This also tweaks property hints for consistency, and renames
uses of "sub-pixel" to the more commonly used "subpixel".
2022-11-03 18:40:44 +01:00
Rémi Verschelde f7c611ab71
Style: Misc docs and comment style and language fixes
- Removed empty paragraphs in XML.
- Consistently use bold style for "Example:", on a new line.
- Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`).
- Fix invalid usage of backticks for inline code in BBCode.
- Fix some American/British English spelling inconsistencies.
- Other minor fixes spotted along the way, including typo fixes with codespell.
- Don't specify `@GlobalScope` for `enum` and `constant`.
2022-11-02 19:01:18 +01:00
VolTer e0e236edfc Remove editor setting for hiding bookmarks 2022-11-02 01:14:02 +01:00