From 7f2ccc2d355bee2177701c56c4b3eba0df3d5a7f Mon Sep 17 00:00:00 2001 From: LMW Date: Fri, 17 Jul 2026 12:24:03 +0800 Subject: [PATCH] Support for exporting jpg/webp from Preview2D --- .../panels/preview_2d/export_menu.gd | 12 +- .../panels/preview_2d/preview_2d_panel.tscn | 170 +++++++++--------- 2 files changed, 96 insertions(+), 86 deletions(-) diff --git a/material_maker/panels/preview_2d/export_menu.gd b/material_maker/panels/preview_2d/export_menu.gd index 5d4efb1f6..6cb96d8ef 100644 --- a/material_maker/panels/preview_2d/export_menu.gd +++ b/material_maker/panels/preview_2d/export_menu.gd @@ -131,6 +131,8 @@ func _on_image_pressed() -> void: file_dialog.title = 'Save Image' file_dialog.add_filter("*.png; PNG image file") file_dialog.add_filter("*.exr; EXR image file") + file_dialog.add_filter("*.jpg; JPG image file") + file_dialog.add_filter("*.webp; WebP image file") file_dialog.current_dir = mm_globals.config.get_value("path", "save_preview", mm_globals.get_home_directory()) @@ -168,17 +170,19 @@ func export_notification(text:String) -> void: %ExportNotificationLabel.visible = not text.is_empty() -func interpret_file_name(file_name: String, path:="") -> String: +func interpret_file_name(file_name : String, path : String ="") -> String: if path.is_empty(): path = %ExportFolder.text if not owner.generator: additional_ids["$name"] = "unnamed" - var extension := "" + var extension : String = "" match %FileType.selected: 0: extension += ".png" 1: extension += ".exr" + 2: extension += ".jpg" + 3: extension += ".webp" var resolution : String if %CustomResolutionSection.visible: @@ -191,9 +195,9 @@ func interpret_file_name(file_name: String, path:="") -> String: return MMLoader.interpret_file_name(file_name, path, extension, graph_node, additional_ids, resolution) -func _on_custom_resolution_x_value_changed(value: Variant) -> void: +func _on_custom_resolution_x_value_changed(_value : Variant) -> void: update() -func _on_custom_resolution_y_value_changed(value: Variant) -> void: +func _on_custom_resolution_y_value_changed(_value : Variant) -> void: update() diff --git a/material_maker/panels/preview_2d/preview_2d_panel.tscn b/material_maker/panels/preview_2d/preview_2d_panel.tscn index 63dfbd1b0..637abadb1 100644 --- a/material_maker/panels/preview_2d/preview_2d_panel.tscn +++ b/material_maker/panels/preview_2d/preview_2d_panel.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=30 format=3 uid="uid://b7x7yqgsurxhv"] +[gd_scene format=3 uid="uid://b7x7yqgsurxhv"] [ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="1"] [ext_resource type="PackedScene" uid="uid://est6pi7xbptp" path="res://material_maker/panels/preview_2d/control_point.tscn" id="2"] @@ -19,7 +19,7 @@ [ext_resource type="Script" uid="uid://pielyrq85378" path="res://material_maker/panels/preview_2d/two_icon_toggle_button.gd" id="17_07kc5"] [ext_resource type="FontFile" uid="uid://lro0qdrhfytt" path="res://material_maker/theme/font_rubik/Rubik-Light.ttf" id="18_kn37y"] -[sub_resource type="Shader" id="Shader_0mwcg"] +[sub_resource type="Shader" id="Shader_r76ng"] resource_local_to_scene = true code = "shader_type canvas_item; @@ -47,9 +47,9 @@ void fragment() { } " -[sub_resource type="ShaderMaterial" id="2"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_63a3x"] resource_local_to_scene = true -shader = SubResource("Shader_0mwcg") +shader = SubResource("Shader_r76ng") shader_parameter/preview_2d_size = Vector2(100, 100) shader_parameter/preview_2d_scale = 1.655 shader_parameter/preview_2d_center = Vector2(0.46, 0.56) @@ -95,8 +95,8 @@ keycode = 69 [sub_resource type="Shortcut" id="Shortcut_llf02"] events = [SubResource("InputEventKey_rhw4u")] -[node name="Preview2D" node_paths=PackedStringArray("shortcut_context") instance=ExtResource("3")] -material = SubResource("2") +[node name="Preview2D" unique_id=1188404476 node_paths=PackedStringArray("shortcut_context") instance=ExtResource("3")] +material = SubResource("ShaderMaterial_63a3x") custom_minimum_size = Vector2(100, 100) offset_left = 8.0 offset_top = -5.0 @@ -165,21 +165,21 @@ void fragment() { } " -[node name="Guides" type="Control" parent="." index="0"] +[node name="Guides" type="Control" parent="." index="0" unique_id=753784418] anchors_preset = 0 anchor_right = 1.0 anchor_bottom = 1.0 mouse_filter = 2 script = ExtResource("5") -[node name="Axes" type="Control" parent="." index="1"] +[node name="Axes" type="Control" parent="." index="1" unique_id=437104788] visible = false anchors_preset = 0 offset_right = 40.0 offset_bottom = 40.0 script = ExtResource("3_r76ng") -[node name="PolygonEditor" parent="." index="2" instance=ExtResource("4_gd40d")] +[node name="PolygonEditor" parent="." index="2" unique_id=1932494035 instance=ExtResource("4_gd40d")] visible = false layout_mode = 1 offset_right = 0.0 @@ -187,25 +187,25 @@ offset_bottom = 0.0 draw_area = false auto_rescale = false -[node name="SplinesEditor" parent="." index="3" instance=ExtResource("5_5hlfo")] +[node name="SplinesEditor" parent="." index="3" unique_id=1398355529 instance=ExtResource("5_5hlfo")] visible = false layout_mode = 1 draw_area = false draw_control_lines = true -[node name="PixelsEditor" parent="." index="4" instance=ExtResource("6_m4663")] +[node name="PixelsEditor" parent="." index="4" unique_id=75452916 instance=ExtResource("6_m4663")] visible = false layout_mode = 1 draw_area = false alpha = 0.5 -[node name="LatticeEditor" parent="." index="5" instance=ExtResource("7_u2w4r")] +[node name="LatticeEditor" parent="." index="5" unique_id=987512147 instance=ExtResource("7_u2w4r")] visible = false layout_mode = 1 offset_right = 0.0 offset_bottom = 0.0 -[node name="P1" parent="." index="6" instance=ExtResource("2")] +[node name="P1" parent="." index="6" unique_id=511391739 instance=ExtResource("2")] visible = false self_modulate = Color(1, 0.466667, 0, 1) layout_mode = 0 @@ -215,7 +215,7 @@ offset_right = 37.0 offset_bottom = 61.0 texture = SubResource("3") -[node name="P2" parent="." index="7" instance=ExtResource("2")] +[node name="P2" parent="." index="7" unique_id=472040255 instance=ExtResource("2")] visible = false self_modulate = Color(0, 0.505882, 1, 1) layout_mode = 0 @@ -225,7 +225,7 @@ offset_right = 37.0 offset_bottom = 61.0 texture = SubResource("3") -[node name="P11" parent="." index="8" instance=ExtResource("2")] +[node name="P11" parent="." index="8" unique_id=1808541570 instance=ExtResource("2")] visible = false self_modulate = Color(0, 0.505882, 1, 1) layout_mode = 0 @@ -237,7 +237,7 @@ texture = SubResource("3") parent_control = "P1" apply_local_transform = true -[node name="RadiusP11" parent="." index="9" instance=ExtResource("2")] +[node name="RadiusP11" parent="." index="9" unique_id=2033108167 instance=ExtResource("2")] visible = false self_modulate = Color(1, 0.631373, 0, 1) layout_mode = 0 @@ -250,7 +250,7 @@ texture = SubResource("4") parent_control = "P11" control_type = 2 -[node name="P12" parent="." index="10" instance=ExtResource("2")] +[node name="P12" parent="." index="10" unique_id=1799952644 instance=ExtResource("2")] visible = false self_modulate = Color(0, 0.505882, 1, 1) layout_mode = 0 @@ -262,7 +262,7 @@ texture = SubResource("3") parent_control = "P1" apply_local_transform = true -[node name="P3" parent="." index="11" instance=ExtResource("2")] +[node name="P3" parent="." index="11" unique_id=219595209 instance=ExtResource("2")] visible = false self_modulate = Color(0, 1, 0.380392, 1) layout_mode = 0 @@ -272,7 +272,7 @@ offset_right = 21.0 offset_bottom = 45.0 texture = SubResource("4") -[node name="Rect1" parent="." index="12" instance=ExtResource("2")] +[node name="Rect1" parent="." index="12" unique_id=1166805235 instance=ExtResource("2")] visible = false self_modulate = Color(1, 0.631373, 0, 1) layout_mode = 0 @@ -285,7 +285,7 @@ parent_control = "P1" control_type = 1 apply_local_transform = true -[node name="Radius1" parent="." index="13" instance=ExtResource("2")] +[node name="Radius1" parent="." index="13" unique_id=379543937 instance=ExtResource("2")] visible = false self_modulate = Color(1, 0.631373, 0, 1) layout_mode = 0 @@ -298,7 +298,7 @@ texture = SubResource("4") parent_control = "P1" control_type = 2 -[node name="Radius2" parent="." index="14" instance=ExtResource("2")] +[node name="Radius2" parent="." index="14" unique_id=718859714 instance=ExtResource("2")] visible = false self_modulate = Color(0, 0.505882, 1, 1) layout_mode = 0 @@ -311,7 +311,7 @@ texture = SubResource("4") parent_control = "P2" control_type = 2 -[node name="Radius11" parent="." index="15" instance=ExtResource("2")] +[node name="Radius11" parent="." index="15" unique_id=337476192 instance=ExtResource("2")] visible = false self_modulate = Color(1, 0.631373, 0, 1) layout_mode = 0 @@ -324,7 +324,7 @@ texture = SubResource("4") parent_control = "Radius1" control_type = 2 -[node name="Scale1" parent="." index="16" instance=ExtResource("2")] +[node name="Scale1" parent="." index="16" unique_id=381282696 instance=ExtResource("2")] visible = false self_modulate = Color(1, 0.631373, 0, 1) layout_mode = 0 @@ -337,7 +337,7 @@ texture = SubResource("4") parent_control = "P1" control_type = 3 -[node name="RotateScale1" parent="." index="17" instance=ExtResource("2")] +[node name="RotateScale1" parent="." index="17" unique_id=15676097 instance=ExtResource("2")] visible = false self_modulate = Color(1, 0.631373, 0, 1) layout_mode = 0 @@ -350,7 +350,7 @@ texture = SubResource("4") parent_control = "P1" control_type = 4 -[node name="Angle1" parent="." index="18" instance=ExtResource("2")] +[node name="Angle1" parent="." index="18" unique_id=1556654108 instance=ExtResource("2")] visible = false self_modulate = Color(1, 0.631373, 0, 1) layout_mode = 0 @@ -363,7 +363,7 @@ texture = SubResource("4") parent_control = "P1" control_type = 2 -[node name="Angle2" parent="." index="19" instance=ExtResource("2")] +[node name="Angle2" parent="." index="19" unique_id=754152147 instance=ExtResource("2")] visible = false self_modulate = Color(1, 0.631373, 0, 1) layout_mode = 0 @@ -376,7 +376,7 @@ texture = SubResource("4") parent_control = "P1" control_type = 2 -[node name="Accumulate" type="SubViewport" parent="." index="20"] +[node name="Accumulate" type="SubViewport" parent="." index="20" unique_id=365246909] disable_3d = true handle_input_locally = false gui_snap_controls_to_pixels = false @@ -384,12 +384,12 @@ size = Vector2i(2, 2) render_target_clear_mode = 1 render_target_update_mode = 1 -[node name="Iteration" type="ColorRect" parent="Accumulate" index="0"] +[node name="Iteration" type="ColorRect" parent="Accumulate" index="0" unique_id=867093843] material = SubResource("6") offset_right = 40.0 offset_bottom = 40.0 -[node name="MenuBar" type="ScrollContainer" parent="." index="21"] +[node name="MenuBar" type="ScrollContainer" parent="." index="21" unique_id=1091126020] unique_name_in_owner = true clip_contents = false layout_mode = 1 @@ -401,20 +401,20 @@ theme_type_variation = &"MM_PanelMenuBackground" horizontal_scroll_mode = 3 vertical_scroll_mode = 0 -[node name="HBox" type="HFlowContainer" parent="MenuBar" index="0"] +[node name="HBox" type="HFlowContainer" parent="MenuBar" index="0" unique_id=1074174224] layout_mode = 2 size_flags_horizontal = 3 -[node name="MainMenu" type="PanelContainer" parent="MenuBar/HBox" index="0"] +[node name="MainMenu" type="PanelContainer" parent="MenuBar/HBox" index="0" unique_id=30938748] layout_mode = 2 size_flags_vertical = 0 theme_type_variation = &"MM_PanelMenuBar" -[node name="HBox" type="HBoxContainer" parent="MenuBar/HBox/MainMenu" index="0"] +[node name="HBox" type="HBoxContainer" parent="MenuBar/HBox/MainMenu" index="0" unique_id=115153049] layout_mode = 2 theme_type_variation = &"MM_PanelMenuBar" -[node name="ResetViewButton" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="0"] +[node name="ResetViewButton" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="0" unique_id=667924243] unique_name_in_owner = true custom_minimum_size = Vector2(25, 25) layout_mode = 2 @@ -426,7 +426,7 @@ icon_alignment = 1 script = ExtResource("10_83edi") icon_name = "reset_view" -[node name="ViewMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="1" node_paths=PackedStringArray("shortcut_context")] +[node name="ViewMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="1" unique_id=701787436 node_paths=PackedStringArray("shortcut_context")] custom_minimum_size = Vector2(40, 25) layout_mode = 2 tooltip_text = "View" @@ -437,7 +437,7 @@ button_mask = 3 script = ExtResource("12_nrhap") icon_name = "view" -[node name="ViewMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu" index="0"] +[node name="ViewMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu" index="0" unique_id=1682406413] top_level = true layout_mode = 0 offset_left = 493.0 @@ -447,20 +447,20 @@ offset_bottom = 145.0 theme_type_variation = &"MM_PanelMenuSubPanel" script = ExtResource("13_5w2hy") -[node name="VBox" type="GridContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel" index="0"] +[node name="VBox" type="GridContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel" index="0" unique_id=1687890819] layout_mode = 2 columns = 2 -[node name="Control" type="Control" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="0"] +[node name="Control" type="Control" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="0" unique_id=1361493369] visible = false layout_mode = 2 -[node name="ViewModeLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="1"] +[node name="ViewModeLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="1" unique_id=1845597138] layout_mode = 2 theme_type_variation = &"MM_PanelMenuSubPanelLabel" text = "View" -[node name="ViewMode" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="2" instance=ExtResource("12_4017l")] +[node name="ViewMode" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="2" unique_id=1754567740 instance=ExtResource("12_4017l")] unique_name_in_owner = true layout_mode = 2 selected = 0 @@ -472,12 +472,12 @@ popup/item_1/id = 1 popup/item_2/text = "Clamp" popup/item_2/id = 2 -[node name="PostProcessingLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="3"] +[node name="PostProcessingLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="3" unique_id=1866681355] layout_mode = 2 theme_type_variation = &"MM_PanelMenuSubPanelLabel" text = "Filter" -[node name="PostProcessing" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="4" instance=ExtResource("12_4017l")] +[node name="PostProcessing" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="4" unique_id=1470529334 instance=ExtResource("12_4017l")] unique_name_in_owner = true layout_mode = 2 selected = 0 @@ -495,15 +495,15 @@ popup/item_4/id = 4 popup/item_5/text = "Lowres 512x512" popup/item_5/id = 5 -[node name="GuidesLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="5"] +[node name="GuidesLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="5" unique_id=550192331] layout_mode = 2 theme_type_variation = &"MM_PanelMenuSubPanelLabel" text = "Guides" -[node name="BoxContainer" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="6"] +[node name="BoxContainer" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="6" unique_id=1281437705] layout_mode = 2 -[node name="Guides" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer" index="0" instance=ExtResource("12_4017l")] +[node name="Guides" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer" index="0" unique_id=544493550 instance=ExtResource("12_4017l")] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -518,7 +518,7 @@ popup/item_2/id = 2 popup/item_3/text = "Grid" popup/item_3/id = 3 -[node name="CustomGridSize" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer" index="1" instance=ExtResource("14_qr76f")] +[node name="CustomGridSize" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer" index="1" unique_id=1565224092 instance=ExtResource("14_qr76f")] unique_name_in_owner = true layout_mode = 2 value = 10.0 @@ -527,20 +527,20 @@ max_value = 32.0 step = 1.0 float_only = true -[node name="GuidesColor" type="ColorPickerButton" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer" index="2"] +[node name="GuidesColor" type="ColorPickerButton" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer" index="2" unique_id=634773376] unique_name_in_owner = true custom_minimum_size = Vector2(32, 0) layout_mode = 2 -[node name="AlphaLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="7"] +[node name="AlphaLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="7" unique_id=1564738670] layout_mode = 2 theme_type_variation = &"MM_PanelMenuSubPanelLabel" text = "Alpha" -[node name="BoxContainer2" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="8"] +[node name="BoxContainer2" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="8" unique_id=992011904] layout_mode = 2 -[node name="CheckerBrightness" type="OptionButton" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer2" index="0"] +[node name="CheckerBrightness" type="OptionButton" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer2" index="0" unique_id=1916221399] unique_name_in_owner = true layout_mode = 2 tooltip_text = "Transparency checkers brightness" @@ -553,7 +553,7 @@ popup/item_1/id = 1 popup/item_2/text = "Dark" popup/item_2/id = 2 -[node name="CheckerSize" type="OptionButton" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer2" index="1"] +[node name="CheckerSize" type="OptionButton" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer2" index="1" unique_id=1348029302] unique_name_in_owner = true layout_mode = 2 tooltip_text = "Transparency checkers size" @@ -566,7 +566,7 @@ popup/item_1/id = 1 popup/item_2/text = "Large" popup/item_2/id = 2 -[node name="ExportMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="2" node_paths=PackedStringArray("shortcut_context")] +[node name="ExportMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="2" unique_id=923249423 node_paths=PackedStringArray("shortcut_context")] unique_name_in_owner = true custom_minimum_size = Vector2(40, 25) layout_mode = 2 @@ -578,7 +578,7 @@ button_mask = 3 script = ExtResource("12_nrhap") icon_name = "export" -[node name="ExportMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu" index="0"] +[node name="ExportMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu" index="0" unique_id=465461476] top_level = true custom_minimum_size = Vector2(320, 0) layout_mode = 0 @@ -589,50 +589,50 @@ offset_bottom = 380.0 theme_type_variation = &"MM_PanelMenuSubPanel" script = ExtResource("16_0fl4g") -[node name="VBox" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" index="0"] +[node name="VBox" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" index="0" unique_id=178134352] layout_mode = 2 vertical = true -[node name="Grid" type="GridContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="0"] +[node name="Grid" type="GridContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="0" unique_id=760352430] layout_mode = 2 columns = 2 -[node name="ExportFolderLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="0"] +[node name="ExportFolderLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="0" unique_id=376486947] layout_mode = 2 theme_type_variation = &"MM_PanelMenuSubPanelLabel" text = "Folder" -[node name="ExportFolder" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="1"] +[node name="ExportFolder" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="1" unique_id=1580948665] layout_mode = 2 theme_override_constants/separation = 2 -[node name="ExportFolder" type="LineEdit" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFolder" index="0"] +[node name="ExportFolder" type="LineEdit" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFolder" index="0" unique_id=2079893654] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 theme_override_font_sizes/font_size = 15 -[node name="ExportFolderButton" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFolder" index="1"] +[node name="ExportFolderButton" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFolder" index="1" unique_id=345104025] unique_name_in_owner = true custom_minimum_size = Vector2(25, 25) layout_mode = 2 icon_alignment = 1 -[node name="ExportFileLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="2"] +[node name="ExportFileLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="2" unique_id=1286996802] layout_mode = 2 size_flags_vertical = 0 theme_type_variation = &"MM_PanelMenuSubPanelLabel" text = "File Name" -[node name="ExportFile" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="3"] +[node name="ExportFile" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="3" unique_id=193593121] layout_mode = 2 theme_override_constants/separation = 2 vertical = true -[node name="BoxContainer" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFile" index="0"] +[node name="BoxContainer" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFile" index="0" unique_id=1788828363] layout_mode = 2 -[node name="ExportFile" type="LineEdit" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFile/BoxContainer" index="0"] +[node name="ExportFile" type="LineEdit" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFile/BoxContainer" index="0" unique_id=1778408358] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -642,32 +642,36 @@ You can use $project, $node, $idx and $resolution to make the file-name auto-adj theme_override_font_sizes/font_size = 15 text = "$project_$node" -[node name="FileType" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFile/BoxContainer" index="1" instance=ExtResource("12_4017l")] +[node name="FileType" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFile/BoxContainer" index="1" unique_id=1766126122 instance=ExtResource("12_4017l")] unique_name_in_owner = true layout_mode = 2 selected = 0 -item_count = 2 +item_count = 4 popup/item_0/text = ".png" popup/item_0/id = 0 popup/item_1/text = ".exr" popup/item_1/id = 1 +popup/item_2/text = ".jpg" +popup/item_2/id = 2 +popup/item_3/text = ".webp" +popup/item_3/id = 3 -[node name="ExportFileResultLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFile" index="1"] +[node name="ExportFileResultLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ExportFile" index="1" unique_id=2006416314] unique_name_in_owner = true layout_mode = 2 theme_type_variation = &"MM_PanelMenuSubPanelLabel" theme_override_fonts/font = SubResource("FontVariation_wkuuo") -[node name="ResolutionLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="4"] +[node name="ResolutionLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="4" unique_id=1475446980] layout_mode = 2 theme_type_variation = &"MM_PanelMenuSubPanelLabel" text = "Resolution" -[node name="ResolutionSection" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="5"] +[node name="ResolutionSection" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="5" unique_id=1564202087] unique_name_in_owner = true layout_mode = 2 -[node name="Resolution" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ResolutionSection" index="0" instance=ExtResource("12_4017l")] +[node name="Resolution" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ResolutionSection" index="0" unique_id=1502713502 instance=ExtResource("12_4017l")] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -692,12 +696,12 @@ popup/item_7/id = 7 popup/item_8/text = "Custom" popup/item_8/id = 8 -[node name="CustomResolutionSection" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ResolutionSection" index="1"] +[node name="CustomResolutionSection" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ResolutionSection" index="1" unique_id=350763923] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 -[node name="CustomResolutionX" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ResolutionSection/CustomResolutionSection" index="0" instance=ExtResource("14_qr76f")] +[node name="CustomResolutionX" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ResolutionSection/CustomResolutionSection" index="0" unique_id=184938318 instance=ExtResource("14_qr76f")] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -708,11 +712,11 @@ max_value = 2048.0 step = 1.0 float_only = true -[node name="x" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ResolutionSection/CustomResolutionSection" index="1"] +[node name="x" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ResolutionSection/CustomResolutionSection" index="1" unique_id=1113077379] layout_mode = 2 text = "x" -[node name="CustomResolutionY" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ResolutionSection/CustomResolutionSection" index="2" instance=ExtResource("14_qr76f")] +[node name="CustomResolutionY" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/ResolutionSection/CustomResolutionSection" index="2" unique_id=473841720 instance=ExtResource("14_qr76f")] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -723,42 +727,42 @@ max_value = 2048.0 step = 1.0 float_only = true -[node name="ExportLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="6"] +[node name="ExportLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="6" unique_id=1374250044] layout_mode = 2 theme_type_variation = &"MM_PanelMenuSubPanelLabel" text = "Export" -[node name="BoxContainer" type="GridContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="7"] +[node name="BoxContainer" type="GridContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid" index="7" unique_id=1359567907] layout_mode = 2 size_flags_horizontal = 3 columns = 2 -[node name="Image" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/BoxContainer" index="0"] +[node name="Image" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/BoxContainer" index="0" unique_id=1293849952] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 shortcut = SubResource("Shortcut_llf02") text = "Image" -[node name="Reference" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/BoxContainer" index="1"] +[node name="Reference" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/BoxContainer" index="1" unique_id=99843097] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 text = "To Reference" -[node name="Animation" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/BoxContainer" index="2"] +[node name="Animation" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/BoxContainer" index="2" unique_id=627760089] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 text = "Animation" -[node name="TAA_Render" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/BoxContainer" index="3"] +[node name="TAA_Render" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Grid/BoxContainer" index="3" unique_id=1069452973] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 text = "TAA Render" -[node name="ExportNotificationLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="1"] +[node name="ExportNotificationLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="1" unique_id=659753582] unique_name_in_owner = true visible = false layout_mode = 2 @@ -767,7 +771,7 @@ theme_override_colors/font_color = Color(0.52, 0.52, 0.52, 1) theme_override_fonts/font = SubResource("FontVariation_wkuuo") autowrap_mode = 1 -[node name="PreviewLocked" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="3"] +[node name="PreviewLocked" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="3" unique_id=1310638083] unique_name_in_owner = true custom_minimum_size = Vector2(25, 25) layout_mode = 2 @@ -778,7 +782,7 @@ script = ExtResource("17_07kc5") icon_normal_name = "lock_unlocked" icon_pressed_name = "lock_locked" -[node name="ComplexParameters" type="OptionButton" parent="MenuBar/HBox/MainMenu/HBox" index="4"] +[node name="ComplexParameters" type="OptionButton" parent="MenuBar/HBox/MainMenu/HBox" index="4" unique_id=1583419037] unique_name_in_owner = true visible = false layout_mode = 2 @@ -786,7 +790,9 @@ layout_mode = 2 [connection signal="gui_input" from="." to="." method="_on_gui_input"] [connection signal="mouse_entered" from="." to="." method="_on_Preview2D_mouse_entered"] [connection signal="unhandled_event" from="PolygonEditor" to="." method="_on_gui_input"] -[connection signal="gui_input" from="PolygonEditor/@Control@42512" to="PolygonEditor/@Control@42512" method="_on_ControlPoint_gui_input"] +[connection signal="gui_input" from="PolygonEditor/ControlPoint" to="PolygonEditor/ControlPoint" method="_on_ControlPoint_gui_input"] +[connection signal="mouse_entered" from="PolygonEditor/ControlPoint" to="PolygonEditor/ControlPoint" method="_on_mouse_entered"] +[connection signal="mouse_exited" from="PolygonEditor/ControlPoint" to="PolygonEditor/ControlPoint" method="_on_mouse_exited"] [connection signal="unhandled_event" from="SplinesEditor" to="." method="_on_gui_input"] [connection signal="unhandled_event" from="PixelsEditor" to="." method="_on_gui_input"] [connection signal="unhandled_event" from="LatticeEditor" to="." method="_on_gui_input"]