Commit graph

5780 commits

Author SHA1 Message Date
kobewi
6caa24b1b8 Fix AssetLibrary not going online when clicking button 2024-03-05 21:27:08 +01:00
Hugo Locurcio
8221e7546b
Add editor shortcuts to toggle bottom panel visibility
Default shortcuts use the first or second letter of each word.

This also adds a new shortcut to toggle the last opened bottom panel.
On editor startup, this defaults to the first panel in the list
(which is the Output panel).
2024-03-05 15:53:15 +01:00
Rémi Verschelde
c3daa041e0
Merge pull request #89177 from luevano/match-89126-3D
Match #89126 for 3D: check for `Resource` type instead of extension
2024-03-05 14:55:32 +01:00
Rémi Verschelde
6399fae16d
Merge pull request #88951 from Geometror/vs-prop-ed-fixes
Make editing properties more intuitive in VisualShader
2024-03-05 14:55:21 +01:00
Leul Mulugeta
effad7be0c Remember frames when selecting SpriteFrame frames 2024-03-05 16:50:06 +03:00
Hendrik Brucker
d32e0f808c Make editing properties more intuitive in VisualShader 2024-03-05 13:27:33 +01:00
David Luevano Alvarado
a918c7c5fe Match #89126 for 3D: check Resource type instead of extension 2024-03-05 06:08:35 -06:00
Rémi Verschelde
c4a46e00f8
Merge pull request #89126 from luevano/fix-89093-followup
Fix editor crash when unsupported `Resource` is dropped in scene
2024-03-04 20:43:49 +01:00
Rémi Verschelde
4320d53a2b
Merge pull request #84907 from miv391/fix-gutter-error
Do not bother with line colors if `line_number_gutter` is not yet calculated
2024-03-04 20:43:30 +01:00
David Luevano Alvarado
c0467aa1f9 Fix editor crash when unsupported Resource is dropped in scene 2024-03-04 10:06:05 -06:00
Rémi Verschelde
95085cdcdb
Merge pull request #89121 from KoBeWi/replace_node_type
Fix undo action names for node replacement
2024-03-04 13:34:35 +01:00
Rémi Verschelde
1a9c0ee5fe
Merge pull request #87391 from markdibarry/new_node_parallax_2d
Add new Parallax2D node
2024-03-04 13:33:09 +01:00
Rémi Verschelde
8eb08522b3
Merge pull request #85494 from Hobitus/Allow-multi-selection-of-frames-in-the-SpriteFrames-animation-editor
Add multi-selection for `SpriteFramesEditor`
2024-03-04 13:32:44 +01:00
markdibarry
a62870956a Add new Parallax2D node 2024-03-03 15:46:40 -05:00
kobewi
c1cce6bb69 Fix undo action names for node replacement 2024-03-03 19:09:25 +01:00
Mika Viskari
0fbc857e3f Do not call _validate_script if editor is not enabled 2024-03-01 19:48:48 +02:00
kobewi
24b210d1c8 Fix update_property() in particle material editor 2024-03-01 16:03:53 +01:00
Dominic Marier
8faba242a4 Added multi-selection for sprite_frame_editor
use multi-selection for copy/paste
move up or down
frame duration set while multi-selected
2024-02-29 20:01:00 -05:00
Rémi Verschelde
c84188b694
Merge pull request #88980 from Calinou/visualshader-remainder-add-percent-sign
Add percent (`%`) sign to Remainder node name in visual shaders
2024-02-29 13:55:01 +01:00
Rémi Verschelde
16bdd83ea4
Merge pull request #86705 from KoBeWi/resourception
Improve saving of built-in resources
2024-02-29 13:53:44 +01:00
Hugo Locurcio
07c4baded7 Add percent (%) sign to Remainder node name in visual shaders
This makes the node easier to search in the Create New Node dialog.
2024-02-28 20:39:12 +01: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
Michael Alexsander
c7fb8579fe
Stop using RTR() inside the "editor" folder 2024-02-27 16:03:28 -03:00
Rémi Verschelde
8f3e2a6113
Merge pull request #88912 from AThousandShips/tile_drag_fix
[TileSet] Fix crash when deleting dragged polygon point
2024-02-27 16:37:10 +01:00
Rémi Verschelde
21e3b2111e
Merge pull request #88862 from smix8/split_physics_classes
Split monolithic physics class files
2024-02-27 16:37:07 +01:00
A Thousand Ships
fe203d7003
Prevent threading problems in TileMap 2024-02-27 15:38:25 +01:00
A Thousand Ships
0ba7463803
[TileSet] Fix crash when deleting dragged polygon point 2024-02-27 15:16:27 +01:00
smix8
35dafc9fa8 Split monolithic physics class files
Splits monolithic physics class files.
2024-02-27 11:18:16 +01:00
Rémi Verschelde
6d8ca17139
Merge pull request #88829 from ryevdokimov/institate_message-2d
Show instantiating or inherit message when using drag to instantiate in 2D
2024-02-27 10:18:17 +01:00
Rémi Verschelde
6ed4a279d9
Merge pull request #88774 from ryevdokimov/instantiating-message
Show instantiating message with position when using to drag to instantiate in 3D
2024-02-27 10:17:55 +01:00
Rémi Verschelde
e770a38d00
Merge pull request #88742 from MajorMcDoom/text-editor-zoom
Fix the text editor theme not being applied on editor start
2024-02-27 10:17:47 +01:00
Robert Yevdokimov
8875ff0a14 Show instantiating or inherit message when using to drag to instantiate in 2D 2024-02-27 01:09:13 -05:00
Muller-Castro
1638c1b28f Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
Aaron Franke
c399424db9
Move 3D-only resources to their own folder 2024-02-26 05:23:04 -06:00
Aaron Franke
1cb531ddb6
Move 2D-only resources to their own folder 2024-02-26 05:22:45 -06:00
Rémi Verschelde
abe73c3db0
Merge pull request #88675 from MajorMcDoom/script-editor-redundancy
Remove some redundant method calls from ScriptEditor
2024-02-26 10:48:57 +01:00
Rémi Verschelde
63bde2feff
Merge pull request #88589 from RandomShaper/gl_preview_liveunlock
Rework viewport capture in preview generation
2024-02-26 10:48:44 +01:00
Zi Ye
ea401f9853 Fixed the text editor theme not being applied on editor start. 2024-02-25 14:42:48 -06:00
Robert Yevdokimov
967d03ac5c Show instantiating message with position when using to drag to instantiate in 3D 2024-02-24 13:58:23 -05:00
Rémi Verschelde
fd788d7df9
Merge pull request #88584 from ryevdokimov/hide_grid_per_viewport
Add ability to hide grid per viewport
2024-02-23 22:19:01 +01:00
Rémi Verschelde
4582ee1a0f
Merge pull request #87760 from kitbdev/extract-bottom-dock
Extract BottomPanel from EditorNode
2024-02-23 22:18:50 +01:00
Robert Yevdokimov
df431542c3 Add ability to hide grid per viewport 2024-02-23 10:25:29 -05:00
Mounir Tohami
7884d63281 Fix PopupMenu doesn't respect it's ScrollContainer's margins 2024-02-23 15:51:47 +02:00
Rémi Verschelde
42a15bcc49
Merge pull request #85477 from KoBeWi/submenus_that_shall_not_be_named
Add methods to add submenus without using names
2024-02-23 11:29:28 +01:00
Rémi Verschelde
031ca87d83
Merge pull request #87901 from pohy/feat/use-subgizmos-for-path3d-position-editing
Use subgizmos for Path3D position editing and declutter the UI
2024-02-22 23:34:26 +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
pohy
6efff2cd06 Use subgizmos instead of handles for Path3D curve points 2024-02-22 22:33:34 +01:00
Hendrik Brucker
02a33b67a8 Redesign the graph editor for visual shaders 2024-02-22 20:40:09 +01:00
Zi Ye
943f6aa113 Removed some redundant calls from ScriptEditor. 2024-02-22 12:13:48 -06:00
kobewi
aeec3c1309 Add methods to add submenus without using names 2024-02-22 15:13:53 +01:00
Rémi Verschelde
2f58db935e
Merge pull request #88645 from KoBeWi/🤦‍♂️🤦‍♂️🤦‍♂️
Fix 3D editor project settings update
2024-02-22 14:39:18 +01:00
Zi Ye
9281c441f6 Improved text editor status bar and zooming UX. 2024-02-21 17:33:16 -06:00
kobewi
3a8fdc0bac Fix 3D editor project settings update 2024-02-21 20:20:52 +01:00
Saracen
98d9c9c573
Make AnimationPlayerEditor read-only edit rules more permissive. 2024-02-21 15:17:56 +01:00
Pedro J. Estébanez
91f0a65fc9 Rework viewport capture in preview generation 2024-02-21 10:44:21 +01:00
kit
eb6ca91ba6 Extract BottomPanel from EditorNode 2024-02-20 15:09:07 -05:00
Rémi Verschelde
9e9dcdbba4
Merge pull request #86378 from RobProductions/update-hover-styling
Add hover highlight to main editor buttons
2024-02-20 19:34:40 +01:00
Rémi Verschelde
6037500219
Merge pull request #69032 from KoBeWi/check_every_changed_setting_in_every_group_everywhere()
Use `check_changed_settings_in_group()` everywhere
2024-02-20 19:34:30 +01:00
kobewi
a031911c82 Use check_changed_settings_in_group() everywhere 2024-02-19 21:34:45 +01:00
CookieBadger
47dba6bc56 use ED_IS_SHORTCUT macro instead of matches_event 2024-02-19 13:16:06 +01:00
Silc Lizard (Tokage) Renew
772a753960 Fix some animation state corruptions on activate and reset on save 2024-02-19 13:04:22 +09:00
Rémi Verschelde
36b88cbb8a
Merge pull request #86694 from KoBeWi/deugly_the_text
Tweak tile atlas help label positions
2024-02-19 00:07:37 +01:00
A Thousand Ships
dde5368dee
[Editor] Add missing ellipses to menu options that open dialogs 2024-02-17 17:09:17 +01:00
Rémi Verschelde
2c5fa95aea
Merge pull request #87530 from YeldhamDev/atr_inheritance
Rework the auto translation system
2024-02-17 15:54:31 +01:00
Rémi Verschelde
c28493ad04
Merge pull request #88275 from passivestar/slider-abort
Allow aborting `SpinSlider` value changes
2024-02-17 00:23:26 +01:00
Matt Enad
5b5de0e167 Add hover highlight to main editor buttons
Updates styling of the editor run bar, plugin, bottom panel, icon buttons, and main menu buttons for accessibility.
2024-02-16 14:49:44 -05:00
Arman Elgudzhyan
ec6518d9cd Custom ("visiblity") AABB support for CPUParticles
- Improves performance by reducing time spent on AABB generation.
- Also adds an option to generate the AABB manually in the CPUParticles3D dropdown.
2024-02-15 22:37:07 -08:00
passivestar
5689dbc209 Allow to abort SpinSlider value changes 2024-02-16 07:54:35 +04:00
Michael Alexsander
7b42c24550
Make auto translation inheritable 2024-02-15 16:51:19 -03:00
Rémi Verschelde
09df8f4a56
Merge pull request #87952 from paulloz/dotnet/byebye-signal-callback-generation
Disable signal callback generation in C#
2024-02-15 15:44:55 +01:00
Rémi Verschelde
994dd21c02
Merge pull request #84356 from viksl/drag_and_drop_2d_selection
Select newly added nodes on drag and drop in 2D viewport
2024-02-15 15:44:29 +01:00
Rémi Verschelde
55dd98e4f8
Merge pull request #84347 from viksl/drag_and_drop_3d_selection
Select newly added nodes on drag and drop in 3D viewport
2024-02-15 15:44:25 +01:00
viksl
dc60c01e56 Select newly added nodes on drag and drop in 2D viewport 2024-02-14 20:03:00 +01:00
Rémi Verschelde
a1cc37966c
Merge pull request #87126 from ryevdokimov/fix-84424(2)
Fix position and basis of 3D Scenes instantiated via drag and drop
2024-02-14 14:07:58 +01:00
Paul Joannon
9fa2355cef
Disable signal callback generation in C# 2024-02-14 13:26:45 +01:00
Rémi Verschelde
c5050f9772
Merge pull request #88229 from ckaiser/feature/asset_library_ux_cleanup
Asset Library author link, description popup size and UX details
2024-02-14 10:59:49 +01:00
Christian Kaiser
38ac946af7 Asset Library author link, description popup size and UX details 2024-02-14 06:01:10 -03:00
Rémi Verschelde
81184941bc
Merge pull request #88290 from Calinou/tilemap-editor-tweak-no-source-message
Tweak TileMap editor's missing source message to use "bottom panel" term
2024-02-13 23:43:46 +01:00
Rémi Verschelde
ab54569912
Merge pull request #63529 from KoBeWi/fake_features_v2
Allow to set custom feature tags for testing
2024-02-13 23:43:03 +01:00
Robert Yevdokimov
be0104a129 Fix position and basis of 3D Scenes instantiated via drag and drop 2024-02-13 12:43:22 -05:00
Hugo Locurcio
53dce9a84e
Tweak TileMap editor's missing source message to use "bottom panel" term
This term is used throughout the editor (including EditorPlugin)
as these bottom panels are technically not tabs.
2024-02-13 18:27:42 +01:00
kobewi
1b2c7bfe77 Allow to set custom feature tags for testing 2024-02-13 17:38:45 +01:00
Rémi Verschelde
e0b1e79251
Merge pull request #88279 from kleonc/editor-plugins-2d3d-drag-drop-transform-calculation-fix
Fix `CanvasItem`/`Node3D` editor plugin drag drop transform calculation
2024-02-13 17:24:28 +01:00
Rémi Verschelde
48e2f43ccf
Merge pull request #87479 from kitbdev/apply-ime
Fix TextEdit IME issues
2024-02-13 17:23:55 +01:00
Rémi Verschelde
eb77418075
Merge pull request #87006 from AThousandShips/frame_fix
Fix member names of `AudioFrame` to match extension
2024-02-13 17:23:37 +01:00
Rémi Verschelde
32b0834609
Merge pull request #84763 from KoBeWi/all-knowing_theme_editor
Fetch theme editor items from ThemeDB
2024-02-13 17:23:07 +01:00
A Thousand Ships
d8b29efe66
Fix member names of AudioFrame to match extension 2024-02-13 15:37:09 +01:00
kleonc
c0a1b4f32d Fix CanvasItem/Node3D editor plugin drag drop transform calculation 2024-02-13 13:52:37 +01:00
Rémi Verschelde
dfe226b933
Merge pull request #88270 from TokageItLab/avoid-near-far
Avoid unqualified-id "near" and "far" in Node3DEditor/Viewport
2024-02-13 11:25:24 +01:00
Rémi Verschelde
fbe8a1dfa2
Merge pull request #88269 from MajorMcDoom/live-debug-local-transform
Fix an edge case bug in drag-and-drop Node3D spawning.
2024-02-13 11:25:20 +01:00
Rémi Verschelde
76170379b3
Merge pull request #86633 from rune-scape/regression-79882
Fix possible crash (use after free) in ScriptTextEditor
2024-02-13 11:24:51 +01:00
Rémi Verschelde
391a8e5327
Merge pull request #85868 from KoBeWi/knowyourtiles
Add descriptions for tile properties
2024-02-13 11:24:42 +01:00
Silc Lizard (Tokage) Renew
67e38709fd Avoid unqualified-id "near" and "far" in Node3DEditor/Viewport 2024-02-13 18:53:21 +09:00
Zi Ye
123dbdb4af Fixed an edge case bug in drag-and-drop Node3D spawning. 2024-02-12 22:29:31 -06:00
Robert Yevdokimov
f2f3f17de8 Do not commit transforms and handles if no changes were made 2024-02-12 16:20:08 -05:00
Rémi Verschelde
687f840354
Merge pull request #87379 from groud/change_tilemap_editor_to_tilemaplayer_editor
Change TileMapEditor to TileMapLayerEditor
2024-02-12 13:34:04 +01:00
Rémi Verschelde
966a3ffbba
Merge pull request #86659 from MajorMcDoom/live-debug-local-transform
Improved synchronization of Transforms during live debug sessions
2024-02-12 13:33:35 +01:00
Gilles Roudière
5a999d67ec Change TileMapEditor to TileMapLayerEditor 2024-02-12 10:11:45 +01:00
Rémi Verschelde
b457a30311
Merge pull request #87628 from YuriSizov/assets-bigger-better-errors
Improve error reporting in the asset library and in related types
2024-02-09 18:09:16 +01:00
A Thousand Ships
684752e75b
Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
Rémi Verschelde
a1e1002ba4
Merge pull request #88084 from ckaiser/feature/use_indeterminate_progressbar
Use indeterminate progressbars for editor downloads (export templates & assets)
2024-02-09 12:35:53 +01:00
Rémi Verschelde
1774c17b64
Merge pull request #87625 from YuriSizov/editor-lightweight-script-previews
Generate script resource preview without parsing
2024-02-09 12:34:36 +01:00
Christian Kaiser
edcb581627 Use indeterminate progressbars for downloads (export templates & assets) 2024-02-08 11:08:11 -03:00
Rémi Verschelde
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +01:00
Rémi Verschelde
0ebda8e0f4
Merge pull request #65753 from KoBeWi/run_1000000_instances
Add a dialog to customize run instances
2024-02-08 10:53:06 +01:00
Rémi Verschelde
eac2091345
Merge pull request #87923 from smix8/meshlib_export_recursive
Make MeshLibrary export do recursive depth-search for MeshInstance3D nodes
2024-02-07 11:00:55 +01:00
Robert Yevdokimov
433c22fb6f Show modifier key functionality on all the editor tools 2024-02-05 15:20:27 -05:00
kobewi
5ab9e50461 Add a dialog to customize run instances 2024-02-05 19:07:31 +01:00
Rémi Verschelde
710c56e6b1
Merge pull request #87948 from ryevdokimov/always-default-to-region-select
Fix new region select with selection when over geometry
2024-02-05 14:54:10 +01:00
Rémi Verschelde
64cee8a99f
Merge pull request #87922 from ryevdokimov/all-tools-can-select-regression-2
Fix a regression when multiple nodes are selected and drag transform is attempted w/o gizmo
2024-02-05 14:51:48 +01:00
Rémi Verschelde
474d9b7e2e
Merge pull request #87771 from jsjtxietian/region-mismatch
Fix `TextureRegionEditor::_pan_callback` deferred called with only one argument
2024-02-05 14:49:45 +01:00
Rémi Verschelde
07655a0e11
Merge pull request #87623 from Calinou/editor-scene-drag-and-drop-tweak-modifier
Change scene drag-and-drop modifier behavior in the 2D and 3D editors
2024-02-05 14:49:21 +01:00
Rémi Verschelde
e096be85c4
Merge pull request #87125 from ryevdokimov/fix-removing-preview-nodes-on-ui-cancel
Clear drag preview nodes on `NOTIFICATION_DRAG_END`
2024-02-05 14:48:56 +01:00
Robert Yevdokimov
6718a9e4cf Fix bug that translates node during region select over geometry by always defaulting to region select 2024-02-04 13:34:18 -05:00
jsjtxietian
d06c526fb0 Fix TextureRegionEditor::_pan_callback deferred called with only one arg 2024-02-04 12:10:05 +08:00
smix8
4d0c21c131 Make MeshLibrary export do recursive depth-search for MeshInstance3D nodes
Makes MeshLibrary export do recursive depth-search for MeshInstance3D nodes.
2024-02-04 04:00:38 +01:00
Robert Yevdokimov
677bd9783a Fix a regression when multiple nodes are selected. and drag transform is attempted w/o gizmo 2024-02-03 21:45:08 -05:00
Robert Yevdokimov
7a2c386e28 Clear drag preview nodes on NOTIFICATION_DRAG_END 2024-02-03 18:50:33 -05:00
Rémi Verschelde
f69aa5e649
Merge pull request #87887 from jtakakura/fix-unintentional-translation-in-animation-tree
Fix unintentional translations in AnimationTree
2024-02-03 23:21:24 +01:00
Rémi Verschelde
607a3b2409
Merge pull request #87631 from ryevdokimov/decouple-message-from-framerate
Make viewport message dependent on framerate not physics step
2024-02-03 23:19:50 +01:00
Robert Yevdokimov
88b1103b44 Do not use physics process for 2D editor 2024-02-02 21:50:56 -05:00
Junji Takakura
dcf4d82fb5 Fix unintentional translations in AnimationTree 2024-02-03 10:49:04 +09:00
viksl
93334eb6d0 Select nodes on drag and drop in 3D viewport 2024-02-02 23:03:21 +01:00
Robert Yevdokimov
17e9fd06ce Make viewport message dependent on framerate not physics step 2024-02-02 14:47:30 -05:00
Robbie Cooper
30914c0434 Fix bounding boxes
Each time an AABB is rotated, it gets bigger. That means opposite rotations don't cancel out.

