Commit graph

585 commits

Author SHA1 Message Date
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