From 2e5d7dc11127df18a2c453b474c475d5ecf3b6f5 Mon Sep 17 00:00:00 2001 From: BenjaTK <73806216+BenjaTK@users.noreply.github.com> Date: Sun, 1 Feb 2026 11:26:26 -0300 Subject: [PATCH 1/2] Update to 4.6 --- addons/gaea/editor/graph_editor/graph_edit.gd | 37 ----------- .../gaea/editor/graph_editor/main_editor.gd | 2 - addons/gaea/editor/panel/panel.gd | 45 ------------- addons/gaea/editor/panel/panel.tscn | 64 +++++++++---------- addons/gaea/gaea.gd | 47 +++++++------- .../documentation_toolkit.tscn | 31 ++++----- addons/gaea_documentation_toolkit/plugin.gd | 15 +++-- project.godot | 10 ++- 8 files changed, 92 insertions(+), 159 deletions(-) diff --git a/addons/gaea/editor/graph_editor/graph_edit.gd b/addons/gaea/editor/graph_editor/graph_edit.gd index 2c3dbb8fb..362a614ab 100644 --- a/addons/gaea/editor/graph_editor/graph_edit.gd +++ b/addons/gaea/editor/graph_editor/graph_edit.gd @@ -26,12 +26,6 @@ var is_loading = false ## Reference to the output node var _output_node: GaeaOutputGraphNode -## Reference to the window popout separator -var _window_popout_separator: VSeparator - -## Reference to the window popout button -var _window_popout_button: Button - var _back_icon: Texture2D var _forward_icon: Texture2D @@ -185,31 +179,6 @@ func _add_toolbar_buttons() -> void: about_button.pressed.connect(main_editor.about_popup_request.emit) container.add_child(about_button) - _window_popout_separator = VSeparator.new() - container.add_child(_window_popout_separator) - - _window_popout_button = Button.new() - _window_popout_button.theme_type_variation = &"FlatButton" - _window_popout_button.icon = EditorInterface.get_base_control().get_theme_icon(&"MakeFloating", &"EditorIcons") - _window_popout_button.pressed.connect(main_editor.panel_popout_request.emit) - container.add_child(_window_popout_button) - - if not EditorInterface.is_multi_window_enabled(): - _window_popout_button.disabled = true - _window_popout_button.tooltip_text = _get_multiwindow_support_tooltip_text() - - -func _get_multiwindow_support_tooltip_text() -> String: - # Adapted from https://github.com/godotengine/godot/blob/a8598cd8e261716fa3addb6f10bb57c03a061be9/editor/editor_node.cpp#L4725-L4737 - var prefix: String = "Multi-window support is not available because" - if EditorInterface.get_editor_settings().get_setting("interface/editor/single_window_mode"): - return tr(prefix + " Interface > Editor > Single Window Mode is enabled in the editor settings.") - if not EditorInterface.get_editor_settings().get_setting("interface/multi_window/enable"): - return tr(prefix + " Interface > Multi Window > Enable is disabled in the editor settings.") - if DisplayServer.has_feature(DisplayServer.FEATURE_SUBWINDOWS): - return tr(prefix + " the `--single-window` command line argument was used to start the editor.") - return tr(prefix + " the current platform doesn't support multiple windows.") - func _add_node_button_pressed() -> void: main_editor.popup_create_node_request.emit() @@ -780,12 +749,6 @@ func _on_edited_script_changed(script: Script): #endregion #region Utils and misc -@warning_ignore("shadowed_variable_base_class") -func set_window_popout_button_visible(visible: bool) -> void: - _window_popout_button.visible = visible - _window_popout_separator.visible = visible - - ## This function converts a local position to a grid position based on the current zoom level and scroll offset. ## It also applies snapping if enabled in the GraphEdit. func local_to_grid( diff --git a/addons/gaea/editor/graph_editor/main_editor.gd b/addons/gaea/editor/graph_editor/main_editor.gd index 2bcb4c101..3f7ecad51 100644 --- a/addons/gaea/editor/graph_editor/main_editor.gd +++ b/addons/gaea/editor/graph_editor/main_editor.gd @@ -10,8 +10,6 @@ signal popup_create_node_and_connect_node_request(node: GaeaGraphNode, type: Gae signal popup_node_context_menu_at_mouse_request(selected_nodes: Array) signal popup_link_context_menu_at_mouse_request(connection: Dictionary) -@warning_ignore("unused_signal") -signal panel_popout_request() signal node_selected_for_creation(resource: GaeaNodeResource) signal special_node_selected_for_creation(id: StringName) diff --git a/addons/gaea/editor/panel/panel.gd b/addons/gaea/editor/panel/panel.gd index 04da0ed3b..82b3f8c5f 100644 --- a/addons/gaea/editor/panel/panel.gd +++ b/addons/gaea/editor/panel/panel.gd @@ -16,48 +16,3 @@ static func instantiate() -> Node: func _ready() -> void: if is_part_of_edited_scene(): return - - main_editor.panel_popout_request.connect(_on_panel_popout_request) - - -#region Popout Panel Window -func _on_panel_popout_request() -> void: - graph_edit.set_window_popout_button_visible(false) - var window: Window = Window.new() - window.min_size = get_combined_minimum_size() - window.size = size - window.title = "Gaea - Godot Engine" - window.close_requested.connect(_on_window_close_requested.bind(get_parent(), window)) - - var margin_container: MarginContainer = MarginContainer.new() - margin_container.set_anchors_preset(Control.PRESET_FULL_RECT) - var panel: Panel = Panel.new() - panel.add_theme_stylebox_override( - &"panel", - EditorInterface.get_base_control().get_theme_stylebox(&"PanelForeground", &"EditorStyles") - ) - panel.set_anchors_preset(Control.PRESET_FULL_RECT) - panel.mouse_filter = Control.MOUSE_FILTER_IGNORE - panel.z_index -= 1 - window.add_child(margin_container) - margin_container.add_sibling(panel) - - var margin: int = get_theme_constant(&"base_margin", &"Editor") - margin_container.add_theme_constant_override(&"margin_top", margin) - margin_container.add_theme_constant_override(&"margin_bottom", margin) - margin_container.add_theme_constant_override(&"margin_left", margin) - margin_container.add_theme_constant_override(&"margin_right", margin) - - window.position = global_position as Vector2i + DisplayServer.window_get_position() - - reparent(margin_container, false) - - EditorInterface.get_base_control().add_child(window) - window.popup() - - -func _on_window_close_requested(original_parent: Control, window: Window) -> void: - graph_edit.set_window_popout_button_visible(true) - reparent(original_parent, false) - window.queue_free() -#endregion diff --git a/addons/gaea/editor/panel/panel.tscn b/addons/gaea/editor/panel/panel.tscn index 1c53a0a56..c5ef8638b 100644 --- a/addons/gaea/editor/panel/panel.tscn +++ b/addons/gaea/editor/panel/panel.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=3 uid="uid://dngytsjlmkfg7"] +[gd_scene format=3 uid="uid://dngytsjlmkfg7"] [ext_resource type="Script" uid="uid://dpbmowgfmnxe5" path="res://addons/gaea/editor/panel/panel.gd" id="1_afcqa"] [ext_resource type="Script" uid="uid://bedt1m4gyyvyv" path="res://addons/gaea/editor/graph_editor/graph_edit.gd" id="2_cdav6"] @@ -14,7 +14,7 @@ [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_dhpru"] -[node name="GaeaPanel" type="HSplitContainer" node_paths=PackedStringArray("main_editor", "graph_edit", "file_list")] +[node name="GaeaPanel" type="HSplitContainer" unique_id=458114644 node_paths=PackedStringArray("main_editor", "graph_edit", "file_list")] custom_minimum_size = Vector2(0, 256) anchors_preset = 15 anchor_right = 1.0 @@ -26,7 +26,7 @@ main_editor = NodePath("MainEditor") graph_edit = NodePath("MainEditor/GraphEdit") file_list = NodePath("FileSystemContainer") -[node name="FileSystemContainer" type="VBoxContainer" parent="." node_paths=PackedStringArray("graph_edit", "main_editor", "menu_bar", "file_list", "context_menu", "file_dialog")] +[node name="FileSystemContainer" type="VBoxContainer" parent="." unique_id=1774839763 node_paths=PackedStringArray("graph_edit", "main_editor", "menu_bar", "file_list", "context_menu", "file_dialog")] clip_contents = true custom_minimum_size = Vector2(200, 0) layout_mode = 2 @@ -38,32 +38,32 @@ file_list = NodePath("FileList") context_menu = NodePath("FileList/ContextMenu") file_dialog = NodePath("FileDialog") -[node name="MenuBar" type="MenuBar" parent="FileSystemContainer"] +[node name="MenuBar" type="MenuBar" parent="FileSystemContainer" unique_id=1427158964] layout_mode = 2 theme_type_variation = &"FlatButton" script = ExtResource("2_ce5k6") -[node name="File" type="PopupMenu" parent="FileSystemContainer/MenuBar"] +[node name="File" type="PopupMenu" parent="FileSystemContainer/MenuBar" unique_id=301418282] oversampling_override = 1.0 -[node name="RecentFiles" type="PopupMenu" parent="FileSystemContainer/MenuBar/File"] +[node name="RecentFiles" type="PopupMenu" parent="FileSystemContainer/MenuBar/File" unique_id=1961108598] -[node name="FileList" type="ItemList" parent="FileSystemContainer"] +[node name="FileList" type="ItemList" parent="FileSystemContainer" unique_id=1096113334] layout_mode = 2 size_flags_vertical = 3 allow_reselect = true allow_rmb_select = true -[node name="ContextMenu" type="PopupMenu" parent="FileSystemContainer/FileList"] +[node name="ContextMenu" type="PopupMenu" parent="FileSystemContainer/FileList" unique_id=1683616150] script = ExtResource("3_gbl2m") -[node name="FileDialog" type="FileDialog" parent="FileSystemContainer"] +[node name="FileDialog" type="FileDialog" parent="FileSystemContainer" unique_id=930708575] title = "Save Graph As..." size = Vector2i(960, 540) mode_overrides_title = false filters = PackedStringArray("*.tres;Resource Files") -[node name="MainEditor" type="Control" parent="." node_paths=PackedStringArray("gaea_panel", "graph_edit", "about_window", "create_node_popup", "node_context_menu", "link_context_menu")] +[node name="MainEditor" type="Control" parent="." unique_id=575557215 node_paths=PackedStringArray("gaea_panel", "graph_edit", "about_window", "create_node_popup", "node_context_menu", "link_context_menu")] layout_mode = 2 size_flags_vertical = 3 script = ExtResource("4_gbl2m") @@ -74,7 +74,7 @@ create_node_popup = NodePath("CreateNodePopup") node_context_menu = NodePath("NodeContextMenu") link_context_menu = NodePath("LinkContextMenu") -[node name="GraphEdit" type="GraphEdit" parent="MainEditor" node_paths=PackedStringArray("main_editor", "bottom_note_label")] +[node name="GraphEdit" type="GraphEdit" parent="MainEditor" unique_id=1709972799 node_paths=PackedStringArray("main_editor", "bottom_note_label")] visible = false layout_mode = 1 anchors_preset = 15 @@ -92,7 +92,7 @@ script = ExtResource("2_cdav6") main_editor = NodePath("..") bottom_note_label = NodePath("Margin/BottomNote") -[node name="Margin" type="MarginContainer" parent="MainEditor/GraphEdit"] +[node name="Margin" type="MarginContainer" parent="MainEditor/GraphEdit" unique_id=1980547536] z_index = 50 layout_mode = 1 anchors_preset = 12 @@ -106,7 +106,7 @@ theme_override_constants/margin_top = 5 theme_override_constants/margin_right = 12 theme_override_constants/margin_bottom = 12 -[node name="BottomNote" type="RichTextLabel" parent="MainEditor/GraphEdit/Margin"] +[node name="BottomNote" type="RichTextLabel" parent="MainEditor/GraphEdit/Margin" unique_id=1830305295] layout_mode = 2 mouse_filter = 1 theme_override_styles/normal = SubResource("StyleBoxEmpty_dhpru") @@ -117,12 +117,12 @@ text = "(0,0)" fit_content = true metadata/_edit_use_anchors_ = true -[node name="AboutWindow" parent="MainEditor" node_paths=PackedStringArray("main_editor") instance=ExtResource("9_affj1")] +[node name="AboutWindow" parent="MainEditor" unique_id=1931820040 node_paths=PackedStringArray("main_editor") instance=ExtResource("9_affj1")] visible = false exclusive = true main_editor = NodePath("..") -[node name="CreateNodePopup" type="Window" parent="MainEditor" node_paths=PackedStringArray("main_editor", "create_node_panel", "search_bar", "tool_button", "tool_popup", "create_node_tree", "description_label", "cancel_button")] +[node name="CreateNodePopup" type="Window" parent="MainEditor" unique_id=600413268 node_paths=PackedStringArray("main_editor", "create_node_panel", "search_bar", "tool_button", "tool_popup", "create_node_tree", "description_label", "cancel_button")] oversampling_override = 1.0 title = "Create Node" position = Vector2i(0, 36) @@ -142,7 +142,7 @@ create_node_tree = NodePath("MainContentContainer/VBox/CreateNodeTree") description_label = NodePath("MainContentContainer/VBox/PanelContainer/DescriptionLabel") cancel_button = NodePath("MainContentContainer/VBox/HBoxContainer/CancelButton") -[node name="BackgroundContainer" type="MarginContainer" parent="MainEditor/CreateNodePopup"] +[node name="BackgroundContainer" type="MarginContainer" parent="MainEditor/CreateNodePopup" unique_id=1175366127] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -153,13 +153,13 @@ theme_override_constants/margin_top = -10 theme_override_constants/margin_right = -10 theme_override_constants/margin_bottom = -10 -[node name="CreateNodePanel" type="Panel" parent="MainEditor/CreateNodePopup/BackgroundContainer"] +[node name="CreateNodePanel" type="Panel" parent="MainEditor/CreateNodePopup/BackgroundContainer" unique_id=611787607] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 mouse_filter = 2 -[node name="MainContentContainer" type="MarginContainer" parent="MainEditor/CreateNodePopup"] +[node name="MainContentContainer" type="MarginContainer" parent="MainEditor/CreateNodePopup" unique_id=1099120221] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -172,26 +172,26 @@ theme_override_constants/margin_top = 10 theme_override_constants/margin_right = 10 theme_override_constants/margin_bottom = 10 -[node name="VBox" type="VBoxContainer" parent="MainEditor/CreateNodePopup/MainContentContainer"] +[node name="VBox" type="VBoxContainer" parent="MainEditor/CreateNodePopup/MainContentContainer" unique_id=213634090] layout_mode = 2 -[node name="SearchContainer" type="HBoxContainer" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox"] +[node name="SearchContainer" type="HBoxContainer" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox" unique_id=1711776170] layout_mode = 2 -[node name="SearchBar" type="LineEdit" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/SearchContainer"] +[node name="SearchBar" type="LineEdit" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/SearchContainer" unique_id=1398812158] layout_mode = 2 size_flags_horizontal = 3 placeholder_text = "Search (Ctrl+Tab to cycle)" clear_button_enabled = true -[node name="ToolButton" type="Button" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/SearchContainer"] +[node name="ToolButton" type="Button" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/SearchContainer" unique_id=531789516] custom_minimum_size = Vector2(32, 32) layout_mode = 2 focus_mode = 0 theme_type_variation = &"FlatButton" icon_alignment = 1 -[node name="ToolPopup" type="PopupMenu" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/SearchContainer/ToolButton"] +[node name="ToolPopup" type="PopupMenu" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/SearchContainer/ToolButton" unique_id=1499861277] oversampling_override = 1.0 position = Vector2i(255, 80) size = Vector2i(108, 62) @@ -203,7 +203,7 @@ item_1/id = 1 item_2/text = "Reload Tree" item_2/id = 2 -[node name="CreateNodeTree" type="Tree" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox" node_paths=PackedStringArray("main_editor", "description_label")] +[node name="CreateNodeTree" type="Tree" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox" unique_id=705628331 node_paths=PackedStringArray("main_editor", "description_label")] layout_mode = 2 size_flags_vertical = 3 hide_root = true @@ -211,35 +211,35 @@ script = ExtResource("2_vpeaa") main_editor = NodePath("../../../..") description_label = NodePath("../PanelContainer/DescriptionLabel") -[node name="Label" type="Label" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox"] +[node name="Label" type="Label" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox" unique_id=1046983528] layout_mode = 2 text = "Description" -[node name="PanelContainer" type="PanelContainer" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox"] +[node name="PanelContainer" type="PanelContainer" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox" unique_id=1770195186] layout_mode = 2 -[node name="DescriptionLabel" type="RichTextLabel" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/PanelContainer"] +[node name="DescriptionLabel" type="RichTextLabel" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/PanelContainer" unique_id=1423034241] custom_minimum_size = Vector2(0, 96) layout_mode = 2 bbcode_enabled = true text = "Description of the selected node goes here" autowrap_mode = 2 -[node name="HBoxContainer" type="HBoxContainer" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox"] +[node name="HBoxContainer" type="HBoxContainer" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox" unique_id=841707805] layout_mode = 2 size_flags_vertical = 0 -[node name="CreateButton" type="Button" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/HBoxContainer"] +[node name="CreateButton" type="Button" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/HBoxContainer" unique_id=97503787] layout_mode = 2 size_flags_horizontal = 3 text = "Create" -[node name="CancelButton" type="Button" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/HBoxContainer"] +[node name="CancelButton" type="Button" parent="MainEditor/CreateNodePopup/MainContentContainer/VBox/HBoxContainer" unique_id=1925604259] layout_mode = 2 size_flags_horizontal = 3 text = "Cancel" -[node name="NodeContextMenu" type="PopupMenu" parent="MainEditor" node_paths=PackedStringArray("main_editor", "graph_edit")] +[node name="NodeContextMenu" type="PopupMenu" parent="MainEditor" unique_id=579747770 node_paths=PackedStringArray("main_editor", "graph_edit")] oversampling_override = 1.0 size = Vector2i(100, 124) item_count = 6 @@ -260,7 +260,7 @@ script = ExtResource("4_vtsfx") main_editor = NodePath("..") graph_edit = NodePath("../GraphEdit") -[node name="LinkContextMenu" type="PopupMenu" parent="MainEditor" node_paths=PackedStringArray("main_editor")] +[node name="LinkContextMenu" type="PopupMenu" parent="MainEditor" unique_id=1303281965 node_paths=PackedStringArray("main_editor")] oversampling_override = 1.0 size = Vector2i(106, 100) item_count = 1 diff --git a/addons/gaea/gaea.gd b/addons/gaea/gaea.gd index 5975c0dfa..c60bd978b 100644 --- a/addons/gaea/gaea.gd +++ b/addons/gaea/gaea.gd @@ -5,45 +5,48 @@ extends EditorPlugin const InspectorPlugin = preload("uid://bpg2cpobusnnl") -var _container: MarginContainer var _panel: GaeaPanel -var _panel_button: Button +var _dock: EditorDock var _editor_selection: EditorSelection var _inspector_plugin: EditorInspectorPlugin var _custom_project_settings: GaeaProjectSettings func _enter_tree() -> void: - if Engine.is_editor_hint(): - _editor_selection = EditorInterface.get_selection() - _editor_selection.selection_changed.connect(_on_selection_changed) + _editor_selection = EditorInterface.get_selection() + _editor_selection.selection_changed.connect(_on_selection_changed) + + _panel = GaeaPanel.instantiate() + _panel.plugin = self + + _dock = EditorDock.new() + _dock.available_layouts = EditorDock.DOCK_LAYOUT_FLOATING | EditorDock.DOCK_LAYOUT_HORIZONTAL + _dock.title = "Gaea" + _dock.default_slot = EditorDock.DOCK_SLOT_BOTTOM + _dock.add_child(_panel) + add_dock(_dock) - _container = MarginContainer.new() - _panel = GaeaPanel.instantiate() - _panel.plugin = self - _container.add_child(_panel) - _panel_button = add_control_to_bottom_panel(_container, "Gaea") - _panel_button.show() - _inspector_plugin = InspectorPlugin.new(_panel) - add_inspector_plugin(_inspector_plugin) + _inspector_plugin = InspectorPlugin.new(_panel) + add_inspector_plugin(_inspector_plugin) - GaeaEditorSettings.new().add_settings() - _custom_project_settings = GaeaProjectSettings.new() - _custom_project_settings.add_settings() + GaeaEditorSettings.new().add_settings() + _custom_project_settings = GaeaProjectSettings.new() + _custom_project_settings.add_settings() - resource_saved.connect(_on_resource_saved) + resource_saved.connect(_on_resource_saved) - EditorInterface.get_file_system_dock().resource_removed.connect(_on_resource_removed) - EditorInterface.get_file_system_dock().file_removed.connect(_on_file_removed) + EditorInterface.get_file_system_dock().resource_removed.connect(_on_resource_removed) + EditorInterface.get_file_system_dock().file_removed.connect(_on_file_removed) func _exit_tree() -> void: if Engine.is_editor_hint(): _panel.graph_edit.unpopulate() remove_inspector_plugin(_inspector_plugin) - remove_control_from_bottom_panel(_container) - _container.queue_free() + remove_dock(_dock) + _dock.queue_free() + _dock = null func _disable_plugin() -> void: @@ -90,7 +93,7 @@ func _edit(object: Object) -> void: if object.resource_path.is_empty(): return - make_bottom_panel_item_visible(_container) + _dock.make_visible() if _panel.graph_edit.graph == object: return diff --git a/addons/gaea_documentation_toolkit/documentation_toolkit.tscn b/addons/gaea_documentation_toolkit/documentation_toolkit.tscn index 33e8f5f2b..16eb894a7 100644 --- a/addons/gaea_documentation_toolkit/documentation_toolkit.tscn +++ b/addons/gaea_documentation_toolkit/documentation_toolkit.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=4 format=3 uid="uid://bxanwt5o3b0ng"] +[gd_scene format=3 uid="uid://bxanwt5o3b0ng"] [ext_resource type="Script" uid="uid://darqwls1ewij0" path="res://addons/gaea_documentation_toolkit/documentation_toolkit.gd" id="1_lxb1e"] [ext_resource type="Script" uid="uid://obmksa6ngu1s" path="res://addons/gaea_documentation_toolkit/tree.gd" id="2_8ok20"] @@ -8,7 +8,8 @@ font_names = PackedStringArray("Consolas", "Monospace") subpixel_positioning = 0 keep_rounding_remainders = false -[node name="DocumentationToolkit" type="Control"] +[node name="DocumentationToolkit" type="Control" unique_id=1633651677] +custom_minimum_size = Vector2(0, 128) layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -17,7 +18,7 @@ grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_lxb1e") -[node name="HBoxContainer" type="HSplitContainer" parent="."] +[node name="HBoxContainer" type="HSplitContainer" parent="." unique_id=1744461141] layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -25,41 +26,41 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -[node name="TreeContainer" type="VBoxContainer" parent="HBoxContainer"] +[node name="TreeContainer" type="VBoxContainer" parent="HBoxContainer" unique_id=515664750] custom_minimum_size = Vector2(200, 0) layout_mode = 2 -[node name="SearchBar" type="LineEdit" parent="HBoxContainer/TreeContainer"] +[node name="SearchBar" type="LineEdit" parent="HBoxContainer/TreeContainer" unique_id=1200599534] layout_mode = 2 placeholder_text = "Search..." -[node name="Tree" type="Tree" parent="HBoxContainer/TreeContainer"] +[node name="Tree" type="Tree" parent="HBoxContainer/TreeContainer" unique_id=1446740897] unique_name_in_owner = true custom_minimum_size = Vector2(192, 0) layout_mode = 2 size_flags_vertical = 3 script = ExtResource("2_8ok20") -[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/TreeContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/TreeContainer" unique_id=2112535570] layout_mode = 2 -[node name="OpenFolderButton" type="Button" parent="HBoxContainer/TreeContainer/HBoxContainer"] +[node name="OpenFolderButton" type="Button" parent="HBoxContainer/TreeContainer/HBoxContainer" unique_id=1158338676] unique_name_in_owner = true custom_minimum_size = Vector2(31, 0) layout_mode = 2 tooltip_text = "Open target folder..." -[node name="ExportAllButton" type="Button" parent="HBoxContainer/TreeContainer/HBoxContainer"] +[node name="ExportAllButton" type="Button" parent="HBoxContainer/TreeContainer/HBoxContainer" unique_id=205747794] layout_mode = 2 size_flags_horizontal = 3 text = "Export All" -[node name="RightContainer" type="Control" parent="HBoxContainer"] +[node name="RightContainer" type="Control" parent="HBoxContainer" unique_id=9088164] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 3 -[node name="SubViewportContainer" type="SubViewportContainer" parent="HBoxContainer/RightContainer"] +[node name="SubViewportContainer" type="SubViewportContainer" parent="HBoxContainer/RightContainer" unique_id=414675997] z_index = -4096 z_as_relative = false layout_mode = 1 @@ -70,14 +71,14 @@ grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 3 -[node name="SubViewport" type="SubViewport" parent="HBoxContainer/RightContainer/SubViewportContainer"] +[node name="SubViewport" type="SubViewport" parent="HBoxContainer/RightContainer/SubViewportContainer" unique_id=989321962] unique_name_in_owner = true transparent_bg = true handle_input_locally = false size = Vector2i(2, 2) render_target_update_mode = 4 -[node name="Panel" type="Panel" parent="HBoxContainer/RightContainer"] +[node name="Panel" type="Panel" parent="HBoxContainer/RightContainer" unique_id=1631485179] layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -86,7 +87,7 @@ grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 3 -[node name="Markdown" type="RichTextLabel" parent="HBoxContainer/RightContainer/Panel"] +[node name="Markdown" type="RichTextLabel" parent="HBoxContainer/RightContainer/Panel" unique_id=1995849860] unique_name_in_owner = true layout_mode = 1 anchors_preset = 15 @@ -100,7 +101,7 @@ autowrap_trim_flags = 0 context_menu_enabled = true selection_enabled = true -[node name="ConfirmationDialog" type="ConfirmationDialog" parent="."] +[node name="ConfirmationDialog" type="ConfirmationDialog" parent="." unique_id=880913801] dialog_text = "This will create images for every node in the tree, are you sure you want to?" [connection signal="text_changed" from="HBoxContainer/TreeContainer/SearchBar" to="HBoxContainer/TreeContainer/Tree" method="_on_search_bar_text_changed"] diff --git a/addons/gaea_documentation_toolkit/plugin.gd b/addons/gaea_documentation_toolkit/plugin.gd index 4671e7c2e..93a36e219 100644 --- a/addons/gaea_documentation_toolkit/plugin.gd +++ b/addons/gaea_documentation_toolkit/plugin.gd @@ -3,13 +3,20 @@ extends EditorPlugin const DocumentationToolkit = preload("uid://bxanwt5o3b0ng") -var _panel: Control +var _dock: EditorDock func _enter_tree() -> void: - _panel = DocumentationToolkit.instantiate() - add_control_to_bottom_panel(_panel, "Gaea Documentation Toolkit") + _dock = EditorDock.new() + _dock.available_layouts = EditorDock.DOCK_LAYOUT_FLOATING | EditorDock.DOCK_LAYOUT_HORIZONTAL + _dock.title = "Gaea Documentation Toolkit" + _dock.default_slot = EditorDock.DOCK_SLOT_BOTTOM + + _dock.add_child(DocumentationToolkit.instantiate()) + add_dock(_dock) func _exit_tree() -> void: - remove_control_from_bottom_panel(_panel) + remove_dock(_dock) + _dock.queue_free() + _dock = null diff --git a/project.godot b/project.godot index 76225c73f..b3fe54ff5 100644 --- a/project.godot +++ b/project.godot @@ -8,17 +8,23 @@ config_version=5 +[animation] + +compatibility/default_parent_skeleton_in_mesh_instance_3d=true + [application] config/name="Gaea" config/tags=PackedStringArray("addon") run/main_scene="res://scenes/walker_demo/walker_demo.tscn" -config/features=PackedStringArray("4.5", "Forward Plus") +config/features=PackedStringArray("4.6", "Forward Plus") config/icon="res://icon.svg" [debug] -gdscript/warnings/exclude_addons=false +gdscript/warnings/directory_rules={ +"res://addons": 1 +} [display] From 34ab03681fd200285e8412a1e8930c4f0625f0a0 Mon Sep 17 00:00:00 2001 From: BenjaTK <73806216+BenjaTK@users.noreply.github.com> Date: Sun, 1 Feb 2026 11:32:04 -0300 Subject: [PATCH 2/2] Update gdunit workflow --- .github/workflows/generation_testing.yml | 4 ++-- .github/workflows/nodes_testing.yml | 4 ++-- .github/workflows/other_testing.yml | 4 ++-- .github/workflows/renderers_testing.yml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/generation_testing.yml b/.github/workflows/generation_testing.yml index 4584707a0..bd0302520 100644 --- a/.github/workflows/generation_testing.yml +++ b/.github/workflows/generation_testing.yml @@ -28,9 +28,9 @@ jobs: with: lfs: true # run tests by using the gdUnit4-action with Godot version 4.2.1 and the latest GdUnit4 release - - uses: MikeSchulze/gdUnit4-action@v1.2.2 + - uses: godot-gdunit-labs/gdUnit4-action@v1.3.0 with: - godot-version: '4.5' + godot-version: '4.6' paths: | res://testing/generation timeout: 5 diff --git a/.github/workflows/nodes_testing.yml b/.github/workflows/nodes_testing.yml index 2aa2d4e90..8589925b0 100644 --- a/.github/workflows/nodes_testing.yml +++ b/.github/workflows/nodes_testing.yml @@ -28,9 +28,9 @@ jobs: with: lfs: true # run tests by using the gdUnit4-action with Godot version 4.2.1 and the latest GdUnit4 release - - uses: MikeSchulze/gdUnit4-action@v1.2.2 + - uses: godot-gdunit-labs/gdUnit4-action@v1.3.0 with: - godot-version: '4.5' + godot-version: '4.6' paths: | res://testing/graph_nodes timeout: 5 diff --git a/.github/workflows/other_testing.yml b/.github/workflows/other_testing.yml index 549606fd2..ae4f19be6 100644 --- a/.github/workflows/other_testing.yml +++ b/.github/workflows/other_testing.yml @@ -28,9 +28,9 @@ jobs: with: lfs: true # run tests by using the gdUnit4-action with Godot version 4.2.1 and the latest GdUnit4 release - - uses: MikeSchulze/gdUnit4-action@v1.2.2 + - uses: godot-gdunit-labs/gdUnit4-action@v1.3.0 with: - godot-version: '4.5' + godot-version: '4.6' paths: | res://testing/other timeout: 5 diff --git a/.github/workflows/renderers_testing.yml b/.github/workflows/renderers_testing.yml index a7721118c..19fc7a0fc 100644 --- a/.github/workflows/renderers_testing.yml +++ b/.github/workflows/renderers_testing.yml @@ -28,9 +28,9 @@ jobs: with: lfs: true # run tests by using the gdUnit4-action with Godot version 4.2.1 and the latest GdUnit4 release - - uses: MikeSchulze/gdUnit4-action@v1.2.2 + - uses: godot-gdunit-labs/gdUnit4-action@v1.3.0 with: - godot-version: '4.5' + godot-version: '4.6' paths: | res://testing/rendering timeout: 5