The previous implementation repeatedly rotates children AABBs as it climbs up the tree. This often resulted in selection boxes looking bigger than their contents.

This implementation calculates and applies a single final transformation to each AABB before it is merged with the others. After merging, there are no additional rotations, so AABBs remain accurate.

Co-Authored-By: Robert Yevdokimov <105675984+ryevdokimov@users.noreply.github.com>
2024-02-02 07:59:47 -05:00
Rémi Verschelde
7f5079f7c8
Merge pull request #87757 from hakro/vampire-origins
Do not reflect the origin lines in a mirror
2024-02-02 12:03:35 +01:00
kobewi
e86750dcaa Fetch theme editor items from ThemeDB 2024-01-31 13:17:11 +01:00
Rémi Verschelde
a3d50f7714
Merge pull request #87769 from ryevdokimov/fix-all-tools-can-select-regression
Fix a regression that breaks gizmo transforming when 'View Gizmos' is off
2024-01-31 10:56:30 +01:00
Robert Yevdokimov
87d97fe7d8 Fix a regression in #86804 that breaks gizmos transforming when 'View Gizmos' is off 2024-01-30 22:31:52 -05:00
Hugo Locurcio
253ad63005
Clarify the FOV setting in the 3D editor camera is vertical FOV 2024-01-31 01:20:21 +01:00
Hakim
59c75b074a Do not reflect the origin lines in a mirror 2024-01-30 22:57:02 +01:00
Yuri Sizov
28e8a4c0ee Replace empty list dialog with an integrated panel 2024-01-30 17:52:25 +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
Rémi Verschelde
9ab5cedef6
Merge pull request #87712 from akien-mga/revert-gdscript-uid-annotations-for-now
Revert "Add UID support to GDScript files" (for now)
2024-01-29 21:34:59 +01:00
kit
a6af442b05 Apply TextEdit IME on most actions 2024-01-29 15:07:19 -05:00
Rémi Verschelde
745f8e112f
Revert "Add UID support to GDScript files"
This reverts commit c7f68a27ec.

