1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-06 12:20:30 +00:00
Commit Graph

688 Commits

Author SHA1 Message Date
Thaddeus Crews
5a71e5aeb1 Merge pull request #105806 from Grublady/scene_dock_open_doc
Walk up inheritance hierarchy when finding which script's docs to open
2025-05-07 12:48:27 -05:00
Aaron Franke
508d271522 Set current directory when using Save Branch As Scene 2025-05-05 14:00:44 -07:00
Grublady
d803d5b0c4 Walk up inheritance hierarchy when finding which script's docs to open 2025-04-26 16:35:11 -04:00
Pāvels Nadtočajevs
5b49fd4207 Selectively apply FOCUS_ACCESSIBILITY to the Labels instead of setting it by default. 2025-04-23 12:47:31 +03:00
BrotherShort
1e1b0913bc Improve SceneTree auto-translation 2025-04-20 11:12:07 +08:00
Joaquin Muñiz
5afb3858b7 Turn 'Add/Revoke unique Node' into a checkbox 2025-04-09 13:16:16 -03:00
Pāvels Nadtočajevs
302fa831cc Initial editor accessibility. 2025-04-08 20:25:48 +03:00
Yufeng Ying
4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
Rémi Verschelde
b12258bd22 Merge pull request #99897 from aaronfranke/editor-top-nodes
Clarify API for top selected nodes in EditorSelection and make public
2025-03-28 17:29:51 +01:00
Rémi Verschelde
2ba5168bec Merge pull request #104711 from shoonny/create_root_node_name_casing
Fix create root node dialog to follow preferred node name casing
2025-03-28 14:35:00 +01:00
Rémi Verschelde
5e8c80ab93 Merge pull request #104346 from dugramen/tree-prevent-inspect-while-drag-scrolling
Scene Tree prevent inspecting node while scrolling
2025-03-28 14:32:49 +01:00
Sean
41ce0e6004 fix create root node dialog to follow preferred node name casing 2025-03-27 22:49:58 -04:00
Aaron Franke
17db92b8b8 Clarify API for top selected nodes in EditorSelection and make public 2025-03-27 16:09:08 -07:00
dugramen
345974691b Scene Tree prevent inspecting node while scrolling 2025-03-25 19:54:07 -04:00
Yyf2333
df80265d3a Eliminate interior mutability in get_selected_node_list. 2025-03-14 02:38:02 +08:00
Thaddeus Crews
598104abd8 Merge pull request #103738 from dugramen/scenetree-drag-hover-inspect
Inspect SceneTree node when dragged over
2025-03-13 08:57:29 -05:00
Lars Pettersson
d2d02d0ea8 EditorNode: Add function to load file as scene or resource 2025-03-12 23:59:48 +01:00
Rémi Verschelde
0ca46bfcbd Merge pull request #103769 from AeioMuch/fix_copy_paste_to_new_scene
Fix ownership when pasting non root with child nodes in new scene
2025-03-12 22:57:09 +01:00
kobewi
49f467d852 Don't show Extend Script option for built-in scripts 2025-03-12 14:59:18 +01:00
dugramen
672b2d4f22 Inspect SceneTree node when anything is dragged over 2025-03-08 18:49:55 -05:00
A Thousand Ships
466590d0ec Use get_slicec instead of get_slice for single character splitters 2025-03-08 20:36:37 +01:00
AeioMuch
8d39e4b14e Fix ownership when pasting non root with child nodes 2025-03-07 16:11:48 +01:00
kobewi
92ab92114e Don't duplicate internal nodes 2025-03-07 16:08:53 +01:00
kobewi
cc2649acdb Validate custom type script before loading it 2025-03-02 14:55:30 +01:00
kobewi
38d0e82a35 Store _custom_type_script meta as String 2025-02-12 01:22:09 +01:00
Lily
721f8e793e Fix SceneTreeDock::_new_scene_from()'s reset_scale in 3D 2025-01-22 20:31:45 -05:00
Rémi Verschelde
f7b9a6a8b1 Merge pull request #100091 from AeioMuch/fix_nodepath_in_history
Add missing cleanup of editor history & set appropriate class icon for object in it
2025-01-08 00:20:58 +01:00
AeioMuch
96e59b99ba Cleanup editor history when opening the history menu popup & set appropriate class icon for object in it. Handle do&undo for selection when reparenting 2025-01-07 23:15:30 +01:00
Yufeng Ying
34d8255947 Force build editor with regex module, remove checking code.
Fix include.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +08:00
Rémi Verschelde
ae205b0fc6 Merge pull request #98926 from YeldhamDev/out_all_of_you
Add toggle to hide filtered out parents in the "SceneTree" dock
2025-01-06 22:46:48 +01:00
Michael Alexsander
38ff1500c7 Add toggle to hide filtered out parents in the "SceneTree" dock 2024-12-24 13:43:01 -03:00
A Thousand Ships
a1846b27ea Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Yufeng Ying
73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
Haoyu Qiu
bf4e5cca3f Make editor's shortcut names translated on-site 2024-12-18 13:00:30 +08:00
HP van Braam
6f7525c396 Improve Scene Tree editor performance
We now cache the Node*<>TreeItem* mapping in the SceneTreeEditor. This
allows us to make targeted updates to the Tree used to display the scene
tree in the editor.