We still think GDScript files need UIDs to allow safe refactoring,
but we're still debating what form those should take exactly.

So far there seems to be agreement that it shouldn't be done via an
annotation as implemented here, so we're reverting this one for now,
to revisit the feature in a future PR.
2024-01-29 21:00:26 +01:00
Hugo Locurcio
085629a7c9
Extend minimum/maximum zoom level of TextureRegion editor
This also applies a similar change to the SpriteFrames editor.
2024-01-29 14:58:40 +01:00
Rémi Verschelde
fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde
75d2cf3075
Merge pull request #87616 from ryevdokimov/cancel-transformation-2d
Add cancel transformation shortcut to 2D to match 3D
2024-01-29 13:17:33 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary this-> expressions 2024-01-29 09:59:18 +01:00
Hugo Locurcio
04a930d9a6
Disable multi-window buttons instead of hiding them when support is unavailable
This is more explicit as for why this functionality isn't available
depending on editor settings and current platform.

This also exposes a `EditorInterface.is_multi_window_enabled()` method
so that editor plugins can easily query whether the editor is able and
expected to create multiple windows.
2024-01-27 19:38:39 +01:00
Yuri Sizov
815038962f Improve error reporting in the asset library and in related types
This also makes errors related to asset image loading
verbose-only, because, frankly, users can't do much about
those errors. Spamming them with error messages
about some assets on the frontend being broken
is pointless.
2024-01-26 20:33:22 +01:00
Yuri Sizov
9c919ea285 Generate script resource preview without parsing 2024-01-26 19:04:10 +01:00
Hugo Locurcio
341ca31be8
Change scene drag-and-drop modifier behavior in the 2D and 3D editors
Behavior is now consistent across 2D and 3D editors.

- By default, drag-and-dropping adds the scene as a child of the selected
  node. Hold Alt when releasing the mouse to add the scene as a child
  of the root node, or Shift to add the scene as a sibling of the selected
  node.
- To choose a different node type in the 2D editor when drag-and-dropping
  a texture resource, hold Alt + Shift (instead of just Alt).
- If multiple nodes are selected, only the first one is taken into account.
  This was previously the behavior in 2D, but not in 3D (an error dialog
  appeared instead). This makes the UI more forgiving.
2024-01-26 18:05:58 +01:00
Robert Yevdokimov
d9057c8b56 Add cancel transformation shortcut to 2D 2024-01-26 08:30:13 -05:00
Rémi Verschelde
c26a338430
Merge pull request #87356 from jsjtxietian/connection-error
Check if the ref shader is valid in visual shader's `_update_option_menu`
2024-01-26 11:44:13 +01:00
jsjtxietian
ff089f8cea Check is the ref shader valid in visual shader's update_option_menu 2024-01-25 11:54:23 +08:00
Giwayume
bb83c4adec Add custom shader attributes to Canvas Item Shaders 2024-01-23 14:36:39 -05:00
Adam Scott
12c84836b7
Make the text editor consistent with the script editor 2024-01-23 11:27:00 -05:00
Yuri Sizov
b5f033476c Merge pull request #87470 from AThousandShips/tile_thread_fix
[Editor] Fix threading problems with `TileMap` preview
2024-01-22 20:39:32 +01:00
Yuri Sizov
8f51117445 Merge pull request #87343 from ryevdokimov/fix-2d-top-level-2
Update the viewport if CanvasItem top level is changed
2024-01-22 20:39:11 +01:00
Yuri Sizov
feb1157276 Merge pull request #83510 from Geometror/vs-connection-ops
Add connection related functionality to VisualShader (deleting, dropping/inserting a node)
2024-01-22 20:38:30 +01:00
Robert Yevdokimov
3bed6b1cb0 Update the viewport if CanvasItem top level is changed 2024-01-22 13:10:54 -05:00
A Thousand Ships
dbcd82ba67
[Editor] Fix threading problems with TileMap preview 2024-01-22 13:44:36 +01:00
Hendrik Brucker
f59419bfe0 Add connection-related VisualShader operations
- Insert a node in a connection
- Drop an unconnected node on a connection to insert it
- Delete a connection
2024-01-19 11:38:59 +01:00
Robert Yevdokimov
ecc8493e17 Remove unused prev_rot variable 2024-01-18 11:24:22 -05:00
Rémi Verschelde
33f3511241
Merge pull request #87293 from YuriSizov/editor-theme-a-rehashed-follow-up
Improve editor theme generation after the refactor
2024-01-18 16:34:50 +01:00
Rémi Verschelde
d3003c48b3
Merge pull request #67132 from KoBeWi/This_commit_message_is_auto-generated._Do_not_modify_it-
Add UID support to GDScript files
2024-01-18 16:33:14 +01:00
kobewi
c7f68a27ec Add UID support to GDScript files 2024-01-17 22:30:56 +01:00
Yuri Sizov
c027aecc2e Merge pull request #86676 from rune-scape/sparse-script-reload
GDScript: Hot-reload changed scripts only
2024-01-17 18:52:54 +01:00
Yuri Sizov
45eedba1fa Improve editor theme generation after the refactor 2024-01-17 15:16:53 +01:00
Yuri Sizov
635b8a1474 Split theme generation logic into several subroutines
This change introduces a new theme configuration struct to be
passed to the aforementioned routines to better control reuse
of styles and definitions in the generator.