Previously on almost all changes to the scene tree the editor would
rebuild the entire widget, causing a large number of deallocations an
allocations. We now carefully manipulate the Tree widget in-situ saving
a large number of these allocations.

In order to know what Nodes need to be updated we add a
editor_state_changed signal to Node, this is a TOOLS_ENABLED,
editor-only signal fired when changes to Node happen that are relevant
to editor state.

We also now make sure that when nodes are moved/renamed we don't check
expensive properties that cannot contain NodePaths. This saves a lot of
time when SceneTreeDock renames a node in a scene with a lot of
MeshInstances. This makes renaming nodes go from ~27 seconds to ~2
seconds on large scenes.

SceneTreeEditor instances will now also not do all of the potentially
expensive update work if they are invisible. This behavior is turned off
by default so it won't affect existing users. This change allows the
editor to only update SceneTreeEditors that actually in view. In
practice this means that for most changes instead of updating 6
SceneTreeEditors we only update 1 instantly, and the others only when
they become visible.

There is definitely more that could be done, but this is already a
massive improvement. In complex scenes we see an improvement of 10x,
things that used to take ~30 seconds now only take 2.

This fixes #83460

I want to thank KoBeWi, TokisanGames, a-johnston, aniel080400 for
their tireless testing. And AeioMuch for their testing and providing a
fix for the hover issue.
2024-12-12 22:47:05 +01:00
Chaosus
ba39b078f5 [Scene] Add SceneStringName::FlatButton 2024-12-10 11:12:26 +03:00
Thaddeus Crews
68c35f498a Merge pull request #98232 from dbnicholson/editor-dock-select-root
Fix selecting root node before button released
2024-11-10 12:12:39 -06:00
Aaron Franke
562c666e3d Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 -07:00
Thaddeus Crews
cf313e4492 Merge pull request #96786 from passivestar/spin-slider-focus-fix
Fix EditorSpinSlider blocking viewport from getting focus
2024-10-25 13:03:47 -05:00
bjornmp
06998a3927 Enforce that custom nodes keep their original type
Enforce that custom nodes and resources created via the "Create New Node" dialog, should permanently retain their original type (script). This means:

- Type continuity: It should be impossible for the user to (accidentally) clear the original script of a custom node that was created via the "Create New Node" dialog.

- Extensibility: The user should be able to extend custom types as usual (create a script that inherits the original type and replace the original script of that node with his own). However, if he then clears his extension-script from that node later on, the custom type should revert to its original script instead of becoming a non-scripted type.
2024-10-22 18:18:16 +02:00
Dan Nicholson
b05aab4b33 Fix selecting root node before button released
In order to test if the button press is within the scene tree, the
Tree's coordinates should be used, not the SceneTreeEditor's.
2024-10-16 05:51:08 -06:00
Stijn Hinlopen
06791e1acd New Quick Open Dialog
- Updated list view with thumbnails, and separate file name.
  - Added a grid view which has larger icons.
  - Added toggle to filter out files from addons.
  - Store history for each opened resource type.

New Editor settings for Quick Open:
  - Startup display mode (grid or list):
      - Determined by the requested resource type.
      - Whatever was last used.
  - Toggle to filter out files from addons (for persistence).

Notes
  - The dialog is now created once in EditorNode, and globally available for other components.
  - A fixed number of result scenes are instantiated, and reused based on query.
  - Drop support for multiselect.
2024-10-01 21:39:16 +02:00
Rémi Verschelde
0fd62f7525 Merge pull request #96124 from AeioMuch/check_mouse_pos_inside_inspector
Prevent selecting the hovered node if the mouse is not inside the inspector dock
2024-10-01 17:30:41 +02:00
HolonProduction
03c3c5f608 Set position to zero when saving a positioned branch as scene 2024-09-30 09:43:47 +02:00
Rémi Verschelde
d4735ebd97 Merge pull request #96776 from aXu-AP/detach-script-undo
Make detach script non-destructive operation
2024-09-16 13:34:58 +02:00
A Thousand Ships
dd6443193c [Editor] Expose more editor settings to documentation
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +02:00
Rémi Verschelde
a4e77d94bc Merge pull request #96539 from KoBeWi/feat_context_menu_plugin4.x_2-electric_boogaloo
Add EditorContextMenuPluginManager and refactor menu plugins
2024-09-11 12:34:53 +02:00
passivestar
16f3d52253 Fix EditorSpinSlider blocking viewport from getting focus 2024-09-10 14:44:47 +04:00
aXu-AP
e4db0bca73 Make detach script non-destructive operation
Fix detach script not returning script's property values on undo.
2024-09-10 10:19:17 +03:00
kit
5e1c9d68aa Extract editor main screen 2024-09-09 11:06:18 -04:00