Everything not passed and not explicitly shared is scoped so it
is not automatically accessible throughout the routine. This
should ensure that the decision to share styles is a conscious one.

In the future we will try to reduce the number of unique definitions
and share most of it. This PR is a stepping stone on this path.

This also puts the effort into separating redefinitions of
default theme items vs custom types introduced only by the editor.
In a few cases where editor-specific definitions need to reference
default definitions we simply fetch them from the theme. It's not
ideal and hides the dependency a bit, but hopefully these cases
will be abstracted properly in due time.
2024-01-16 11:57:45 +01:00
Yuri Sizov
95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Rémi Verschelde
039379d272
Merge pull request #84193 from kitbdev/dock-manager-extract
Extract `EditorDockManager` from `EditorNode`
2024-01-16 10:35:11 +01:00
kit
2323f040e9 Extract editor dock manager 2024-01-15 15:15:42 -05:00
Rémi Verschelde
fe76b61743
Merge pull request #87160 from kleonc/tilemap-fix-debug-drawing-truncations-to-ints
Fix some `TileMap` debug drawing truncating to ints
2024-01-15 13:31:04 +01:00
Rémi Verschelde
fa3477f2be
Merge pull request #86878 from YeldhamDev/tabcontainer_pot_generation
Parse the names of children of `TabContainer`s on POT generation
2024-01-15 13:25:49 +01:00
kleonc
baa5504700 Fix some TileMap debug drawing truncating to ints 2024-01-14 02:02:46 +01:00
Rémi Verschelde
a3765274fb
Merge pull request #87048 from Mickeon/scene-string-names-are-a-mess
Use SceneStringNames in Skeleton3DEditorPlugin
2024-01-11 17:42:14 +01:00
Rémi Verschelde
880c12004b
Merge pull request #86881 from AThousandShips/gizmo_fix
[Editor] Add missing virtual bind to `EditorNode3DGizmo(Plugin)`
2024-01-11 17:39:48 +01:00
Rémi Verschelde
48936690af
Merge pull request #86736 from Illauriel/rename-add-lib
Add icon, tooltip, rename button in AnimationLibraryEditor for clarity.
2024-01-11 17:38:59 +01:00
Rémi Verschelde
9e967ebdf9
Merge pull request #86583 from reduz/lightmapper-dda-fix
Tiny fix for lightmapper DDA
2024-01-11 17:37:45 +01:00
Rémi Verschelde
087a397477
Merge pull request #86301 from KoBeWi/deferred_cleanup
Update deferred calls to use Callables
2024-01-11 17:36:29 +01:00
Illauriel
184b74c93f Add icon, tooltip, rename button in AnimationLibraryEditor for clarity. 2024-01-11 05:50:29 +01:00
Micky
3354273c9f Use SceneStringNames in Skeleton3DEditorPlugin 2024-01-10 18:17:58 +01:00
aXu-AP
5bdb5f5c37 Improve UV editor zoom behavior
Scrolling focuses towards mouse like in canvas editor.
Center view on opening.
Adjust scroll area to include polygons larger than texture.
Change zoom slider to EditorZoomWidget.
2024-01-10 13:27:20 +02:00
Juan Linietsky
caef2be758 Tiny fix for lightmapper DDA
- Ensures only one axis advances at a time
- This fixes extremely corner cases where the DDA may skip over geometry
2024-01-10 10:39:56 +01:00
kobewi
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Rémi Verschelde
ee42c9e7ef
Merge pull request #82498 from aXu-AP/docs-double-navigation
Fix opening docs writing extra navigation history
2024-01-09 15:30:38 +01:00
SaracenOne
cb8a743e18
Fix behavior of 'Editable Children' toggle.
Prevents losing nodes owned by the edited scene when
toggling editable_children off on an instanced scene,
and makes the toggle compatible with undo-redo.
2024-01-09 13:34:38 +01:00
Silc Lizard (Tokage) Renew
a51958a2a0 Remove Object pointer/solve types conflict in AnimationTrackCache
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-08 21:48:19 +09:00
Rémi Verschelde
35da70f953
Merge pull request #86933 from alessandrofama/drop-texture-scene-history
Fix 2D viewport texture drop issue with global history registration
2024-01-08 12:01:55 +01:00
Rémi Verschelde
4aa8e87e50
Merge pull request #86805 from ryevdokimov/clear-nodes-on-ui-cancel-2d
Allow `ui_cancel` to unselect all nodes in all edit modes in 2D, matching 3D behavior
2024-01-08 11:56:43 +01:00
Rémi Verschelde
f46465ba14
Merge pull request #86804 from ryevdokimov/allow-all-modes-to-select
Allow all editor modes to select nodes in the viewport
2024-01-08 11:56:19 +01:00
Rémi Verschelde
dd487ebb0b
Merge pull request #86568 from jsjtxietian/fix-infinite-loop-tile
Fix potential infinite loop when calculating tile editor zoom level
2024-01-08 11:55:30 +01:00
Rémi Verschelde
53d47a389c
Merge pull request #86542 from KoBeWi/merge_split_action
Improve Path2D editing
2024-01-08 11:54:42 +01:00
Alessandro Famà
4ea5c1ff2a Fix issue with dropping texture in 2D viewport causing incorrect global history registration
This fix addresses an issue where dropping a texture onto the 2D viewport in a scene without a root node incorrectly registers the action in the global history. Subsequently undoing and redoing this action in another scene results in the newly created node replacing the root of the current scene.

Fixes #86826.
2024-01-07 21:54:44 +01:00
A Thousand Ships
c794ce195b
[Editor] Add missing virtual bind to EditorNode3DGizmo(Plugin)
Method `_begin_handle_action` was not bound
2024-01-06 17:27:50 +01:00
Michael Alexsander
7b8c0b3a34
Parse the names of children of TabContainers on POT generation 2024-01-06 10:52:44 -03:00
jsjtxietian
42c672afd6 Fix infinite loop when calculating zoom level if tile_size * max_zoom < default 2024-01-06 16:11:26 +08:00
Zi Ye
97f9dbda81 Changed various editor transform operations to be committed in local instead of global space. Fixed a couple of bugs when syncing transforms to debug instance. 2024-01-05 17:07:20 -06:00
kobewi
f41b2c2ec4 Improve Path2D editing 2024-01-05 22:34:31 +01:00
Muller-Castro
96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
Robert Yevdokimov
ff03a32323 Allow all editor modes to select nodes in the viewport 2024-01-05 10:07:34 -05:00
Rémi Verschelde
dc5b57ea44
Merge pull request #81325 from AttackButton/path_2d_editor_plugin-clear_points
Add a button to clear curve points in the Path2D editor
2024-01-05 12:02:41 +01:00
Rémi Verschelde
d1b7c60afc
Merge pull request #77712 from nklbdev/Fix_lossless_formats_in_PortableCompressedTexture2D
Fix lossless formats in PortableCompressedTexture2D
2024-01-05 12:02:14 +01:00
Rémi Verschelde
85e999dc5e
Merge pull request #64908 from marcinn/lightmap-gi-texel-scale
Add `texel_scale` property to LightmapGI
2024-01-05 12:01:49 +01:00
Robert Yevdokimov
06f586e890 Allow ui_cancel to unselect all nodes in 2D, matching 3D behavior 2024-01-04 18:07:31 -05:00
nklbdev
47d991678d Fix lossless formats in PortableCompressedTexture2D
Update scene/resources/portable_compressed_texture.cpp

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-05 00:11:01 +05:00
Aaron Franke
9753a35c76
Move 3D scene import classes to their own folder 2024-01-04 11:02:49 -06:00