From 71b8be9a183388cee02e2df0fdfa0d7244eab8c6 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Fri, 16 Aug 2024 17:05:17 +0200 Subject: [PATCH 01/24] Adjust Add Node panel size and font size --- material_maker/theme/modern.tres | 6 +++++- material_maker/windows/add_node_popup/add_node_popup.tscn | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/material_maker/theme/modern.tres b/material_maker/theme/modern.tres index 0790e9363..29a69d0f7 100644 --- a/material_maker/theme/modern.tres +++ b/material_maker/theme/modern.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=57 format=3 uid="uid://b628lwfk6ig2c"] +[gd_resource type="Theme" load_steps=58 format=3 uid="uid://b628lwfk6ig2c"] [ext_resource type="FontFile" uid="uid://dgkwr5jydtk6p" path="res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf" id="1_hqoqt"] [ext_resource type="FontFile" uid="uid://btybkvkb8rtol" path="res://material_maker/fonts/DroidSansFallback.ttf" id="2_1xp11"] @@ -194,6 +194,8 @@ corner_radius_top_right = 5 corner_radius_bottom_right = 5 corner_radius_bottom_left = 5 +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_5447p"] + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dyhk7"] content_margin_left = 10.0 content_margin_top = 2.0 @@ -568,6 +570,8 @@ LineEdit/styles/read_only = SubResource("StyleBoxFlat_k7e83") MM_AddNodePanel/base_type = &"PanelContainer" MM_AddNodePanel/styles/panel = SubResource("StyleBoxFlat_f0kci") MM_AddNodePanelList/base_type = &"ItemList" +MM_AddNodePanelList/font_sizes/font_size = 14 +MM_AddNodePanelList/styles/focus = SubResource("StyleBoxEmpty_5447p") MM_FilterLineEdit/base_type = &"LineEdit" MM_FilterLineEdit/styles/focus = SubResource("StyleBoxFlat_dyhk7") MM_FilterLineEdit/styles/normal = SubResource("StyleBoxFlat_mv8c7") diff --git a/material_maker/windows/add_node_popup/add_node_popup.tscn b/material_maker/windows/add_node_popup/add_node_popup.tscn index 8c4f0b11a..17ec984eb 100644 --- a/material_maker/windows/add_node_popup/add_node_popup.tscn +++ b/material_maker/windows/add_node_popup/add_node_popup.tscn @@ -99,7 +99,7 @@ shader_parameter/tex = ExtResource("3") [node name="AddNodePopup" type="Popup"] transparent_bg = true -size = Vector2i(252, 400) +size = Vector2i(350, 400) visible = true transparent = true script = ExtResource("1") @@ -200,4 +200,3 @@ fixed_icon_size = Vector2i(18, 18) [connection signal="gui_input" from="PanelContainer/VBoxContainer/Filter" to="." method="_on_filter_gui_input"] [connection signal="gui_input" from="PanelContainer/VBoxContainer/List" to="." method="_on_list_gui_input"] [connection signal="item_activated" from="PanelContainer/VBoxContainer/List" to="." method="_on_list_item_activated"] -[connection signal="item_clicked" from="PanelContainer/VBoxContainer/List" to="." method="_on_list_item_clicked"] From 225c27299cdffe0e8c198fb626d8fec89d60c95c Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Fri, 16 Aug 2024 17:07:59 +0200 Subject: [PATCH 02/24] Implement better filtering and sorting in library search This is done by assigning a "result_quality" score to each item based on how it matched. In the Add Node Panel this is used to sort the results. --- .../tools/library_manager/library.gd | 43 ++++++++++++++++++- .../tools/library_manager/library_manager.gd | 17 +++++--- .../windows/add_node_popup/add_node_popup.gd | 24 +++++++---- 3 files changed, 66 insertions(+), 18 deletions(-) diff --git a/material_maker/tools/library_manager/library.gd b/material_maker/tools/library_manager/library.gd index 3427c3ee9..b0b210f30 100644 --- a/material_maker/tools/library_manager/library.gd +++ b/material_maker/tools/library_manager/library.gd @@ -65,14 +65,53 @@ func get_item(lib_name : String): func get_items(filter : String, disabled_sections : Array, aliased_items : Array) -> Array: var array : Array = [] + filter = filter.to_lower().strip_edges() for i in library_items: - if filter == "" or i.tree_item.to_lower().find(filter) != -1 or aliased_items.find(i.tree_item) != -1: + var include := true + var result_quality := 1.0 + if filter: + include = false + if i.display_name.to_lower().begins_with(filter) or " "+filter in i.display_name.to_lower(): + include = true + + if not include: + include = true + result_quality = 0.8 + for word in filter.split(" "): + if not word in i.display_name.to_lower(): + include = false + + if (not include) and i.has("name"): + include = true + result_quality = 0.8 + for word in filter.split(" "): + if not word in i.name.to_lower(): + include = false + + if not include: + result_quality = 0.6 + for alias_dict in aliased_items: + for key in alias_dict: + if key == i.tree_item and filter in alias_dict[key]: + if alias_dict[key].begins_with(filter) or ","+filter in alias_dict[key]: + result_quality = 0.9 + include = true + + if not include: + include = true + result_quality = 0.4 + for word in filter.split(" "): + if not word in i.tree_item.to_lower(): + include = false + + if include: var slash_pos = i.tree_item.find("/") var section_name = i.tree_item.left(slash_pos) if slash_pos != -1 else i.tree_item if disabled_sections.find(section_name) == -1: - array.push_back({ name=i.tree_item, item=i, icon=library_icons[i.tree_item] }) + array.push_back({ name=i.tree_item, item=i, icon=library_icons[i.tree_item], quality=result_quality}) return array + func generate_node_sections(node_sections : Dictionary) -> void: for i in library_items: var section = i.tree_item diff --git a/material_maker/tools/library_manager/library_manager.gd b/material_maker/tools/library_manager/library_manager.gd index 8591c16e8..e6f2b9b35 100644 --- a/material_maker/tools/library_manager/library_manager.gd +++ b/material_maker/tools/library_manager/library_manager.gd @@ -94,22 +94,20 @@ func get_item(item_name : String): func get_items(filter : String, sorted = false) -> Array: var array : Array = [] - var aliased_items = [] - for al in [ base_item_aliases, user_item_aliases ]: - for a in al.keys(): - if al[a].find(filter) != -1 and aliased_items.find(a) == -1: - aliased_items.push_back(a) + var aliased_items := [base_item_aliases, user_item_aliases] + for li in get_child_count(): var l = get_child(li) if disabled_libraries.find(l.library_path) == -1: for i in l.get_items(filter, disabled_sections, aliased_items): i.library_index = li array.push_back(i) + if sorted: - var sorted_array : Array = [] + var sorted_array: Array = [] for i in array: var u1 = item_usage[i.name] if item_usage.has(i.name) else 0 - var inserted = false + var inserted := false for p in sorted_array.size(): var i2 = sorted_array[p] var u2 = item_usage[i2.name] if item_usage.has(i2.name) else 0 @@ -120,6 +118,11 @@ func get_items(filter : String, sorted = false) -> Array: if !inserted: sorted_array.push_back(i) array = sorted_array + var idx := 0 + for item in array: + item["idx"] = idx + idx += 1 + return array func save_library_list() -> void: diff --git a/material_maker/windows/add_node_popup/add_node_popup.gd b/material_maker/windows/add_node_popup/add_node_popup.gd index a8e7fd41c..e4b197edd 100644 --- a/material_maker/windows/add_node_popup/add_node_popup.gd +++ b/material_maker/windows/add_node_popup/add_node_popup.gd @@ -81,7 +81,7 @@ func show_popup(node_name : String = "", slot : int = -1, slot_type : int = -1, b.enable() if filter.text != "": filter.text = "" - update_list(filter.text) + update_list(filter.text) filter.grab_focus() @@ -163,7 +163,9 @@ func update_list(filter_text : String = "") -> void: %List.clear() var idx := 0 - for i in library_manager.get_items(filter_text, true): + var items: Array = library_manager.get_items(filter_text, true) + items.sort_custom(func(a,b): return a.idx < b.idx if a.quality == b.quality else a.quality > b.quality) + for i in items: var obj = i.item if not obj.has("type"): continue @@ -172,8 +174,12 @@ func update_list(filter_text : String = "") -> void: var section = obj.tree_item.get_slice("/", 0) var color : Color = get_node("/root/MainWindow/NodeLibraryManager").get_section_color(section) color = color.lerp(get_theme_color("font_color", "Label"), 0.5) + #print(i) + var _name = obj.display_name + _name = obj.tree_item# + "("+str(i.quality)+")" + " ("+str(i.idx)+")" + #if obj.has("shortdesc") - %List.add_item(obj.display_name, i.icon) + %List.add_item(_name, i.icon) %List.set_item_custom_fg_color(idx, color) %List.set_item_metadata(idx, i) %List.set_item_tooltip_enabled(idx, false) @@ -192,7 +198,7 @@ func _unhandled_input(event) -> void: func _on_filter_gui_input(event: InputEvent) -> void: if event.is_action("ui_down"): %List.grab_focus() - %List.select(1) + %List.select(0) func _on_list_gui_input(event: InputEvent) -> void: @@ -200,6 +206,11 @@ func _on_list_gui_input(event: InputEvent) -> void: if not %List.item_count or %List.is_selected(0): %Filter.grab_focus() + if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and not event.pressed: + var idx: int = %List.get_item_at_position(%List.get_local_mouse_position(), true) + if idx != -1: + _on_list_item_activated(idx) + func get_list_drag_data(m_position): var data = %List.get_item_metadata(%List.get_item_at_position(m_position)) @@ -210,11 +221,6 @@ func get_list_drag_data(m_position): return data.item.tree_item - -func _on_list_item_clicked(index: int, at_position:= Vector2(), mouse_button_index:= 0) -> void: - pass - - func _on_list_item_activated(index: int) -> void: var data = %List.get_item_metadata(index) add_node(data.item) From 7701d925b37fdc78294545f75205fab32bfa8e1d Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Fri, 16 Aug 2024 17:09:11 +0200 Subject: [PATCH 03/24] Library Panel: Improve scroll to section This makes it so clicking on one of the Library panels "Section" buttons (e.g. Simple, 3D, Noise) will scroll far enough to have that item at the TOP of the tree, not just barely visible. --- material_maker/panels/library/library.gd | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/material_maker/panels/library/library.gd b/material_maker/panels/library/library.gd index 9fd6df739..b4cf08710 100644 --- a/material_maker/panels/library/library.gd +++ b/material_maker/panels/library/library.gd @@ -218,7 +218,10 @@ func _on_Section_Button_pressed(category : String) -> void: if item.get_text(0) == category: item.select(0) item.collapsed = false - tree.ensure_cursor_is_visible() + for node in tree.get_children(true): + if node is VScrollBar: + node.value = tree.get_item_area_rect(item).position.y + break break func _on_Section_Button_event(event : InputEvent, category : String) -> void: From 0c694af76e84394577497b64c9105d16e3a293f8 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Tue, 20 Aug 2024 12:26:31 +0200 Subject: [PATCH 04/24] Initial Commit of better PreviewPanel menus --- .../common/menu_bar_button_with_panel.gd | 52 +++ .../panels/graph_edit/graph_edit.gd | 10 +- .../panels/preview_2d/export_menu.gd | 153 ++++++++ .../panels/preview_2d/preview_2d.gd | 11 +- .../panels/preview_2d/preview_2d_panel.gd | 34 +- .../panels/preview_2d/preview_2d_panel.tscn | 329 +++++++++++++++++- material_maker/panels/preview_2d/view_menu.gd | 29 ++ material_maker/theme/modern.tres | 49 ++- .../windows/file_dialog/file_dialog.gd | 1 + 9 files changed, 646 insertions(+), 22 deletions(-) create mode 100644 material_maker/panels/common/menu_bar_button_with_panel.gd create mode 100644 material_maker/panels/preview_2d/export_menu.gd create mode 100644 material_maker/panels/preview_2d/view_menu.gd diff --git a/material_maker/panels/common/menu_bar_button_with_panel.gd b/material_maker/panels/common/menu_bar_button_with_panel.gd new file mode 100644 index 000000000..5688eadf8 --- /dev/null +++ b/material_maker/panels/common/menu_bar_button_with_panel.gd @@ -0,0 +1,52 @@ +extends Button + +@onready var panel := get_child(0) + +var pinned := false + + +func _ready() -> void: + toggled.connect(_on_toggled) + owner.resized.connect(position_panel) + + panel.hide() + + +func _draw() -> void: + if pinned: + draw_circle(Vector2(size.x, 0), 4, get_theme_color("icon_pressed_color")) + + +func _on_toggled(pressed:bool) -> void: + panel.visible = pressed + + if panel.visible: + position_panel() + if panel.has_method("_open"): + panel._open() + else: + pinned = false + +func position_panel() -> void: + var at_position := global_position + at_position.x += size.x/2 - panel.size.x/2 + at_position.x = max(at_position.x, get_parent().get_child(0).global_position.x) + at_position.y += size.y + 6 + panel.global_position = at_position + + +func _input(event:InputEvent) -> void: + if not panel.visible: + return + + if event is InputEventMouseButton: + var node := get_viewport().gui_get_hovered_control() + if node != self and not is_ancestor_of(node) and (not pinned or (node and node.script == self.script)): + button_pressed = false + + +func _gui_input(event: InputEvent) -> void: + if event is InputEventMouseButton and not event.pressed: + if event.button_index == MOUSE_BUTTON_RIGHT: + pinned = true + grab_focus() diff --git a/material_maker/panels/graph_edit/graph_edit.gd b/material_maker/panels/graph_edit/graph_edit.gd index 618f8d696..cb817da3c 100644 --- a/material_maker/panels/graph_edit/graph_edit.gd +++ b/material_maker/panels/graph_edit/graph_edit.gd @@ -16,7 +16,7 @@ class Preview: var node_factory = null -var save_path = null: set = set_save_path +var save_path := "": set = set_save_path var need_save : bool = false var save_crash_recovery_path = "" var need_save_crash_recovery : bool = false @@ -362,7 +362,7 @@ func update_tab_title() -> void: #print("no set_tab_title method") return var title = "[unnamed]" - if save_path != null: + if not save_path.is_empty(): title = save_path.right(-(save_path.rfind("/")+1)) if need_save: title += " *" @@ -375,7 +375,7 @@ func set_need_save(ns = true) -> void: update_tab_title() need_save_crash_recovery = true -func set_save_path(path) -> void: +func set_save_path(path: String) -> void: if path != save_path: remove_crash_recovery_file() need_save_crash_recovery = false @@ -483,7 +483,7 @@ func new_material(init_nodes = {nodes=[{name="Material", type="material",paramet move_child(top_generator, 0) update_view(top_generator) center_view() - set_save_path(null) + set_save_path("") set_need_save(false) func get_free_name(type) -> String: @@ -624,7 +624,7 @@ func save_as() -> bool: return true return false -func save_file(filename) -> bool: +func save_file(filename:String) -> bool: mm_loader.current_project_path = filename.get_base_dir() var data = top_generator.serialize() mm_loader.current_project_path = "" diff --git a/material_maker/panels/preview_2d/export_menu.gd b/material_maker/panels/preview_2d/export_menu.gd new file mode 100644 index 000000000..9cf278bb3 --- /dev/null +++ b/material_maker/panels/preview_2d/export_menu.gd @@ -0,0 +1,153 @@ +extends PanelContainer + +var export_settings := { + "path" : "preview$SUFFIX_last_export_path", + "resolution" : "preview$SUFFIX_last_export_resolution", + "extension" : "preview$SUFFIX_last_export_extension", + "file_name" : "preview$SUFFIX_last_export_file_name", + #"export_type" : "preview$SUFFIX_last_export_type", + } + +func _ready() -> void: + for val in export_settings.values(): + val = val.replace("$SUFFIX", owner.config_var_suffix) + + owner.generator_changed.connect(update) + +func _open() -> void: + if mm_globals.has_config(export_settings.path): + %ExportFolder.text = mm_globals.get_config(export_settings.path) + + if mm_globals.has_config(export_settings.file_name): + %ExportFile.text = mm_globals.get_config(export_settings.file_name) + %ExportFileResultLabel.text = interpret_file_name(%ExportFile.text) + + if mm_globals.has_config(export_settings.resolution): + %Resolution.selected = mm_globals.get_config(export_settings.resolution) + + if mm_globals.has_config(export_settings.resolution): + %Resolution.selected = mm_globals.get_config(export_settings.resolution) + + if mm_globals.has_config(export_settings.extension): + %FileType.selected = mm_globals.get_config(export_settings.extension) + + export_notification("") + +func update() -> void: + if not is_visible_in_tree(): + return + + %ExportFileResultLabel.text = interpret_file_name(%ExportFile.text) + + +func _on_export_folder_text_changed(new_text: String) -> void: + mm_globals.set_config(export_settings.path, new_text) + + +func _on_export_folder_button_pressed() -> void: + var file_dialog := preload("res://material_maker/windows/file_dialog/file_dialog.tscn").instantiate() + file_dialog.access = FileDialog.ACCESS_FILESYSTEM + file_dialog.file_mode = FileDialog.FILE_MODE_OPEN_DIR + file_dialog.add_filter("*.png; PNG image file") + file_dialog.add_filter("*.exr; EXR image file") + if mm_globals.config.has_section_key("path", "save_preview"): + file_dialog.current_dir = mm_globals.config.get_value("path", "save_preview") + var files = await file_dialog.select_files() + + if files.size() == 1: + %ExportFolder.text = files[0] + _on_export_folder_text_changed(files[0]) + %ExportFolder.tooltip_text = files[0] + + +func _on_export_file_text_changed(new_text: String) -> void: + mm_globals.set_config(export_settings.file_name, new_text) + update() + + +func _on_file_type_item_selected(index: int) -> void: + mm_globals.set_config(export_settings.extension, index) + update() + + +func _on_resolution_item_selected(index: int) -> void: + mm_globals.set_config(export_settings.resolution, index) + + +func _on_image_pressed() -> void: + var path: String = %ExportFolder.text + var file_name: String = %ExportFile.text + + if path.is_empty(): + var file_dialog := preload("res://material_maker/windows/file_dialog/file_dialog.tscn").instantiate() + file_dialog.access = FileDialog.ACCESS_FILESYSTEM + file_dialog.file_mode = FileDialog.FILE_MODE_OPEN_DIR + file_dialog.add_filter("*.png; PNG image file") + file_dialog.add_filter("*.exr; EXR image file") + if mm_globals.config.has_section_key("path", "save_preview"): + file_dialog.current_dir = mm_globals.config.get_value("path", "save_preview") + + var files = await file_dialog.select_files() + + if files.size() > 0: + path = files[0] + %ExportFolder.text = path.get_base_dir() + _on_export_folder_text_changed(path.get_base_dir()) + %ExportFolder.tooltip_text = path.get_base_dir() + + else: + file_name = interpret_file_name(file_name) + + path = path.path_join(file_name) + + if path: + owner.export_as_image_file(path, 64 << %Resolution.selected) + update() + export_notification("Exported to " + path) + + +func _on_animation_pressed() -> void: + owner.export_animation() + + +func _on_taa_render_pressed() -> void: + owner.export_taa() + + +func _on_reference_pressed() -> void: + owner.export_to_reference(%Resolution.selected) + export_notification("Exported to Reference") + + +func export_notification(text:String) -> void: + %ExportNotificationLabel.text = text + %ExportNotificationLabel.visible = not text.is_empty() + + +func interpret_file_name(file_name: String) -> String: + var path: String = %ExportFolder.text + + if owner.generator: + file_name = file_name.replace("$node", owner.generator.name) + else: + file_name = file_name.replace("$node", "unnamed") + + var current_graph: MMGraphEdit = find_parent("MainWindow").get_current_graph_edit() + if current_graph.save_path: + file_name = file_name.replace("$project", current_graph.save_path.get_file().trim_suffix("."+current_graph.save_path.get_extension())) + else: + file_name = file_name.replace("$project", "unnamed_project") + + match %FileType.selected: + 0: file_name += ".png" + 1: file_name += ".exr" + + if "$idx" in file_name: + if path: + var idx := 1 + while FileAccess.file_exists(path.path_join(file_name).replace("$idx", str(idx).pad_zeros(2))): + idx += 1 + file_name = file_name.replace("$idx", str(idx).pad_zeros(2)) + else: + file_name = file_name.replace("$idx", str(1).pad_zeros(2)) + return file_name diff --git a/material_maker/panels/preview_2d/preview_2d.gd b/material_maker/panels/preview_2d/preview_2d.gd index d2fcf3cb3..68af4cfb8 100644 --- a/material_maker/panels/preview_2d/preview_2d.gd +++ b/material_maker/panels/preview_2d/preview_2d.gd @@ -10,7 +10,7 @@ var is_greyscale : bool = false var need_generate : bool = false var last_export_filename : String = "" -var last_export_size = 0 +var last_export_size = 4 const MENU_EXPORT_AGAIN : int = 1000 @@ -18,6 +18,7 @@ const MENU_EXPORT_ANIMATION : int = 1001 const MENU_EXPORT_TAA_RENDER : int = 1002 const MENU_EXPORT_CUSTOM_SIZE : int = 1003 +signal generator_changed func _enter_tree(): mm_deps.create_buffer("preview_"+str(get_instance_id()), self) @@ -92,6 +93,7 @@ func set_generator(g : MMGenBase, o : int = 0, force : bool = false) -> void: var item_index = $ContextMenu.get_item_index(MENU_EXPORT_ANIMATION) if item_index != -1: $ContextMenu.set_item_disabled(item_index, !is_instance_valid(g)) + generator_changed.emit() update_material(source) var refreshing_generator : bool = false @@ -147,7 +149,8 @@ func export_animation() -> void: var window = load("res://material_maker/windows/export_animation/export_animation.tscn").instantiate() mm_globals.main_window.add_dialog(window) window.set_source(generator, output) - window.popup_centered() + window.exclusive = true + window.popup_centered()#e(get_window(), Rect2(get_window().size()) func export_taa() -> void: if generator == null: @@ -207,9 +210,9 @@ func export_as_image_file(file_name : String, image_size : int) -> void: last_export_size = image_size $ContextMenu.set_item_disabled($ContextMenu.get_item_index(MENU_EXPORT_AGAIN), false) -func _on_Reference_id_pressed(id : int): +func export_to_reference(resolution_id : int): var texture : ImageTexture = ImageTexture.new() - await create_image("copy_to_texture", [ texture ], 64 << id) + await create_image("copy_to_texture", [ texture ], 64 << resolution_id) mm_globals.main_window.get_panel("Reference").add_reference(texture) func _on_Preview2D_visibility_changed(): diff --git a/material_maker/panels/preview_2d/preview_2d_panel.gd b/material_maker/panels/preview_2d/preview_2d_panel.gd index 47e004e19..ec96f3c21 100644 --- a/material_maker/panels/preview_2d/preview_2d_panel.gd +++ b/material_maker/panels/preview_2d/preview_2d_panel.gd @@ -35,6 +35,8 @@ func _ready(): update_postprocess_menu() update_Guides_menu() update_export_menu() + reset_view() + func update_view_menu() -> void: $ContextMenu.add_submenu_item("View", "View") @@ -48,9 +50,9 @@ func update_Guides_menu() -> void: $ContextMenu/Guides.add_item("Change color", 1000) $ContextMenu.add_submenu_item("Guides", "Guides") if mm_globals.has_config("preview"+config_var_suffix+"_view_mode"): - _on_View_id_pressed(mm_globals.get_config("preview"+config_var_suffix+"_view_mode")) + set_view_mode(mm_globals.get_config("preview"+config_var_suffix+"_view_mode")) if mm_globals.has_config("preview"+config_var_suffix+"_view_postprocess"): - _on_PostProcess_id_pressed(mm_globals.get_config("preview"+config_var_suffix+"_view_postprocess")) + set_post_processing(mm_globals.get_config("preview"+config_var_suffix+"_view_postprocess")) func update_postprocess_menu() -> void: $ContextMenu/PostProcess.clear() @@ -71,6 +73,7 @@ func set_generator(g : MMGenBase, o : int = 0, force : bool = false) -> void: func update_material(source): super.update_material(source) material.set_shader_parameter("mode", view_mode) + material.set_shader_parameter("background_color", get_theme_stylebox("panel", "MM_PanelBackground").bg_color) material.set_shader_parameter("background_color_1", Color(0.4, 0.4, 0.4)) material.set_shader_parameter("background_color_2", Color(0.6, 0.6, 0.6)) @@ -173,6 +176,8 @@ func update_shader_options() -> void: func on_resized() -> void: super.on_resized() + material.set_shader_parameter("background_color", get_theme_stylebox("panel", "MM_PanelBackground").bg_color) + printt(name, get_theme_stylebox("panel", "MM_PanelBackground").bg_color) material.set_shader_parameter("preview_2d_center", center) material.set_shader_parameter("preview_2d_scale", view_scale) setup_controls("previous") @@ -198,6 +203,7 @@ func _on_gui_input(event): MOUSE_BUTTON_MIDDLE: dragging = true MOUSE_BUTTON_LEFT: + print(material.shader.code) if event.shift_pressed: dragging = true elif event.is_command_or_control_pressed(): @@ -230,9 +236,7 @@ func _on_gui_input(event): func _on_ContextMenu_id_pressed(id) -> void: match id: 0: - center = Vector2(0.5, 0.5) - view_scale = 1.2 - update_shader_options() + reset_view() MENU_EXPORT_AGAIN: export_again() MENU_EXPORT_ANIMATION: @@ -242,7 +246,14 @@ func _on_ContextMenu_id_pressed(id) -> void: _: print("unsupported id "+str(id)) -func _on_View_id_pressed(id): + +func reset_view() -> void: + center = Vector2(0.5, 0.5) + view_scale = 1.2 + update_shader_options() + + +func set_view_mode(id:int) -> void: if id == view_mode: return $ContextMenu/View.set_item_checked(view_mode, false) @@ -251,6 +262,11 @@ func _on_View_id_pressed(id): material.set_shader_parameter("mode", view_mode) mm_globals.set_config("preview"+config_var_suffix+"_view_mode", view_mode) + +func get_view_mode() -> int: + return view_mode + + func _on_Guides_id_pressed(id): if id == 1000: var color_picker_popup = preload("res://material_maker/widgets/color_picker_popup/color_picker_popup.tscn").instantiate() @@ -268,10 +284,14 @@ func _on_GridSize_value_changed(value): $Guides.show_grid(value) -func _on_PostProcess_id_pressed(id): +func set_post_processing(id:int) -> void: current_postprocess_option = id set_generator(generator, output, true) mm_globals.set_config("preview"+config_var_suffix+"_view_postprocess", current_postprocess_option) + +func get_post_processing() -> int: + return current_postprocess_option + func _on_Preview2D_mouse_entered(): mm_globals.set_tip_text("#MMB: Pan, Mouse wheel: Zoom, #RMB: Context menu", 3) diff --git a/material_maker/panels/preview_2d/preview_2d_panel.tscn b/material_maker/panels/preview_2d/preview_2d_panel.tscn index 3e8ec1ed6..77cdaabe8 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=17 format=3 uid="uid://b7x7yqgsurxhv"] +[gd_scene load_steps=26 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"] @@ -10,19 +10,52 @@ [ext_resource type="PackedScene" uid="uid://rflulhsuy3ax" path="res://material_maker/widgets/float_edit/float_edit.tscn" id="6"] [ext_resource type="PackedScene" uid="uid://b51634rcdiyr" path="res://material_maker/widgets/pixels_edit/pixels_editor.tscn" id="6_m4663"] [ext_resource type="PackedScene" uid="uid://dicq2cut03ved" path="res://material_maker/widgets/lattice_edit/lattice_editor.tscn" id="7_u2w4r"] +[ext_resource type="Texture2D" uid="uid://tfi3spyumjxt" path="res://material_maker/theme/dark/popupmenu_visibility_visible.png" id="11_l5q6b"] +[ext_resource type="PackedScene" uid="uid://dj5q8sxvd3gci" path="res://material_maker/widgets/option_edit/option_edit.tscn" id="12_4017l"] +[ext_resource type="Script" path="res://material_maker/panels/common/menu_bar_button_with_panel.gd" id="12_nrhap"] +[ext_resource type="Texture2D" uid="uid://dw0lvt1ip8ifp" path="res://material_maker/theme/dark/popupmenu_submenu.png" id="12_wun6p"] +[ext_resource type="Script" path="res://material_maker/panels/preview_2d/view_menu.gd" id="13_5w2hy"] +[ext_resource type="Texture2D" uid="uid://tetgna5qjvkf" path="res://material_maker/theme/dark/tabs_increment.png" id="15_ikyi1"] +[ext_resource type="Script" path="res://material_maker/panels/preview_2d/export_menu.gd" id="16_0fl4g"] +[ext_resource type="FontFile" uid="uid://dgkwr5jydtk6p" path="res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf" id="18_kn37y"] [sub_resource type="Shader" id="1"] resource_local_to_scene = true code = "shader_type canvas_item; +uniform vec2 preview_2d_size = vec2(100.0); +uniform float preview_2d_scale = 1.2; +uniform vec2 preview_2d_center = vec2(0.5); +uniform int mode = 0; +uniform vec4 background_color = vec4(0.0); +uniform vec4 background_color_1 = vec4(0.0); +uniform vec4 background_color_2 = vec4(1.0); + void fragment() { - COLOR = vec4(0.0, 0.0, 0.0, 1.0); + vec2 ratio = preview_2d_size; + vec2 uv = preview_2d_center+(UV-0.5)*preview_2d_scale*ratio/min(ratio.x, ratio.y); + if (mode == 2 && (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0)) { + COLOR = background_color; + } else { + if (mode == 1) { + uv = fract(uv); + } + float checkerboard = mod(floor(uv.x*32.0)+floor(uv.y*32.0), 2.0); + COLOR = vec4(mix(background_color_1, background_color_2, checkerboard).rgb, 1.0); + } } " [sub_resource type="ShaderMaterial" id="2"] resource_local_to_scene = true shader = SubResource("1") +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) +shader_parameter/mode = 2 +shader_parameter/background_color = Vector4(0, 0, 0, 0) +shader_parameter/background_color_1 = Vector4(0.4, 0.4, 0.4, 1) +shader_parameter/background_color_2 = Vector4(0.6, 0.6, 0.6, 1) [sub_resource type="AtlasTexture" id="3"] atlas = ExtResource("1") @@ -40,11 +73,20 @@ resource_local_to_scene = true render_priority = 0 shader = SubResource("5") +[sub_resource type="FontVariation" id="FontVariation_wkuuo"] +base_font = ExtResource("18_kn37y") +variation_transform = Transform2D(1, 0.22, 0, 1, 0, 0) + [node name="Preview2D" instance=ExtResource("3")] material = SubResource("2") custom_minimum_size = Vector2(100, 100) -offset_right = -758.0 -offset_bottom = -267.0 +offset_left = 8.0 +offset_top = -5.0 +offset_right = 508.0 +offset_bottom = 434.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(1, 1, 1, 0) script = ExtResource("4") config_var_suffix = "" shader_accumulate = "uniform sampler2D sum; @@ -82,6 +124,7 @@ shader = "uniform vec2 preview_2d_size = vec2(100.0); uniform float preview_2d_scale = 1.2; uniform vec2 preview_2d_center = vec2(0.5); uniform int mode = 0; +uniform vec4 background_color = vec4(0.0); uniform vec4 background_color_1 = vec4(0.0); uniform vec4 background_color_2 = vec4(1.0); @@ -89,7 +132,7 @@ void fragment() { vec2 ratio = preview_2d_size; vec2 uv = preview_2d_center+(UV-0.5)*preview_2d_scale*ratio/min(ratio.x, ratio.y); if (mode == 2 && (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0)) { - COLOR = vec4(0.0); + COLOR = background_color; } else { if (mode == 1) { uv = fract(uv); @@ -374,6 +417,268 @@ offset_left = -32.0 offset_bottom = 20.0 grow_horizontal = 0 +[node name="MenuBar" type="ScrollContainer" parent="." index="22"] +unique_name_in_owner = true +clip_contents = false +layout_mode = 1 +anchors_preset = 10 +anchor_right = 1.0 +offset_bottom = 30.0 +grow_horizontal = 2 +theme_type_variation = &"MM_PanelMenuBackground" +horizontal_scroll_mode = 3 +vertical_scroll_mode = 0 + +[node name="HBox" type="HBoxContainer" parent="MenuBar" index="0"] +layout_mode = 2 + +[node name="MainMenu" type="PanelContainer" parent="MenuBar/HBox" index="0"] +layout_mode = 2 +theme_type_variation = &"MM_PanelMenuBar" + +[node name="HBox" type="HBoxContainer" parent="MenuBar/HBox/MainMenu" index="0"] +layout_mode = 2 + +[node name="ViewMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="0"] +layout_mode = 2 +toggle_mode = true +button_mask = 3 +text = "View" +icon = ExtResource("11_l5q6b") +script = ExtResource("12_nrhap") + +[node name="ViewMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu" index="0"] +layout_mode = 0 +offset_left = -53.0 +offset_top = 34.0 +offset_right = 92.0 +offset_bottom = 115.0 +theme_type_variation = &"MM_PanelMenuSubPanel" +script = ExtResource("13_5w2hy") + +[node name="VBox" type="VBoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel" index="0"] +layout_mode = 2 +theme_override_constants/separation = 2 + +[node name="ResetViewButton" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="0"] +unique_name_in_owner = true +layout_mode = 2 +text = "Reset View" + +[node name="ViewModeLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="1"] +layout_mode = 2 +theme_type_variation = &"MM_PanelMenuSubPanelLabel" +text = "View Mode" + +[node name="ViewMode" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="2" instance=ExtResource("12_4017l")] +unique_name_in_owner = true +layout_mode = 2 +selected = 0 +item_count = 5 +popup/item_0/text = "Extend" +popup/item_1/text = "Repeat" +popup/item_1/id = 1 +popup/item_2/text = "Clamp" +popup/item_2/id = 2 +popup/item_3/text = "Temporal AA" +popup/item_3/id = 3 +popup/item_4/text = "Remporal AA 2.2" +popup/item_4/id = 4 + +[node name="PostProcessingLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="3"] +layout_mode = 2 +theme_type_variation = &"MM_PanelMenuSubPanelLabel" +text = "Post Processing" + +[node name="PostProcessing" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="4" instance=ExtResource("12_4017l")] +unique_name_in_owner = true +layout_mode = 2 +selected = 0 +item_count = 6 +popup/item_0/text = "None" +popup/item_1/text = "Lowres 32x32" +popup/item_1/id = 1 +popup/item_2/text = "Lowres 64x64" +popup/item_2/id = 2 +popup/item_3/text = "Lowres 128x128" +popup/item_3/id = 3 +popup/item_4/text = "Lowres 256x256" +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"] +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"] +layout_mode = 2 + +[node name="Guides" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer" index="0" instance=ExtResource("12_4017l")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +selected = 0 +item_count = 7 +popup/item_0/text = "None" +popup/item_1/text = "Corners" +popup/item_1/id = 1 +popup/item_2/text = "Lines" +popup/item_2/id = 2 +popup/item_3/text = "Grid 4x4" +popup/item_3/id = 3 +popup/item_4/text = "Grid 8x8" +popup/item_4/id = 4 +popup/item_5/text = "Grid 10x10" +popup/item_5/id = 5 +popup/item_6/text = "Grid 16x16" +popup/item_6/id = 6 + +[node name="GuidesColor" type="ColorPickerButton" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer" index="1"] +unique_name_in_owner = true +custom_minimum_size = Vector2(25, 0) +layout_mode = 2 + +[node name="ExportMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="1"] +layout_mode = 2 +toggle_mode = true +button_mask = 3 +text = "Export" +icon = ExtResource("12_wun6p") +script = ExtResource("12_nrhap") + +[node name="ExportMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu" index="0"] +layout_mode = 0 +offset_left = -74.0 +offset_top = 36.0 +offset_right = 252.0 +offset_bottom = 341.0 +theme_type_variation = &"MM_PanelMenuSubPanel" +script = ExtResource("16_0fl4g") + +[node name="VBox" type="VBoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" index="0"] +layout_mode = 2 +theme_override_constants/separation = 2 + +[node name="ExportFolderLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="0"] +layout_mode = 2 +theme_type_variation = &"MM_PanelMenuSubPanelLabel" +text = "Export Folder" + +[node name="ExportFolder" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="1"] +layout_mode = 2 +theme_override_constants/separation = 2 + +[node name="ExportFolder" type="LineEdit" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/ExportFolder" index="0"] +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/ExportFolder" index="1"] +unique_name_in_owner = true +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 +icon = ExtResource("15_ikyi1") +icon_alignment = 1 + +[node name="ExportFileLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="2"] +layout_mode = 2 +theme_type_variation = &"MM_PanelMenuSubPanelLabel" +text = "File Name" + +[node name="ExportFile" type="BoxContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="3"] +layout_mode = 2 +theme_override_constants/separation = 2 + +[node name="ExportFile" type="LineEdit" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/ExportFile" index="0"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 15 +text = "$project_$node" + +[node name="FileType" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/ExportFile" index="1" instance=ExtResource("12_4017l")] +unique_name_in_owner = true +layout_mode = 2 +selected = 0 +item_count = 2 +popup/item_0/text = ".png" +popup/item_1/text = ".exr" +popup/item_1/id = 1 + +[node name="ExportFileResultLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="4"] +unique_name_in_owner = true +layout_mode = 2 +theme_type_variation = &"MM_PanelMenuSubPanelLabel" +theme_override_colors/font_color = Color(0.569503, 0.480253, 0.24056, 1) +theme_override_fonts/font = SubResource("FontVariation_wkuuo") + +[node name="ResolutionLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="5"] +layout_mode = 2 +theme_type_variation = &"MM_PanelMenuSubPanelLabel" +text = "Resolution" + +[node name="Resolution" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="6" instance=ExtResource("12_4017l")] +unique_name_in_owner = true +layout_mode = 2 +selected = 4 +item_count = 8 +popup/item_0/text = "64x64" +popup/item_1/text = "128x128" +popup/item_1/id = 1 +popup/item_2/text = "256x256" +popup/item_2/id = 2 +popup/item_3/text = "512x512" +popup/item_3/id = 3 +popup/item_4/text = "1024x1024" +popup/item_4/id = 4 +popup/item_5/text = "2048x2048" +popup/item_5/id = 5 +popup/item_6/text = "4048x2048" +popup/item_6/id = 6 +popup/item_7/text = "8192x8192" +popup/item_7/id = 7 + +[node name="ExportLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="7"] +layout_mode = 2 +theme_type_variation = &"MM_PanelMenuSubPanelLabel" +text = "Export" + +[node name="Image" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="8"] +unique_name_in_owner = true +layout_mode = 2 +text = "Export as Image" +alignment = 0 + +[node name="Animation" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="9"] +unique_name_in_owner = true +layout_mode = 2 +text = "Export as Animation" +alignment = 0 + +[node name="TAA_Render" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="10"] +unique_name_in_owner = true +layout_mode = 2 +text = "Export as TAA Render" +alignment = 0 + +[node name="Reference" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="11"] +unique_name_in_owner = true +layout_mode = 2 +text = "Export to Reference" +alignment = 0 + +[node name="ExportNotificationLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="12"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +theme_type_variation = &"MM_PanelMenuSubPanelLabel" +theme_override_colors/font_color = Color(0.52, 0.52, 0.52, 1) +theme_override_fonts/font = SubResource("FontVariation_wkuuo") +autowrap_mode = 1 + [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"] @@ -388,3 +693,17 @@ grow_horizontal = 0 [connection signal="id_pressed" from="ContextMenu/Reference" to="." method="_on_Reference_id_pressed"] [connection signal="id_pressed" from="ContextMenu/PostProcess" to="." method="_on_PostProcess_id_pressed"] [connection signal="item_selected" from="ComplexParameters" to="." method="_on_complex_parameters_item_selected"] +[connection signal="pressed" from="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/ResetViewButton" to="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel" method="_on_reset_view_button_pressed"] +[connection signal="item_selected" from="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/ViewMode" to="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel" method="_on_view_mode_item_selected"] +[connection signal="item_selected" from="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/PostProcessing" to="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel" method="_on_post_processing_item_selected"] +[connection signal="item_selected" from="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer/Guides" to="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel" method="_on_guides_item_selected"] +[connection signal="color_changed" from="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/BoxContainer/GuidesColor" to="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel" method="_on_guides_color_color_changed"] +[connection signal="text_changed" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/ExportFolder/ExportFolder" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_export_folder_text_changed"] +[connection signal="pressed" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/ExportFolder/ExportFolderButton" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_export_folder_button_pressed"] +[connection signal="text_changed" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/ExportFile/ExportFile" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_export_file_text_changed"] +[connection signal="item_selected" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/ExportFile/FileType" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_file_type_item_selected"] +[connection signal="item_selected" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Resolution" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_resolution_item_selected"] +[connection signal="pressed" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Image" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_image_pressed"] +[connection signal="pressed" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Animation" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_animation_pressed"] +[connection signal="pressed" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/TAA_Render" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_taa_render_pressed"] +[connection signal="pressed" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Reference" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_reference_pressed"] diff --git a/material_maker/panels/preview_2d/view_menu.gd b/material_maker/panels/preview_2d/view_menu.gd new file mode 100644 index 000000000..9c67a8d4d --- /dev/null +++ b/material_maker/panels/preview_2d/view_menu.gd @@ -0,0 +1,29 @@ +extends PanelContainer + + + +func _open() -> void: + %ViewMode.selected = owner.get_view_mode() + %PostProcessing.selected = owner.get_post_processing() + %Guides.selected = owner.get_node("Guides").style + %GuidesColor.color = owner.get_node("Guides").color + + +func _on_reset_view_button_pressed() -> void: + owner.reset_view() + + +func _on_view_mode_item_selected(index: int) -> void: + owner.set_view_mode(index) + + +func _on_post_processing_item_selected(index: int) -> void: + owner.set_post_processing(index) + + +func _on_guides_item_selected(index: int) -> void: + owner.get_node("Guides").style = index + + +func _on_guides_color_color_changed(color: Color) -> void: + owner.get_node("Guides").color = color diff --git a/material_maker/theme/modern.tres b/material_maker/theme/modern.tres index 29a69d0f7..02ea27ebf 100644 --- a/material_maker/theme/modern.tres +++ b/material_maker/theme/modern.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=58 format=3 uid="uid://b628lwfk6ig2c"] +[gd_resource type="Theme" load_steps=62 format=3 uid="uid://b628lwfk6ig2c"] [ext_resource type="FontFile" uid="uid://dgkwr5jydtk6p" path="res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf" id="1_hqoqt"] [ext_resource type="FontFile" uid="uid://btybkvkb8rtol" path="res://material_maker/fonts/DroidSansFallback.ttf" id="2_1xp11"] @@ -350,6 +350,43 @@ corner_radius_top_right = 5 corner_radius_bottom_right = 5 corner_radius_bottom_left = 5 +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_b7fkf"] +content_margin_left = 4.0 +content_margin_top = 4.0 +content_margin_right = 4.0 +content_margin_bottom = 4.0 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_pq4ta"] +content_margin_left = 2.0 +content_margin_top = 2.0 +content_margin_right = 2.0 +content_margin_bottom = 2.0 +bg_color = Color(0.123578, 0.129892, 0.142519, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qhlqs"] +content_margin_left = 4.0 +content_margin_top = 4.0 +content_margin_right = 4.0 +content_margin_bottom = 4.0 +bg_color = Color(0.0725373, 0.0770753, 0.0861506, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.2484, 0.2484, 0.2484, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 +corner_detail = 4 + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_82ewu"] +content_margin_top = 3.0 + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1k0sx"] bg_color = Color(0.0941176, 0.0980392, 0.101961, 1) corner_radius_top_right = 4 @@ -602,6 +639,16 @@ MM_NodePropertyLabel/base_type = &"Label" MM_NodePropertyLabel/font_sizes/font_size = 15 MM_PanelBackground/base_type = &"PanelContainer" MM_PanelBackground/styles/panel = SubResource("StyleBoxFlat_uujf1") +MM_PanelMenuBackground/base_type = &"ScrollContainer" +MM_PanelMenuBackground/styles/panel = SubResource("StyleBoxEmpty_b7fkf") +MM_PanelMenuBar/base_type = &"PanelContainer" +MM_PanelMenuBar/styles/panel = SubResource("StyleBoxFlat_pq4ta") +MM_PanelMenuSubPanel/base_type = &"PanelContainer" +MM_PanelMenuSubPanel/styles/panel = SubResource("StyleBoxFlat_qhlqs") +MM_PanelMenuSubPanelLabel/base_type = &"Label" +MM_PanelMenuSubPanelLabel/colors/font_color = Color(0.454524, 0.454524, 0.454524, 1) +MM_PanelMenuSubPanelLabel/font_sizes/font_size = 14 +MM_PanelMenuSubPanelLabel/styles/normal = SubResource("StyleBoxEmpty_82ewu") MM_ProjectsBackground/base_type = &"Panel" MM_ProjectsBackground/styles/panel = SubResource("StyleBoxFlat_1k0sx") MM_StatusBarBackground/base_type = &"PanelContainer" diff --git a/material_maker/windows/file_dialog/file_dialog.gd b/material_maker/windows/file_dialog/file_dialog.gd index f9adb95d3..462929f24 100644 --- a/material_maker/windows/file_dialog/file_dialog.gd +++ b/material_maker/windows/file_dialog/file_dialog.gd @@ -12,6 +12,7 @@ signal return_paths(path_list) func _ready() -> void: + min_size = Vector2(500, 500) if DIALOG_HACK: var vbox = get_vbox() var hbox = HSplitContainer.new() From 326cac4a3169141b0914c47ddb95db948804c157 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Tue, 20 Aug 2024 13:10:01 +0200 Subject: [PATCH 05/24] Implement new PixelMenuBar and remove old Context Menu --- .../common/menu_bar_button_with_panel.gd | 6 +- .../panels/preview_2d/preview_2d.gd | 23 ++--- .../panels/preview_2d/preview_2d_node.gd | 8 -- .../panels/preview_2d/preview_2d_node.tscn | 8 -- .../panels/preview_2d/preview_2d_panel.gd | 84 +++++-------------- .../panels/preview_2d/preview_2d_panel.tscn | 67 ++------------- material_maker/theme/modern.tres | 1 + .../widgets/pixels_edit/pixels_editor.gd | 45 +++++----- .../widgets/pixels_edit/pixels_editor.tscn | 71 +++++++++------- .../widgets/pixels_edit/settings_panel.gd | 28 +++++++ 10 files changed, 129 insertions(+), 212 deletions(-) create mode 100644 material_maker/widgets/pixels_edit/settings_panel.gd diff --git a/material_maker/panels/common/menu_bar_button_with_panel.gd b/material_maker/panels/common/menu_bar_button_with_panel.gd index 5688eadf8..707b47dae 100644 --- a/material_maker/panels/common/menu_bar_button_with_panel.gd +++ b/material_maker/panels/common/menu_bar_button_with_panel.gd @@ -6,6 +6,8 @@ var pinned := false func _ready() -> void: + toggle_mode = true + button_mask = MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT toggled.connect(_on_toggled) owner.resized.connect(position_panel) @@ -14,7 +16,7 @@ func _ready() -> void: func _draw() -> void: if pinned: - draw_circle(Vector2(size.x, 0), 4, get_theme_color("icon_pressed_color")) + draw_circle(Vector2(size.x-2, 2), 4, get_theme_color("icon_pressed_color")) func _on_toggled(pressed:bool) -> void: @@ -48,5 +50,7 @@ func _input(event:InputEvent) -> void: func _gui_input(event: InputEvent) -> void: if event is InputEventMouseButton and not event.pressed: if event.button_index == MOUSE_BUTTON_RIGHT: + if not pinned and button_pressed: + get_viewport().set_input_as_handled() pinned = true grab_focus() diff --git a/material_maker/panels/preview_2d/preview_2d.gd b/material_maker/panels/preview_2d/preview_2d.gd index 68af4cfb8..f1f0164ce 100644 --- a/material_maker/panels/preview_2d/preview_2d.gd +++ b/material_maker/panels/preview_2d/preview_2d.gd @@ -23,24 +23,11 @@ signal generator_changed func _enter_tree(): mm_deps.create_buffer("preview_"+str(get_instance_id()), self) -func update_export_menu() -> void: - $ContextMenu/Export.clear() - $ContextMenu/Reference.clear() - for i in range(8): - var s = 64 << i - $ContextMenu/Export.add_item(str(s)+"x"+str(s), i) - $ContextMenu/Reference.add_item(str(s)+"x"+str(s), i) - $ContextMenu.add_submenu_item("Export", "Export") - $ContextMenu.add_item("Export again", MENU_EXPORT_AGAIN) - $ContextMenu.set_item_disabled($ContextMenu.get_item_index(MENU_EXPORT_AGAIN), true) - $ContextMenu.add_item("Export animation", MENU_EXPORT_ANIMATION) - $ContextMenu.set_item_disabled($ContextMenu.get_item_index(MENU_EXPORT_ANIMATION), true) - $ContextMenu.add_item("Export TAA render", MENU_EXPORT_TAA_RENDER) - $ContextMenu.add_submenu_item("Reference", "Reference") func generate_preview_shader(source, template) -> String: return MMGenBase.generate_preview_shader(source, source.output_type, template) + func do_update_material(source, target_material : ShaderMaterial, template : String): if source.output_type == "": return @@ -89,10 +76,10 @@ func set_generator(g : MMGenBase, o : int = 0, force : bool = false) -> void: source = MMGenBase.get_default_generated_shader() else: generator = null - if get_node_or_null("ContextMenu") != null: - var item_index = $ContextMenu.get_item_index(MENU_EXPORT_ANIMATION) - if item_index != -1: - $ContextMenu.set_item_disabled(item_index, !is_instance_valid(g)) + #if get_node_or_null("ContextMenu") != null: + #var item_index = $ContextMenu.get_item_index(MENU_EXPORT_ANIMATION) + #if item_index != -1: + #$ContextMenu.set_item_disabled(item_index, !is_instance_valid(g)) generator_changed.emit() update_material(source) diff --git a/material_maker/panels/preview_2d/preview_2d_node.gd b/material_maker/panels/preview_2d/preview_2d_node.gd index 5c71cf116..c18aa2228 100644 --- a/material_maker/panels/preview_2d/preview_2d_node.gd +++ b/material_maker/panels/preview_2d/preview_2d_node.gd @@ -1,9 +1 @@ extends "res://material_maker/panels/preview_2d/preview_2d.gd" - -func _ready() -> void: - update_export_menu() - -func _on_gui_input(event) -> void: - if event is InputEventMouseButton: - if event.pressed and event.button_index == MOUSE_BUTTON_RIGHT: - $ContextMenu.popup(Rect2(get_global_mouse_position(), Vector2(0, 0))) diff --git a/material_maker/panels/preview_2d/preview_2d_node.tscn b/material_maker/panels/preview_2d/preview_2d_node.tscn index 0c1e8ab6d..ac9e3761d 100644 --- a/material_maker/panels/preview_2d/preview_2d_node.tscn +++ b/material_maker/panels/preview_2d/preview_2d_node.tscn @@ -16,12 +16,4 @@ material = SubResource("2") mouse_filter = 0 script = ExtResource("2") -[node name="ContextMenu" type="PopupMenu" parent="." index="0"] - -[node name="Export" type="PopupMenu" parent="ContextMenu" index="3"] - -[node name="Reference" type="PopupMenu" parent="ContextMenu" index="4"] - [connection signal="gui_input" from="." to="." method="_on_gui_input"] -[connection signal="id_pressed" from="ContextMenu/Export" to="." method="_on_Export_id_pressed"] -[connection signal="id_pressed" from="ContextMenu/Reference" to="." method="_on_Reference_id_pressed"] diff --git a/material_maker/panels/preview_2d/preview_2d_panel.gd b/material_maker/panels/preview_2d/preview_2d_panel.gd index ec96f3c21..bb50c1f49 100644 --- a/material_maker/panels/preview_2d/preview_2d_panel.gd +++ b/material_maker/panels/preview_2d/preview_2d_panel.gd @@ -23,7 +23,6 @@ const POSTPROCESS_OPTIONS : Array = [ { name="Lowres 512x512", function="preview_2d((floor(uv*512.0)+vec2(0.5))/512.0)" } ] - const VIEW_EXTEND : int = 0 const VIEW_REPEAT : int = 1 const VIEW_CLAMP : int = 2 @@ -31,38 +30,13 @@ const VIEW_CLAMP : int = 2 func _ready(): update_shader_options() - update_view_menu() - update_postprocess_menu() - update_Guides_menu() - update_export_menu() reset_view() - - -func update_view_menu() -> void: - $ContextMenu.add_submenu_item("View", "View") - -func update_Guides_menu() -> void: - $ContextMenu/Guides.clear() - for s in $Guides.STYLES: - $ContextMenu/Guides.add_item(s) - $ContextMenu/Guides.add_submenu_item("Grid", "Grid") - $ContextMenu/Guides.add_separator() - $ContextMenu/Guides.add_item("Change color", 1000) - $ContextMenu.add_submenu_item("Guides", "Guides") - if mm_globals.has_config("preview"+config_var_suffix+"_view_mode"): - set_view_mode(mm_globals.get_config("preview"+config_var_suffix+"_view_mode")) - if mm_globals.has_config("preview"+config_var_suffix+"_view_postprocess"): - set_post_processing(mm_globals.get_config("preview"+config_var_suffix+"_view_postprocess")) - -func update_postprocess_menu() -> void: - $ContextMenu/PostProcess.clear() - for o in POSTPROCESS_OPTIONS: - $ContextMenu/PostProcess.add_item(o.name) - $ContextMenu.add_submenu_item("Post Process", "PostProcess") + func get_shader_custom_functions(): return "vec4 preview_2d_postprocessed(vec2 uv) { return %s; }\n" % POSTPROCESS_OPTIONS[current_postprocess_option].function + func set_generator(g : MMGenBase, o : int = 0, force : bool = false) -> void: #center = Vector2(0.5, 0.5) #view_scale = 1.2 @@ -70,6 +44,7 @@ func set_generator(g : MMGenBase, o : int = 0, force : bool = false) -> void: setup_controls("previous") update_shader_options() + func update_material(source): super.update_material(source) material.set_shader_parameter("mode", view_mode) @@ -147,13 +122,16 @@ var center_transform : Transform2D = Transform2D(0, Vector2(0.0, 0.0)) var local_rotate : float = 0.0 var local_scale : float = 1.0 + func set_center_transform(t): center_transform = t + func set_local_transform(r : float, s : float): local_rotate = r local_scale = s + func value_to_pos(value : Vector2, apply_parent_transform : bool = false, apply_local_transform : bool = false) -> Vector2: if apply_parent_transform: value = center_transform * (value) @@ -162,6 +140,7 @@ func value_to_pos(value : Vector2, apply_parent_transform : bool = false, apply_ value *= local_scale return (value-center+Vector2(0.5, 0.5))*min(size.x, size.y)/view_scale+0.5*size + func pos_to_value(pos : Vector2, apply_parent_transform : bool = false, apply_local_transform : bool = false) -> Vector2: var value = (pos-0.5*size)*view_scale/min(size.x, size.y)+center-Vector2(0.5, 0.5) if apply_local_transform: @@ -174,6 +153,7 @@ func pos_to_value(pos : Vector2, apply_parent_transform : bool = false, apply_lo func update_shader_options() -> void: on_resized() + func on_resized() -> void: super.on_resized() material.set_shader_parameter("background_color", get_theme_stylebox("panel", "MM_PanelBackground").bg_color) @@ -183,6 +163,7 @@ func on_resized() -> void: setup_controls("previous") $Guides.queue_redraw() + var dragging : bool = false var zooming : bool = false @@ -208,8 +189,6 @@ func _on_gui_input(event): dragging = true elif event.is_command_or_control_pressed(): zooming = true - MOUSE_BUTTON_RIGHT: - $ContextMenu.popup(Rect2(get_local_mouse_position()+get_screen_position(), Vector2(0, 0))) else: dragging = false zooming = false @@ -233,19 +212,16 @@ func _on_gui_input(event): if need_update: on_resized() -func _on_ContextMenu_id_pressed(id) -> void: - match id: - 0: - reset_view() - MENU_EXPORT_AGAIN: - export_again() - MENU_EXPORT_ANIMATION: - export_animation() - MENU_EXPORT_TAA_RENDER: - export_taa() - _: - print("unsupported id "+str(id)) +#region MENUS + +func add_menu_bar(menu_bar:Control, editor:Control) -> void: + %MenuBar.get_child(0).add_child(menu_bar) + editor.visibility_changed.connect(func(): menu_bar.visible = editor.visible) + menu_bar.visible = editor.visible + + +#region VIEW MENU METHODS func reset_view() -> void: center = Vector2(0.5, 0.5) @@ -256,9 +232,7 @@ func reset_view() -> void: func set_view_mode(id:int) -> void: if id == view_mode: return - $ContextMenu/View.set_item_checked(view_mode, false) view_mode = id - $ContextMenu/View.set_item_checked(view_mode, true) material.set_shader_parameter("mode", view_mode) mm_globals.set_config("preview"+config_var_suffix+"_view_mode", view_mode) @@ -267,23 +241,6 @@ func get_view_mode() -> int: return view_mode -func _on_Guides_id_pressed(id): - if id == 1000: - var color_picker_popup = preload("res://material_maker/widgets/color_picker_popup/color_picker_popup.tscn").instantiate() - add_child(color_picker_popup) - var color_picker = color_picker_popup.get_node("ColorPicker") - color_picker.color = $Guides.color - color_picker.connect("color_changed",Callable($Guides,"set_color")) - color_picker_popup.position = get_viewport().get_mouse_position() - color_picker_popup.connect("popup_hide",Callable(color_picker_popup,"queue_free")) - color_picker_popup.popup() - else: - $Guides.style = id - -func _on_GridSize_value_changed(value): - $Guides.show_grid(value) - - func set_post_processing(id:int) -> void: current_postprocess_option = id set_generator(generator, output, true) @@ -293,5 +250,8 @@ func set_post_processing(id:int) -> void: func get_post_processing() -> int: return current_postprocess_option +#endregion + + func _on_Preview2D_mouse_entered(): - mm_globals.set_tip_text("#MMB: Pan, Mouse wheel: Zoom, #RMB: Context menu", 3) + mm_globals.set_tip_text("#MMB: Pan, Mouse wheel: Zoom", 3) diff --git a/material_maker/panels/preview_2d/preview_2d_panel.tscn b/material_maker/panels/preview_2d/preview_2d_panel.tscn index 77cdaabe8..4af6ea688 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=26 format=3 uid="uid://b7x7yqgsurxhv"] +[gd_scene load_steps=25 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"] @@ -7,7 +7,6 @@ [ext_resource type="PackedScene" uid="uid://djura7a50b2aq" path="res://material_maker/widgets/polygon_edit/polygon_editor.tscn" id="4_gd40d"] [ext_resource type="Script" path="res://material_maker/panels/preview_2d/lines.gd" id="5"] [ext_resource type="PackedScene" uid="uid://b08bcbwwosrrk" path="res://material_maker/widgets/splines_edit/splines_editor.tscn" id="5_5hlfo"] -[ext_resource type="PackedScene" uid="uid://rflulhsuy3ax" path="res://material_maker/widgets/float_edit/float_edit.tscn" id="6"] [ext_resource type="PackedScene" uid="uid://b51634rcdiyr" path="res://material_maker/widgets/pixels_edit/pixels_editor.tscn" id="6_m4663"] [ext_resource type="PackedScene" uid="uid://dicq2cut03ved" path="res://material_maker/widgets/lattice_edit/lattice_editor.tscn" id="7_u2w4r"] [ext_resource type="Texture2D" uid="uid://tfi3spyumjxt" path="res://material_maker/theme/dark/popupmenu_visibility_visible.png" id="11_l5q6b"] @@ -349,52 +348,7 @@ texture = SubResource("4") parent_control = "P1" control_type = 2 -[node name="ContextMenu" type="PopupMenu" parent="." index="19"] -item_count = 1 -item_0/text = "Reset view" - -[node name="View" type="PopupMenu" parent="ContextMenu" index="3"] -item_count = 5 -item_0/text = "Extend" -item_0/checkable = 2 -item_0/checked = true -item_1/text = "Repeat" -item_1/checkable = 2 -item_1/id = 1 -item_2/text = "Clamp" -item_2/checkable = 2 -item_2/id = 2 -item_3/text = "Temporal AA" -item_3/checkable = 2 -item_3/id = 3 -item_4/text = "Temporal AA 2.2" -item_4/checkable = 2 -item_4/id = 4 - -[node name="Guides" type="PopupMenu" parent="ContextMenu" index="4"] - -[node name="Grid" type="Popup" parent="ContextMenu/Guides" index="3"] - -[node name="Panel" type="PanelContainer" parent="ContextMenu/Guides/Grid" index="0"] -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 - -[node name="GridSize" parent="ContextMenu/Guides/Grid/Panel" index="0" instance=ExtResource("6")] -layout_mode = 2 -value = 4.0 -min_value = 2.0 -max_value = 64.0 -step = 1.0 -float_only = true - -[node name="Export" type="PopupMenu" parent="ContextMenu" index="5"] - -[node name="Reference" type="PopupMenu" parent="ContextMenu" index="6"] - -[node name="PostProcess" type="PopupMenu" parent="ContextMenu" index="7"] - -[node name="Accumulate" type="SubViewport" parent="." index="20"] +[node name="Accumulate" type="SubViewport" parent="." index="19"] disable_3d = true handle_input_locally = false gui_snap_controls_to_pixels = false @@ -407,7 +361,7 @@ material = SubResource("6") offset_right = 40.0 offset_bottom = 40.0 -[node name="ComplexParameters" type="OptionButton" parent="." index="21"] +[node name="ComplexParameters" type="OptionButton" parent="." index="20"] visible = false layout_mode = 1 anchors_preset = 1 @@ -417,7 +371,7 @@ offset_left = -32.0 offset_bottom = 20.0 grow_horizontal = 0 -[node name="MenuBar" type="ScrollContainer" parent="." index="22"] +[node name="MenuBar" type="ScrollContainer" parent="." index="21"] unique_name_in_owner = true clip_contents = false layout_mode = 1 @@ -441,9 +395,10 @@ layout_mode = 2 [node name="ViewMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="0"] layout_mode = 2 +tooltip_text = "View" +theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true button_mask = 3 -text = "View" icon = ExtResource("11_l5q6b") script = ExtResource("12_nrhap") @@ -542,9 +497,10 @@ layout_mode = 2 [node name="ExportMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="1"] layout_mode = 2 +tooltip_text = "Export" +theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true button_mask = 3 -text = "Export" icon = ExtResource("12_wun6p") script = ExtResource("12_nrhap") @@ -685,13 +641,6 @@ autowrap_mode = 1 [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"] -[connection signal="id_pressed" from="ContextMenu" to="." method="_on_ContextMenu_id_pressed"] -[connection signal="id_pressed" from="ContextMenu/View" to="." method="_on_View_id_pressed"] -[connection signal="id_pressed" from="ContextMenu/Guides" to="." method="_on_Guides_id_pressed"] -[connection signal="value_changed" from="ContextMenu/Guides/Grid/Panel/GridSize" to="." method="_on_GridSize_value_changed"] -[connection signal="id_pressed" from="ContextMenu/Export" to="." method="_on_Export_id_pressed"] -[connection signal="id_pressed" from="ContextMenu/Reference" to="." method="_on_Reference_id_pressed"] -[connection signal="id_pressed" from="ContextMenu/PostProcess" to="." method="_on_PostProcess_id_pressed"] [connection signal="item_selected" from="ComplexParameters" to="." method="_on_complex_parameters_item_selected"] [connection signal="pressed" from="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/ResetViewButton" to="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel" method="_on_reset_view_button_pressed"] [connection signal="item_selected" from="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox/ViewMode" to="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel" method="_on_view_mode_item_selected"] diff --git a/material_maker/theme/modern.tres b/material_maker/theme/modern.tres index 02ea27ebf..065b8a76b 100644 --- a/material_maker/theme/modern.tres +++ b/material_maker/theme/modern.tres @@ -643,6 +643,7 @@ MM_PanelMenuBackground/base_type = &"ScrollContainer" MM_PanelMenuBackground/styles/panel = SubResource("StyleBoxEmpty_b7fkf") MM_PanelMenuBar/base_type = &"PanelContainer" MM_PanelMenuBar/styles/panel = SubResource("StyleBoxFlat_pq4ta") +MM_PanelMenuButton/base_type = &"Button" MM_PanelMenuSubPanel/base_type = &"PanelContainer" MM_PanelMenuSubPanel/styles/panel = SubResource("StyleBoxFlat_qhlqs") MM_PanelMenuSubPanelLabel/base_type = &"Label" diff --git a/material_maker/widgets/pixels_edit/pixels_editor.gd b/material_maker/widgets/pixels_edit/pixels_editor.gd index 6aa217812..8950a1364 100644 --- a/material_maker/widgets/pixels_edit/pixels_editor.gd +++ b/material_maker/widgets/pixels_edit/pixels_editor.gd @@ -1,43 +1,53 @@ extends "res://material_maker/widgets/pixels_edit/pixels_view.gd" -var current_color : int = -1 +var current_color: int = -1 +@onready var menu_bar: Control = $PixelMenu +@onready var colors: Control = %Colors signal value_changed(value : MMPixels) signal unhandled_event(event : InputEvent) +func _ready() -> void: + %SettingsPanel.pixel_editor = self + + if get_parent().has_method("add_menu_bar"): + menu_bar.get_parent().remove_child(menu_bar) + get_parent().add_menu_bar(menu_bar, self) + + func set_pixels(p : MMPixels) -> void: pixels = p queue_redraw() update_color_buttons() - %SettingsPanel.visible = false + func update_color_buttons() -> void: var palette_size : int = pixels.palette.size() - var button_count : int = %Colors.get_child_count() + var button_count : int = colors.get_child_count() if palette_size < button_count: while button_count > palette_size: button_count -= 1 - var color_button : Node = %Colors.get_child(button_count) - %Colors.remove_child(color_button) + var color_button : Node = colors.get_child(button_count) + colors.remove_child(color_button) color_button.free() - elif palette_size > %Colors.get_child_count(): - while %Colors.get_child_count() < palette_size: + elif palette_size > colors.get_child_count(): + while colors.get_child_count() < palette_size: var color_button : ColorPickerButton = ColorPickerButton.new() - color_button.custom_minimum_size = Vector2i(16, 16) + color_button.custom_minimum_size = Vector2i(25, 25) color_button.toggle_mode = true color_button.button_mask = MOUSE_BUTTON_MASK_RIGHT - %Colors.add_child(color_button) + colors.add_child(color_button) color_button.focus_entered.connect(self.set_current_color.bind(button_count)) color_button.color_changed.connect(self.set_palette_color.bind(button_count)) button_count += 1 for ci in palette_size: - %Colors.get_child(ci).color = pixels.palette[ci] + colors.get_child(ci).color = pixels.palette[ci] if current_color < 0 or current_color >= palette_size: current_color = 0 - #%Colors.get_child(current_color).set_focus() = + #colors.get_child(current_color).set_focus() = func set_current_color(c : int) -> void: current_color = c @@ -89,16 +99,3 @@ func setup_control(g : MMGenBase, param_defs : Array) -> void: func control_update_parameter(_value : MMPixels): generator.set_parameter(parameter_name, pixels.serialize()) - -func _on_settings_button_pressed(): - var settings_panel : Control = %SettingsPanel - settings_panel.visible = not settings_panel.visible - if settings_panel.visible: - %Width.value = float(pixels.size.x) - %Height.value = float(pixels.size.y) - %BPP.value = float(pixels.bpp) - else: - pixels.set_size(int(%Width.value), int(%Height.value), int(%BPP.value)) - queue_redraw() - update_color_buttons() - self.value_changed.emit(pixels) diff --git a/material_maker/widgets/pixels_edit/pixels_editor.tscn b/material_maker/widgets/pixels_edit/pixels_editor.tscn index 386794f7c..36c0e76c3 100644 --- a/material_maker/widgets/pixels_edit/pixels_editor.tscn +++ b/material_maker/widgets/pixels_edit/pixels_editor.tscn @@ -1,9 +1,11 @@ -[gd_scene load_steps=6 format=3 uid="uid://b51634rcdiyr"] +[gd_scene load_steps=8 format=3 uid="uid://b51634rcdiyr"] [ext_resource type="PackedScene" uid="uid://yeaj0tj7b08i" path="res://material_maker/widgets/curve_edit/curve_view.tscn" id="1_07x6a"] [ext_resource type="Script" path="res://material_maker/widgets/pixels_edit/pixels_editor.gd" id="2_bpua1"] [ext_resource type="Texture2D" uid="uid://cvorvnes6fiq7" path="res://material_maker/icons/icons.svg" id="3_hp3rp"] +[ext_resource type="Script" path="res://material_maker/panels/common/menu_bar_button_with_panel.gd" id="4_xknkb"] [ext_resource type="PackedScene" uid="uid://rflulhsuy3ax" path="res://material_maker/widgets/float_edit/float_edit.tscn" id="4_ymoey"] +[ext_resource type="Script" path="res://material_maker/widgets/pixels_edit/settings_panel.gd" id="5_t0t7h"] [sub_resource type="AtlasTexture" id="AtlasTexture_01pt6"] atlas = ExtResource("3_hp3rp") @@ -22,76 +24,81 @@ draw_area = true auto_rescale = true alpha = 1.0 -[node name="UI" type="HBoxContainer" parent="." index="0"] -layout_mode = 1 +[node name="PixelMenu" type="PanelContainer" parent="." index="0"] +layout_mode = 0 offset_right = 40.0 -offset_bottom = 40.0 +offset_bottom = 20.0 +theme_type_variation = &"MM_PanelMenuBar" -[node name="Colors" type="GridContainer" parent="UI" index="0"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_constants/h_separation = 0 -theme_override_constants/v_separation = 0 -columns = 2 - -[node name="Settings" type="VBoxContainer" parent="UI" index="1"] +[node name="UI" type="HBoxContainer" parent="PixelMenu" index="0"] layout_mode = 2 -[node name="SettingsButton" type="TextureButton" parent="UI/Settings" index="0"] +[node name="PixelSettings" type="Button" parent="PixelMenu/UI" index="0"] layout_mode = 2 -size_flags_horizontal = 0 -texture_normal = SubResource("AtlasTexture_01pt6") +theme_type_variation = &"MM_PanelMenuButton" +toggle_mode = true +icon = SubResource("AtlasTexture_01pt6") +script = ExtResource("4_xknkb") -[node name="SettingsPanel" type="PanelContainer" parent="UI/Settings" index="1"] +[node name="SettingsPanel" type="PanelContainer" parent="PixelMenu/UI/PixelSettings" index="0"] unique_name_in_owner = true -visible = false layout_mode = 2 - -[node name="GridContainer" type="GridContainer" parent="UI/Settings/SettingsPanel" index="0"] +offset_left = 10.0 +offset_top = 39.0 +offset_right = 126.0 +offset_bottom = 124.0 +theme_type_variation = &"MM_PanelMenuSubPanel" +script = ExtResource("5_t0t7h") + +[node name="Grid" type="GridContainer" parent="PixelMenu/UI/PixelSettings/SettingsPanel" index="0"] layout_mode = 2 columns = 2 -[node name="WidthLabel" type="Label" parent="UI/Settings/SettingsPanel/GridContainer" index="0"] +[node name="WidthLabel" type="Label" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="0"] layout_mode = 2 text = "Width:" -[node name="Width" parent="UI/Settings/SettingsPanel/GridContainer" index="1" instance=ExtResource("4_ymoey")] -unique_name_in_owner = true +[node name="Width" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="1" instance=ExtResource("4_ymoey")] layout_mode = 2 -text = "8" value = 8.0 min_value = 2.0 max_value = 32.0 step = 1.0 float_only = true -[node name="HeightLabel" type="Label" parent="UI/Settings/SettingsPanel/GridContainer" index="2"] +[node name="HeightLabel" type="Label" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="2"] layout_mode = 2 text = "Height:" -[node name="Height" parent="UI/Settings/SettingsPanel/GridContainer" index="3" instance=ExtResource("4_ymoey")] -unique_name_in_owner = true +[node name="Height" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="3" instance=ExtResource("4_ymoey")] layout_mode = 2 -text = "8" value = 8.0 min_value = 2.0 max_value = 32.0 step = 1.0 float_only = true -[node name="BPPLabel" type="Label" parent="UI/Settings/SettingsPanel/GridContainer" index="4"] +[node name="BPPLabel" type="Label" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="4"] layout_mode = 2 text = "BPP:" -[node name="BPP" parent="UI/Settings/SettingsPanel/GridContainer" index="5" instance=ExtResource("4_ymoey")] -unique_name_in_owner = true +[node name="BPP" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="5" instance=ExtResource("4_ymoey")] layout_mode = 2 -text = "1" value = 1.0 min_value = 1.0 max_value = 4.0 step = 1.0 float_only = true +[node name="VSeparator" type="VSeparator" parent="PixelMenu/UI" index="1"] +layout_mode = 2 +theme_override_constants/separation = 0 + +[node name="Colors" type="BoxContainer" parent="PixelMenu/UI" index="2"] +unique_name_in_owner = true +layout_mode = 2 + [connection signal="gui_input" from="." to="." method="_on_PixelsEditor_gui_input"] -[connection signal="pressed" from="UI/Settings/SettingsButton" to="." method="_on_settings_button_pressed"] +[connection signal="value_changed" from="PixelMenu/UI/PixelSettings/SettingsPanel/Grid/Width" to="PixelMenu/UI/PixelSettings/SettingsPanel" method="_on_width_value_changed"] +[connection signal="value_changed" from="PixelMenu/UI/PixelSettings/SettingsPanel/Grid/Height" to="PixelMenu/UI/PixelSettings/SettingsPanel" method="_on_height_value_changed"] +[connection signal="value_changed" from="PixelMenu/UI/PixelSettings/SettingsPanel/Grid/BPP" to="PixelMenu/UI/PixelSettings/SettingsPanel" method="_on_bpp_value_changed"] diff --git a/material_maker/widgets/pixels_edit/settings_panel.gd b/material_maker/widgets/pixels_edit/settings_panel.gd new file mode 100644 index 000000000..18626b47d --- /dev/null +++ b/material_maker/widgets/pixels_edit/settings_panel.gd @@ -0,0 +1,28 @@ +extends PanelContainer + +var pixel_editor: Control = null + + +func _open() -> void: + $Grid/Width.value = float(pixel_editor.pixels.size.x) + $Grid/Height.value = float(pixel_editor.pixels.size.y) + $Grid/BPP.value = float(pixel_editor.pixels.bpp) + + +func _on_width_value_changed(value: Variant) -> void: + update_from_values() + + +func _on_height_value_changed(value: Variant) -> void: + update_from_values() + + +func _on_bpp_value_changed(value: Variant) -> void: + update_from_values() + + +func update_from_values() -> void: + pixel_editor.pixels.set_size(int($Grid/Width.value), int($Grid/Height.value), int($Grid/BPP.value)) + pixel_editor.queue_redraw() + pixel_editor.update_color_buttons() + pixel_editor.value_changed.emit(pixel_editor.pixels) From 265af536f89a6202de71ab37ecd485965d69da83 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Tue, 20 Aug 2024 13:16:24 +0200 Subject: [PATCH 06/24] Improvements to Pixel Menu Bar --- .../widgets/pixels_edit/pixels_editor.tscn | 28 +++++++++---------- .../widgets/pixels_edit/settings_panel.gd | 11 +++++--- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/material_maker/widgets/pixels_edit/pixels_editor.tscn b/material_maker/widgets/pixels_edit/pixels_editor.tscn index 36c0e76c3..0c41bfbde 100644 --- a/material_maker/widgets/pixels_edit/pixels_editor.tscn +++ b/material_maker/widgets/pixels_edit/pixels_editor.tscn @@ -52,13 +52,16 @@ script = ExtResource("5_t0t7h") [node name="Grid" type="GridContainer" parent="PixelMenu/UI/PixelSettings/SettingsPanel" index="0"] layout_mode = 2 -columns = 2 -[node name="WidthLabel" type="Label" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="0"] +[node name="WidthHeightLabel" type="Label" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="0"] layout_mode = 2 -text = "Width:" +theme_type_variation = &"MM_PanelMenuSubPanelLabel" +text = "Width and Height" -[node name="Width" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="1" instance=ExtResource("4_ymoey")] +[node name="Box" type="BoxContainer" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="1"] +layout_mode = 2 + +[node name="Width" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid/Box" index="0" instance=ExtResource("4_ymoey")] layout_mode = 2 value = 8.0 min_value = 2.0 @@ -66,11 +69,7 @@ max_value = 32.0 step = 1.0 float_only = true -[node name="HeightLabel" type="Label" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="2"] -layout_mode = 2 -text = "Height:" - -[node name="Height" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="3" instance=ExtResource("4_ymoey")] +[node name="Height" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid/Box" index="1" instance=ExtResource("4_ymoey")] layout_mode = 2 value = 8.0 min_value = 2.0 @@ -78,11 +77,12 @@ max_value = 32.0 step = 1.0 float_only = true -[node name="BPPLabel" type="Label" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="4"] +[node name="BPPLabel" type="Label" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="2"] layout_mode = 2 -text = "BPP:" +theme_type_variation = &"MM_PanelMenuSubPanelLabel" +text = "Bits Per Pixel" -[node name="BPP" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="5" instance=ExtResource("4_ymoey")] +[node name="BPP" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="3" instance=ExtResource("4_ymoey")] layout_mode = 2 value = 1.0 min_value = 1.0 @@ -99,6 +99,6 @@ unique_name_in_owner = true layout_mode = 2 [connection signal="gui_input" from="." to="." method="_on_PixelsEditor_gui_input"] -[connection signal="value_changed" from="PixelMenu/UI/PixelSettings/SettingsPanel/Grid/Width" to="PixelMenu/UI/PixelSettings/SettingsPanel" method="_on_width_value_changed"] -[connection signal="value_changed" from="PixelMenu/UI/PixelSettings/SettingsPanel/Grid/Height" to="PixelMenu/UI/PixelSettings/SettingsPanel" method="_on_height_value_changed"] +[connection signal="value_changed" from="PixelMenu/UI/PixelSettings/SettingsPanel/Grid/Box/Width" to="PixelMenu/UI/PixelSettings/SettingsPanel" method="_on_width_value_changed"] +[connection signal="value_changed" from="PixelMenu/UI/PixelSettings/SettingsPanel/Grid/Box/Height" to="PixelMenu/UI/PixelSettings/SettingsPanel" method="_on_height_value_changed"] [connection signal="value_changed" from="PixelMenu/UI/PixelSettings/SettingsPanel/Grid/BPP" to="PixelMenu/UI/PixelSettings/SettingsPanel" method="_on_bpp_value_changed"] diff --git a/material_maker/widgets/pixels_edit/settings_panel.gd b/material_maker/widgets/pixels_edit/settings_panel.gd index 18626b47d..0481ec10c 100644 --- a/material_maker/widgets/pixels_edit/settings_panel.gd +++ b/material_maker/widgets/pixels_edit/settings_panel.gd @@ -2,11 +2,14 @@ extends PanelContainer var pixel_editor: Control = null +@onready var width := $Grid/Box/Width +@onready var height := $Grid/Box/Height +@onready var bpp := $Grid/BPP func _open() -> void: - $Grid/Width.value = float(pixel_editor.pixels.size.x) - $Grid/Height.value = float(pixel_editor.pixels.size.y) - $Grid/BPP.value = float(pixel_editor.pixels.bpp) + width.value = float(pixel_editor.pixels.size.x) + height.value = float(pixel_editor.pixels.size.y) + bpp.value = float(pixel_editor.pixels.bpp) func _on_width_value_changed(value: Variant) -> void: @@ -22,7 +25,7 @@ func _on_bpp_value_changed(value: Variant) -> void: func update_from_values() -> void: - pixel_editor.pixels.set_size(int($Grid/Width.value), int($Grid/Height.value), int($Grid/BPP.value)) + pixel_editor.pixels.set_size(int(width.value), int(height.value), int(bpp.value)) pixel_editor.queue_redraw() pixel_editor.update_color_buttons() pixel_editor.value_changed.emit(pixel_editor.pixels) From 0c2954eb7a36978a41ab778aa1ed08942c7a6843 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Tue, 20 Aug 2024 13:48:13 +0200 Subject: [PATCH 07/24] Implement new splines menu --- .../widgets/splines_edit/splines_editor.gd | 32 ++++- .../widgets/splines_edit/splines_editor.tscn | 135 ++++++++++-------- 2 files changed, 103 insertions(+), 64 deletions(-) diff --git a/material_maker/widgets/splines_edit/splines_editor.gd b/material_maker/widgets/splines_edit/splines_editor.gd index b18c81401..558d2bf48 100644 --- a/material_maker/widgets/splines_edit/splines_editor.gd +++ b/material_maker/widgets/splines_edit/splines_editor.gd @@ -9,13 +9,25 @@ var selected_control_points : Array[int] = [] signal value_changed(value : MMSplines) signal unhandled_event(event : InputEvent) +@onready var menu_bar := $SplinesMenu + +enum Modes {DRAW, SELECT} +var mode := Modes.DRAW + +var progressive := false + func _ready(): + %DrawMode.button_group.pressed.connect(func(button):mode = Modes.DRAW if button.name == "DrawMode" else Modes.SELECT) + if get_parent().has_method("add_menu_bar"): + menu_bar.get_parent().remove_child(menu_bar) + get_parent().add_menu_bar(menu_bar, self) + super._ready() update_controls() func _draw(): - if %Progressive.button_pressed and selected_control_points.size() > 1: + if progressive and selected_control_points.size() > 1: for c in control_points.get_children(): if c.is_selected: var index = 1+selected_control_points.find(c.get_meta("point")) @@ -55,17 +67,20 @@ func update_controls() -> void: i += 1 emit_signal("value_changed", splines) + func update_control_positions() -> void: for control_point in control_points.get_children(): var pi : int = control_point.get_meta("point") control_point.setpos(transform_point(splines.get_point_by_index(pi).position)) + func is_editing() -> bool: for c in control_points.get_children(): if c.is_moving: return true return false + func _on_ControlPoint_moved(index): var control_point : Control = control_points.get_child(index) var spline_point_index = control_point.get_meta("point") @@ -81,6 +96,7 @@ func _on_ControlPoint_moved(index): queue_redraw() emit_signal("value_changed", splines) + func _on_ControlPoint_selected(index : int, is_control_pressed : bool, is_shift_pressed : bool): var cp = control_points.get_child(index) if is_control_pressed: @@ -127,7 +143,7 @@ func _on_reverse_selection_pressed(): queue_redraw() func _on_width_value_changed(value): - splines.set_points_width(get_selection(), value, %Progressive.button_pressed) + splines.set_points_width(get_selection(), value, progressive) emit_signal("value_changed", splines) func _on_offset_value_changed(value): @@ -207,15 +223,22 @@ func handle_draw_mode(event : InputEvent) -> bool: return true return false + +func _on_progressive_toggled(toggled_on: bool) -> void: + progressive = toggled_on + queue_redraw() + + func handle_select_mode(event : InputEvent) -> bool: return false + func _on_SplinesEditor_gui_input(event : InputEvent): - if %DrawMode.button_pressed: + if mode == Modes.DRAW: if handle_draw_mode(event): queue_redraw() return - elif %DrawMode.button_pressed: + elif mode == Modes.SELECT: if handle_select_mode(event): queue_redraw() return @@ -256,4 +279,3 @@ func setup_control(g : MMGenBase, param_defs : Array) -> void: func control_update_parameter(value : MMSplines): generator.set_parameter(parameter_name, splines.serialize()) - diff --git a/material_maker/widgets/splines_edit/splines_editor.tscn b/material_maker/widgets/splines_edit/splines_editor.tscn index 40a14941c..80fbf033e 100644 --- a/material_maker/widgets/splines_edit/splines_editor.tscn +++ b/material_maker/widgets/splines_edit/splines_editor.tscn @@ -1,18 +1,17 @@ -[gd_scene load_steps=10 format=3 uid="uid://b08bcbwwosrrk"] +[gd_scene load_steps=13 format=3 uid="uid://b08bcbwwosrrk"] [ext_resource type="PackedScene" uid="uid://yeaj0tj7b08i" path="res://material_maker/widgets/curve_edit/curve_view.tscn" id="1_a4o1g"] [ext_resource type="Script" path="res://material_maker/widgets/splines_edit/splines_editor.gd" id="2_tepru"] [ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="3_lfcdr"] [ext_resource type="PackedScene" uid="uid://rflulhsuy3ax" path="res://material_maker/widgets/float_edit/float_edit.tscn" id="4_2po4g"] - -[sub_resource type="ButtonGroup" id="ButtonGroup_66qgq"] +[ext_resource type="Texture2D" uid="uid://d044i7mtagf51" path="res://material_maker/theme/dark/sb_vscrollbar_grabber_highlight_texture.png" id="5_o8gcm"] +[ext_resource type="Texture2D" uid="uid://r18qvh06tu10" path="res://material_maker/theme/dark/vslider_grabber.png" id="6_bja86"] +[ext_resource type="Texture2D" uid="uid://lgj5c6kuqwit" path="res://material_maker/theme/dark/windowdialog_close.png" id="6_vsfaf"] +[ext_resource type="Texture2D" uid="uid://2dheuv4p0d2d" path="res://material_maker/theme/dark/tabcontainer_increment_highlight.png" id="7_vr6t5"] +[ext_resource type="Texture2D" uid="uid://dysx1qjceb1od" path="res://material_maker/theme/dark/optionbutton_arrow.png" id="8_olqcj"] [sub_resource type="ButtonGroup" id="ButtonGroup_w4n15"] -[sub_resource type="AtlasTexture" id="AtlasTexture_t30sn"] -atlas = ExtResource("3_lfcdr") -region = Rect2(192, 128, 16, 16) - [sub_resource type="AtlasTexture" id="AtlasTexture_b45mn"] atlas = ExtResource("3_lfcdr") region = Rect2(192, 96, 16, 16) @@ -40,94 +39,112 @@ anchors_preset = 0 offset_right = 40.0 offset_bottom = 40.0 -[node name="Buttons" type="PanelContainer" parent="." index="1"] -layout_mode = 1 -anchors_preset = -1 -offset_left = 2.0 -offset_top = 2.0 -offset_right = 86.0 -offset_bottom = 26.0 +[node name="SplinesMenu" type="PanelContainer" parent="." index="1"] +layout_mode = 0 +offset_right = 36.0 +offset_bottom = 28.0 +theme_type_variation = &"MM_PanelMenuBar" -[node name="HSizer" type="HBoxContainer" parent="Buttons" index="0"] +[node name="HBox" type="HBoxContainer" parent="SplinesMenu" index="0"] layout_mode = 2 -[node name="DrawMode" type="Button" parent="Buttons/HSizer" index="0"] +[node name="DrawMode" type="Button" parent="SplinesMenu/HBox" index="0"] unique_name_in_owner = true +custom_minimum_size = Vector2(25, 0) layout_mode = 2 +tooltip_text = "Draw" +theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true -button_group = SubResource("ButtonGroup_66qgq") -text = "D" +button_pressed = true +button_group = SubResource("ButtonGroup_w4n15") +icon = ExtResource("5_o8gcm") +icon_alignment = 1 -[node name="SelectMode" type="Button" parent="Buttons/HSizer" index="1"] +[node name="SelectMode" type="Button" parent="SplinesMenu/HBox" index="1"] unique_name_in_owner = true +custom_minimum_size = Vector2(25, 0) layout_mode = 2 +tooltip_text = "Select" +theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true button_group = SubResource("ButtonGroup_w4n15") -text = "S" +icon = ExtResource("6_bja86") +icon_alignment = 1 -[node name="Spacer1" type="Control" parent="Buttons/HSizer" index="2"] +[node name="VSeparator" type="VSeparator" parent="SplinesMenu/HBox" index="2"] +custom_minimum_size = Vector2(0, 15) layout_mode = 2 +size_flags_vertical = 4 +theme_override_constants/separation = 0 -[node name="DeleteControlPoints3" type="Button" parent="Buttons/HSizer" index="3"] +[node name="DeleteControlPoints" type="Button" parent="SplinesMenu/HBox" index="3"] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 -icon = SubResource("AtlasTexture_t30sn") +tooltip_text = "Delete Point" +theme_type_variation = &"MM_PanelMenuButton" +icon = ExtResource("6_vsfaf") +icon_alignment = 1 -[node name="Spacer2" type="Control" parent="Buttons/HSizer" index="4"] -layout_mode = 2 - -[node name="UnlinkControlPoints" type="Button" parent="Buttons/HSizer" index="5"] +[node name="UnlinkControlPoints" type="Button" parent="SplinesMenu/HBox" index="4"] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 +tooltip_text = "Unlink Points" +theme_type_variation = &"MM_PanelMenuButton" icon = SubResource("AtlasTexture_b45mn") +icon_alignment = 1 -[node name="LinkControlPoints" type="Button" parent="Buttons/HSizer" index="6"] +[node name="LinkControlPoints" type="Button" parent="SplinesMenu/HBox" index="5"] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 +tooltip_text = "Link Points" +theme_type_variation = &"MM_PanelMenuButton" icon = SubResource("AtlasTexture_3lo2j") +icon_alignment = 1 -[node name="Editors" type="PanelContainer" parent="." index="2"] -layout_mode = 1 -anchors_preset = -1 -anchor_top = 1.0 -anchor_bottom = 1.0 -offset_left = 2.0 -offset_top = -31.0 -offset_right = 67.0 -offset_bottom = -2.0 -grow_vertical = 0 - -[node name="HSizer" type="HBoxContainer" parent="Editors" index="0"] +[node name="VSeparator2" type="VSeparator" parent="SplinesMenu/HBox" index="6"] +custom_minimum_size = Vector2(0, 15) layout_mode = 2 +size_flags_vertical = 4 +theme_override_constants/separation = 0 -[node name="Progressive" type="Button" parent="Editors/HSizer" index="0"] -unique_name_in_owner = true +[node name="Progressive" type="Button" parent="SplinesMenu/HBox" index="7"] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 +tooltip_text = "Progressive" toggle_mode = true -text = ">" +icon = ExtResource("7_vr6t5") +icon_alignment = 1 -[node name="ReverseSelection" type="Button" parent="Editors/HSizer" index="1"] +[node name="ReverseSelection" type="Button" parent="SplinesMenu/HBox" index="8"] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 -text = "!" +tooltip_text = "Reverse Order" +icon = ExtResource("8_olqcj") +icon_alignment = 1 -[node name="Spacer1" type="Control" parent="Editors/HSizer" index="2"] +[node name="Spacer1" type="Control" parent="SplinesMenu/HBox" index="9"] layout_mode = 2 -[node name="WidthLabel" type="Label" parent="Editors/HSizer" index="3"] +[node name="WidthLabel" type="Label" parent="SplinesMenu/HBox" index="10"] layout_mode = 2 +theme_type_variation = &"MM_NodePropertyLabel" text = "Width:" -[node name="Width" parent="Editors/HSizer" index="4" instance=ExtResource("4_2po4g")] +[node name="Width" parent="SplinesMenu/HBox" index="11" instance=ExtResource("4_2po4g")] layout_mode = 2 value = 0.05 max_value = 0.2 float_only = true -[node name="Spacer2" type="Control" parent="Editors/HSizer" index="5"] +[node name="Spacer2" type="Control" parent="SplinesMenu/HBox" index="12"] layout_mode = 2 -[node name="OffsetLabel" type="Label" parent="Editors/HSizer" index="6"] +[node name="OffsetLabel" type="Label" parent="SplinesMenu/HBox" index="13"] layout_mode = 2 -text = "U:" +theme_type_variation = &"MM_NodePropertyLabel" +text = "Offset:" -[node name="Offset" parent="Editors/HSizer" index="7" instance=ExtResource("4_2po4g")] +[node name="Offset" parent="SplinesMenu/HBox" index="14" instance=ExtResource("4_2po4g")] layout_mode = 2 value = 0.0 max_value = 10.0 @@ -135,10 +152,10 @@ step = 0.01 float_only = true [connection signal="gui_input" from="." to="." method="_on_SplinesEditor_gui_input"] -[connection signal="pressed" from="Buttons/HSizer/DeleteControlPoints3" to="." method="_on_delete_control_points_pressed"] -[connection signal="pressed" from="Buttons/HSizer/UnlinkControlPoints" to="." method="_on_unlink_control_points_pressed"] -[connection signal="pressed" from="Buttons/HSizer/LinkControlPoints" to="." method="_on_link_control_points_pressed"] -[connection signal="pressed" from="Editors/HSizer/Progressive" to="." method="queue_redraw"] -[connection signal="pressed" from="Editors/HSizer/ReverseSelection" to="." method="_on_reverse_selection_pressed"] -[connection signal="value_changed" from="Editors/HSizer/Width" to="." method="_on_width_value_changed"] -[connection signal="value_changed" from="Editors/HSizer/Offset" to="." method="_on_offset_value_changed"] +[connection signal="pressed" from="SplinesMenu/HBox/DeleteControlPoints" to="." method="_on_delete_control_points_pressed"] +[connection signal="pressed" from="SplinesMenu/HBox/UnlinkControlPoints" to="." method="_on_unlink_control_points_pressed"] +[connection signal="pressed" from="SplinesMenu/HBox/LinkControlPoints" to="." method="_on_link_control_points_pressed"] +[connection signal="toggled" from="SplinesMenu/HBox/Progressive" to="." method="_on_progressive_toggled"] +[connection signal="pressed" from="SplinesMenu/HBox/ReverseSelection" to="." method="_on_reverse_selection_pressed"] +[connection signal="value_changed" from="SplinesMenu/HBox/Width" to="." method="_on_width_value_changed"] +[connection signal="value_changed" from="SplinesMenu/HBox/Offset" to="." method="_on_offset_value_changed"] From 72be5d87fd45d0d8364eb396c4ce69c2d6c5b0fe Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Tue, 20 Aug 2024 14:04:17 +0200 Subject: [PATCH 08/24] Small fixes --- material_maker/panels/preview_2d/export_menu.gd | 3 ++- material_maker/panels/preview_2d/preview_2d.gd | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/material_maker/panels/preview_2d/export_menu.gd b/material_maker/panels/preview_2d/export_menu.gd index 9cf278bb3..314e17186 100644 --- a/material_maker/panels/preview_2d/export_menu.gd +++ b/material_maker/panels/preview_2d/export_menu.gd @@ -102,8 +102,9 @@ func _on_image_pressed() -> void: if path: owner.export_as_image_file(path, 64 << %Resolution.selected) - update() export_notification("Exported to " + path) + await get_tree().create_timer(0.5).timeout + update() func _on_animation_pressed() -> void: diff --git a/material_maker/panels/preview_2d/preview_2d.gd b/material_maker/panels/preview_2d/preview_2d.gd index f1f0164ce..7687517e1 100644 --- a/material_maker/panels/preview_2d/preview_2d.gd +++ b/material_maker/panels/preview_2d/preview_2d.gd @@ -195,7 +195,7 @@ func export_as_image_file(file_name : String, image_size : int) -> void: create_image("save_to_file", [ file_name, is_greyscale ], image_size) last_export_filename = file_name last_export_size = image_size - $ContextMenu.set_item_disabled($ContextMenu.get_item_index(MENU_EXPORT_AGAIN), false) + func export_to_reference(resolution_id : int): var texture : ImageTexture = ImageTexture.new() From 52c7419471b53930c6ab0281d0c5692ede2c2e69 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Thu, 22 Aug 2024 11:47:46 +0200 Subject: [PATCH 09/24] Implement new Lattice Menu Bar --- .../widgets/lattice_edit/lattice_editor.gd | 14 +++++++-- .../widgets/lattice_edit/lattice_editor.tscn | 30 ++++++++++++++----- 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/material_maker/widgets/lattice_edit/lattice_editor.gd b/material_maker/widgets/lattice_edit/lattice_editor.gd index 95bcd7efd..c786c7a4f 100644 --- a/material_maker/widgets/lattice_edit/lattice_editor.gd +++ b/material_maker/widgets/lattice_edit/lattice_editor.gd @@ -2,7 +2,8 @@ extends "res://material_maker/widgets/lattice_edit/lattice_view.gd" @onready var control_points : Control = $ControlPoints - +@onready var size_edit: Control = %Size +@onready var menu_bar: Control = $LatticeMenu signal value_changed(value : MMLattice) signal unhandled_event(event : InputEvent) @@ -10,14 +11,21 @@ signal unhandled_event(event : InputEvent) func _ready(): super._ready() + + if get_parent().has_method("add_menu_bar"): + menu_bar.get_parent().remove_child(menu_bar) + get_parent().add_menu_bar(menu_bar, self) + update_controls() + func set_lattice(p : MMLattice) -> void: lattice = p - $Size.value = lattice.size.x + size_edit.value = lattice.size.x queue_redraw() update_controls() + func update_controls() -> void: for c in control_points.get_children(): c.queue_free() @@ -30,12 +38,14 @@ func update_controls() -> void: control_point.connect("moved", Callable(self, "_on_ControlPoint_moved")) emit_signal("value_changed", lattice) + func is_editing() -> bool: for c in control_points.get_children(): if c.is_moving: return true return false + func _on_size_value_changed(value): if value != lattice.size.x: lattice.resize(value, value) diff --git a/material_maker/widgets/lattice_edit/lattice_editor.tscn b/material_maker/widgets/lattice_edit/lattice_editor.tscn index 7d8adbd39..bc3295d9c 100644 --- a/material_maker/widgets/lattice_edit/lattice_editor.tscn +++ b/material_maker/widgets/lattice_edit/lattice_editor.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=3 format=3 uid="uid://dicq2cut03ved"] +[gd_scene load_steps=4 format=3 uid="uid://dicq2cut03ved"] [ext_resource type="PackedScene" uid="uid://yeaj0tj7b08i" path="res://material_maker/widgets/curve_edit/curve_view.tscn" id="1_emrdx"] [ext_resource type="Script" path="res://material_maker/widgets/lattice_edit/lattice_editor.gd" id="2_aqo66"] +[ext_resource type="PackedScene" uid="uid://rflulhsuy3ax" path="res://material_maker/widgets/float_edit/float_edit.tscn" id="3_xfsm8"] [node name="LatticeEditor" instance=ExtResource("1_emrdx")] offset_left = 0.0 @@ -23,13 +24,28 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -[node name="Size" type="SpinBox" parent="." index="1"] -layout_mode = 1 -offset_right = 83.0625 -offset_bottom = 31.0 +[node name="LatticeMenu" type="PanelContainer" parent="." index="1"] +layout_mode = 0 +offset_right = 92.0 +offset_bottom = 27.0 +theme_type_variation = &"MM_PanelMenuBar" + +[node name="HBox" type="HBoxContainer" parent="LatticeMenu" index="0"] +layout_mode = 2 + +[node name="Label" type="Label" parent="LatticeMenu/HBox" index="0"] +layout_mode = 2 +theme_type_variation = &"MM_NodePropertyLabel" +text = "Slices:" + +[node name="Size" parent="LatticeMenu/HBox" index="1" instance=ExtResource("3_xfsm8")] +unique_name_in_owner = true +layout_mode = 2 +value = 1.0 min_value = 1.0 max_value = 8.0 -value = 1.0 +step = 1.0 +float_only = true [connection signal="gui_input" from="." to="." method="_on_LatticeEditor_gui_input"] -[connection signal="value_changed" from="Size" to="." method="_on_size_value_changed"] +[connection signal="value_changed" from="LatticeMenu/HBox/Size" to="." method="_on_size_value_changed"] From 0b6a619617d3cbcbb6efa3092ab8b28ce5e151a3 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Thu, 22 Aug 2024 12:23:32 +0200 Subject: [PATCH 10/24] Improve Theming of MenuBar (and VSeparators) --- material_maker/theme/modern.tres | 32 +++++++++++++++---- .../widgets/pixels_edit/pixels_editor.tscn | 4 ++- .../widgets/splines_edit/splines_editor.tscn | 26 +++++---------- 3 files changed, 37 insertions(+), 25 deletions(-) diff --git a/material_maker/theme/modern.tres b/material_maker/theme/modern.tres index 065b8a76b..eb282110d 100644 --- a/material_maker/theme/modern.tres +++ b/material_maker/theme/modern.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=62 format=3 uid="uid://b628lwfk6ig2c"] +[gd_resource type="Theme" load_steps=63 format=3 uid="uid://b628lwfk6ig2c"] [ext_resource type="FontFile" uid="uid://dgkwr5jydtk6p" path="res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf" id="1_hqoqt"] [ext_resource type="FontFile" uid="uid://btybkvkb8rtol" path="res://material_maker/fonts/DroidSansFallback.ttf" id="2_1xp11"] @@ -357,16 +357,33 @@ content_margin_right = 4.0 content_margin_bottom = 4.0 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_pq4ta"] -content_margin_left = 2.0 -content_margin_top = 2.0 -content_margin_right = 2.0 -content_margin_bottom = 2.0 -bg_color = Color(0.123578, 0.129892, 0.142519, 1) +content_margin_left = 4.0 +content_margin_top = 4.0 +content_margin_right = 4.0 +content_margin_bottom = 4.0 +bg_color = Color(0.0666667, 0.0666667, 0.0784314, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.190762, 0.190762, 0.190762, 1) corner_radius_top_left = 3 corner_radius_top_right = 3 corner_radius_bottom_right = 3 corner_radius_bottom_left = 3 +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_eij2n"] +bg_color = Color(0.187176, 0.187176, 0.187176, 1) +border_width_top = 3 +border_width_bottom = 3 +border_color = Color(0.19, 0.19, 0.19, 0) +corner_radius_top_left = 1 +corner_radius_top_right = 1 +corner_radius_bottom_right = 1 +corner_radius_bottom_left = 1 +expand_margin_left = 1.0 +expand_margin_right = 1.0 + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qhlqs"] content_margin_left = 4.0 content_margin_top = 4.0 @@ -644,6 +661,9 @@ MM_PanelMenuBackground/styles/panel = SubResource("StyleBoxEmpty_b7fkf") MM_PanelMenuBar/base_type = &"PanelContainer" MM_PanelMenuBar/styles/panel = SubResource("StyleBoxFlat_pq4ta") MM_PanelMenuButton/base_type = &"Button" +MM_PanelMenuSeparator/base_type = &"VSeparator" +MM_PanelMenuSeparator/constants/separation = 2 +MM_PanelMenuSeparator/styles/separator = SubResource("StyleBoxFlat_eij2n") MM_PanelMenuSubPanel/base_type = &"PanelContainer" MM_PanelMenuSubPanel/styles/panel = SubResource("StyleBoxFlat_qhlqs") MM_PanelMenuSubPanelLabel/base_type = &"Label" diff --git a/material_maker/widgets/pixels_edit/pixels_editor.tscn b/material_maker/widgets/pixels_edit/pixels_editor.tscn index 0c41bfbde..0eb472162 100644 --- a/material_maker/widgets/pixels_edit/pixels_editor.tscn +++ b/material_maker/widgets/pixels_edit/pixels_editor.tscn @@ -34,10 +34,12 @@ theme_type_variation = &"MM_PanelMenuBar" layout_mode = 2 [node name="PixelSettings" type="Button" parent="PixelMenu/UI" index="0"] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true icon = SubResource("AtlasTexture_01pt6") +icon_alignment = 1 script = ExtResource("4_xknkb") [node name="SettingsPanel" type="PanelContainer" parent="PixelMenu/UI/PixelSettings" index="0"] @@ -92,7 +94,7 @@ float_only = true [node name="VSeparator" type="VSeparator" parent="PixelMenu/UI" index="1"] layout_mode = 2 -theme_override_constants/separation = 0 +theme_type_variation = &"MM_PanelMenuSeparator" [node name="Colors" type="BoxContainer" parent="PixelMenu/UI" index="2"] unique_name_in_owner = true diff --git a/material_maker/widgets/splines_edit/splines_editor.tscn b/material_maker/widgets/splines_edit/splines_editor.tscn index 80fbf033e..4636bd3ac 100644 --- a/material_maker/widgets/splines_edit/splines_editor.tscn +++ b/material_maker/widgets/splines_edit/splines_editor.tscn @@ -41,8 +41,8 @@ offset_bottom = 40.0 [node name="SplinesMenu" type="PanelContainer" parent="." index="1"] layout_mode = 0 -offset_right = 36.0 -offset_bottom = 28.0 +offset_right = 422.0 +offset_bottom = 33.0 theme_type_variation = &"MM_PanelMenuBar" [node name="HBox" type="HBoxContainer" parent="SplinesMenu" index="0"] @@ -72,10 +72,8 @@ icon = ExtResource("6_bja86") icon_alignment = 1 [node name="VSeparator" type="VSeparator" parent="SplinesMenu/HBox" index="2"] -custom_minimum_size = Vector2(0, 15) layout_mode = 2 -size_flags_vertical = 4 -theme_override_constants/separation = 0 +theme_type_variation = &"MM_PanelMenuSeparator" [node name="DeleteControlPoints" type="Button" parent="SplinesMenu/HBox" index="3"] custom_minimum_size = Vector2(25, 25) @@ -102,10 +100,8 @@ icon = SubResource("AtlasTexture_3lo2j") icon_alignment = 1 [node name="VSeparator2" type="VSeparator" parent="SplinesMenu/HBox" index="6"] -custom_minimum_size = Vector2(0, 15) layout_mode = 2 -size_flags_vertical = 4 -theme_override_constants/separation = 0 +theme_type_variation = &"MM_PanelMenuSeparator" [node name="Progressive" type="Button" parent="SplinesMenu/HBox" index="7"] custom_minimum_size = Vector2(25, 25) @@ -122,29 +118,23 @@ tooltip_text = "Reverse Order" icon = ExtResource("8_olqcj") icon_alignment = 1 -[node name="Spacer1" type="Control" parent="SplinesMenu/HBox" index="9"] -layout_mode = 2 - -[node name="WidthLabel" type="Label" parent="SplinesMenu/HBox" index="10"] +[node name="WidthLabel" type="Label" parent="SplinesMenu/HBox" index="9"] layout_mode = 2 theme_type_variation = &"MM_NodePropertyLabel" text = "Width:" -[node name="Width" parent="SplinesMenu/HBox" index="11" instance=ExtResource("4_2po4g")] +[node name="Width" parent="SplinesMenu/HBox" index="10" instance=ExtResource("4_2po4g")] layout_mode = 2 value = 0.05 max_value = 0.2 float_only = true -[node name="Spacer2" type="Control" parent="SplinesMenu/HBox" index="12"] -layout_mode = 2 - -[node name="OffsetLabel" type="Label" parent="SplinesMenu/HBox" index="13"] +[node name="OffsetLabel" type="Label" parent="SplinesMenu/HBox" index="11"] layout_mode = 2 theme_type_variation = &"MM_NodePropertyLabel" text = "Offset:" -[node name="Offset" parent="SplinesMenu/HBox" index="14" instance=ExtResource("4_2po4g")] +[node name="Offset" parent="SplinesMenu/HBox" index="12" instance=ExtResource("4_2po4g")] layout_mode = 2 value = 0.0 max_value = 10.0 From 1a634f78dcc66164fffb2c00de52dfe538b2d0fe Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Thu, 22 Aug 2024 13:07:10 +0200 Subject: [PATCH 11/24] Try to improve theme once more... --- .../panels/preview_2d/preview_2d_panel.gd | 2 +- .../panels/preview_2d/preview_2d_panel.tscn | 8 +++- material_maker/theme/modern.tres | 38 +++++++++++-------- 3 files changed, 31 insertions(+), 17 deletions(-) diff --git a/material_maker/panels/preview_2d/preview_2d_panel.gd b/material_maker/panels/preview_2d/preview_2d_panel.gd index bb50c1f49..5c190b104 100644 --- a/material_maker/panels/preview_2d/preview_2d_panel.gd +++ b/material_maker/panels/preview_2d/preview_2d_panel.gd @@ -11,7 +11,7 @@ extends "res://material_maker/panels/preview_2d/preview_2d.gd" var center : Vector2 = Vector2(0.5, 0.5) var view_scale : float = 1.2 -var view_mode : int = 0 +var view_mode : int = 2 var current_postprocess_option = 0 const POSTPROCESS_OPTIONS : Array = [ diff --git a/material_maker/panels/preview_2d/preview_2d_panel.tscn b/material_maker/panels/preview_2d/preview_2d_panel.tscn index 4af6ea688..dbd19e021 100644 --- a/material_maker/panels/preview_2d/preview_2d_panel.tscn +++ b/material_maker/panels/preview_2d/preview_2d_panel.tscn @@ -377,7 +377,7 @@ clip_contents = false layout_mode = 1 anchors_preset = 10 anchor_right = 1.0 -offset_bottom = 30.0 +offset_bottom = 28.0 grow_horizontal = 2 theme_type_variation = &"MM_PanelMenuBackground" horizontal_scroll_mode = 3 @@ -394,15 +394,18 @@ theme_type_variation = &"MM_PanelMenuBar" layout_mode = 2 [node name="ViewMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="0"] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 tooltip_text = "View" theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true button_mask = 3 +text = "View" icon = ExtResource("11_l5q6b") script = ExtResource("12_nrhap") [node name="ViewMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu" index="0"] +visible = false layout_mode = 0 offset_left = -53.0 offset_top = 34.0 @@ -496,15 +499,18 @@ custom_minimum_size = Vector2(25, 0) layout_mode = 2 [node name="ExportMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="1"] +custom_minimum_size = Vector2(25, 25) layout_mode = 2 tooltip_text = "Export" theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true button_mask = 3 +text = "Export" icon = ExtResource("12_wun6p") script = ExtResource("12_nrhap") [node name="ExportMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu" index="0"] +visible = false layout_mode = 0 offset_left = -74.0 offset_top = 36.0 diff --git a/material_maker/theme/modern.tres b/material_maker/theme/modern.tres index eb282110d..bfa940986 100644 --- a/material_maker/theme/modern.tres +++ b/material_maker/theme/modern.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=63 format=3 uid="uid://b628lwfk6ig2c"] +[gd_resource type="Theme" load_steps=64 format=3 uid="uid://b628lwfk6ig2c"] [ext_resource type="FontFile" uid="uid://dgkwr5jydtk6p" path="res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf" id="1_hqoqt"] [ext_resource type="FontFile" uid="uid://btybkvkb8rtol" path="res://material_maker/fonts/DroidSansFallback.ttf" id="2_1xp11"] @@ -351,26 +351,32 @@ corner_radius_bottom_right = 5 corner_radius_bottom_left = 5 [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_b7fkf"] -content_margin_left = 4.0 -content_margin_top = 4.0 -content_margin_right = 4.0 -content_margin_bottom = 4.0 +content_margin_left = 6.0 +content_margin_top = 6.0 +content_margin_right = 6.0 +content_margin_bottom = 6.0 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_pq4ta"] -content_margin_left = 4.0 -content_margin_top = 4.0 -content_margin_right = 4.0 -content_margin_bottom = 4.0 -bg_color = Color(0.0666667, 0.0666667, 0.0784314, 1) +content_margin_left = 6.0 +content_margin_top = 6.0 +content_margin_right = 6.0 +content_margin_bottom = 6.0 +bg_color = Color(0.081, 0.09145, 0.1, 1) border_width_left = 1 border_width_top = 1 border_width_right = 1 border_width_bottom = 1 -border_color = Color(0.190762, 0.190762, 0.190762, 1) -corner_radius_top_left = 3 -corner_radius_top_right = 3 -corner_radius_bottom_right = 3 -corner_radius_bottom_left = 3 +border_color = Color(0.442344, 0.440199, 0.421573, 1) +border_blend = true +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 +anti_aliasing = false + +[sub_resource type="FontVariation" id="FontVariation_h5fjs"] +base_font = ExtResource("1_hqoqt") +variation_embolden = 0.37 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_eij2n"] bg_color = Color(0.187176, 0.187176, 0.187176, 1) @@ -661,6 +667,8 @@ MM_PanelMenuBackground/styles/panel = SubResource("StyleBoxEmpty_b7fkf") MM_PanelMenuBar/base_type = &"PanelContainer" MM_PanelMenuBar/styles/panel = SubResource("StyleBoxFlat_pq4ta") MM_PanelMenuButton/base_type = &"Button" +MM_PanelMenuButton/font_sizes/font_size = 14 +MM_PanelMenuButton/fonts/font = SubResource("FontVariation_h5fjs") MM_PanelMenuSeparator/base_type = &"VSeparator" MM_PanelMenuSeparator/constants/separation = 2 MM_PanelMenuSeparator/styles/separator = SubResource("StyleBoxFlat_eij2n") From 3ced8af6a149b7a2d3dfb547905750700b8ce93b Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Thu, 22 Aug 2024 17:03:52 +0200 Subject: [PATCH 12/24] Improve Export menu --- .../panels/preview_2d/export_menu.gd | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/material_maker/panels/preview_2d/export_menu.gd b/material_maker/panels/preview_2d/export_menu.gd index 314e17186..ad876f045 100644 --- a/material_maker/panels/preview_2d/export_menu.gd +++ b/material_maker/panels/preview_2d/export_menu.gd @@ -33,11 +33,14 @@ func _open() -> void: export_notification("") + func update() -> void: if not is_visible_in_tree(): return - %ExportFileResultLabel.text = interpret_file_name(%ExportFile.text) + var file_result := interpret_file_name(%ExportFile.text) + %ExportFileResultLabel.text = file_result + %ExportFileResultLabel.visible = not %ExportFile.text.is_empty() and %ExportFile.text.count("$") != file_result.count("$") func _on_export_folder_text_changed(new_text: String) -> void: @@ -48,10 +51,12 @@ func _on_export_folder_button_pressed() -> void: var file_dialog := preload("res://material_maker/windows/file_dialog/file_dialog.tscn").instantiate() file_dialog.access = FileDialog.ACCESS_FILESYSTEM file_dialog.file_mode = FileDialog.FILE_MODE_OPEN_DIR - file_dialog.add_filter("*.png; PNG image file") - file_dialog.add_filter("*.exr; EXR image file") - if mm_globals.config.has_section_key("path", "save_preview"): - file_dialog.current_dir = mm_globals.config.get_value("path", "save_preview") + #file_dialog.add_filter("*.png; PNG image file") + #file_dialog.add_filter("*.exr; EXR image file") + + if %ExportFolder.text: + file_dialog.current_dir = mm_globals.config.get_value("path", %ExportFolder.text) + var files = await file_dialog.select_files() if files.size() == 1: @@ -81,9 +86,14 @@ func _on_image_pressed() -> void: if path.is_empty(): var file_dialog := preload("res://material_maker/windows/file_dialog/file_dialog.tscn").instantiate() file_dialog.access = FileDialog.ACCESS_FILESYSTEM - file_dialog.file_mode = FileDialog.FILE_MODE_OPEN_DIR - file_dialog.add_filter("*.png; PNG image file") - file_dialog.add_filter("*.exr; EXR image file") + + if not file_name.is_empty(): + file_dialog.file_mode = FileDialog.FILE_MODE_OPEN_DIR + else: + file_dialog.file_mode = FileDialog.FILE_MODE_SAVE_FILE + file_dialog.add_filter("*.png; PNG image file") + file_dialog.add_filter("*.exr; EXR image file") + if mm_globals.config.has_section_key("path", "save_preview"): file_dialog.current_dir = mm_globals.config.get_value("path", "save_preview") @@ -91,15 +101,14 @@ func _on_image_pressed() -> void: if files.size() > 0: path = files[0] - %ExportFolder.text = path.get_base_dir() - _on_export_folder_text_changed(path.get_base_dir()) - %ExportFolder.tooltip_text = path.get_base_dir() - else: - file_name = interpret_file_name(file_name) + + if file_name: + file_name = interpret_file_name(file_name, path) path = path.path_join(file_name) + if path: owner.export_as_image_file(path, 64 << %Resolution.selected) export_notification("Exported to " + path) @@ -125,8 +134,9 @@ func export_notification(text:String) -> void: %ExportNotificationLabel.visible = not text.is_empty() -func interpret_file_name(file_name: String) -> String: - var path: String = %ExportFolder.text +func interpret_file_name(file_name: String, path:="") -> String: + if path.is_empty(): + path = %ExportFolder.text if owner.generator: file_name = file_name.replace("$node", owner.generator.name) From 8b4212d58feeec293edbdccad12cd3bb6cca5b67 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Thu, 22 Aug 2024 17:04:28 +0200 Subject: [PATCH 13/24] Small fixes to preview 2D panel scene Remove prints, add tooltip --- material_maker/panels/preview_2d/preview_2d_panel.gd | 2 -- material_maker/panels/preview_2d/preview_2d_panel.tscn | 7 +++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/material_maker/panels/preview_2d/preview_2d_panel.gd b/material_maker/panels/preview_2d/preview_2d_panel.gd index 5c190b104..a9f41ed93 100644 --- a/material_maker/panels/preview_2d/preview_2d_panel.gd +++ b/material_maker/panels/preview_2d/preview_2d_panel.gd @@ -157,7 +157,6 @@ func update_shader_options() -> void: func on_resized() -> void: super.on_resized() material.set_shader_parameter("background_color", get_theme_stylebox("panel", "MM_PanelBackground").bg_color) - printt(name, get_theme_stylebox("panel", "MM_PanelBackground").bg_color) material.set_shader_parameter("preview_2d_center", center) material.set_shader_parameter("preview_2d_scale", view_scale) setup_controls("previous") @@ -184,7 +183,6 @@ func _on_gui_input(event): MOUSE_BUTTON_MIDDLE: dragging = true MOUSE_BUTTON_LEFT: - print(material.shader.code) if event.shift_pressed: dragging = true elif event.is_command_or_control_pressed(): diff --git a/material_maker/panels/preview_2d/preview_2d_panel.tscn b/material_maker/panels/preview_2d/preview_2d_panel.tscn index dbd19e021..460e029a1 100644 --- a/material_maker/panels/preview_2d/preview_2d_panel.tscn +++ b/material_maker/panels/preview_2d/preview_2d_panel.tscn @@ -81,8 +81,8 @@ material = SubResource("2") custom_minimum_size = Vector2(100, 100) offset_left = 8.0 offset_top = -5.0 -offset_right = 508.0 -offset_bottom = 434.0 +offset_right = 129.0 +offset_bottom = 116.0 grow_horizontal = 2 grow_vertical = 2 color = Color(1, 1, 1, 0) @@ -558,6 +558,9 @@ theme_override_constants/separation = 2 unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 +tooltip_text = "The file-name to use. + +You can use $project, $node and $idx to make the file-name auto-adjust." theme_override_font_sizes/font_size = 15 text = "$project_$node" From debd7d0ddc797d55a65b243d6834ecd948247817 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Thu, 22 Aug 2024 17:43:07 +0200 Subject: [PATCH 14/24] Fix PixelEdit in popup view --- material_maker/widgets/pixels_edit/pixels_editor.gd | 1 + 1 file changed, 1 insertion(+) diff --git a/material_maker/widgets/pixels_edit/pixels_editor.gd b/material_maker/widgets/pixels_edit/pixels_editor.gd index 8950a1364..c397e863f 100644 --- a/material_maker/widgets/pixels_edit/pixels_editor.gd +++ b/material_maker/widgets/pixels_edit/pixels_editor.gd @@ -11,6 +11,7 @@ signal unhandled_event(event : InputEvent) func _ready() -> void: + super() %SettingsPanel.pixel_editor = self if get_parent().has_method("add_menu_bar"): From 433cff4f4937652c0cdfc45912b180f404393bb7 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Wed, 4 Sep 2024 11:00:23 +0200 Subject: [PATCH 15/24] Implement Preview Lock Button and new Icons Implements a "Lock" button in the preview menu. Adds new icons (added as png for now, svg should be used in the future, but there are some bugs in ThorVG). Also does a bunch of changes to make sure the preview is cleared when a node is deleted. --- material_maker/main_window.gd | 1 + material_maker/main_window_layout.gd | 8 +- .../common/menu_bar_button_with_panel.gd | 7 +- .../panels/graph_edit/graph_edit.gd | 15 +- .../panels/preview_2d/preview_2d_panel.gd | 52 +- .../panels/preview_2d/preview_2d_panel.tscn | 64 +- .../preview_2d/two_icon_toggle_button.gd | 16 + material_maker/theme/modern.tres | 51 +- material_maker/theme/new_theme_icons.png | Bin 0 -> 10580 bytes .../theme/new_theme_icons.png.import | 34 + material_maker/theme/new_theme_icons.svg | 2403 +++++++++++++++++ .../theme/new_theme_icons.svg.import | 37 + .../widgets/float_edit/float_edit.gd | 26 +- .../widgets/lattice_edit/lattice_editor.tscn | 2 + .../widgets/pixels_edit/pixels_editor.gd | 4 +- .../widgets/pixels_edit/pixels_editor.tscn | 15 +- .../widgets/splines_edit/splines_editor.tscn | 72 +- 17 files changed, 2706 insertions(+), 101 deletions(-) create mode 100644 material_maker/panels/preview_2d/two_icon_toggle_button.gd create mode 100644 material_maker/theme/new_theme_icons.png create mode 100644 material_maker/theme/new_theme_icons.png.import create mode 100644 material_maker/theme/new_theme_icons.svg create mode 100644 material_maker/theme/new_theme_icons.svg.import diff --git a/material_maker/main_window.gd b/material_maker/main_window.gd index f6b5c6030..b93e1b845 100644 --- a/material_maker/main_window.gd +++ b/material_maker/main_window.gd @@ -995,6 +995,7 @@ func update_preview_2d() -> void: var generator : MMGenBase = null var output_index : int = -1 if preview == null or not is_instance_valid(preview.generator): + previews[i].clear() continue generator = preview.generator output_index = preview.output_index diff --git a/material_maker/main_window_layout.gd b/material_maker/main_window_layout.gd index e0b35097a..08cab2746 100644 --- a/material_maker/main_window_layout.gd +++ b/material_maker/main_window_layout.gd @@ -3,12 +3,12 @@ extends HBoxContainer const PANELS = [ { name="Library", scene=preload("res://material_maker/panels/library/library.tscn"), position="TopLeft" }, - { name="Preview2D", scene=preload("res://material_maker/panels/preview_2d/preview_2d_panel.tscn"), position="TopRight" }, + { name="Preview2D", scene=preload("res://material_maker/panels/preview_2d/preview_2d_panel.tscn"), position="TopRight" , parameters={preview_mode=1} }, { name="Preview3D", scene=preload("res://material_maker/panels/preview_3d/preview_3d_panel.tscn"), position="BottomLeft" }, - { name="Preview2D (2)", scene=preload("res://material_maker/panels/preview_2d/preview_2d_panel.tscn"), position="BottomRight", parameters={ config_var_suffix="_2" } }, + { name="Preview2D (2)", scene=preload("res://material_maker/panels/preview_2d/preview_2d_panel.tscn"), position="BottomRight", parameters={preview_mode=2} }, { name="Histogram", scene=preload("res://material_maker/widgets/histogram/histogram.tscn"), position="BottomRight" }, - { name="Hierarchy", scene=preload("res://material_maker/panels/hierarchy/hierarchy_panel.tscn"), position="TopRight" }, - { name="Reference", scene=preload("res://material_maker/panels/reference/reference_panel.tscn"), position="BottomLeft" }, + { name="Hierarchy", scene=preload("res://material_maker/panels/hierarchy/hierarchy_panel.tscn"), position="TopRight"}, + { name="Reference", scene=preload("res://material_maker/panels/reference/reference_panel.tscn"), position="BottomLeft"}, { name="Brushes", scene=preload("res://material_maker/panels/brushes/brushes.tscn"), position="TopLeft" }, { name="Layers", scene=preload("res://material_maker/panels/layers/layers.tscn"), position="BottomRight" }, { name="Parameters", scene=preload("res://material_maker/panels/parameters/parameters.tscn"), position="TopRight" }, diff --git a/material_maker/panels/common/menu_bar_button_with_panel.gd b/material_maker/panels/common/menu_bar_button_with_panel.gd index 707b47dae..1d09af8ef 100644 --- a/material_maker/panels/common/menu_bar_button_with_panel.gd +++ b/material_maker/panels/common/menu_bar_button_with_panel.gd @@ -3,21 +3,24 @@ extends Button @onready var panel := get_child(0) var pinned := false - +var theme_arrow_icon: Texture2D func _ready() -> void: + custom_minimum_size = Vector2(35, 25) toggle_mode = true button_mask = MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT toggled.connect(_on_toggled) owner.resized.connect(position_panel) panel.hide() + + theme_arrow_icon = get_theme_icon("arrow", "OptionButton") func _draw() -> void: if pinned: draw_circle(Vector2(size.x-2, 2), 4, get_theme_color("icon_pressed_color")) - + draw_texture(theme_arrow_icon, Vector2(18, 5)) func _on_toggled(pressed:bool) -> void: panel.visible = pressed diff --git a/material_maker/panels/graph_edit/graph_edit.gd b/material_maker/panels/graph_edit/graph_edit.gd index cb817da3c..6af45b9d7 100644 --- a/material_maker/panels/graph_edit/graph_edit.gd +++ b/material_maker/panels/graph_edit/graph_edit.gd @@ -5,10 +5,12 @@ class_name MMGraphEdit class Preview: var generator var output_index : int + var node : Node - func _init(g, i : int = 0): + func _init(g, i : int = 0, n = null): generator = g output_index = i + node = n # warning-ignore:unused_class_variable @@ -872,17 +874,19 @@ func _on_GraphEdit_node_unselected(_node): undoredo_move_node_selection_changed = true mm_globals.main_window.update_menus() -func get_current_preview(slot : int = 0): + +func get_current_preview(slot : int = 0) -> Preview: if locked_preview[slot] != null: return locked_preview[slot] return current_preview[slot] + func set_current_preview(slot : int, node, output_index : int = 0, locked = false) -> void: var preview = null var old_preview = null var old_locked_preview = null if is_instance_valid(node): - preview = Preview.new(node.generator, output_index) + preview = Preview.new(node.generator, output_index, node) if locked: if is_instance_valid(node) and locked_preview[slot] != null and locked_preview[slot].generator != node.generator: old_locked_preview = locked_preview[slot].generator @@ -893,8 +897,11 @@ func set_current_preview(slot : int, node, output_index : int = 0, locked = fals else: if is_instance_valid(node) and current_preview[slot] != null and current_preview[slot].generator != node.generator: old_preview = current_preview[slot].generator + locked_preview[slot] = null current_preview[slot] = preview - emit_signal("preview_changed", self) + + preview_changed.emit(self) + if is_instance_valid(node): node.queue_redraw() if old_preview != null or old_locked_preview != null: diff --git a/material_maker/panels/preview_2d/preview_2d_panel.gd b/material_maker/panels/preview_2d/preview_2d_panel.gd index a9f41ed93..22ecd7a2a 100644 --- a/material_maker/panels/preview_2d/preview_2d_panel.gd +++ b/material_maker/panels/preview_2d/preview_2d_panel.gd @@ -1,6 +1,16 @@ extends "res://material_maker/panels/preview_2d/preview_2d.gd" +enum Modes {CUSTOM_PREVIEW=0, PREVIEW_1=1, PREVIEW_2=2} +var preview_mode := Modes.CUSTOM_PREVIEW: + set(preview): + preview_mode = preview + if preview_mode == Modes.PREVIEW_2: + config_var_suffix = "_2" + else: + config_var_suffix = "" + + @export var config_var_suffix : String = "" @export_multiline var shader_accumulate : String = "" # (String, MULTILINE) @@ -13,7 +23,7 @@ var view_scale : float = 1.2 var view_mode : int = 2 -var current_postprocess_option = 0 +var current_postprocess_option := 0 const POSTPROCESS_OPTIONS : Array = [ { name="None", function="preview_2d(uv)" }, { name="Lowres 32x32", function="preview_2d((floor(uv*32.0)+vec2(0.5))/32.0)" }, @@ -23,26 +33,29 @@ const POSTPROCESS_OPTIONS : Array = [ { name="Lowres 512x512", function="preview_2d((floor(uv*512.0)+vec2(0.5))/512.0)" } ] -const VIEW_EXTEND : int = 0 -const VIEW_REPEAT : int = 1 -const VIEW_CLAMP : int = 2 - func _ready(): - update_shader_options() + clear() reset_view() +func clear() -> void: + set_generator(null) + %PreviewLocked.button_pressed = false + + func get_shader_custom_functions(): return "vec4 preview_2d_postprocessed(vec2 uv) { return %s; }\n" % POSTPROCESS_OPTIONS[current_postprocess_option].function func set_generator(g : MMGenBase, o : int = 0, force : bool = false) -> void: - #center = Vector2(0.5, 0.5) - #view_scale = 1.2 super.set_generator(g, o, force) - setup_controls("previous") update_shader_options() + + if preview_mode != Modes.CUSTOM_PREVIEW: + var current_graph: MMGraphEdit = find_parent("MainWindow").get_current_graph_edit() + if current_graph: + %PreviewLocked.button_pressed = current_graph.locked_preview[preview_mode-1] != null func update_material(source): @@ -52,6 +65,7 @@ func update_material(source): material.set_shader_parameter("background_color_1", Color(0.4, 0.4, 0.4)) material.set_shader_parameter("background_color_2", Color(0.6, 0.6, 0.6)) + func set_preview_shader_parameter(parameter_name, value): material.set_shader_parameter(parameter_name, value) @@ -59,6 +73,7 @@ func on_dep_update_value(buffer_name, parameter_name, value) -> bool: super.on_dep_update_value(buffer_name, parameter_name, value) return false + var setup_controls_filter : String = "" func setup_controls(filter : String = "") -> void: if filter == "previous": @@ -110,8 +125,12 @@ func setup_controls(filter : String = "") -> void: $ComplexParameters.set_item_metadata(i, complex_param_defs[i]) $ComplexParameters.selected = 0 $ComplexParameters.visible = true + for e in [ $PolygonEditor, $SplinesEditor, $PixelsEditor, $LatticeEditor ]: e.setup_control(generator, edited_parameter) + else: + for e in [ $PolygonEditor, $SplinesEditor, $PixelsEditor, $LatticeEditor ]: + e.setup_control(null, []) func _on_complex_parameters_item_selected(index): var parameter = $ComplexParameters.get_item_metadata(index) @@ -253,3 +272,18 @@ func get_post_processing() -> int: func _on_Preview2D_mouse_entered(): mm_globals.set_tip_text("#MMB: Pan, Mouse wheel: Zoom", 3) + + +func _on_preview_locked_toggled(toggled_on: bool) -> void: + if preview_mode == Modes.CUSTOM_PREVIEW: + return + + var current_graph: MMGraphEdit = find_parent("MainWindow").get_current_graph_edit() + if current_graph.locked_preview[preview_mode-1] != null and toggled_on: + return + if current_graph.locked_preview[preview_mode-1] == null and not toggled_on: + return + var prev = current_graph.get_current_preview(preview_mode-1) + if not prev: + return + current_graph.set_current_preview(preview_mode-1, prev.node, prev.output_index, toggled_on) diff --git a/material_maker/panels/preview_2d/preview_2d_panel.tscn b/material_maker/panels/preview_2d/preview_2d_panel.tscn index 460e029a1..135727f5e 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=25 format=3 uid="uid://b7x7yqgsurxhv"] +[gd_scene load_steps=33 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"] @@ -9,16 +9,18 @@ [ext_resource type="PackedScene" uid="uid://b08bcbwwosrrk" path="res://material_maker/widgets/splines_edit/splines_editor.tscn" id="5_5hlfo"] [ext_resource type="PackedScene" uid="uid://b51634rcdiyr" path="res://material_maker/widgets/pixels_edit/pixels_editor.tscn" id="6_m4663"] [ext_resource type="PackedScene" uid="uid://dicq2cut03ved" path="res://material_maker/widgets/lattice_edit/lattice_editor.tscn" id="7_u2w4r"] -[ext_resource type="Texture2D" uid="uid://tfi3spyumjxt" path="res://material_maker/theme/dark/popupmenu_visibility_visible.png" id="11_l5q6b"] +[ext_resource type="Texture2D" uid="uid://dnyj2y655qc1o" path="res://material_maker/theme/new_theme_icons.png" id="10_l6r53"] [ext_resource type="PackedScene" uid="uid://dj5q8sxvd3gci" path="res://material_maker/widgets/option_edit/option_edit.tscn" id="12_4017l"] [ext_resource type="Script" path="res://material_maker/panels/common/menu_bar_button_with_panel.gd" id="12_nrhap"] -[ext_resource type="Texture2D" uid="uid://dw0lvt1ip8ifp" path="res://material_maker/theme/dark/popupmenu_submenu.png" id="12_wun6p"] [ext_resource type="Script" path="res://material_maker/panels/preview_2d/view_menu.gd" id="13_5w2hy"] [ext_resource type="Texture2D" uid="uid://tetgna5qjvkf" path="res://material_maker/theme/dark/tabs_increment.png" id="15_ikyi1"] [ext_resource type="Script" path="res://material_maker/panels/preview_2d/export_menu.gd" id="16_0fl4g"] +[ext_resource type="Script" path="res://material_maker/panels/preview_2d/two_icon_toggle_button.gd" id="17_07kc5"] [ext_resource type="FontFile" uid="uid://dgkwr5jydtk6p" path="res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf" id="18_kn37y"] +[ext_resource type="Texture2D" uid="uid://chdyfit4rv7ss" path="res://material_maker/theme/dark/curve_preset_bounce.tres" id="20_t88qf"] +[ext_resource type="Texture2D" uid="uid://cwoby8q4quah3" path="res://material_maker/theme/dark/curve_preset_bevel.tres" id="21_eie3q"] -[sub_resource type="Shader" id="1"] +[sub_resource type="Shader" id="Shader_0mwcg"] resource_local_to_scene = true code = "shader_type canvas_item; @@ -47,7 +49,7 @@ void fragment() { [sub_resource type="ShaderMaterial" id="2"] resource_local_to_scene = true -shader = SubResource("1") +shader = SubResource("Shader_0mwcg") 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) @@ -72,10 +74,34 @@ resource_local_to_scene = true render_priority = 0 shader = SubResource("5") +[sub_resource type="AtlasTexture" id="AtlasTexture_p8pw4"] +atlas = ExtResource("10_l6r53") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="InputEventKey" id="InputEventKey_qowqu"] +device = -1 +command_or_control_autoremap = true +keycode = 82 + +[sub_resource type="Shortcut" id="Shortcut_fwcfb"] +events = [SubResource("InputEventKey_qowqu")] + +[sub_resource type="AtlasTexture" id="AtlasTexture_72vod"] +atlas = ExtResource("10_l6r53") +region = Rect2(16, 0, 16, 16) + [sub_resource type="FontVariation" id="FontVariation_wkuuo"] base_font = ExtResource("18_kn37y") variation_transform = Transform2D(1, 0.22, 0, 1, 0, 0) +[sub_resource type="InputEventKey" id="InputEventKey_rhw4u"] +device = -1 +command_or_control_autoremap = true +keycode = 69 + +[sub_resource type="Shortcut" id="Shortcut_llf02"] +events = [SubResource("InputEventKey_rhw4u")] + [node name="Preview2D" instance=ExtResource("3")] material = SubResource("2") custom_minimum_size = Vector2(100, 100) @@ -392,16 +418,16 @@ theme_type_variation = &"MM_PanelMenuBar" [node name="HBox" type="HBoxContainer" parent="MenuBar/HBox/MainMenu" index="0"] layout_mode = 2 +theme_type_variation = &"MM_PanelMenuBar" [node name="ViewMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="0"] -custom_minimum_size = Vector2(25, 25) +custom_minimum_size = Vector2(40, 25) layout_mode = 2 tooltip_text = "View" theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true button_mask = 3 -text = "View" -icon = ExtResource("11_l5q6b") +icon = SubResource("AtlasTexture_p8pw4") script = ExtResource("12_nrhap") [node name="ViewMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu" index="0"] @@ -418,9 +444,11 @@ script = ExtResource("13_5w2hy") layout_mode = 2 theme_override_constants/separation = 2 -[node name="ResetViewButton" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="0"] +[node name="ResetViewButton" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="0" node_paths=PackedStringArray("shortcut_context")] unique_name_in_owner = true layout_mode = 2 +shortcut_context = NodePath("../../../../../../../..") +shortcut = SubResource("Shortcut_fwcfb") text = "Reset View" [node name="ViewModeLabel" type="Label" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu/ViewMenuPanel/VBox" index="1"] @@ -499,14 +527,13 @@ custom_minimum_size = Vector2(25, 0) layout_mode = 2 [node name="ExportMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="1"] -custom_minimum_size = Vector2(25, 25) +custom_minimum_size = Vector2(40, 25) layout_mode = 2 tooltip_text = "Export" theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true button_mask = 3 -text = "Export" -icon = ExtResource("12_wun6p") +icon = SubResource("AtlasTexture_72vod") script = ExtResource("12_nrhap") [node name="ExportMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu" index="0"] @@ -614,6 +641,7 @@ text = "Export" [node name="Image" type="Button" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox" index="8"] unique_name_in_owner = true layout_mode = 2 +shortcut = SubResource("Shortcut_llf02") text = "Export as Image" alignment = 0 @@ -644,6 +672,17 @@ 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="2"] +unique_name_in_owner = true +custom_minimum_size = Vector2(25, 25) +layout_mode = 2 +tooltip_text = "Lock this preview" +toggle_mode = true +icon_alignment = 1 +script = ExtResource("17_07kc5") +icon_normal = ExtResource("20_t88qf") +icon_pressed = ExtResource("21_eie3q") + [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"] @@ -665,3 +704,4 @@ autowrap_mode = 1 [connection signal="pressed" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Animation" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_animation_pressed"] [connection signal="pressed" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/TAA_Render" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_taa_render_pressed"] [connection signal="pressed" from="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel/VBox/Reference" to="MenuBar/HBox/MainMenu/HBox/ExportMenu/ExportMenuPanel" method="_on_reference_pressed"] +[connection signal="toggled" from="MenuBar/HBox/MainMenu/HBox/PreviewLocked" to="." method="_on_preview_locked_toggled"] diff --git a/material_maker/panels/preview_2d/two_icon_toggle_button.gd b/material_maker/panels/preview_2d/two_icon_toggle_button.gd new file mode 100644 index 000000000..a6ee43e54 --- /dev/null +++ b/material_maker/panels/preview_2d/two_icon_toggle_button.gd @@ -0,0 +1,16 @@ +extends Button + +@export var icon_normal : Texture2D +@export var icon_pressed : Texture2D + +func _ready() -> void: + toggled.connect(_on_toggled) + _on_toggled(button_pressed) + + +func _on_toggled(toggled:= false): + if button_pressed: + icon = icon_pressed + else: + icon = icon_normal + diff --git a/material_maker/theme/modern.tres b/material_maker/theme/modern.tres index bfa940986..9084f7428 100644 --- a/material_maker/theme/modern.tres +++ b/material_maker/theme/modern.tres @@ -1,7 +1,8 @@ -[gd_resource type="Theme" load_steps=64 format=3 uid="uid://b628lwfk6ig2c"] +[gd_resource type="Theme" load_steps=66 format=3 uid="uid://b628lwfk6ig2c"] [ext_resource type="FontFile" uid="uid://dgkwr5jydtk6p" path="res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf" id="1_hqoqt"] [ext_resource type="FontFile" uid="uid://btybkvkb8rtol" path="res://material_maker/fonts/DroidSansFallback.ttf" id="2_1xp11"] +[ext_resource type="Texture2D" uid="uid://dnyj2y655qc1o" path="res://material_maker/theme/new_theme_icons.png" id="2_b1usk"] [ext_resource type="Texture2D" uid="uid://c74jqqhkapvx0" path="res://material_maker/theme/dark/graphnode_close.png" id="3_6fij0"] [ext_resource type="Texture2D" uid="uid://cgxvaurldh6mq" path="res://material_maker/theme/dark/graphnode_port.png" id="4_kelfg"] [ext_resource type="Texture2D" uid="uid://c4k81poqyod3g" path="res://material_maker/theme/dark/graphnode_resizer.png" id="5_3hfqd"] @@ -17,7 +18,7 @@ corner_radius_top_right = 3 corner_radius_bottom_right = 3 corner_radius_bottom_left = 3 -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_kvrsn"] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ebjbq"] content_margin_left = 3.0 content_margin_top = 3.0 content_margin_right = 3.0 @@ -27,11 +28,12 @@ border_width_left = 1 border_width_top = 1 border_width_right = 1 border_width_bottom = 1 -border_color = Color(0.490196, 0.505882, 0.545098, 1) +border_color = Color(0.485703, 0.485704, 0.485703, 1) corner_radius_top_left = 3 corner_radius_top_right = 3 corner_radius_bottom_right = 3 corner_radius_bottom_left = 3 +corner_detail = 4 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2qiie"] content_margin_left = 3.0 @@ -350,28 +352,28 @@ corner_radius_top_right = 5 corner_radius_bottom_right = 5 corner_radius_bottom_left = 5 -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_b7fkf"] -content_margin_left = 6.0 -content_margin_top = 6.0 -content_margin_right = 6.0 -content_margin_bottom = 6.0 +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_w0mkx"] +content_margin_left = 4.0 +content_margin_top = 4.0 +content_margin_right = 4.0 +content_margin_bottom = 4.0 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_pq4ta"] -content_margin_left = 6.0 -content_margin_top = 6.0 -content_margin_right = 6.0 -content_margin_bottom = 6.0 -bg_color = Color(0.081, 0.09145, 0.1, 1) +content_margin_left = 4.0 +content_margin_top = 3.0 +content_margin_right = 4.0 +content_margin_bottom = 3.0 +bg_color = Color(0.0666667, 0.0705882, 0.0784314, 1) border_width_left = 1 border_width_top = 1 border_width_right = 1 border_width_bottom = 1 -border_color = Color(0.442344, 0.440199, 0.421573, 1) +border_color = Color(0.262933, 0.262932, 0.262932, 1) border_blend = true -corner_radius_top_left = 4 -corner_radius_top_right = 4 -corner_radius_bottom_right = 4 -corner_radius_bottom_left = 4 +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 anti_aliasing = false [sub_resource type="FontVariation" id="FontVariation_h5fjs"] @@ -379,7 +381,7 @@ base_font = ExtResource("1_hqoqt") variation_embolden = 0.37 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_eij2n"] -bg_color = Color(0.187176, 0.187176, 0.187176, 1) +bg_color = Color(0.165656, 0.165656, 0.165656, 1) border_width_top = 3 border_width_bottom = 3 border_color = Color(0.19, 0.19, 0.19, 0) @@ -428,6 +430,10 @@ corner_radius_bottom_right = 4 corner_radius_bottom_left = 4 corner_detail = 4 +[sub_resource type="AtlasTexture" id="AtlasTexture_qrndi"] +atlas = ExtResource("2_b1usk") +region = Rect2(112, 16, 16, 16) + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dscxc"] content_margin_left = 6.0 content_margin_top = 6.0 @@ -596,7 +602,7 @@ default_font_size = 16 Button/colors/icon_hover_pressed_color = Color(0.874128, 0.694643, 0.972002, 1) Button/colors/icon_pressed_color = Color(0.792157, 0.478431, 0.94902, 1) Button/styles/disabled = SubResource("StyleBoxFlat_inl5r") -Button/styles/focus = SubResource("StyleBoxFlat_kvrsn") +Button/styles/focus = SubResource("StyleBoxFlat_ebjbq") Button/styles/hover = SubResource("StyleBoxFlat_2qiie") Button/styles/hover_pressed = SubResource("StyleBoxFlat_2qiie") Button/styles/normal = SubResource("StyleBoxFlat_rxikb") @@ -663,12 +669,14 @@ MM_NodePropertyLabel/font_sizes/font_size = 15 MM_PanelBackground/base_type = &"PanelContainer" MM_PanelBackground/styles/panel = SubResource("StyleBoxFlat_uujf1") MM_PanelMenuBackground/base_type = &"ScrollContainer" -MM_PanelMenuBackground/styles/panel = SubResource("StyleBoxEmpty_b7fkf") +MM_PanelMenuBackground/styles/panel = SubResource("StyleBoxEmpty_w0mkx") MM_PanelMenuBar/base_type = &"PanelContainer" +MM_PanelMenuBar/constants/separation = 3 MM_PanelMenuBar/styles/panel = SubResource("StyleBoxFlat_pq4ta") MM_PanelMenuButton/base_type = &"Button" MM_PanelMenuButton/font_sizes/font_size = 14 MM_PanelMenuButton/fonts/font = SubResource("FontVariation_h5fjs") +MM_PanelMenuFloatEdit/base_type = &"MM_NodeFloatEdit" MM_PanelMenuSeparator/base_type = &"VSeparator" MM_PanelMenuSeparator/constants/separation = 2 MM_PanelMenuSeparator/styles/separator = SubResource("StyleBoxFlat_eij2n") @@ -682,6 +690,7 @@ MM_ProjectsBackground/base_type = &"Panel" MM_ProjectsBackground/styles/panel = SubResource("StyleBoxFlat_1k0sx") MM_StatusBarBackground/base_type = &"PanelContainer" MM_StatusBarBackground/styles/panel = SubResource("StyleBoxFlat_7hrav") +OptionButton/icons/arrow = SubResource("AtlasTexture_qrndi") Panel/styles/panel = SubResource("StyleBoxFlat_dscxc") PopupMenu/styles/hover = SubResource("StyleBoxFlat_fq0uc") PopupMenu/styles/panel = SubResource("StyleBoxFlat_8p2hu") diff --git a/material_maker/theme/new_theme_icons.png b/material_maker/theme/new_theme_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..0b36af3133a32597d71b662fe444b241a4e1eee7 GIT binary patch literal 10580 zcma)C^;Z;J6JEMQxho$?3XjI9j=Z&0H)2U@(}=#^IZ*g_)Bjm!pey#)$+406+%-eUR4l%skHW zN+TZlI~d?+9i|nBu$1p?$@>=bL@8fyjxnFtc8-xtnzv-+wxs|u0uqmK%SmA_;2cGv zCXEu~9Py37S-OYwByxXWe}k>XlQR4Q(p>zApmf+eCB)nUD``#&7&Jv7o{D;7hl5xZ-e%| zp7Kk4_bucXlN9te@b}9(OZTeW=qU;|szYD)5(=IO!kzG06+sS~DgTCbw`6zFpZhF` zS+{I`wi@0*Cz#*`cbrYVi1g-I2#o|O7BOcqC51>OT02zRO61U#UzO>Xm^NA~by-lhg<@SkToO1S?no2bBn0h-! zsN%=iaWWh5_OL9ko$%@M8`DIJ0N=o4*et!&vpT5Z<=h3{JP%AMBu?necFLM%s<;{x zy6?hCC{kp1oeqJ!CAk?K6jUV(tgGVWU4j*li1OPOfn6FqTaIJwyu&%~Z0bV719T40 zr9(WvFak%BH%IZ#>O!m|iq;bLkTs(5}fO0pbc=SUqs5PnIfd~(#33O-@` ztv4UHmA2sq@0?{irekBUF#s)qMjuXT#{lG@+c26J_FY#eRnS7%h4q5~2>UFl&=%CC zQ>k$8*Q+36aOi9tGN0(?UN|lQZ!fzDZWl=IN-tb^dsS5ymu}4>;mB*1#%iN?09OPJ zjj}r#fPnGW`jU(j@w`38c^4hNKM#3NdE^G)Pm9@_LEspY|NiD7W<3)4vVXnVm3qjF3h0^2vY_KL)x4q@ zvkavrM2Xr>CnVb@S(PveILTcnJMQBaf6Y!<;PvsSbfq~l*_kk5a7?60Z3g9~rPH4r zRC;N%O-7gL{b1=3FF>c>m>Lc3v+&oRQOn~Sl9w9f&?`G2Z;35qK`%&3S(lyP4LdL0 zYI9xS!5(AYicv7x|_iZDt4-u3kz+4aJt z&->md7HTkQ_5W!hqhpgJH%$u2u{R&p`KZr%nE%ySR7eMJV?c%Edyf9V=GP7Jc-I~{ zg(<3&dBlQpRP*h}V3nHRvnP43RfuTjv!#s6Xt*Ak+Lm z0rEKeaJ>7rk{|9U`@(<`9qfgYG3I>gTEhWdw{(ZzwA5~NPq8P?HMzWjnjzx|Wtcr6 z6Z=*@;VRb-{rjf|Lznkt1KxouT8kGZ+MAyVQ`wV&*aB>{U?q0&pHLqNZf%OUDx*=M zAs)doLeObeGKQ~F(zko-VSTtF6MEo&7|liN=fKI)oC_7KWbq+jsug-koExN&J|Rp= zpOMg(FOSdQH-6P{MI!oCPa=DlCjA-v(6i4#k_ta|=G(&`!-BptjBniBSVM$Zh8K4Iv)__JAM1|in8@JDR zgq-~Hht3WmLN=xQ2^juWGR%vHqLvAo`eS&-@lwwUweyBWTgv!Wkciqf9`DugE$ zQIn5!>4!$i{>@W5n&^-gij`qwZeJiLoZlZi_w2FQf_ULbtg6) zU@7@lW+hJ{BN3TF=$=0mJx6T`5>J{0ho@p{^=u0Ca`SU;B7~3D2kt8_tKakWAk{hq zL`Rkd6(paU2bHil#}+arIKal;3n@5Y=@YQNaMK6j}5pP=+tl}KuQWSsv$if zNbI7>C`~dCghiwW=dDt;uT@u)naX}3KO=wt~g3qlj}sPiHZXJQrvMr@?MV@ue*BNO}~T|0U;4Cps{j*c_hi)y=m- zndiC>=->@oB0ty$qAl`xT9o`V30#Qmip;AleLy|?gmiRXyIw^Fh3hfL|K_Y(!s7P% z!IE7}&WmOH+PBE=a`v2=WI_cNIbCfd1vRe$?KHbHhc zH3mVK32l+E%$G-R$NVCTJ{z!xh6`XOYPo4*Sip7SKNE8DKQR0SH^9a2C*$pI+{x4g zkf)!U)DMzTs7yeE4XW6IU4a?*_dMvLJ4&?(B`hT%}& z1&+Sfox}HF;3}4(>^VJ4+7ZfbkPmXNiD^qY6UIWvLOg5@cF?2!9@uT69ysK}L1NTc zvR?Z;M>A-FaN6?xS5zCysuxv?a>bh8;ZA5V8eF&|7d|H70|Yb@J-sot+#h@%<4dm+ z6tsG{qFUImd3yJ?yto{rban(%6vP$!?}|^=6`^)_B6jSuh~ZSZsz!EhhGK)>Wghy~ zn@(Tk?vJX4;`c`$GaD`;V$8kcwmUBa3z{N@t(#BBC@UCL$mJ-X(B=WNPup367T>M2 zAqcJaUGLs@tupMckm^kz+imc8&G`himWJYe?tvv=QKx<&%`LCFpDP!8iHqj@XsoAk znRyX8j??X4dC{OH7%;jKlQcxIp$};-{Wi}RhNGqV z0|o|-p~U95B>V}Wm7Ib;X(&6X^s3gNfru$A^yW=9@GK#KmNY1ZdI+%kb~p3uL3hK3mgg39(azj7 zw74wcYwy95u0f~*r#Y+VI$-U1dhr(QyesJ?yzQ*>qL&45JKMk`r|4UK7On|%$7U`- zUZhA2Y*c*A?5f#Nt`vQ88QWW@z#7t)lGwBz+`4`JOB9sPc z#Jbn-(y3O2i&vw}Z~F$zAaja;J#@y7TSU5gWxsy>>9P>j?#FSB8=s8m<5c4bakKC+ zm#Rb7o;FVjt@W03veaCXTo>Qd{m(C3spX@wBVXE&`N$pHIEcf|*IhA%{EjiAnTywG z!u-1MKo^^;v8c+seyH=8G@;l1p&xmusMszQOt@~nAx;nRK zbcsV8a0$;jfa7t1UnhKbeam8S1N)ltz>b`3kkG&qj35rm}ZY>p}^yLDtvsQaT8YA@4e(2h*pzLhiN7jfz1O2 zO2u3q9eb85Iq0MPR^ID+34_Diq;6?<-~oM8su%vx>4i;Sq723E4n5#27)%mlowdm- zj>8h^Gc)#VholMFI1OvojK|s`C(58}DL=d=v4~4*wlf3I&-ZKk6^igfOzC+q1cf~~f1%5nB-2_E3o${M5_M7iMsPwwzr zQ8-w%MXqQf&8;1^iTBXd^fjQ+KA@Q`ea2jD84BYT4MjPH8+!eI4YG1z51teV0iiIF9dGmv}ucjW>p z-_G0ymtNkNa&A;IWM9&|g_%;h7}hqEy4u+52Q7G0s!kfmd!E}>XuC7tZ^Gk+uT7P0y7n&Q8#96FZ_4| z!g_cGII*3`2J;xIwO#3ouG@$S#f*{U%_m7gRKD^Do?JX-<;AxmC327piPQ1LaJ3sM z-@P~OFs~;Z4G>yN7q*be4_Pe9Gp;1%E-4-|S0*1~Ld9Z)?T-ujQ~e>!(`lc*0Yx$% zn_SAoaFXhR00*u?CpcrV!H8@wI%e}x)lL=h(>p7q9MmT^w-?2K778`42X{0ZTPMX= zYvr#FsKWTuTUwG!MD!|4$!xSH?H@2#5+Us8NmYDD1<2F2Z_~W?-^|@S<5z!2QgF+Y zcnwf6Cc8D2wB+?%9M7lu7IU5EY){XunSHblGeWZmkAJkN*#58|mhsj&1z0yH>uM=q(+xc@ocSx2)geYCJcIGNBbSi#KT0)oB>CC)Q(L}7TCR_d~t zPbR3L-buA^-68#B5V(@)gqmd3rdO*PqYj0i)a#_udS>e&Kt_R>9dmZ$k=oe6?r1L4 z`JoP#Xja88N+Ed`y)9Hzjq2j+*!xe)EhD;M$&^f!4?K1!u@!S2BpE{T&eTPHp7^jA z?r!bJwVnOdXm^;JMA%=nZsl@ez-7-J!#sp`D2;wSesBT(d3k{gCyw0Emg;8}9SRms zj`n8n$U|Jw5pTM_tI}?GPW(k`O6cs?=XAYVVsSslXHgm2;-%37lk=xYsdpzP@nJ8h zOEdM+%Jz>53@UNtc~U8yYi<>E%L+w#ZN`m1f6J3hTGfmnTz1+`7r~xm&vK5#6G(5kBdlOk&N~TZE?C6%Ot^WFmtp%r8SniDuHE7j8Rccu*(Gg%*s%<2 z7uqm8DHa_Y^-d~~)kSIriIH9fFD^tt@;%#?G~Q<}{+Ip%!L+yhyNWa5w+qdRMP2Lb za3H9$GN57ndt!2WuhEpG%6u8}Ij;QOLaWS;O0i=8P5x0{1F05XOv~Up;TpK1(4ir* zEP&!y)D0lt^SwMzRgPd9giPKQQ~$fLMNytA`>gf@^LTK{Tjnkr7=6Ja6(PQ3x4;k6 z*($7&i8Pwtq%T}lVGUbi%5fbOly&RfZZG@@?R=--IrQ+-PMZf&(xRPdwYi^p?d`zI zxrPzf_~5XJeC#vq`!_t>XGU;29fipNMF(jcDk&CY>lboSGiKZz#+`=bPAWo=Z7YhV z4G)}ka*Ln92l%7;Y*)a;?&(nBqezDj&Y&mMA}o6?&2bO$mCb~T2g!SSJ_e=!E-RIy z<%@mgFoYxr#&k^^*A&W$k7T+3g%5fEyf(aE$?kr^cKJgZVr(AgO!mkU>26eh};@h9etGz7pKs8P#(~~h|twtHWwlFx#{EW z>abw_`aNAS{&;6IS-Plp1M_~^l{I;8ghAu5%j%beUkK!{CE*~? zH^Y+%>x;VI3fY>`j5x*>?K{ygO5YBV7V5+Xru>75%BN%HvCA-5ty>EF2(o9By+;g( z^65AA)s3{St5OUNpEC%mpb54tI@ZJyS@>4~e%_JmA4DsdMQ?oioc-D6-B;xtaA`N> z#^0+YI<4+5Qay5E+F!Z)J}|)oUr3Z~*Ft3!mRPmTJ3eZn@!`Twx{lV%=Ct~is_7X> zmY64o-G=M^MRP<_hIxpD(7-HN{@%o&$IB^8WWbm3u4t9endNLryR6=mmvbc(zGwMh zoN4+(YLmA@g@1b}-+t=xj-iYqHViN6w<82axx;vW8M%>Y^Cghw@>}5$6>W3xT4k8F zo|uX?AZDb_H*Jx_H5N(gf`TSSw#^wUzC{mRp}up1DT$f#NAuaWE-?4=Lc;G$(LTjD znQJ80Z_8O^L*N600jY18Fm`!|V3en3wwoqfFKfhUfB7Vc zSFkNI>wkz}r%l^}R-$5t1U@7D=*^Uw@vf~WRxnq-<+Hbj(3&YNE5v`AI?s8}BouW( zBPPtLZiTa#bmCyMNQ@+YE^PSI}|t5Sh442Ui-tio?|hZi{~s}=^!&%0mD}Cw=UN@jku={^9c$t zrI_JKxfeh&f;!m=R(<38XBIRhp0t)#B+a6nOyOZg6)ny)hk0RuDgy45eF*H@NK3 z(YH~@?KxIL9c3$bY2SD9f33#?PqXw0h7^YC^!i1b8>u?(nPf=O~iWwp3{degsV_GlMyKaRra1F3O_h&}|o8j1H9ca!EJ>B?o zIBh$=-49SXCl9F(WpXr|?WUM%3$4g^vVy2~5mVj>R1-a6UD}{K0vV$3r@-n&`30(V zYeZCuy!&DAQ+cRM*aKgr$_I|?aI-DN_RQL(thitVfnigBYsW?=yemC+fIse^RNQx3 zs)>MZ4pd0x%mKl1{c7Cf37o%5OGiWQ zavoQl*#4P0k}K`R6u|u09*bcMa+$;DNC5E~4JvY6faU~!(TkMWw2N~rG(d^p%&E|Y zlaKig-a)G>6-UnD^MaDKe#okqv)UC-L3UWrYY8uJTrPa|W}4Lhc-0;lyR(0&;9yPu zCR=u#4Bh6&nP**R1AmOTYC^4d=5{F#{_3l|bS>SLV@KHlc=si~ZeIA=6vQvLITzTPmIVL!)%_jJ0Qxov1HkQ^hsE+aQ=eNq~YO_AK!(X8p;U+%E4HQClXGZ?MP`@XCc>`A65skv8J_vXSE*7qb#u9{<4`c@^GswnPd3+^{$|-Z zp&shcX0y>9xa>Scojeg%u)2E@hD}beqk=uHnp7AThMMIz1ELUd%EbjfIjQ^<02Sx> zw}#=-R#Jmk)TSgZmG2Tzu>WW^%5&NHtrowGg*W+fCco(LUJZMkN~oOJFD^WInMCBp z%v2@2Z*z~#?^YxqZ%`}HYWi!38a3>j2$v*>q1%({HLcUZ=zm;};ofR!H}0AH?A{>% zqspgc+10=jj23-Jmxzk7nwzTKT|>en)E zY|EfFkDO0$WJTQ%(MkXGBQ+@tL=YKjW$uN6B!NH=qDQRndxN03SiJqgNE?F5& zaK2LacN!%9GS+b$f2BI)8e)TYJ+*oQ?=rrZT=NBWUB?FhI%0TDZt~PFm0L|_{wC+Q zDrs3F=jV$>m@n5WFzX9DjOL&G%2sXrmz_G`>3rG$@z{Ma{d}ISnYdJ@iB~n3|NS1gPx9FJL#CB{qT{RmdQ};I992@MpKt0!=|1{fCc2xX z;dwql+VXTUMlNVeWMEf=a=E{+N`r`sA3B?P=&oVAx1gfuNgCQ|HBH>8_7Iz*V&H=H zt#(1suleTTL2rzk4!BYOE%fBa4_DQBV|CZQnbJ@OSSiU(FCt^GPpHFWprzL~bR$$7 z)e8+!McSeR(bN49Q^!N-$zb*6o}$r34CLw|RP-B4>zdgzt@?PkfAqvB7eBJ2DUiJ% znVue-8_lR)Wjt{(U0}c-(Et4nr`Pm16!3_7rKuT*0##)DGix-7ztT z&}?X$DA>5~TN(FA=h;#Zzi7~sVc33szQY{7 z#4_joREpIpMQ3BMRJ8o~LG7YyY62C8Bs%FOA_>JF@pz0KDbVjPP&j49iZUWf9#87d zw6gQTwzB;~5m%hUhF`Ex2x=$0P-*0~6~RI#=`FzBaiwm&+jTi9?t8OjjZG~k5X)7L zK^0uV{*1ppS3P4M8gRln&NfXM@%RQoyIol}##zS$;b>mCA)&5XgKZ7;-F2bxL_;q@ej&I81+CrcVhWZCwj zL8JBM38!*F&)#p?G4eehm_&p9$wL~V22;gKJ+N|j-o0HgbX8H>4S3a;Xmb9rlhroY zIkkH;imXORtJ0CsuRJrQ(RL-s!Y*&YK19k@gxwv0-Zr^&q(H}C<>H%D?{SpPVGM0M z8Eob67AN)`y%hMZP~{Id6^PLdsr2gS#y<|V=`$`X(-+Aw{oUl*?BctwR5R*>+_Zm8 zWyfholISxS554}vJ)ZfjQO>t-O4DqX8F)=`YChH;OcqMB2fH&Gr*?pt+$`fCi$?aU}+*6;K)hM80rpL6j!RNNC zqSl7Ed)^uN9N2+s+QP1@_<0m9Y9_f}%oF3xn)zJFtjc%_ihGIuz<+)o)D_`{UD3M* zc&0RPs!0#<&CCJQ4}MoOjKT>e77FPI(t4>N(kInH%6tXktA9(0Y6bGd z(SHl%V0oHJ!F&g!!DeK8%izzM43y>;B|!Hxk}XAQ}z2j(=3JO}SvTgW`41 zun(XF&9UpFK%{0#hM{YD>WKgH>lqI|Q4DNMlPHY6rhRpr%oCkH%p||Y_Do*SVKwA? z9al;&onXCaugM|mHBLx)!wJ@iNej}TXJYkeY$udXnF|CRo;R(Pt5)S#U1)TA8Q{00QA5A)dF~RJo-Hx5FG+B@MgbE_H?kg@FGKdUI~Xz{x<@ngJ4dQ z^jHjQ4UHL;JItbYURYR;{GnG$>%C+$HPwE&!5<+l?9s^j9CC+U25%fcwp<8uy_; z2=D$Xwzv>)2Jee=R7Mhh4aaXpBxN10kXN3Lzp<8dB|gkycq&#|qq%42T#|5$9j#>c zX!~2aI{eiHl~~~nUCN8gq#=1w;J~x|qh%j12TSt%*m2pfdIw%QBjvv;%mE`Jd=#YI zoJfUv>&El8k((Bv@IucYbjeB&9ou4;NmPzbK6(SO>M!Bg3=aGw?<|?ms;6Xi(tmr| zMOwd9l)nj?vR6m+1H#4SHlv-g8xeu(E|4L2Ik=!6H@-(-X>!90Qc@+>ii);#pC$c% z-|)lKTRkP$hD?EI)}_h(%10pUA@R_?D${D_*8RJkwKoDde%391q=@Yt7K0=|1rm;B z7j5+yDmQK7!a7MC<>4%8n}^^u7JF0;JE|Bx{L`V3G7+Wab0U4gJ`q|h7iS^|V7Suo z`VDhrF|YfT?bhuvEYj!t!gfp87n6ZUI#rPt`RpUX2DqnlN)37M5gje`Jj`xf1-jZ8 z>d&99x@Lf}@)%n9jp#HfqI_3^LN-7vaz8EJ2|lISPWl*CC=ZmA9Tyr|nK@C+?Se{^ z{_5fnyAj5iq8S)K$SOmu<1;HDil`%d_DEn>qF}Vi4Upj3qiFlsYRD|ik<^k(%S!m- zk%U7y(Ar~~aSx~?J`E@P1XPz8{FQ4$u9VdmdHn$hj9?8~KoVQPr*q*wH9#VL=1m)^ z!?;AH2(LH?+cVxr<`_cTsAF16TVl4ttjf#ESx8IrgWRyhPx`{jWvRVD(7z7oWcuwN z={q^Js`o{>|pzZT>+aox~xArolmQ^uqT=&!=}Yaj>k zC{DWIbRBWClt#ssDSxrO>}!qjrw7?`t@RyNSnsB;Y1C@X*DS2+?CqvBc?Vf}Hk{I5 zc5djpDi8K1hTjWx4s_yOZFp#*1eW=#`;ivS!X!gyn}1pab#sU7(?AX-%`>W#oG0dI z5{+4(2n?Zr(C*MkqRSQ~4evb0?>~GX-#}M1Kqi-?dN$G>>p&{&#vJd-*IZGODDF~$ zE=;y%cO;!oYs>2L?&7hrDGx(HE0_fsLtpLz^EXUzz(Riw(;{0+z_q z4|fC;`szAaJsy5(vv_8$j}NKJ!bWO^|0Zj%kKZM=n`v~|b(qZ{s;SPX@$nzA@KHak zGsb9&DVetvCNfDf{a#iLNL?aLFsF(>JJrI*Vx(@TIWR~@B;TN1%nmebhYZa7B+h#s zykxE*#!WB2AUTu4Qfc3xbAJ2wT+2mYD^3!1=EHjh?=1>*u0eY=ofh7@I)wMjY;w8m zaCTFPo-lTXFH>dYqk2cWgVx3FGS6_(iv1X&PoCL@RVl-I#I+4)bxe{R{Hh)wS%GRZ z-!Se;S(_*tKUvX&8=jWf^#5SF+;Ix@g%BVN@&N|{UDrr?BwH=Ujx7A-E`vYVF ztG-SDTf5kVG4GHnb2?ICymLuYHvV=qst2;=CoWcMkXfze6^vxxgq7>g;n+HAH%W?`qf6h zQ>LAP>DZpeRp>8tzY$g;tYLHiqjyTpRwzaF=`rcr;c*7ssr7FN(g2=s<|p7dQ9_tE z(_l6k1I$F4QxPyn_ffHSzF;Ur_Wbw1u}!{V>XaW0@aGxsb-Xu}Jw1!k_+B6|{PO*Xwl+r2~D4{z`|7Z8yjGp6V2abPD-J(|99Z|2M1pCkpsIr(OF`N1ewBYqP?MD7lg4AzPt%zHI z$Uis!w#jGD)=u%B#|ot#rODEs5)M}7XqF+KPc)3NS^UK4Wn{|cbnW{Ky%nb6)A(*) zH@jb(=s47G);z<#5fcGv&Wut}j+d5ytkq-IBTJlok%Au@gc5_>Zot)#&Ca6UOiz&Z zrIWj*0X!k~OqllN$^1CS_V!e)WP6(W_V@_%_k)mJzC*~y^34rSZoohz^;b`*{e8t^ zqeb(-hu$&WRQNmPE;!=JcUBnkz!!+i46Ik&H1mOOu*VeIiQNK7Q4s^>l>N~fGKuEa2h+UMYyU(p7Em0zKYLQMLV?cjO&!9? zO*`U!@PI^Q0cqnoQDQL4i5|f=vyMTku94{eU>D=BiRswCJ}?^kv-BsfyOtol|MKSg zPxb3J=xVB}(QBpAKjVMF#C;MgF2l#&K)%(n1AiA)c2sabY-7{?tb}YX-T_#~INO1} zp|_Q8-$ryBD+Q){PF&=>YEsJOCLf5FCRYYXWcRK%TO);syaYfncs4)t^vJ83u?*Fa zr8-iIHK8$E_)2e{(3SfYz0_+>{SAQDeWjNSx&0zPaqA$~889cmj-|2lAxE&=H=3Tb zf9G~kx!3uTNFtUk!4S6+i$`uEizv()ruOslRt1R_Ko3en?SUhGWIvu-|LnRP0!cxp+PK?t2sf{<3VbAJO zDNMo+RLaAfWA0AwOv|mEL*p + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/material_maker/theme/new_theme_icons.svg.import b/material_maker/theme/new_theme_icons.svg.import new file mode 100644 index 000000000..15ca4e2d2 --- /dev/null +++ b/material_maker/theme/new_theme_icons.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://71dq6l67irh5" +path="res://.godot/imported/new_theme_icons.svg-311b4b29e327a617fca12fcb13bb842e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://material_maker/theme/new_theme_icons.svg" +dest_files=["res://.godot/imported/new_theme_icons.svg-311b4b29e327a617fca12fcb13bb842e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/material_maker/widgets/float_edit/float_edit.gd b/material_maker/widgets/float_edit/float_edit.gd index d218f2278..525e21af0 100644 --- a/material_maker/widgets/float_edit/float_edit.gd +++ b/material_maker/widgets/float_edit/float_edit.gd @@ -2,6 +2,8 @@ extends Container var float_value: float = 0.5 @export var value: float = 0.5 : + get: + return float_value set(new_value): set_value(new_value) @@ -29,7 +31,6 @@ var _step_decimals := 2 var start_position: float var last_position: float var start_value: float -var modifiers: int var from_lower_bound: bool = false var from_upper_bound: bool = false var actually_dragging: bool = false @@ -37,7 +38,7 @@ var actually_dragging: bool = false signal value_changed(value) signal value_changed_undo(value, merge_undo) -enum Modes {IDLE, SLIDING, EDITING} +enum Modes {IDLE, SLIDING, EDITING, UNEDITABLE} var mode := Modes.IDLE: set(m): mode = m @@ -55,6 +56,15 @@ var mode := Modes.IDLE: $Edit.mouse_filter = MOUSE_FILTER_IGNORE update() +var editable := true: + set(val): + if val: + mode = Modes.UNEDITABLE + else: + mode = Modes.IDLE + get: + return mode != Modes.UNEDITABLE + func get_value() -> Variant: if $Edit.text.is_valid_float(): @@ -101,17 +111,6 @@ func set_value_from_expression_editor(v: String) -> void: set_value(v, true) -func get_modifiers(event:InputEvent) -> int: - var new_modifiers = 0 - if event.shift_pressed: - new_modifiers |= 1 - if event.is_command_or_control_pressed(): - new_modifiers |= 2 - if event.alt_pressed: - new_modifiers |= 4 - return new_modifiers - - func _input(event:InputEvent) -> void: if not Rect2(Vector2(), size).has_point(get_local_mouse_position()): return @@ -137,7 +136,6 @@ func _gui_input(event: InputEvent) -> void: from_lower_bound = float_value <= min_value from_upper_bound = float_value >= max_value actually_dragging = false - modifiers = get_modifiers(event) $Edit.grab_focus() if event.is_action("ui_accept") and event.pressed: diff --git a/material_maker/widgets/lattice_edit/lattice_editor.tscn b/material_maker/widgets/lattice_edit/lattice_editor.tscn index bc3295d9c..0287086d6 100644 --- a/material_maker/widgets/lattice_edit/lattice_editor.tscn +++ b/material_maker/widgets/lattice_edit/lattice_editor.tscn @@ -23,6 +23,7 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +mouse_filter = 2 [node name="LatticeMenu" type="PanelContainer" parent="." index="1"] layout_mode = 0 @@ -32,6 +33,7 @@ theme_type_variation = &"MM_PanelMenuBar" [node name="HBox" type="HBoxContainer" parent="LatticeMenu" index="0"] layout_mode = 2 +theme_type_variation = &"MM_PanelMenuBar" [node name="Label" type="Label" parent="LatticeMenu/HBox" index="0"] layout_mode = 2 diff --git a/material_maker/widgets/pixels_edit/pixels_editor.gd b/material_maker/widgets/pixels_edit/pixels_editor.gd index c397e863f..5048eb42b 100644 --- a/material_maker/widgets/pixels_edit/pixels_editor.gd +++ b/material_maker/widgets/pixels_edit/pixels_editor.gd @@ -38,6 +38,8 @@ func update_color_buttons() -> void: while colors.get_child_count() < palette_size: var color_button : ColorPickerButton = ColorPickerButton.new() color_button.custom_minimum_size = Vector2i(25, 25) + color_button.theme_type_variation = "MM_PanelMenuButton" + color_button.tooltip_text = "Click to select; Right click to change color" color_button.toggle_mode = true color_button.button_mask = MOUSE_BUTTON_MASK_RIGHT colors.add_child(color_button) @@ -48,7 +50,7 @@ func update_color_buttons() -> void: colors.get_child(ci).color = pixels.palette[ci] if current_color < 0 or current_color >= palette_size: current_color = 0 - #colors.get_child(current_color).set_focus() = + func set_current_color(c : int) -> void: current_color = c diff --git a/material_maker/widgets/pixels_edit/pixels_editor.tscn b/material_maker/widgets/pixels_edit/pixels_editor.tscn index 0eb472162..f86445dba 100644 --- a/material_maker/widgets/pixels_edit/pixels_editor.tscn +++ b/material_maker/widgets/pixels_edit/pixels_editor.tscn @@ -2,14 +2,14 @@ [ext_resource type="PackedScene" uid="uid://yeaj0tj7b08i" path="res://material_maker/widgets/curve_edit/curve_view.tscn" id="1_07x6a"] [ext_resource type="Script" path="res://material_maker/widgets/pixels_edit/pixels_editor.gd" id="2_bpua1"] -[ext_resource type="Texture2D" uid="uid://cvorvnes6fiq7" path="res://material_maker/icons/icons.svg" id="3_hp3rp"] +[ext_resource type="Texture2D" uid="uid://dnyj2y655qc1o" path="res://material_maker/theme/new_theme_icons.png" id="3_pl73b"] [ext_resource type="Script" path="res://material_maker/panels/common/menu_bar_button_with_panel.gd" id="4_xknkb"] [ext_resource type="PackedScene" uid="uid://rflulhsuy3ax" path="res://material_maker/widgets/float_edit/float_edit.tscn" id="4_ymoey"] [ext_resource type="Script" path="res://material_maker/widgets/pixels_edit/settings_panel.gd" id="5_t0t7h"] -[sub_resource type="AtlasTexture" id="AtlasTexture_01pt6"] -atlas = ExtResource("3_hp3rp") -region = Rect2(0, 0, 16, 16) +[sub_resource type="AtlasTexture" id="AtlasTexture_4fnpr"] +atlas = ExtResource("3_pl73b") +region = Rect2(32, 0, 16, 16) [node name="PixelsEditor" instance=ExtResource("1_07x6a")] offset_left = 0.0 @@ -32,14 +32,15 @@ theme_type_variation = &"MM_PanelMenuBar" [node name="UI" type="HBoxContainer" parent="PixelMenu" index="0"] layout_mode = 2 +theme_type_variation = &"MM_PanelMenuBar" [node name="PixelSettings" type="Button" parent="PixelMenu/UI" index="0"] -custom_minimum_size = Vector2(25, 25) +custom_minimum_size = Vector2(40, 25) layout_mode = 2 +tooltip_text = "Pixel Settings" theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true -icon = SubResource("AtlasTexture_01pt6") -icon_alignment = 1 +icon = SubResource("AtlasTexture_4fnpr") script = ExtResource("4_xknkb") [node name="SettingsPanel" type="PanelContainer" parent="PixelMenu/UI/PixelSettings" index="0"] diff --git a/material_maker/widgets/splines_edit/splines_editor.tscn b/material_maker/widgets/splines_edit/splines_editor.tscn index 4636bd3ac..2481f263d 100644 --- a/material_maker/widgets/splines_edit/splines_editor.tscn +++ b/material_maker/widgets/splines_edit/splines_editor.tscn @@ -1,24 +1,41 @@ -[gd_scene load_steps=13 format=3 uid="uid://b08bcbwwosrrk"] +[gd_scene load_steps=14 format=3 uid="uid://b08bcbwwosrrk"] [ext_resource type="PackedScene" uid="uid://yeaj0tj7b08i" path="res://material_maker/widgets/curve_edit/curve_view.tscn" id="1_a4o1g"] [ext_resource type="Script" path="res://material_maker/widgets/splines_edit/splines_editor.gd" id="2_tepru"] -[ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="3_lfcdr"] +[ext_resource type="Texture2D" uid="uid://dnyj2y655qc1o" path="res://material_maker/theme/new_theme_icons.png" id="3_nl1x0"] [ext_resource type="PackedScene" uid="uid://rflulhsuy3ax" path="res://material_maker/widgets/float_edit/float_edit.tscn" id="4_2po4g"] -[ext_resource type="Texture2D" uid="uid://d044i7mtagf51" path="res://material_maker/theme/dark/sb_vscrollbar_grabber_highlight_texture.png" id="5_o8gcm"] -[ext_resource type="Texture2D" uid="uid://r18qvh06tu10" path="res://material_maker/theme/dark/vslider_grabber.png" id="6_bja86"] -[ext_resource type="Texture2D" uid="uid://lgj5c6kuqwit" path="res://material_maker/theme/dark/windowdialog_close.png" id="6_vsfaf"] -[ext_resource type="Texture2D" uid="uid://2dheuv4p0d2d" path="res://material_maker/theme/dark/tabcontainer_increment_highlight.png" id="7_vr6t5"] -[ext_resource type="Texture2D" uid="uid://dysx1qjceb1od" path="res://material_maker/theme/dark/optionbutton_arrow.png" id="8_olqcj"] [sub_resource type="ButtonGroup" id="ButtonGroup_w4n15"] -[sub_resource type="AtlasTexture" id="AtlasTexture_b45mn"] -atlas = ExtResource("3_lfcdr") -region = Rect2(192, 96, 16, 16) +[sub_resource type="AtlasTexture" id="AtlasTexture_km108"] +atlas = ExtResource("3_nl1x0") +region = Rect2(64, 0, 16, 16) -[sub_resource type="AtlasTexture" id="AtlasTexture_3lo2j"] -atlas = ExtResource("3_lfcdr") -region = Rect2(176, 96, 16, 16) +[sub_resource type="AtlasTexture" id="AtlasTexture_v6wki"] +atlas = ExtResource("3_nl1x0") +region = Rect2(80, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ofrl2"] +atlas = ExtResource("3_nl1x0") +region = Rect2(32, 16, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6siad"] +atlas = ExtResource("3_nl1x0") +region = Rect2(48, 16, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8xl33"] +atlas = ExtResource("3_nl1x0") +region = Rect2(64, 16, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l8ytc"] +atlas = ExtResource("3_nl1x0") +region = Rect2(80, 16, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_koac8"] +atlas = ExtResource("3_nl1x0") +region = Rect2(96, 16, 16, 16) + +[sub_resource type="Curve2D" id="Curve2D_koywa"] [node name="SplinesEditor" instance=ExtResource("1_a4o1g")] offset_left = 0.0 @@ -47,6 +64,7 @@ theme_type_variation = &"MM_PanelMenuBar" [node name="HBox" type="HBoxContainer" parent="SplinesMenu" index="0"] layout_mode = 2 +theme_type_variation = &"MM_PanelMenuBar" [node name="DrawMode" type="Button" parent="SplinesMenu/HBox" index="0"] unique_name_in_owner = true @@ -57,8 +75,7 @@ theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true button_pressed = true button_group = SubResource("ButtonGroup_w4n15") -icon = ExtResource("5_o8gcm") -icon_alignment = 1 +icon = SubResource("AtlasTexture_km108") [node name="SelectMode" type="Button" parent="SplinesMenu/HBox" index="1"] unique_name_in_owner = true @@ -68,8 +85,7 @@ tooltip_text = "Select" theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true button_group = SubResource("ButtonGroup_w4n15") -icon = ExtResource("6_bja86") -icon_alignment = 1 +icon = SubResource("AtlasTexture_v6wki") [node name="VSeparator" type="VSeparator" parent="SplinesMenu/HBox" index="2"] layout_mode = 2 @@ -80,24 +96,21 @@ custom_minimum_size = Vector2(25, 25) layout_mode = 2 tooltip_text = "Delete Point" theme_type_variation = &"MM_PanelMenuButton" -icon = ExtResource("6_vsfaf") -icon_alignment = 1 +icon = SubResource("AtlasTexture_ofrl2") [node name="UnlinkControlPoints" type="Button" parent="SplinesMenu/HBox" index="4"] custom_minimum_size = Vector2(25, 25) layout_mode = 2 tooltip_text = "Unlink Points" theme_type_variation = &"MM_PanelMenuButton" -icon = SubResource("AtlasTexture_b45mn") -icon_alignment = 1 +icon = SubResource("AtlasTexture_6siad") [node name="LinkControlPoints" type="Button" parent="SplinesMenu/HBox" index="5"] custom_minimum_size = Vector2(25, 25) layout_mode = 2 tooltip_text = "Link Points" theme_type_variation = &"MM_PanelMenuButton" -icon = SubResource("AtlasTexture_3lo2j") -icon_alignment = 1 +icon = SubResource("AtlasTexture_8xl33") [node name="VSeparator2" type="VSeparator" parent="SplinesMenu/HBox" index="6"] layout_mode = 2 @@ -107,16 +120,16 @@ theme_type_variation = &"MM_PanelMenuSeparator" custom_minimum_size = Vector2(25, 25) layout_mode = 2 tooltip_text = "Progressive" +theme_type_variation = &"MM_PanelMenuButton" toggle_mode = true -icon = ExtResource("7_vr6t5") -icon_alignment = 1 +icon = SubResource("AtlasTexture_l8ytc") [node name="ReverseSelection" type="Button" parent="SplinesMenu/HBox" index="8"] custom_minimum_size = Vector2(25, 25) layout_mode = 2 tooltip_text = "Reverse Order" -icon = ExtResource("8_olqcj") -icon_alignment = 1 +theme_type_variation = &"MM_PanelMenuButton" +icon = SubResource("AtlasTexture_koac8") [node name="WidthLabel" type="Label" parent="SplinesMenu/HBox" index="9"] layout_mode = 2 @@ -125,10 +138,14 @@ text = "Width:" [node name="Width" parent="SplinesMenu/HBox" index="10" instance=ExtResource("4_2po4g")] layout_mode = 2 +theme_type_variation = &"MM_PanelMenuFloatEdit" value = 0.05 max_value = 0.2 float_only = true +[node name="Path2D" type="Path2D" parent="SplinesMenu/HBox/Width" index="2"] +curve = SubResource("Curve2D_koywa") + [node name="OffsetLabel" type="Label" parent="SplinesMenu/HBox" index="11"] layout_mode = 2 theme_type_variation = &"MM_NodePropertyLabel" @@ -136,6 +153,7 @@ text = "Offset:" [node name="Offset" parent="SplinesMenu/HBox" index="12" instance=ExtResource("4_2po4g")] layout_mode = 2 +theme_type_variation = &"MM_PanelMenuFloatEdit" value = 0.0 max_value = 10.0 step = 0.01 From c205b706d1e033faf8d5ecf451dd91aacd88b50a Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Wed, 4 Sep 2024 11:01:03 +0200 Subject: [PATCH 16/24] Small cleanup/fixes --- material_maker/nodes/generic/generic.gd | 2 +- .../panels/preview_2d/preview_2d.gd | 39 +++++++++---------- .../windows/sdf_builder/preview_3d.gd | 2 +- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/material_maker/nodes/generic/generic.gd b/material_maker/nodes/generic/generic.gd index 40a20d428..ceb78eb74 100644 --- a/material_maker/nodes/generic/generic.gd +++ b/material_maker/nodes/generic/generic.gd @@ -584,7 +584,7 @@ func update_node() -> void: func load_generator() -> void: var dialog = preload("res://material_maker/windows/file_dialog/file_dialog.tscn").instantiate() - dialog.custom_minimum_size = Vector2(500, 500) + dialog.min_size = Vector2(500, 500) dialog.access = FileDialog.ACCESS_FILESYSTEM dialog.file_mode = FileDialog.FILE_MODE_OPEN_FILE dialog.add_filter("*.mmg;Material Maker Generator") diff --git a/material_maker/panels/preview_2d/preview_2d.gd b/material_maker/panels/preview_2d/preview_2d.gd index 7687517e1..50415938b 100644 --- a/material_maker/panels/preview_2d/preview_2d.gd +++ b/material_maker/panels/preview_2d/preview_2d.gd @@ -76,10 +76,7 @@ func set_generator(g : MMGenBase, o : int = 0, force : bool = false) -> void: source = MMGenBase.get_default_generated_shader() else: generator = null - #if get_node_or_null("ContextMenu") != null: - #var item_index = $ContextMenu.get_item_index(MENU_EXPORT_ANIMATION) - #if item_index != -1: - #$ContextMenu.set_item_disabled(item_index, !is_instance_valid(g)) + generator_changed.emit() update_material(source) @@ -112,23 +109,23 @@ func on_dep_update_value(_buffer_name, parameter_name, value) -> bool: func on_resized() -> void: material.set_shader_parameter("preview_2d_size", size) -func export_again() -> void: - if last_export_filename == "": - return - var filename = last_export_filename - var extension = filename.get_extension() - var regex : RegEx = RegEx.new() - regex.compile("(.*)_(\\d+)$") - var re_match : RegExMatch = regex.search(filename.get_basename()) - if re_match != null: - var value = re_match.strings[2].to_int() - var value_length = re_match.strings[2].length() - while true: - value += 1 - filename = "%s_%0*d.%s" % [ re_match.strings[1], value_length, value, extension ] - if ! FileAccess.file_exists(filename): - break - export_as_image_file(filename, last_export_size) +#func export_again() -> void: + #if last_export_filename == "": + #return + #var filename = last_export_filename + #var extension = filename.get_extension() + #var regex : RegEx = RegEx.new() + #regex.compile("(.*)_(\\d+)$") + #var re_match : RegExMatch = regex.search(filename.get_basename()) + #if re_match != null: + #var value = re_match.strings[2].to_int() + #var value_length = re_match.strings[2].length() + #while true: + #value += 1 + #filename = "%s_%0*d.%s" % [ re_match.strings[1], value_length, value, extension ] + #if ! FileAccess.file_exists(filename): + #break + #export_as_image_file(filename, last_export_size) func export_animation() -> void: if generator == null: diff --git a/material_maker/windows/sdf_builder/preview_3d.gd b/material_maker/windows/sdf_builder/preview_3d.gd index db46d0065..2801a2818 100644 --- a/material_maker/windows/sdf_builder/preview_3d.gd +++ b/material_maker/windows/sdf_builder/preview_3d.gd @@ -52,7 +52,7 @@ func set_generator(g : MMGenBase, o : int = 0, force : bool = false) -> void: variables.COLOR_FCT = node_prefix+"_c" variables.INDEX_UNIFORM = "p_"+node_prefix+"_index" var shader_code : String = mm_preprocessor.preprocess_file("res://material_maker/windows/sdf_builder/preview_3d.gdshader", variables) - material = mm_deps.buffer_create_shader_material("preview_"+str(get_instance_id()), MMShaderMaterial.new(material), shader_code) + material = await mm_deps.buffer_create_shader_material("preview_"+str(get_instance_id()), MMShaderMaterial.new(material), shader_code) for u in source.uniforms: if u.value: material.set_shader_parameter(u.name, u.value) From 0d515352d9f42b879d9c26a1e0e070456d5cbf49 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Wed, 4 Sep 2024 11:39:12 +0200 Subject: [PATCH 17/24] Cleanup + Small fixes Makes sure Preview-Controls get cleared when node get's deleted. Removes old export code. Makes default fallback shader transparent instead of black. --- .../material_maker/engine/nodes/gen_base.gd | 4 +- .../panels/preview_2d/preview_2d.gd | 47 +------------------ .../panels/preview_2d/preview_2d_panel.gd | 5 ++ 3 files changed, 8 insertions(+), 48 deletions(-) diff --git a/addons/material_maker/engine/nodes/gen_base.gd b/addons/material_maker/engine/nodes/gen_base.gd index 9e2b6ae5e..3aada88e7 100644 --- a/addons/material_maker/engine/nodes/gen_base.gd +++ b/addons/material_maker/engine/nodes/gen_base.gd @@ -201,10 +201,10 @@ func _ready() -> void: static func get_default_generated_shader() -> ShaderCode: var rv : ShaderCode = ShaderCode.new() - rv.output_type = "f" + rv.output_type = "rgba" rv.output_values.f = "0.0" rv.output_values.rgb = "vec3(0.0)" - rv.output_values.rgba = "vec4(0.0, 0.0, 0.0, 1.0)" + rv.output_values.rgba = "vec4(0.0, 0.0, 0.0, 0.0)" return rv func _post_load() -> void: diff --git a/material_maker/panels/preview_2d/preview_2d.gd b/material_maker/panels/preview_2d/preview_2d.gd index 50415938b..af864ca0b 100644 --- a/material_maker/panels/preview_2d/preview_2d.gd +++ b/material_maker/panels/preview_2d/preview_2d.gd @@ -13,11 +13,6 @@ var last_export_filename : String = "" var last_export_size = 4 -const MENU_EXPORT_AGAIN : int = 1000 -const MENU_EXPORT_ANIMATION : int = 1001 -const MENU_EXPORT_TAA_RENDER : int = 1002 -const MENU_EXPORT_CUSTOM_SIZE : int = 1003 - signal generator_changed func _enter_tree(): @@ -109,24 +104,6 @@ func on_dep_update_value(_buffer_name, parameter_name, value) -> bool: func on_resized() -> void: material.set_shader_parameter("preview_2d_size", size) -#func export_again() -> void: - #if last_export_filename == "": - #return - #var filename = last_export_filename - #var extension = filename.get_extension() - #var regex : RegEx = RegEx.new() - #regex.compile("(.*)_(\\d+)$") - #var re_match : RegExMatch = regex.search(filename.get_basename()) - #if re_match != null: - #var value = re_match.strings[2].to_int() - #var value_length = re_match.strings[2].length() - #while true: - #value += 1 - #filename = "%s_%0*d.%s" % [ re_match.strings[1], value_length, value, extension ] - #if ! FileAccess.file_exists(filename): - #break - #export_as_image_file(filename, last_export_size) - func export_animation() -> void: if generator == null: return @@ -144,29 +121,6 @@ func export_taa() -> void: window.set_source(generator, output) window.popup_centered() -func _on_Export_id_pressed(id : int) -> void: - var export_size - if id == MENU_EXPORT_CUSTOM_SIZE: - var custom_size_dialog = load("res://material_maker/panels/preview_2d/custom_size_dialog.tscn").instantiate() - mm_globals.main_window.add_dialog(custom_size_dialog) - export_size = await custom_size_dialog.ask() - if ! export_size.has("size"): - return - export_size = export_size.size - else: - export_size = 64 << id - var file_dialog = preload("res://material_maker/windows/file_dialog/file_dialog.tscn").instantiate() - file_dialog.min_size = Vector2(500, 500) - file_dialog.access = FileDialog.ACCESS_FILESYSTEM - file_dialog.file_mode = FileDialog.FILE_MODE_SAVE_FILE - file_dialog.add_filter("*.png;PNG image file") - file_dialog.add_filter("*.exr;EXR image file") - if mm_globals.config.has_section_key("path", "save_preview"): - file_dialog.current_dir = mm_globals.config.get_value("path", "save_preview") - var files = await file_dialog.select_files() - if files.size() == 1: - # TODO: fix custom export size here - export_as_image_file(files[0], 64 << id) func create_image(renderer_function : String, params : Array, image_size : int) -> void: var source = MMGenBase.get_default_generated_shader() @@ -199,6 +153,7 @@ func export_to_reference(resolution_id : int): await create_image("copy_to_texture", [ texture ], 64 << resolution_id) mm_globals.main_window.get_panel("Reference").add_reference(texture) + func _on_Preview2D_visibility_changed(): if need_generate and is_visible_in_tree(): set_generator(generator, output, true) diff --git a/material_maker/panels/preview_2d/preview_2d_panel.gd b/material_maker/panels/preview_2d/preview_2d_panel.gd index 22ecd7a2a..3340b6374 100644 --- a/material_maker/panels/preview_2d/preview_2d_panel.gd +++ b/material_maker/panels/preview_2d/preview_2d_panel.gd @@ -129,14 +129,19 @@ func setup_controls(filter : String = "") -> void: for e in [ $PolygonEditor, $SplinesEditor, $PixelsEditor, $LatticeEditor ]: e.setup_control(generator, edited_parameter) else: + for c in get_children(): + if c.has_method("setup_control"): + c.setup_control(null, []) for e in [ $PolygonEditor, $SplinesEditor, $PixelsEditor, $LatticeEditor ]: e.setup_control(null, []) + func _on_complex_parameters_item_selected(index): var parameter = $ComplexParameters.get_item_metadata(index) for e in [ $PolygonEditor, $SplinesEditor, $PixelsEditor, $LatticeEditor ]: e.setup_control(generator, [ parameter ]) + var center_transform : Transform2D = Transform2D(0, Vector2(0.0, 0.0)) var local_rotate : float = 0.0 var local_scale : float = 1.0 From 05f50e1d38a604579a10a0a9fbb44370cb8dd87d Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Wed, 4 Sep 2024 11:44:17 +0200 Subject: [PATCH 18/24] Fix Lock Icon --- .../panels/preview_2d/preview_2d_panel.tscn | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/material_maker/panels/preview_2d/preview_2d_panel.tscn b/material_maker/panels/preview_2d/preview_2d_panel.tscn index 135727f5e..be0d7d85e 100644 --- a/material_maker/panels/preview_2d/preview_2d_panel.tscn +++ b/material_maker/panels/preview_2d/preview_2d_panel.tscn @@ -17,8 +17,6 @@ [ext_resource type="Script" path="res://material_maker/panels/preview_2d/export_menu.gd" id="16_0fl4g"] [ext_resource type="Script" path="res://material_maker/panels/preview_2d/two_icon_toggle_button.gd" id="17_07kc5"] [ext_resource type="FontFile" uid="uid://dgkwr5jydtk6p" path="res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf" id="18_kn37y"] -[ext_resource type="Texture2D" uid="uid://chdyfit4rv7ss" path="res://material_maker/theme/dark/curve_preset_bounce.tres" id="20_t88qf"] -[ext_resource type="Texture2D" uid="uid://cwoby8q4quah3" path="res://material_maker/theme/dark/curve_preset_bevel.tres" id="21_eie3q"] [sub_resource type="Shader" id="Shader_0mwcg"] resource_local_to_scene = true @@ -102,6 +100,14 @@ keycode = 69 [sub_resource type="Shortcut" id="Shortcut_llf02"] events = [SubResource("InputEventKey_rhw4u")] +[sub_resource type="AtlasTexture" id="AtlasTexture_khhtg"] +atlas = ExtResource("10_l6r53") +region = Rect2(96, 80, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nstr1"] +atlas = ExtResource("10_l6r53") +region = Rect2(80, 80, 16, 16) + [node name="Preview2D" instance=ExtResource("3")] material = SubResource("2") custom_minimum_size = Vector2(100, 100) @@ -680,8 +686,8 @@ tooltip_text = "Lock this preview" toggle_mode = true icon_alignment = 1 script = ExtResource("17_07kc5") -icon_normal = ExtResource("20_t88qf") -icon_pressed = ExtResource("21_eie3q") +icon_normal = SubResource("AtlasTexture_khhtg") +icon_pressed = SubResource("AtlasTexture_nstr1") [connection signal="gui_input" from="." to="." method="_on_gui_input"] [connection signal="mouse_entered" from="." to="." method="_on_Preview2D_mouse_entered"] From 621d4aaff8d828cf8d577369ca1a8647b5a0920f Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Wed, 4 Sep 2024 16:16:47 +0200 Subject: [PATCH 19/24] Initial version of enhanced theme --- material_maker/main_window.gd | 7 +- material_maker/main_window.tscn | 11 +- .../theme/enhanced_theme_system/color_swap.gd | 17 + .../enhanced_theme_system/enhanced_theme.gd | 168 ++ material_maker/theme/new_theme_icons.svg | 38 +- .../theme/new_theme_icons_clean.svg | 2405 +++++++++++++++++ .../theme/new_theme_icons_clean.svg.import | 37 + 7 files changed, 2660 insertions(+), 23 deletions(-) create mode 100644 material_maker/theme/enhanced_theme_system/color_swap.gd create mode 100644 material_maker/theme/enhanced_theme_system/enhanced_theme.gd create mode 100644 material_maker/theme/new_theme_icons_clean.svg create mode 100644 material_maker/theme/new_theme_icons_clean.svg.import diff --git a/material_maker/main_window.gd b/material_maker/main_window.gd index b93e1b845..32d67ab0a 100644 --- a/material_maker/main_window.gd +++ b/material_maker/main_window.gd @@ -286,7 +286,9 @@ func on_config_changed() -> void: # If scale is set to 0 (auto), scale everything if the display requires it (crude hiDPI support). # This prevents UI elements from being too small on hiDPI displays. ui_scale = 2 if DisplayServer.screen_get_dpi() >= 192 and DisplayServer.screen_get_size().x >= 2048 else 1 - get_viewport().content_scale_factor = ui_scale + theme.scale = ui_scale + theme.update(self) + #get_viewport().content_scale_factor = ui_scale #ProjectSettings.set_setting("display/window/stretch/scale", scale) # Clamp to reasonable values to avoid crashes on startup. @@ -470,7 +472,8 @@ func create_menu_set_theme(menu : MMMenuManager.MenuBase) -> void: menu.connect_id_pressed(self._on_SetTheme_id_pressed) func change_theme(theme_name) -> void: - theme = load("res://material_maker/theme/"+theme_name+".tres") + theme.base_theme = load("res://material_maker/theme/"+theme_name+".tres") + theme.update(self) $NodeFactory.on_theme_changed() func _on_SetTheme_id_pressed(id) -> void: diff --git a/material_maker/main_window.tscn b/material_maker/main_window.tscn index 889f9cae5..81a39844b 100644 --- a/material_maker/main_window.tscn +++ b/material_maker/main_window.tscn @@ -1,20 +1,25 @@ -[gd_scene load_steps=20 format=3 uid="uid://cgfeik04a5qqs"] +[gd_scene load_steps=21 format=3 uid="uid://cgfeik04a5qqs"] [ext_resource type="Script" path="res://material_maker/main_window.gd" id="1"] [ext_resource type="Script" path="res://material_maker/main_window_layout.gd" id="2"] +[ext_resource type="Script" path="res://material_maker/theme/enhanced_theme_system/enhanced_theme.gd" id="2_k42x1"] [ext_resource type="PackedScene" uid="uid://eiq3i53x72m2" path="res://addons/flexible_layout/flexible_layout.tscn" id="6_ygla4"] [ext_resource type="PackedScene" uid="uid://clw8sb0p8webl" path="res://material_maker/windows/add_node_popup/add_node_popup.tscn" id="7"] [ext_resource type="PackedScene" uid="uid://bnqq3vhwmudkw" path="res://material_maker/projects_panel.tscn" id="7_ih0ps"] [ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="8"] [ext_resource type="Script" path="res://material_maker/console.gd" id="8_1tb00"] [ext_resource type="Script" path="res://material_maker/node_factory.gd" id="9"] -[ext_resource type="Theme" uid="uid://3f6cl7v1oyqo" path="res://material_maker/theme/default.tres" id="10"] [ext_resource type="PackedScene" uid="uid://cp2mbbfmrv6sf" path="res://material_maker/widgets/render_counter/render_counter.tscn" id="11"] [ext_resource type="PackedScene" uid="uid://dnttargjmhjh8" path="res://material_maker/tools/share/share_button.tscn" id="12"] [ext_resource type="PackedScene" uid="uid://dmyq6xxfx88m0" path="res://material_maker/tools/environment_manager/environment_manager.tscn" id="13"] [ext_resource type="Script" path="res://material_maker/tools/library_manager/library_manager.gd" id="14"] [ext_resource type="Texture2D" path="res://material_maker/icons/paste_none.tres" id="15"] +[sub_resource type="Theme" id="Theme_iekvw"] +script = ExtResource("2_k42x1") +scale = 1.0 +icon_color_swaps = [] + [sub_resource type="GDScript" id="6"] script/source = "extends Label @@ -104,7 +109,7 @@ grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -theme = ExtResource("10") +theme = SubResource("Theme_iekvw") theme_type_variation = &"MM_MainBackground" script = ExtResource("1") diff --git a/material_maker/theme/enhanced_theme_system/color_swap.gd b/material_maker/theme/enhanced_theme_system/color_swap.gd new file mode 100644 index 000000000..41e03d3d2 --- /dev/null +++ b/material_maker/theme/enhanced_theme_system/color_swap.gd @@ -0,0 +1,17 @@ +class_name ColorSwap +extends Resource + +@export var orig := Color(): + set(val): + orig = val + emit_changed() + +@export var target := Color(): + set(val): + target = val + emit_changed() + + +func _init(_orig:=Color(), _target:=Color()): + orig = _orig + target = _target diff --git a/material_maker/theme/enhanced_theme_system/enhanced_theme.gd b/material_maker/theme/enhanced_theme_system/enhanced_theme.gd new file mode 100644 index 000000000..5cde64927 --- /dev/null +++ b/material_maker/theme/enhanced_theme_system/enhanced_theme.gd @@ -0,0 +1,168 @@ +@tool +extends Theme +class_name EnhancedTheme + + +@export var base_theme: Theme: + set(val): + if base_theme != val: + if base_theme: + base_theme.changed.disconnect(update) + if val: + val.changed.connect(update) + base_theme = val + #queue_update() + +@export var scale: float = 1.0: + set(val): + scale = val + #queue_update() + + +@export_custom(PROPERTY_HINT_ARRAY_TYPE, "ColorSwap") var icon_color_swaps := []: + set(val): + icon_color_swaps = val + #queue_update() + + +var owned_properties := ["base_theme", "scale", "icon_color_swaps", "resource_path", "name", "owned_properties"] +var updating := false + +var update_queued := false +# +#func _init() -> void: + #clear() + #update() + +# +#func queue_update(): + #if update_queued: + #return + #update_queued = true + #await Engine.get_main_loop().create_timer(0.5).timeout + #update() + #update_queued = false + + +func update(at:Node=null) -> void: + if updating: + return + + if not base_theme: + clear() + return + + if at: + at.theme = null + + updating = true + print("THEME UPDATE") + + clear() + + for i in base_theme.get_property_list(): + if not i.name.begins_with("resource_") and i.usage & PROPERTY_USAGE_EDITOR and i.name != "script": + var val: Variant = base_theme.get(i.name) + if val is Resource: + if val is AtlasTexture and get(i.name) is AtlasTexture: + val = get(i.name) + else: + val = val.duplicate() + set(i.name, val) + + ## FONT SIZE + for type in get_font_size_type_list(): + for font_size_name in get_font_size_list(type): + set_font_size(font_size_name, type, base_theme.get_font_size(font_size_name, type) * scale) + + default_font_size = base_theme.default_font_size * scale + + ## STYLEBOXES + for type in get_stylebox_type_list(): + for stylebox_name in get_stylebox_list(type): + var base := base_theme.get_stylebox(stylebox_name, type) + var this := get_stylebox(stylebox_name, type) + this.content_margin_left = base.content_margin_left * scale + this.content_margin_top = base.content_margin_top * scale + this.content_margin_right = base.content_margin_right * scale + this.content_margin_bottom = base.content_margin_bottom * scale + + if "expand_margin_top" in base: + this.expand_margin_left = base.expand_margin_left * scale + this.expand_margin_top = base.expand_margin_top * scale + this.expand_margin_right = base.expand_margin_right * scale + this.expand_margin_bottom = base.expand_margin_bottom * scale + + if "corner_radius_top_left" in base: + this.corner_radius_top_left = base.corner_radius_top_left * scale + this.corner_radius_top_right = base.corner_radius_top_right * scale + this.corner_radius_bottom_right = base.corner_radius_bottom_right * scale + this.corner_radius_bottom_left = base.corner_radius_bottom_left * scale + + if "border_width_top" in base: + this.border_width_left = base.border_width_left * scale + this.border_width_top = base.border_width_top * scale + this.border_width_right = base.border_width_right * scale + this.border_width_bottom = base.border_width_bottom * scale + + ## SEPARATIONS + for type in get_constant_type_list(): + for constant_name in get_constant_list(type): + set_constant(constant_name, type, base_theme.get_constant(constant_name, type) * scale) + + ## ICONS + for type in get_icon_type_list(): + for icon_name in get_icon_list(type): + var base_texture := base_theme.get_icon(icon_name, type) + + var path := "" + if base_texture is not AtlasTexture or base_texture.atlas == null: + continue + elif base_texture.atlas.resource_path.ends_with("svg"): + path = base_texture.atlas.resource_path + else: + continue + + var texture: AtlasTexture = get_icon(icon_name, type) + + texture.atlas = get_dynamic_svg(path, scale, icon_color_swaps) + + var base_region: Rect2 = base_texture.region + texture.region.position = base_region.position * scale + + texture.region.size = base_region.size * scale + set_icon(icon_name, type, texture) + + emit_changed() + + updating = false + + if at: + at.theme = self + + +func get_dynamic_svg(image_path:String, image_scale:float, color_swaps : Array= []) -> ImageTexture: + var file := FileAccess.open(image_path, FileAccess.READ) + var file_text := file.get_as_text() + file.close() + + ##print(color_swaps) + var regex := RegEx.create_from_string(r"e-[86754]") + file_text = regex.sub(file_text, "", true) + + for swap in color_swaps: + if swap == null: + break + #print("replace ", swap.orig.to_html(), " with ", swap.target.to_html()) + file_text = file_text.replace(swap.orig.to_html(false), swap.target.to_html(false)) + + var img := Image.new() + img.load_svg_from_buffer(file_text.to_utf8_buffer(), image_scale) + + return ImageTexture.create_from_image(img) + + +func _validate_property(property: Dictionary) -> void: + if property.name.begins_with("default_") or "/" in property.name: + property.usage = PROPERTY_USAGE_INTERNAL + #print(property.name) diff --git a/material_maker/theme/new_theme_icons.svg b/material_maker/theme/new_theme_icons.svg index 3a1469903..f60de039f 100644 --- a/material_maker/theme/new_theme_icons.svg +++ b/material_maker/theme/new_theme_icons.svg @@ -28,15 +28,15 @@ inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" showgrid="true" - inkscape:zoom="15.999999" - inkscape:cx="45.406252" - inkscape:cy="14.625001" + inkscape:zoom="31.999999" + inkscape:cx="55.828128" + inkscape:cy="12.250001" inkscape:window-width="1920" inkscape:window-height="1017" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" - inkscape:current-layer="layer26"> + inkscape:current-layer="layer5"> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1538461,0,0,1.1538461,-3.7131909,-1.2307692)" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1538461,0,0,1.1538461,-3.7131909,-1.2307692)" /> @@ -2375,18 +2377,18 @@ id="layer2" inkscape:label="Export"> @@ -2397,7 +2399,7 @@ diff --git a/material_maker/theme/new_theme_icons_clean.svg b/material_maker/theme/new_theme_icons_clean.svg new file mode 100644 index 000000000..7c997cc03 --- /dev/null +++ b/material_maker/theme/new_theme_icons_clean.svg @@ -0,0 +1,2405 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/material_maker/theme/new_theme_icons_clean.svg.import b/material_maker/theme/new_theme_icons_clean.svg.import new file mode 100644 index 000000000..5dc17b9a4 --- /dev/null +++ b/material_maker/theme/new_theme_icons_clean.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dt7vewgd5yk0q" +path="res://.godot/imported/new_theme_icons_clean.svg-a654eaf2a4519bc3ee744e19fa65fb2e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://material_maker/theme/new_theme_icons_clean.svg" +dest_files=["res://.godot/imported/new_theme_icons_clean.svg-a654eaf2a4519bc3ee744e19fa65fb2e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false From 526a3f9658fb372193c0ff74b90f739545a44957 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Wed, 4 Sep 2024 19:46:37 +0200 Subject: [PATCH 20/24] Huge Improvements Mostly about icons and buttons, though lot's of magic numbers now also use ui_scale. --- addons/flexible_layout/flexible_tab.gd | 2 +- addons/flexible_layout/flexible_tab.tscn | 17 +- material_maker/globals.gd | 2 + material_maker/main_window.gd | 1 + material_maker/main_window.tscn | 16 +- material_maker/main_window_projects_panel.gd | 5 + material_maker/nodes/base.gd | 37 +- material_maker/nodes/generic/generic.gd | 44 +- material_maker/nodes/minimal.gd | 12 +- material_maker/nodes/node_button.gd | 15 +- material_maker/nodes/node_button.tscn | 8 +- .../common/menu_bar_button_with_panel.gd | 22 +- material_maker/panels/library/library.gd | 59 +- material_maker/panels/library/library.tscn | 7 +- material_maker/panels/library/library_tree.gd | 5 +- .../panels/preview_2d/preview_2d_panel.gd | 2 +- .../panels/preview_2d/preview_2d_panel.tscn | 16 +- .../preview_2d/two_icon_toggle_button.gd | 14 +- .../enhanced_theme_system/enhanced_theme.gd | 13 +- material_maker/theme/modern.tres | 159 +- material_maker/theme/new_theme_icons.svg | 656 ++++++- .../theme/new_theme_icons_clean.svg | 1738 ++++++----------- material_maker/tools/share/share_button.gd | 6 +- material_maker/tools/share/share_button.tscn | 24 +- material_maker/widgets/button_with_icon.gd | 8 + 25 files changed, 1608 insertions(+), 1280 deletions(-) create mode 100644 material_maker/widgets/button_with_icon.gd diff --git a/addons/flexible_layout/flexible_tab.gd b/addons/flexible_layout/flexible_tab.gd index b8ea24073..a5f2413d1 100644 --- a/addons/flexible_layout/flexible_tab.gd +++ b/addons/flexible_layout/flexible_tab.gd @@ -6,9 +6,9 @@ var updating : bool = false func _ready(): - $Container/Close.texture_normal = get_theme_icon("close", "TabBar") update() + func _notification(what): match what: NOTIFICATION_THEME_CHANGED: diff --git a/addons/flexible_layout/flexible_tab.tscn b/addons/flexible_layout/flexible_tab.tscn index a3d945c21..698fa2208 100644 --- a/addons/flexible_layout/flexible_tab.tscn +++ b/addons/flexible_layout/flexible_tab.tscn @@ -1,10 +1,7 @@ -[gd_scene load_steps=4 format=3 uid="uid://e06xegp2tp3f"] +[gd_scene load_steps=3 format=3 uid="uid://e06xegp2tp3f"] [ext_resource type="Script" path="res://addons/flexible_layout/flexible_tab.gd" id="1"] -[ext_resource type="Texture2D" uid="uid://xuy6dfh1rsne" path="res://addons/flexible_layout/undock.png" id="2_nx0qp"] - -[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_bok24"] -size = Vector2(16, 16) +[ext_resource type="Script" path="res://material_maker/widgets/button_with_icon.gd" id="2_6yi0e"] [node name="Tab" type="PanelContainer"] offset_right = 41.0 @@ -26,19 +23,21 @@ layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 -[node name="Undock" type="TextureButton" parent="Container"] +[node name="Undock" type="Button" parent="Container"] visible = false layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 -texture_normal = ExtResource("2_nx0qp") +script = ExtResource("2_6yi0e") +mm_icon = "Undock" -[node name="Close" type="TextureButton" parent="Container"] +[node name="Close" type="Button" parent="Container"] visible = false layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 -texture_normal = SubResource("PlaceholderTexture2D_bok24") +script = ExtResource("2_6yi0e") +mm_icon = "Cross" [connection signal="pressed" from="Container/Undock" to="." method="_on_undock_pressed"] [connection signal="pressed" from="Container/Close" to="." method="_on_close_pressed"] diff --git a/material_maker/globals.gd b/material_maker/globals.gd index 748d4a13a..2fb39db26 100644 --- a/material_maker/globals.gd +++ b/material_maker/globals.gd @@ -7,6 +7,8 @@ extends Node # warning-ignore:unused_class_variable var main_window +var ui_scale := 0.0 + var config : ConfigFile = ConfigFile.new() const DEFAULT_CONFIG : Dictionary = { locale = "", diff --git a/material_maker/main_window.gd b/material_maker/main_window.gd index 32d67ab0a..ba078bde7 100644 --- a/material_maker/main_window.gd +++ b/material_maker/main_window.gd @@ -286,6 +286,7 @@ func on_config_changed() -> void: # If scale is set to 0 (auto), scale everything if the display requires it (crude hiDPI support). # This prevents UI elements from being too small on hiDPI displays. ui_scale = 2 if DisplayServer.screen_get_dpi() >= 192 and DisplayServer.screen_get_size().x >= 2048 else 1 + mm_globals.ui_scale = ui_scale theme.scale = ui_scale theme.update(self) #get_viewport().content_scale_factor = ui_scale diff --git a/material_maker/main_window.tscn b/material_maker/main_window.tscn index 81a39844b..ac0a53085 100644 --- a/material_maker/main_window.tscn +++ b/material_maker/main_window.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=21 format=3 uid="uid://cgfeik04a5qqs"] +[gd_scene load_steps=22 format=3 uid="uid://cgfeik04a5qqs"] [ext_resource type="Script" path="res://material_maker/main_window.gd" id="1"] [ext_resource type="Script" path="res://material_maker/main_window_layout.gd" id="2"] @@ -9,6 +9,7 @@ [ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="8"] [ext_resource type="Script" path="res://material_maker/console.gd" id="8_1tb00"] [ext_resource type="Script" path="res://material_maker/node_factory.gd" id="9"] +[ext_resource type="Script" path="res://material_maker/widgets/button_with_icon.gd" id="9_bj0xb"] [ext_resource type="PackedScene" uid="uid://cp2mbbfmrv6sf" path="res://material_maker/widgets/render_counter/render_counter.tscn" id="11"] [ext_resource type="PackedScene" uid="uid://dnttargjmhjh8" path="res://material_maker/tools/share/share_button.tscn" id="12"] [ext_resource type="PackedScene" uid="uid://dmyq6xxfx88m0" path="res://material_maker/tools/environment_manager/environment_manager.tscn" id="13"] @@ -64,10 +65,6 @@ _data = { "show": SubResource("7") } -[sub_resource type="AtlasTexture" id="8"] -atlas = ExtResource("8") -region = Rect2(96, 128, 16, 16) - [sub_resource type="GDScript" id="9"] script/source = "extends HBoxContainer @@ -97,6 +94,10 @@ func _on_Timer_timeout(): tooltip_text = hint " +[sub_resource type="AtlasTexture" id="8"] +atlas = ExtResource("8") +region = Rect2(96, 128, 16, 16) + [node name="MainWindow" type="PanelContainer" groups=["preview"]] anchors_preset = 15 anchor_right = 1.0 @@ -210,12 +211,13 @@ libraries = { "": SubResource("AnimationLibrary_kxf7t") } -[node name="ConsoleButton" type="TextureButton" parent="VBoxContainer/StatusBar/HBox"] +[node name="ConsoleButton" type="Button" parent="VBoxContainer/StatusBar/HBox"] layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 tooltip_text = "Show console" -texture_normal = SubResource("8") +script = ExtResource("9_bj0xb") +mm_icon = "Console" [node name="VSeparator1" type="VSeparator" parent="VBoxContainer/StatusBar/HBox"] layout_mode = 2 diff --git a/material_maker/main_window_projects_panel.gd b/material_maker/main_window_projects_panel.gd index e01096321..8d9d44ee3 100644 --- a/material_maker/main_window_projects_panel.gd +++ b/material_maker/main_window_projects_panel.gd @@ -12,7 +12,12 @@ extends Control func get_projects(): return projects +func _notification(what: int) -> void: + if what == NOTIFICATION_THEME_CHANGED: + _on_projects_panel_resized() + func _on_projects_panel_resized(): + $Projects/TabBar.size.y = 0 var preview_position : Vector2 = Vector2(0.0, 0.0) var preview_size : Vector2 = size preview_position.y += $Projects/TabBar.size.y diff --git a/material_maker/nodes/base.gd b/material_maker/nodes/base.gd index d85218a12..db1995b24 100644 --- a/material_maker/nodes/base.gd +++ b/material_maker/nodes/base.gd @@ -2,22 +2,22 @@ extends MMGraphNodeMinimal class_name MMGraphNodeBase -var minimize_button : TextureButton -var randomness_button : TextureButton -var buffer_button : TextureButton +var minimize_button : Button +var randomness_button : Button +var buffer_button : Button var show_inputs : bool = false var show_outputs : bool = false -const MINIMIZE_ICON : Texture2D = preload("res://material_maker/icons/minimize.tres") -const RANDOMNESS_ICON : Texture2D = preload("res://material_maker/icons/randomness_unlocked.tres") -const RANDOMNESS_LOCKED_ICON : Texture2D = preload("res://material_maker/icons/randomness_locked.tres") -const BUFFER_ICON : Texture2D = preload("res://material_maker/icons/buffer.tres") -const BUFFER_PAUSED_ICON : Texture2D = preload("res://material_maker/icons/buffer_paused.tres") -const CUSTOM_ICON : Texture2D = preload("res://material_maker/icons/custom.png") -const PREVIEW_ICON : Texture2D = preload("res://material_maker/icons/preview.png") -const PREVIEW_LOCKED_ICON : Texture2D = preload("res://material_maker/icons/preview_locked.png") +const MINIMIZE_ICON := "Minimize"# = preload("res://material_maker/icons/minimize.tres") +const RANDOMNESS_ICON := "Dice" # Texture2D = preload("res://material_maker/icons/randomness_unlocked.tres") +const RANDOMNESS_LOCKED_ICON := "DiceLocked" # Texture2D = preload("res://material_maker/icons/randomness_locked.tres") +const BUFFER_ICON := "Buffer" # preload("res://material_maker/icons/buffer.tres") +const BUFFER_PAUSED_ICON := "BufferPaused" # preload("res://material_maker/icons/buffer_paused.tres") +const CUSTOM_ICON := "Dice" # preload("res://material_maker/icons/custom.png") +#const PREVIEW_ICON := "Dice" # preload("res://material_maker/icons/preview.png") +#const PREVIEW_LOCKED_ICON := "Dice" # preload("res://material_maker/icons/preview_locked.png") const MENU_PROPAGATE_CHANGES : int = 1000 const MENU_SHARE_NODE : int = 1001 @@ -51,10 +51,11 @@ static func wrap_string(s : String, l : int = 50) -> String: func _ready() -> void: super._ready() - _notification(NOTIFICATION_THEME_CHANGED) + #_notification(NOTIFICATION_THEME_CHANGED) gui_input.connect(self._on_gui_input) update.call_deferred() + func init_buttons(): super.init_buttons() minimize_button = add_button(MINIMIZE_ICON, on_minimize_pressed) @@ -65,6 +66,8 @@ func init_buttons(): buffer_button = add_button(BUFFER_ICON, null, buffer_button_create_popup) buffer_button.visible = false + + func on_minimize_pressed(): generator.minimized = !generator.minimized var hier_name = generator.get_hier_name() @@ -114,18 +117,20 @@ func get_rendering_time_color(rendering_time : int) -> Color: else: return TIME_COLOR_BAD + func update(): super.update() if generator != null and generator.has_randomness(): randomness_button.visible = true - randomness_button.texture_normal = RANDOMNESS_LOCKED_ICON if generator.is_seed_locked() else RANDOMNESS_ICON + randomness_button.mm_icon = RANDOMNESS_LOCKED_ICON if generator.is_seed_locked() else RANDOMNESS_ICON else: randomness_button.visible = false buffer_button.visible = ! generator.get_buffers().is_empty() if buffer_button.visible: - buffer_button.texture_normal = BUFFER_ICON if generator.get_buffers(MMGenBase.BUFFERS_PAUSED).is_empty() else BUFFER_PAUSED_ICON + buffer_button.mm_icon = BUFFER_ICON if generator.get_buffers(MMGenBase.BUFFERS_PAUSED).is_empty() else BUFFER_PAUSED_ICON buffer_button.tooltip_text = tr("%d buffer(s), %d paused") % [ generator.get_buffers().size(), generator.get_buffers(MMGenBase.BUFFERS_PAUSED).size() ] + func _notification(what : int) -> void: if what == NOTIFICATION_THEME_CHANGED: on_theme_changed() @@ -163,7 +168,7 @@ func _draw_port(slot_index: int, position: Vector2i, left: bool, color: Color): var conn_pos1 = get_output_port_position(slot_index) var conn_pos2 = get_output_port_position(min(slot_index+outputs[slot_index].group_size-1, outputs.size()-1)) draw_portgroup_stylebox(conn_pos1, conn_pos2) - draw_circle(position, 5, color, true, -1, true) + draw_circle(position, 5*mm_globals.ui_scale, color, true, -1, true) func _draw() -> void: @@ -172,7 +177,7 @@ func _draw() -> void: var inputs = generator.get_input_defs() var font : Font = get_theme_font("default_font") if generator != null and generator.model == null and (generator is MMGenShader or generator is MMGenGraph): - draw_texture_rect(CUSTOM_ICON, Rect2(3, 8, 7, 7), false, color) + draw_texture_rect(get_theme_icon(CUSTOM_ICON, "MM_Icons"), Rect2(3, 8, 7, 7), false, color) for i in range(inputs.size()): if show_inputs: var string : String = TranslationServer.translate(inputs[i].shortdesc) if inputs[i].has("shortdesc") else TranslationServer.translate(inputs[i].name) diff --git a/material_maker/nodes/generic/generic.gd b/material_maker/nodes/generic/generic.gd index ceb78eb74..2b9cd5d7e 100644 --- a/material_maker/nodes/generic/generic.gd +++ b/material_maker/nodes/generic/generic.gd @@ -8,16 +8,23 @@ var output_count = 0 var preview : ColorRect var preview_timer : Timer = Timer.new() -var generic_button : TextureButton +var generic_button : Button -const GENERIC_ICON : Texture2D = preload("res://material_maker/icons/add_generic.tres") +const GENERIC_ICON := "Generic"#= preload("res://material_maker/icons/add_generic.tres") func _ready() -> void: super._ready() add_to_group("updated_from_locale") + +func _notification(what: int) -> void: + if what == NOTIFICATION_THEME_CHANGED: + if generator: + update_node() + + func init_buttons(): super.init_buttons() generic_button = add_button(GENERIC_ICON, self.on_generic_pressed, self.generic_button_create_popup) @@ -300,7 +307,7 @@ static func create_parameter_control(p : Dictionary, accept_float_expressions : control.step = 0.005 if !p.has("step") else p.step if p.has("default"): control.value = p.default - control.custom_minimum_size.x = 80 + control.custom_minimum_size.x = 80 * mm_globals.ui_scale elif p.type == "size": control = SizeOptionButton.new() control.min_size = p.first @@ -312,14 +319,14 @@ static func create_parameter_control(p : Dictionary, accept_float_expressions : var value = p.values[i] control.add_item(value.name) control.selected = 0 if !p.has("default") else p.default - control.custom_minimum_size.x = 80 + control.custom_minimum_size.x = 80 * mm_globals.ui_scale elif p.type == "boolean": control = CheckBox.new() control.theme_type_variation = "MM_NodeCheckbox" elif p.type == "color": control = ColorPickerButton.new() control.set_script(preload("res://material_maker/widgets/color_picker_button/color_picker_button.gd")) - control.custom_minimum_size.x = 40 + control.custom_minimum_size.x = 80 * mm_globals.ui_scale elif p.type == "gradient": control = preload("res://material_maker/widgets/gradient_editor/gradient_edit.tscn").instantiate() elif p.type == "curve": @@ -337,12 +344,12 @@ static func create_parameter_control(p : Dictionary, accept_float_expressions : control = preload("res://material_maker/widgets/lattice_edit/lattice_edit.tscn").instantiate() elif p.type == "string": control = LineEdit.new() - control.custom_minimum_size.x = 80 + control.custom_minimum_size.x = 80 * mm_globals.ui_scale elif p.type == "image_path": control = preload("res://material_maker/widgets/image_picker_button/image_picker_button.tscn").instantiate() elif p.type == "file": control = preload("res://material_maker/widgets/file_picker_button/file_picker_button.tscn").instantiate() - control.custom_minimum_size.x = 80 + control.custom_minimum_size.x = 80 * mm_globals.ui_scale if p.has("filters"): for f in p.filters: control.add_filter(f) @@ -426,9 +433,14 @@ func update_node() -> void: # Clean node clear_all_slots() save_preview_widget() + for c in get_children(): remove_child(c) c.free() + + var item_min_height := 25 * mm_globals.ui_scale + var label_max_width := 100 * mm_globals.ui_scale + # Show or hide the close button close_button.visible = generator.can_be_deleted() # Rebuild node @@ -465,11 +477,11 @@ func update_node() -> void: while get_child_count() < index: hsizer = HBoxContainer.new() hsizer.size_flags_horizontal = SIZE_EXPAND | SIZE_FILL - hsizer.custom_minimum_size.y = 25 + hsizer.custom_minimum_size.y = item_min_height add_child(hsizer) set_slot(get_child_count()-1, false, 0, Color(), false, 0, Color()) hsizer = HBoxContainer.new() - hsizer.custom_minimum_size.y = 25 + hsizer.custom_minimum_size.y = item_min_height hsizer.size_flags_horizontal = SIZE_EXPAND | SIZE_FILL add_child(hsizer) if label != "": @@ -518,7 +530,7 @@ func update_node() -> void: hsizer.add_child(empty_control) add_child(hsizer) hsizer = get_child(index) - hsizer.custom_minimum_size.y = 25 + hsizer.custom_minimum_size.y = item_min_height if label != "": var label_widget = Label.new() label_widget.text = label @@ -535,11 +547,11 @@ func update_node() -> void: first_focus = control previous_focus = control - var label_max_width = labels.reduce(func(accum, label): return max(accum, label.size.x), 0) - label_max_width = min(100, label_max_width) + var label_width = labels.reduce(func(accum, label): return max(accum, label.size.x), 0) + label_width = min(label_width, label_max_width) for label in labels: - label.custom_minimum_size.x = label_max_width - label.size.x = label_max_width + label.custom_minimum_size.x = label_width + label.size.x = label_width label.text_overrun_behavior = TextServer.OVERRUN_TRIM_ELLIPSIS if first_focus != null: previous_focus.focus_next = first_focus.get_path() @@ -567,7 +579,7 @@ func update_node() -> void: add_child(hsizer) hsizer = get_child(i) if hsizer.get_child_count() == 0: - hsizer.custom_minimum_size.y = 25 if !generator.minimized else 12 + hsizer.custom_minimum_size.y = item_min_height if !generator.minimized else 12 * mm_globals.ui_scale # Edit buttons if generator.is_editable(): for theme_stylebox in ["frame", "selected_frame"]: @@ -577,7 +589,7 @@ func update_node() -> void: edit_buttons.connect_buttons(self, "edit_generator", "load_generator", "save_generator") set_slot(edit_buttons.get_index(), false, 0, Color(0.0, 0.0, 0.0), false, 0, Color(0.0, 0.0, 0.0)) if generator.minimized: - size = Vector2(96, 96) + size = Vector2(96, 96) * mm_globals.ui_scale # Preview restore_preview_widget() diff --git a/material_maker/nodes/minimal.gd b/material_maker/nodes/minimal.gd index 729109de9..cc86aa1a7 100644 --- a/material_maker/nodes/minimal.gd +++ b/material_maker/nodes/minimal.gd @@ -6,10 +6,10 @@ var generator : MMGenBase = null : set = set_generator var disable_undoredo_for_offset : bool = false var buttons : HBoxContainer = null -var close_button : TextureButton +var close_button : Button -const CLOSE_ICON : Texture2D = preload("res://material_maker/icons/close.tres") +const CLOSE_ICON := "Cross" func _ready() -> void: @@ -24,12 +24,14 @@ func _ready() -> void: init_buttons() add_to_group("generator_node") + func update(): queue_redraw() -func add_button(texture : Texture2D, pressed_callback = null, popup_callback = null) -> TextureButton: - var button : TextureButton = preload("res://material_maker/nodes/node_button.tscn").instantiate() - button.texture_normal = texture + +func add_button(mm_icon : String, pressed_callback = null, popup_callback = null) -> Button: + var button : Button = preload("res://material_maker/nodes/node_button.tscn").instantiate() + button.mm_icon = mm_icon buttons.add_child(button) buttons.move_child(button, 0) if pressed_callback: diff --git a/material_maker/nodes/node_button.gd b/material_maker/nodes/node_button.gd index 885b5e9a3..3f99950da 100644 --- a/material_maker/nodes/node_button.gd +++ b/material_maker/nodes/node_button.gd @@ -1,7 +1,20 @@ -extends TextureButton +extends Button signal on_show_popup() +var mm_icon := "": + set(val): + mm_icon = val + if val: + _notification(NOTIFICATION_THEME_CHANGED) + + +func _notification(what: int) -> void: + if what == NOTIFICATION_THEME_CHANGED: + if mm_icon: + icon = get_theme_icon(mm_icon, "MM_Icons") + + func _on_gui_input(event): if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_RIGHT: on_show_popup.emit() diff --git a/material_maker/nodes/node_button.tscn b/material_maker/nodes/node_button.tscn index 2a0d45dd5..2a973e678 100644 --- a/material_maker/nodes/node_button.tscn +++ b/material_maker/nodes/node_button.tscn @@ -2,13 +2,19 @@ [ext_resource type="Script" path="res://material_maker/nodes/node_button.gd" id="1_f00x4"] -[node name="NodeButton" type="TextureButton"] +[node name="NodeButton" type="Button"] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 +offset_left = -3.5 +offset_top = -3.5 +offset_right = 3.5 +offset_bottom = 3.5 grow_horizontal = 2 grow_vertical = 2 size_flags_vertical = 4 +theme_type_variation = &"MM_NodeButton" +flat = true script = ExtResource("1_f00x4") [connection signal="gui_input" from="." to="." method="_on_gui_input"] diff --git a/material_maker/panels/common/menu_bar_button_with_panel.gd b/material_maker/panels/common/menu_bar_button_with_panel.gd index 1d09af8ef..759be65de 100644 --- a/material_maker/panels/common/menu_bar_button_with_panel.gd +++ b/material_maker/panels/common/menu_bar_button_with_panel.gd @@ -1,12 +1,14 @@ extends Button +@export var mm_icon := "" + @onready var panel := get_child(0) var pinned := false var theme_arrow_icon: Texture2D func _ready() -> void: - custom_minimum_size = Vector2(35, 25) + toggle_mode = true button_mask = MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT toggled.connect(_on_toggled) @@ -14,13 +16,24 @@ func _ready() -> void: panel.hide() - theme_arrow_icon = get_theme_icon("arrow", "OptionButton") + + + +func _notification(what: int) -> void: + if what == NOTIFICATION_THEME_CHANGED: + if mm_icon: + icon = get_theme_icon(mm_icon, "MM_Icons") + + theme_arrow_icon = get_theme_icon("arrow", "OptionButton") + custom_minimum_size = Vector2(35, 25) * mm_globals.ui_scale + queue_redraw() func _draw() -> void: if pinned: - draw_circle(Vector2(size.x-2, 2), 4, get_theme_color("icon_pressed_color")) - draw_texture(theme_arrow_icon, Vector2(18, 5)) + draw_circle(Vector2(size.x-2, 2), 4 * mm_globals.ui_scale, get_theme_color("icon_pressed_color")) + draw_texture(theme_arrow_icon, Vector2(18, 5) * mm_globals.ui_scale) + func _on_toggled(pressed:bool) -> void: panel.visible = pressed @@ -32,6 +45,7 @@ func _on_toggled(pressed:bool) -> void: else: pinned = false + func position_panel() -> void: var at_position := global_position at_position.x += size.x/2 - panel.size.x/2 diff --git a/material_maker/panels/library/library.gd b/material_maker/panels/library/library.gd index b4cf08710..9273df845 100644 --- a/material_maker/panels/library/library.gd +++ b/material_maker/panels/library/library.gd @@ -23,15 +23,15 @@ func _ready() -> void: # Setup tree tree.set_column_expand(0, true) tree.set_column_expand(1, false) - tree.set_column_custom_minimum_width(1, 36) + # Connect library_manager.libraries_changed.connect(self.update_tree) # Setup section buttons for s in library_manager.get_sections(): - var button : TextureButton = TextureButton.new() - var texture : Texture2D = library_manager.get_section_icon(s) + var button : Button = Button.new() + #var texture : Texture2D = library_manager.get_section_icon(s) button.name = s - button.texture_normal = texture + #button.icon = texture %SectionButtons.add_child(button) category_buttons[s] = button button.connect("pressed", self._on_Section_Button_pressed.bind(s)) @@ -40,6 +40,24 @@ func _ready() -> void: init_expanded_items() update_tree() + +func _notification(what: int) -> void: + if what == NOTIFICATION_THEME_CHANGED: + if is_node_ready(): + tree.set_column_custom_minimum_width(1, 36 * mm_globals.ui_scale) + update_tree() + for i in %SectionButtons.get_children(): + i.icon = get_theme_icon("Section_"+i.name, "MM_Icons") + var pnl = i.get_theme_stylebox("normal") + pnl = pnl.duplicate() + pnl.bg_color = library_manager.get_section_color(i.name) + i.add_theme_stylebox_override("normal", pnl) + i.add_theme_stylebox_override("pressed", pnl) + pnl = pnl.duplicate() + pnl.bg_color = library_manager.get_section_color(i.name).lerp(i.get_theme_color("font_color"), 0.3) + i.add_theme_stylebox_override("hover", pnl) + + func init_expanded_items() -> void: var f = FileAccess.open("user://expanded_items.bin", FileAccess.READ) if f != null: @@ -97,14 +115,18 @@ func get_expanded_items(item : TreeItem = null) -> PackedStringArray: rv.append_array(get_expanded_items(i)) return rv + func update_category_button(category : String) -> void: if library_manager.is_section_enabled(category): - category_buttons[category].material = null + #category_buttons[category].material = null + category_buttons[category].disabled = false category_buttons[category].tooltip_text = category+"\nLeft click to show\nRight click to disable" else: - category_buttons[category].material = preload("res://material_maker/panels/library/button_greyed.tres") + category_buttons[category].disabled = true + #category_buttons[category].material = preload("res://material_maker/panels/library/button_greyed.tres") category_buttons[category].tooltip_text = category+"\nRight click to enable" + func update_tree() -> void: # update category buttons for c in category_buttons.keys(): @@ -131,11 +153,11 @@ func add_item(item, library_index : int, item_name : String, item_icon = null, i break if new_item == null: new_item = tree.create_item(item_parent) - new_item.custom_minimum_height = MINIMUM_ITEM_HEIGHT + new_item.custom_minimum_height = MINIMUM_ITEM_HEIGHT * mm_globals.ui_scale new_item.set_text(0, TranslationServer.translate(item_name)) new_item.collapsed = !force_expand and expanded_items.find(item.tree_item) == -1 new_item.set_icon(1, item_icon) - new_item.set_icon_max_width(1, 28) + new_item.set_icon_max_width(1, 28 * mm_globals.ui_scale) if item.has("type") || item.has("nodes"): new_item.set_metadata(0, item) new_item.set_metadata(1, library_index) @@ -150,7 +172,7 @@ func add_item(item, library_index : int, item_name : String, item_icon = null, i break if new_parent == null: new_parent = tree.create_item(item_parent) - new_parent.custom_minimum_height = MINIMUM_ITEM_HEIGHT + new_parent.custom_minimum_height = MINIMUM_ITEM_HEIGHT * mm_globals.ui_scale new_parent.set_text(0, TranslationServer.translate(prefix)) new_parent.collapsed = !force_expand and expanded_items.find(get_item_path(new_parent)) == -1 return add_item(item, library_index, suffix, item_icon, new_parent, force_expand) @@ -226,14 +248,17 @@ func _on_Section_Button_pressed(category : String) -> void: func _on_Section_Button_event(event : InputEvent, category : String) -> void: if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_RIGHT: - if library_manager.toggle_section(category): - category_buttons[category].material = null - category_buttons[category].tooltip_text = category+"\nLeft click to show\nRight click to disable" - else: - category_buttons[category].material = preload("res://material_maker/panels/library/button_greyed.tres") - category_buttons[category].tooltip_text = category+"\nRight click to enable" - if current_category == category: - current_category = "" + library_manager.toggle_section(category) + ##category_buttons[category].material = null + #category_buttons[category].disabled = false + #category_buttons[category].tooltip_text = category+"\nLeft click to show\nRight click to disable" + #else: + #category_buttons[category].disabled = true + ##category_buttons[category].material = preload("res://material_maker/panels/library/button_greyed.tres") + #category_buttons[category].tooltip_text = category+"\nRight click to enable" + #if current_category == category: + #current_category = "" + func _on_Libraries_about_to_show(): var popup : PopupMenu = libraries_button.get_popup() diff --git a/material_maker/panels/library/library.tscn b/material_maker/panels/library/library.tscn index d6cffd99f..29afe9e0d 100644 --- a/material_maker/panels/library/library.tscn +++ b/material_maker/panels/library/library.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=5 format=3 uid="uid://drbpisn5f3h8y"] +[gd_scene load_steps=6 format=3 uid="uid://drbpisn5f3h8y"] [ext_resource type="Script" path="res://material_maker/panels/library/library_tree.gd" id="1"] [ext_resource type="Script" path="res://material_maker/panels/library/library.gd" id="1_748nq"] [ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="3"] +[ext_resource type="Script" path="res://material_maker/widgets/button_with_icon.gd" id="3_sjaxn"] [sub_resource type="AtlasTexture" id="1"] atlas = ExtResource("3") @@ -50,6 +51,8 @@ layout_mode = 2 size_flags_horizontal = 4 icon = SubResource("1") flat = false +script = ExtResource("3_sjaxn") +mm_icon = "Settings" [node name="Tree" type="Tree" parent="Library"] unique_name_in_owner = true @@ -70,6 +73,8 @@ size_flags_vertical = 4 tooltip_text = "Get more nodes from website" text = "Browse Community Nodes " clip_text = true +script = ExtResource("3_sjaxn") +mm_icon = "Download" [node name="ItemMenu" type="PopupMenu" parent="."] unique_name_in_owner = true diff --git a/material_maker/panels/library/library_tree.gd b/material_maker/panels/library/library_tree.gd index 25188c663..8acb03743 100644 --- a/material_maker/panels/library/library_tree.gd +++ b/material_maker/panels/library/library_tree.gd @@ -34,9 +34,10 @@ func _draw(): var last_item : TreeItem = get_last_item(item) if last_item != null: last_rect = get_item_area_rect(last_item) - draw_rect(Rect2(1, rect.position.y-sp, 4, last_rect.position.y-rect.position.y+last_rect.size.y), color) + draw_rect(Rect2(1, rect.position.y-sp, 4 * mm_globals.ui_scale, last_rect.position.y-rect.position.y+last_rect.size.y), color) item = item.get_next() + func _get_drag_data(_position): if !supports_drag: return null @@ -53,7 +54,7 @@ func _get_drag_data(_position): preview.texture = preview_texture elif data.has("type") and data.type == "uniform": preview = ColorRect.new() - preview.size = Vector2(32, 32) + preview.size = Vector2(32, 32) * mm_globals.ui_scale if data.has("color"): preview.color = Color(data.color.r, data.color.g, data.color.b, data.color.a) else: diff --git a/material_maker/panels/preview_2d/preview_2d_panel.gd b/material_maker/panels/preview_2d/preview_2d_panel.gd index 3340b6374..fbcc542c2 100644 --- a/material_maker/panels/preview_2d/preview_2d_panel.gd +++ b/material_maker/panels/preview_2d/preview_2d_panel.gd @@ -52,7 +52,7 @@ func set_generator(g : MMGenBase, o : int = 0, force : bool = false) -> void: super.set_generator(g, o, force) update_shader_options() - if preview_mode != Modes.CUSTOM_PREVIEW: + if preview_mode != Modes.CUSTOM_PREVIEW and is_inside_tree(): var current_graph: MMGraphEdit = find_parent("MainWindow").get_current_graph_edit() if current_graph: %PreviewLocked.button_pressed = current_graph.locked_preview[preview_mode-1] != null diff --git a/material_maker/panels/preview_2d/preview_2d_panel.tscn b/material_maker/panels/preview_2d/preview_2d_panel.tscn index be0d7d85e..fad63c0ab 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=33 format=3 uid="uid://b7x7yqgsurxhv"] +[gd_scene load_steps=31 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"] @@ -100,14 +100,6 @@ keycode = 69 [sub_resource type="Shortcut" id="Shortcut_llf02"] events = [SubResource("InputEventKey_rhw4u")] -[sub_resource type="AtlasTexture" id="AtlasTexture_khhtg"] -atlas = ExtResource("10_l6r53") -region = Rect2(96, 80, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_nstr1"] -atlas = ExtResource("10_l6r53") -region = Rect2(80, 80, 16, 16) - [node name="Preview2D" instance=ExtResource("3")] material = SubResource("2") custom_minimum_size = Vector2(100, 100) @@ -435,6 +427,7 @@ toggle_mode = true button_mask = 3 icon = SubResource("AtlasTexture_p8pw4") script = ExtResource("12_nrhap") +mm_icon = "View" [node name="ViewMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ViewMenu" index="0"] visible = false @@ -541,6 +534,7 @@ toggle_mode = true button_mask = 3 icon = SubResource("AtlasTexture_72vod") script = ExtResource("12_nrhap") +mm_icon = "Export" [node name="ExportMenuPanel" type="PanelContainer" parent="MenuBar/HBox/MainMenu/HBox/ExportMenu" index="0"] visible = false @@ -686,8 +680,8 @@ tooltip_text = "Lock this preview" toggle_mode = true icon_alignment = 1 script = ExtResource("17_07kc5") -icon_normal = SubResource("AtlasTexture_khhtg") -icon_pressed = SubResource("AtlasTexture_nstr1") +mm_icon_normal = "Unlocked" +mm_icon_pressed = "Locked" [connection signal="gui_input" from="." to="." method="_on_gui_input"] [connection signal="mouse_entered" from="." to="." method="_on_Preview2D_mouse_entered"] diff --git a/material_maker/panels/preview_2d/two_icon_toggle_button.gd b/material_maker/panels/preview_2d/two_icon_toggle_button.gd index a6ee43e54..3d146cc71 100644 --- a/material_maker/panels/preview_2d/two_icon_toggle_button.gd +++ b/material_maker/panels/preview_2d/two_icon_toggle_button.gd @@ -1,16 +1,20 @@ extends Button -@export var icon_normal : Texture2D -@export var icon_pressed : Texture2D +@export var mm_icon_normal := "" +@export var mm_icon_pressed := "" func _ready() -> void: toggled.connect(_on_toggled) - _on_toggled(button_pressed) + + +func _notification(what: int) -> void: + if what == NOTIFICATION_THEME_CHANGED: + _on_toggled(button_pressed) func _on_toggled(toggled:= false): if button_pressed: - icon = icon_pressed + icon = get_theme_icon(mm_icon_pressed, "MM_Icons") else: - icon = icon_normal + icon = get_theme_icon(mm_icon_normal, "MM_Icons") diff --git a/material_maker/theme/enhanced_theme_system/enhanced_theme.gd b/material_maker/theme/enhanced_theme_system/enhanced_theme.gd index 5cde64927..37c98ed17 100644 --- a/material_maker/theme/enhanced_theme_system/enhanced_theme.gd +++ b/material_maker/theme/enhanced_theme_system/enhanced_theme.gd @@ -124,13 +124,14 @@ func update(at:Node=null) -> void: continue var texture: AtlasTexture = get_icon(icon_name, type) + var texture_scale: float = texture.get_meta("scale", 1) * scale - texture.atlas = get_dynamic_svg(path, scale, icon_color_swaps) + texture.atlas = get_dynamic_svg(path, texture_scale, icon_color_swaps) var base_region: Rect2 = base_texture.region - texture.region.position = base_region.position * scale + texture.region.position = base_region.position * texture_scale - texture.region.size = base_region.size * scale + texture.region.size = base_region.size * texture_scale set_icon(icon_name, type, texture) emit_changed() @@ -146,9 +147,9 @@ func get_dynamic_svg(image_path:String, image_scale:float, color_swaps : Array= var file_text := file.get_as_text() file.close() - ##print(color_swaps) - var regex := RegEx.create_from_string(r"e-[86754]") - file_text = regex.sub(file_text, "", true) + ###print(color_swaps) + #var regex := RegEx.create_from_string(r"(?<=\d)e-\d") + #file_text = regex.sub(file_text, "", true) for swap in color_swaps: if swap == null: diff --git a/material_maker/theme/modern.tres b/material_maker/theme/modern.tres index 9084f7428..dfb88ceac 100644 --- a/material_maker/theme/modern.tres +++ b/material_maker/theme/modern.tres @@ -1,8 +1,8 @@ -[gd_resource type="Theme" load_steps=66 format=3 uid="uid://b628lwfk6ig2c"] +[gd_resource type="Theme" load_steps=95 format=3 uid="uid://b628lwfk6ig2c"] [ext_resource type="FontFile" uid="uid://dgkwr5jydtk6p" path="res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf" id="1_hqoqt"] [ext_resource type="FontFile" uid="uid://btybkvkb8rtol" path="res://material_maker/fonts/DroidSansFallback.ttf" id="2_1xp11"] -[ext_resource type="Texture2D" uid="uid://dnyj2y655qc1o" path="res://material_maker/theme/new_theme_icons.png" id="2_b1usk"] +[ext_resource type="Texture2D" uid="uid://dt7vewgd5yk0q" path="res://material_maker/theme/new_theme_icons_clean.svg" id="2_uo7ch"] [ext_resource type="Texture2D" uid="uid://c74jqqhkapvx0" path="res://material_maker/theme/dark/graphnode_close.png" id="3_6fij0"] [ext_resource type="Texture2D" uid="uid://cgxvaurldh6mq" path="res://material_maker/theme/dark/graphnode_port.png" id="4_kelfg"] [ext_resource type="Texture2D" uid="uid://c4k81poqyod3g" path="res://material_maker/theme/dark/graphnode_resizer.png" id="5_3hfqd"] @@ -227,6 +227,126 @@ corner_radius_bottom_right = 5 corner_radius_bottom_left = 5 corner_detail = 4 +[sub_resource type="AtlasTexture" id="AtlasTexture_wv1k3"] +atlas = ExtResource("2_uo7ch") +region = Rect2(0, 80, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5mpy4"] +atlas = ExtResource("2_uo7ch") +region = Rect2(16, 80, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yl83e"] +atlas = ExtResource("2_uo7ch") +region = Rect2(112, 48, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ce5fg"] +atlas = ExtResource("2_uo7ch") +region = Rect2(48, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wg25g"] +atlas = ExtResource("2_uo7ch") +region = Rect2(96, 64, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5laiy"] +atlas = ExtResource("2_uo7ch") +region = Rect2(112, 64, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kxvq8"] +atlas = ExtResource("2_uo7ch") +region = Rect2(0, 64, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7er1n"] +atlas = ExtResource("2_uo7ch") +region = Rect2(64, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c6qxj"] +atlas = ExtResource("2_uo7ch") +region = Rect2(16, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dqmkr"] +atlas = ExtResource("2_uo7ch") +region = Rect2(80, 80, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qbea1"] +atlas = ExtResource("2_uo7ch") +region = Rect2(32, 64, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3dq6o"] +atlas = ExtResource("2_uo7ch") +region = Rect2(112, 48, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_458ks"] +atlas = ExtResource("2_uo7ch") +region = Rect2(96, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8xo65"] +atlas = ExtResource("2_uo7ch") +region = Rect2(112, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yefe5"] +atlas = ExtResource("2_uo7ch") +region = Rect2(16, 112, 16, 16) +metadata/scale = 2.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_5lc86"] +atlas = ExtResource("2_uo7ch") +region = Rect2(64, 112, 16, 16) +metadata/scale = 2.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_gh0i5"] +atlas = ExtResource("2_uo7ch") +region = Rect2(112, 112, 16, 16) +metadata/scale = 2.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_ln55e"] +atlas = ExtResource("2_uo7ch") +region = Rect2(48, 112, 16, 16) +metadata/scale = 2.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_qq8w0"] +atlas = ExtResource("2_uo7ch") +region = Rect2(32, 112, 16, 16) +metadata/scale = 2.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_uoih8"] +atlas = ExtResource("2_uo7ch") +region = Rect2(0, 112, 16, 16) +metadata/scale = 2.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_dtive"] +atlas = ExtResource("2_uo7ch") +region = Rect2(80, 112, 16, 16) +metadata/scale = 2.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_62pyv"] +atlas = ExtResource("2_uo7ch") +region = Rect2(96, 112, 16, 16) +metadata/scale = 2.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_h625b"] +atlas = ExtResource("2_uo7ch") +region = Rect2(80, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ujx26"] +atlas = ExtResource("2_uo7ch") +region = Rect2(32, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_emila"] +atlas = ExtResource("2_uo7ch") +region = Rect2(112, 80, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ucdk6"] +atlas = ExtResource("2_uo7ch") +region = Rect2(96, 80, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xwma0"] +atlas = ExtResource("2_uo7ch") +region = Rect2(16, 64, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ik36r"] +atlas = ExtResource("2_uo7ch") +region = Rect2(0, 0, 16, 16) + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wqwm5"] content_margin_left = 10.0 content_margin_top = 10.0 @@ -431,7 +551,7 @@ corner_radius_bottom_left = 4 corner_detail = 4 [sub_resource type="AtlasTexture" id="AtlasTexture_qrndi"] -atlas = ExtResource("2_b1usk") +atlas = ExtResource("2_uo7ch") region = Rect2(112, 16, 16, 16) [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dscxc"] @@ -512,6 +632,10 @@ corner_detail = 1 [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_7bw33"] +[sub_resource type="AtlasTexture" id="AtlasTexture_oqo67"] +atlas = ExtResource("2_uo7ch") +region = Rect2(48, 0, 16, 16) + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ax2cv"] content_margin_left = 7.0 content_margin_top = 5.0 @@ -643,6 +767,34 @@ MM_FilterLineEdit/styles/focus = SubResource("StyleBoxFlat_dyhk7") MM_FilterLineEdit/styles/normal = SubResource("StyleBoxFlat_mv8c7") MM_FlexibleTab/base_type = &"TabBar" MM_FlexibleTab/constants/separation = 3 +MM_Icons/icons/Buffer = SubResource("AtlasTexture_wv1k3") +MM_Icons/icons/BufferPaused = SubResource("AtlasTexture_5mpy4") +MM_Icons/icons/Console = SubResource("AtlasTexture_yl83e") +MM_Icons/icons/Cross = SubResource("AtlasTexture_ce5fg") +MM_Icons/icons/Dice = SubResource("AtlasTexture_wg25g") +MM_Icons/icons/DiceLocked = SubResource("AtlasTexture_5laiy") +MM_Icons/icons/Download = SubResource("AtlasTexture_kxvq8") +MM_Icons/icons/Edit = SubResource("AtlasTexture_7er1n") +MM_Icons/icons/Export = SubResource("AtlasTexture_c6qxj") +MM_Icons/icons/Locked = SubResource("AtlasTexture_dqmkr") +MM_Icons/icons/Login = SubResource("AtlasTexture_qbea1") +MM_Icons/icons/Minimize = SubResource("AtlasTexture_3dq6o") +MM_Icons/icons/Save = SubResource("AtlasTexture_458ks") +MM_Icons/icons/Search = SubResource("AtlasTexture_8xo65") +MM_Icons/icons/Section_3D = SubResource("AtlasTexture_yefe5") +MM_Icons/icons/Section_Filter = SubResource("AtlasTexture_5lc86") +MM_Icons/icons/Section_Miscellaneous = SubResource("AtlasTexture_gh0i5") +MM_Icons/icons/Section_Noise = SubResource("AtlasTexture_ln55e") +MM_Icons/icons/Section_Pattern = SubResource("AtlasTexture_qq8w0") +MM_Icons/icons/Section_Simple = SubResource("AtlasTexture_uoih8") +MM_Icons/icons/Section_Transform = SubResource("AtlasTexture_dtive") +MM_Icons/icons/Section_Workflow = SubResource("AtlasTexture_62pyv") +MM_Icons/icons/Select = SubResource("AtlasTexture_h625b") +MM_Icons/icons/Settings = SubResource("AtlasTexture_ujx26") +MM_Icons/icons/Undock = SubResource("AtlasTexture_emila") +MM_Icons/icons/Unlocked = SubResource("AtlasTexture_ucdk6") +MM_Icons/icons/Upload = SubResource("AtlasTexture_xwma0") +MM_Icons/icons/View = SubResource("AtlasTexture_ik36r") MM_MainBackground/base_type = &"PanelContainer" MM_MainBackground/styles/panel = SubResource("StyleBoxFlat_wqwm5") MM_NodeCheckbox/base_type = &"Button" @@ -730,6 +882,7 @@ ReroutePreview/styles/panel_selected = SubResource("StyleBoxFlat_kbm1t") ReroutePreview/styles/titlebar = SubResource("StyleBoxEmpty_7bw33") ReroutePreview/styles/titlebar_selected = SubResource("StyleBoxEmpty_7bw33") TabBar/constants/h_separation = 6 +TabBar/icons/close = SubResource("AtlasTexture_oqo67") TabBar/styles/tab_focus = SubResource("StyleBoxFlat_ax2cv") TabBar/styles/tab_hovered = SubResource("StyleBoxFlat_708uu") TabBar/styles/tab_selected = SubResource("StyleBoxFlat_r4jxv") diff --git a/material_maker/theme/new_theme_icons.svg b/material_maker/theme/new_theme_icons.svg index f60de039f..4f804b382 100644 --- a/material_maker/theme/new_theme_icons.svg +++ b/material_maker/theme/new_theme_icons.svg @@ -9,7 +9,7 @@ id="svg1" inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)" sodipodi:docname="new_theme_icons.svg" - inkscape:export-filename="new_theme_icons.png" + inkscape:export-filename="new_theme_icons_clean.svg" inkscape:export-xdpi="96" inkscape:export-ydpi="96" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" @@ -28,15 +28,15 @@ inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" showgrid="true" - inkscape:zoom="31.999999" - inkscape:cx="55.828128" - inkscape:cy="12.250001" + inkscape:zoom="2.828427" + inkscape:cx="75.483651" + inkscape:cy="65.407379" inkscape:window-width="1920" inkscape:window-height="1017" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" - inkscape:current-layer="layer5"> + inkscape:current-layer="layer47"> + + + + + + + + + + + + + + + + + + + + + + + + gradientTransform="matrix(7.3508276e-7,0,0,7.3205351e-7,1487.9122,943.87952)" /> + gradientTransform="matrix(0.43601506,0,0,0.43601516,1550.2039,1004.329)" /> + gradientTransform="matrix(0.37753022,0,0,-0.42234849,1439.2164,1114.2061)" /> + gradientTransform="matrix(0.43527214,0,0,0.43527214,1402.5395,948.15893)" /> + gradientTransform="matrix(0.43527214,0,0,0.43527214,1430.397,922.83197)" /> + gradientTransform="matrix(0.44654878,0,0,0.44654878,1477.4885,944.8819)" /> + gradientTransform="matrix(0.44654878,0,0,0.44654878,1506.0739,918.3592)" /> + gradientTransform="matrix(0.43887534,0,0,0.43887534,1487.6436,946.85133)" /> + gradientTransform="matrix(0.44442665,0,0,0.44442665,1482.6776,946.17842)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + d="m 1444.1825,1063.3812 c -2.8144,0 -5.0801,2.2657 -5.0801,5.0802 v 0.1433 c -2.8936,0 -5.2233,2.3295 -5.2233,5.2231 0,2.8937 2.3297,5.2231 5.2233,5.2231 h 0.5167 c 0.1386,-0.811 0.3389,-1.6101 0.625,-2.3859 -0.5361,-0.7355 -0.8483,-1.6278 -0.9114,-2.5344 -0.259,-2.6092 2.0302,-5.1217 4.6402,-5.163 1.2033,-0.054 2.4196,0.3675 3.34,1.143 1.9418,1.5223 2.2772,4.6112 0.8129,6.5687 0.2864,0.7728 0.4804,1.5666 0.6159,2.3716 h 0.8072 c 2.8938,0 5.2233,-2.3294 5.2233,-5.2231 0,-2.8936 -2.3295,-5.2231 -5.2233,-5.2231 v -0.1433 c 0,-2.8145 -2.2657,-5.0802 -5.08,-5.0802 z" /> @@ -1779,14 +2355,14 @@ transform="matrix(0.67636941,0,0,0.67636941,-1007.6956,-654.48258)"> + d="m 1548.8518,1064.2973 c -2.8872,0 -5.2117,2.3244 -5.2117,5.2116 v 0.1471 c -2.9687,0 -5.3585,2.3899 -5.3585,5.3584 0,2.4354 1.6095,4.4787 3.8263,5.1352 1.9697,-1.2745 3.9399,-2.5478 5.9099,-3.8216 0.2763,-1.8464 1.9815,-3.3599 3.8473,-3.418 0.4479,-0.012 0.8981,0.044 1.3292,0.1665 2.0511,0.5203 3.3634,2.8504 2.8432,4.8813 -0.2059,1.0073 -0.8496,1.8556 -1.6915,2.4152 h 0.012 c 2.9685,0 5.3585,-2.3898 5.3585,-5.3586 0,-2.9685 -2.39,-5.3584 -5.3585,-5.3584 v -0.1471 c 0,-2.8872 -2.3244,-5.2116 -5.2118,-5.2116 z" /> + d="m 1552.091,1074.3208 a 2.6792917,2.6792934 57.092957 0 0 -1.4951,0.4296 2.6792917,2.6792934 57.092957 0 0 -1.2144,2.3805 l -5.9347,3.8402 -0.1803,1.727 1.6331,0.5184 1.0011,-0.6468 0.435,-0.8816 h 0.9366 l 0.7246,-0.4678 0.3478,-0.8473 0.9546,0.012 1.5376,-0.9935 a 2.6792917,2.6792934 57.092957 0 0 2.6703,-0.1323 2.6792917,2.6792934 57.092957 0 0 0.7939,-3.7048 2.6792917,2.6792934 57.092957 0 0 -2.2101,-1.2234 z m 0.1539,1.1868 a 0.68766355,0.70928668 0 0 1 0.6877,0.7091 0.68766355,0.70928668 0 0 1 -0.6877,0.7094 0.68766355,0.70928668 0 0 1 -0.6875,-0.7094 0.68766355,0.70928668 0 0 1 0.6875,-0.7091 z" /> + d="m 1525.1964,1063.742 c -2.8735,0 -5.1869,2.3134 -5.1869,5.187 v 0.1464 c -2.9546,0 -5.333,2.3784 -5.333,5.3328 0,2.9546 2.3784,5.3332 5.333,5.3332 h 3.2554 c 0,-0.2135 0,-0.4273 0,-0.6403 -0.31,0.2122 -0.6791,0.3764 -1.0624,0.3529 -1.2605,0.05 -2.2219,-1.4786 -1.649,-2.596 0.7967,-1.1308 1.8072,-2.0914 2.7016,-3.1438 0.5262,-0.5945 1.075,-1.3655 1.9507,-1.3908 0.3654,-0.021 0.7389,0.061 1.0552,0.2456 0.8052,0.6609 1.4436,1.5045 2.1503,2.2679 0.485,0.6047 1.0812,1.1141 1.5278,1.7497 0.4884,0.6389 0.4387,1.5839 -0.082,2.1876 -0.5656,0.7419 -1.7184,0.9005 -2.4617,0.3338 0,0.2112 10e-5,0.4222 3e-4,0.6334 h 3.2817 c 2.9544,0 5.3331,-2.3786 5.3331,-5.3332 0,-2.9544 -2.3787,-5.3328 -5.3331,-5.3328 v -0.1464 c 0,-2.8736 -2.3133,-5.187 -5.187,-5.187 z" /> @@ -1843,12 +2419,12 @@ transform="matrix(0.67636941,0,0,0.67636941,-1007.6956,-654.48258)"> + d="m 1501.5433,1063.0028 c -2.8376,0 -5.122,2.2845 -5.122,5.1222 v 0.1445 c -2.9177,0 -5.2666,2.3488 -5.2666,5.2664 0,2.9176 2.3489,5.2665 5.2666,5.2665 h 2.9244 v -4.0499 c 0,-1.132 0.911,-2.043 2.0431,-2.043 h 0.5979 c 1.132,0 2.0433,0.911 2.0433,2.043 v 4.0499 h 2.9242 c 2.9177,0 5.2666,-2.3489 5.2666,-5.2665 0,-2.9176 -2.3489,-5.2664 -5.2666,-5.2664 v -0.1445 c 0,-2.8377 -2.2844,-5.1222 -5.1221,-5.1222 z" /> diff --git a/material_maker/theme/new_theme_icons_clean.svg b/material_maker/theme/new_theme_icons_clean.svg index 7c997cc03..20d5bfe96 100644 --- a/material_maker/theme/new_theme_icons_clean.svg +++ b/material_maker/theme/new_theme_icons_clean.svg @@ -7,150 +7,13 @@ viewBox="0 0 128 128" version="1.1" id="svg1" - inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)" - sodipodi:docname="new_theme_icons.svg" - inkscape:export-filename="new_theme_icons.png" - inkscape:export-xdpi="96" - inkscape:export-ydpi="96" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + gradientTransform="matrix(0.43601506,0,0,0.43601516,1550.2039,1004.329)" /> + gradientTransform="matrix(0.37753022,0,0,-0.42234849,1439.2164,1114.2061)" /> - - + gradientTransform="matrix(0.43527214,0,0,0.43527214,1402.5395,948.15893)" /> + gradientTransform="matrix(0.43527214,0,0,0.43527214,1430.397,922.83197)" /> + gradientTransform="matrix(0.44654878,0,0,0.44654878,1477.4885,944.8819)" /> + gradientTransform="matrix(0.44654878,0,0,0.44654878,1506.0739,918.3592)" /> - + gradientTransform="matrix(0.43887534,0,0,0.43887534,1487.6436,946.85133)" /> - + gradientTransform="matrix(0.44442665,0,0,0.44442665,1482.6776,946.17842)" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + style="color:#000000;fill:url(#linearGradient202);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1542.1929,1111.9485 c -1.5365,0 -2.8039,1.2663 -2.8039,2.8012 v 11.9469 c 0,1.5348 1.2674,2.8011 2.8039,2.8011 h 11.1422 c 0,-0.1403 0.01,-0.2812 0.01,-0.4175 -0.6388,0.01 -1.3021,0.071 -1.9141,-0.1546 -0.5769,-0.2201 -0.8989,-0.7864 -0.9458,-1.3777 h -8.2914 c -0.489,0 -0.8523,-0.3629 -0.8523,-0.8513 v -2.9565 c 0.3106,-0.2993 0.9264,-0.8849 1.7709,-1.6026 0.5529,-0.4699 1.1427,-0.9379 1.6397,-1.2715 0.4561,-0.3059 0.821,-0.4125 0.7907,-0.4297 0.082,0.024 0.2351,0.065 0.3931,0.1485 0.3245,0.1711 0.7687,0.4418 1.2713,0.7744 1.0055,0.6651 2.2557,1.5771 3.4667,2.492 0.9325,0.7047 1.7625,1.3487 2.4599,1.8963 0.064,0 0.1303,0 0.1928,0.01 -3e-4,-0.2533 0,-0.5067 0,-0.7602 -0.092,-0.4616 0.029,-0.951 0.2878,-1.3443 -0.5553,-0.4319 -1.1475,-0.8879 -1.7612,-1.3516 -1.2287,-0.9282 -2.499,-1.8559 -3.567,-2.5625 -0.5341,-0.3532 -1.0153,-0.6508 -1.4379,-0.8735 -0.4226,-0.2229 -0.6702,-0.4398 -1.3195,-0.4112 -0.7833,0.035 -1.2622,0.3953 -1.8631,0.7985 -0.6007,0.4031 -1.2307,0.9066 -1.8164,1.4046 -0.1781,0.1514 -0.3394,0.2961 -0.5065,0.4433 v -6.3457 c 0,-0.4884 0.3633,-0.8511 0.8523,-0.8511 h 11.9587 c 0.4888,0 0.8521,0.3627 0.8521,0.8511 v 8.1203 c 0.4581,0.01 0.9074,0.2067 1.2214,0.5394 0.5344,0.6521 0.4601,1.5513 0.4383,2.3401 0.097,0 0.1946,0 0.2921,-0.01 V 1114.75 c 0,-1.535 -1.2677,-2.8012 -2.8039,-2.8012 z" /> + ry="1.4387592" /> + style="fill:url(#linearGradient192);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + id="path193" /> + d="m 84,98 c -1.108235,0 -2,0.891765 -2,2 v 8 c 0,1.10824 0.891765,2 2,2 h 8 c 1.108235,0 2,-0.89176 2,-2 v -8 c 0,-1.108235 -0.891765,-2 -2,-2 z m 1,1.5 h 6 c 0.831176,0 1.5,0.66882 1.5,1.5 v 6 c 0,0.83118 -0.668824,1.5 -1.5,1.5 h -6 c -0.831176,0 -1.5,-0.66882 -1.5,-1.5 v -6 c 0,-0.83118 0.668824,-1.5 1.5,-1.5 z" /> + id="layer39"> + d="m 84,98 c -1.108235,0 -2,0.891765 -2,2 v 8 c 0,1.10824 0.891765,2 2,2 h 8 c 1.108235,0 2,-0.89176 2,-2 v -8 c 0,-1.108235 -0.891765,-2 -2,-2 z m 1,1.5 h 6 c 0.831176,0 1.5,0.66882 1.5,1.5 v 6 c 0,0.83118 -0.668824,1.5 -1.5,1.5 h -6 c -0.831176,0 -1.5,-0.66882 -1.5,-1.5 v -6 c 0,-0.83118 0.668824,-1.5 1.5,-1.5 z" /> + id="layer38"> + ry="5.9665618" /> + ry="4.0129666" /> + id="g9"> + ry="5.9665618" /> + id="path189" /> + style="fill:url(#linearGradient196);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1667.0437,1089.9042 a 1.8813648,1.7922468 0 0 0 -1.2272,0.6555 l -7.1152,8.4262 a 1.1203211,1.0672528 0 0 0 0.8721,1.7355 h 15.4172 a 1.1203214,1.0672531 0 0 0 0.875,-1.7355 l -7.1181,-8.4262 a 1.8813648,1.7922468 0 0 0 -1.7038,-0.6555 z m -7.1267,12.2899 c -0.8156,0 -1.4727,0.6571 -1.4727,1.4727 0,0.8157 0.6571,1.4727 1.4727,1.4727 h 14.7213 c 0.8157,0 1.4727,-0.657 1.4727,-1.4727 0,-0.8156 -0.657,-1.4727 -1.4727,-1.4727 z" /> + style="fill:url(#linearGradient177);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1643.5979,1087.3986 c -2.1071,-0.03 -3.8534,0.7698 -4.9224,2.1027 -0.9061,1.1295 -1.3392,2.5377 -1.458,4.0236 -0.036,0.4457 0.3281,0.8132 0.7753,0.8165 l 1.0051,0.012 c 0.4472,0 0.8055,-0.3584 0.8542,-0.8028 0.1105,-1.0103 0.4154,-1.8371 0.8677,-2.4011 0.568,-0.708 1.3531,-1.1427 2.8403,-1.1218 1.0961,0.016 1.7555,0.2713 2.2401,0.6518 0.4844,0.3804 0.8422,0.94 1.1079,1.7529 0.4387,1.3422 0.5254,3.3024 0.5111,5.4266 h -10.7505 c -0.9688,0 -1.7494,0.7805 -1.7494,1.7495 v 6.9154 c 0,0.9689 0.7806,1.7495 1.7494,1.7495 h 13.9064 c 0.9688,0 1.7494,-0.7806 1.7494,-1.7495 v -6.9154 c 0,-0.969 -0.7806,-1.7495 -1.7494,-1.7495 h -0.5248 c 0.03,-2.1841 -0.03,-4.3477 -0.6484,-6.2396 -0.3761,-1.1506 -0.9951,-2.226 -1.9827,-3.0015 -0.9877,-0.7756 -2.2942,-1.1928 -3.8213,-1.2143 z" /> + style="fill:url(#linearGradient175);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1619.6574,1087.3978 c -1.4175,0.027 -2.6447,0.4193 -3.5815,1.1424 -0.9994,0.7711 -1.619,1.8538 -2.0001,3.0087 -0.6324,1.9159 -0.7035,4.115 -0.7102,6.3055 h -0.3533 c -0.969,0 -1.7496,0.7805 -1.7496,1.7496 v 6.9161 c 0,0.9691 0.7806,1.7496 1.7496,1.7496 h 13.9078 c 0.969,0 1.7496,-0.7805 1.7496,-1.7496 v -6.9161 c 0,-0.9691 -0.7806,-1.7496 -1.7496,-1.7496 h -0.5249 c 0.03,-2.1845 -0.03,-4.3484 -0.6484,-6.2404 -0.376,-1.1509 -0.9952,-2.2264 -1.9829,-3.0018 -0.9878,-0.7758 -2.2945,-1.1928 -3.8217,-1.2144 -0.096,0 -0.1902,0 -0.2848,0 z m 0.247,2.621 c 1.0962,0.015 1.7558,0.2748 2.2403,0.6552 0.4844,0.3805 0.8423,0.9402 1.1081,1.7531 0.4387,1.3424 0.5252,3.3027 0.5111,5.4273 h -7.7704 c 0.023,-2.1327 0.1237,-4.1222 0.5729,-5.4822 0.2713,-0.822 0.6325,-1.3835 1.1115,-1.7531 0.4789,-0.3696 1.1285,-0.6157 2.2265,-0.6003 z" /> + style="baseline-shift:baseline;display:inline;overflow:visible;fill:url(#linearGradient174);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke;enable-background:accumulate;stop-opacity:1" + id="path6" /> + style="fill:url(#linearGradient167);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + id="path168" /> + style="fill:url(#linearGradient159);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1552.4146,1096.2788 c -1.0412,0.3641 -2.0784,0.73 -3.1208,1.0939 -0.826,0.2976 -1.7346,0.4333 -2.5933,0.1927 -1.2527,-0.4095 -2.4983,-0.8397 -3.7412,-1.2779 l -3.1356,1.1063 a 0.35973244,0.37836964 0 0 0 0,0.7177 l 6.8302,2.3948 a 3.22745,3.3946596 0 0 0 2.0412,0 l 6.8301,-2.3948 a 0.36184022,0.38058664 0 0 0 0,-0.7215 z" /> + transform="matrix(0.36964305,0,0,0.38879373,1488.5322,953.82546)" /> + style="fill:url(#linearGradient163);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + id="path93-6" /> + style="fill:url(#linearGradient121);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1519.4237,1088.1412 c -0.8157,0 -1.4727,0.7149 -1.4727,1.602 v 16.0121 c 0,0.8871 0.657,1.602 1.4727,1.602 0.8156,0 1.4728,-0.7149 1.4728,-1.602 v -5.8733 c 2.441,-0.5852 7.8255,-3.8677 7.8255,-5.0651 0,-1.1974 -5.3845,-4.4827 -7.8255,-5.0679 v -0.01 c 0,-0.8871 -0.6572,-1.602 -1.4728,-1.602 z" /> + style="fill:url(#linearGradient119);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1495.768,1088.137 c -0.8157,0 -1.4727,0.7151 -1.4727,1.6024 v 16.0155 c 0,0.8873 0.657,1.6024 1.4727,1.6024 0.8156,0 1.4698,-0.7151 1.4698,-1.6024 v -5.8717 c 2.4395,-0.5832 7.8256,-3.8709 7.8256,-5.069 0,-1.1982 -5.3861,-4.4887 -7.8256,-5.0719 v 0 c 0,-0.8873 -0.6542,-1.6024 -1.4698,-1.6024 z" /> + ry="3.0930631" /> + ry="3.0969889" /> + ry="2.2098441" /> + ry="2.2098441" /> + ry="2.2098441" /> + ry="2.2098441" /> + ry="2.2098441" /> + transform="matrix(0.67636941,0,0,0.67636941,-1007.6956,-654.48258)"> + id="path99" /> + style="color:#000000;fill:url(#linearGradient37);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:stroke markers fill" + d="m 1596.3105,1063.0028 c -0.2591,0 -0.5184,0.066 -0.7556,0.1988 l -8.2671,4.6256 c -0.5564,0.3113 -0.9146,0.9575 -0.9146,1.6535 v 9.2247 c 0,0.696 0.3582,1.3389 0.9146,1.6502 l 8.2671,4.6257 c 0.2372,0.1327 0.4966,0.1987 0.7556,0.1987 0.2591,0 0.5182,-0.066 0.7554,-0.1987 l 8.2673,-4.6257 c 0.5562,-0.3113 0.9144,-0.9542 0.9144,-1.6502 v -9.2247 c 0,-0.696 -0.3582,-1.3422 -0.9144,-1.6535 l -8.2673,-4.6256 c -0.2372,-0.1327 -0.4962,-0.1988 -0.7554,-0.1988 z m 0,3.5024 5.1161,2.8628 -5.1293,2.8696 -5.0599,-2.8928 z m -6.9583,5.4638 5.4672,3.1215 v 5.7555 l -5.4672,-3.0584 z m 13.9167,0.093 v 5.7256 l -5.4707,3.0584 v -5.7224 z" /> - + style="display:inline;fill:url(#linearGradient128);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1444.1825,1063.3812 c -2.8144,0 -5.0801,2.2657 -5.0801,5.0802 v 0.1433 c -2.8936,0 -5.2233,2.3295 -5.2233,5.2231 0,2.8937 2.3297,5.2231 5.2233,5.2231 h 0.5167 c 0.1386,-0.811 0.3389,-1.6101 0.625,-2.3859 -0.5361,-0.7355 -0.8483,-1.6278 -0.9114,-2.5344 -0.259,-2.6092 2.0302,-5.1217 4.6402,-5.163 1.2033,-0.054 2.4196,0.3675 3.34,1.143 1.9418,1.5223 2.2772,4.6112 0.8129,6.5687 0.2864,0.7728 0.4804,1.5666 0.6159,2.3716 h 0.8072 c 2.8938,0 5.2233,-2.3294 5.2233,-5.2231 0,-2.8936 -2.3295,-5.2231 -5.2233,-5.2231 v -0.1433 c 0,-2.8145 -2.2657,-5.0802 -5.08,-5.0802 z" /> + + style="display:inline;fill:url(#linearGradient127);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1548.8518,1064.2973 c -2.8872,0 -5.2117,2.3244 -5.2117,5.2116 v 0.1471 c -2.9687,0 -5.3585,2.3899 -5.3585,5.3584 0,2.4354 1.6095,4.4787 3.8263,5.1352 1.9697,-1.2745 3.9399,-2.5478 5.9099,-3.8216 0.2763,-1.8464 1.9815,-3.3599 3.8473,-3.418 0.4479,-0.012 0.8981,0.044 1.3292,0.1665 2.0511,0.5203 3.3634,2.8504 2.8432,4.8813 -0.2059,1.0073 -0.8496,1.8556 -1.6915,2.4152 h 0.012 c 2.9685,0 5.3585,-2.3898 5.3585,-5.3586 0,-2.9685 -2.39,-5.3584 -5.3585,-5.3584 v -0.1471 c 0,-2.8872 -2.3244,-5.2116 -5.2118,-5.2116 z" /> + style="fill:url(#linearGradient77);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1552.091,1074.3208 a 2.6792917,2.6792934 57.092957 0 0 -1.4951,0.4296 2.6792917,2.6792934 57.092957 0 0 -1.2144,2.3805 l -5.9347,3.8402 -0.1803,1.727 1.6331,0.5184 1.0011,-0.6468 0.435,-0.8816 h 0.9366 l 0.7246,-0.4678 0.3478,-0.8473 0.9546,0.012 1.5376,-0.9935 a 2.6792917,2.6792934 57.092957 0 0 2.6703,-0.1323 2.6792917,2.6792934 57.092957 0 0 0.7939,-3.7048 2.6792917,2.6792934 57.092957 0 0 -2.2101,-1.2234 z m 0.1539,1.1868 a 0.68766355,0.70928668 0 0 1 0.6877,0.7091 0.68766355,0.70928668 0 0 1 -0.6877,0.7094 0.68766355,0.70928668 0 0 1 -0.6875,-0.7094 0.68766355,0.70928668 0 0 1 0.6875,-0.7091 z" /> - + style="display:inline;fill:url(#linearGradient126);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1525.1964,1063.742 c -2.8735,0 -5.1869,2.3134 -5.1869,5.187 v 0.1464 c -2.9546,0 -5.333,2.3784 -5.333,5.3328 0,2.9546 2.3784,5.3332 5.333,5.3332 h 3.2554 c 0,-0.2135 0,-0.4273 0,-0.6403 -0.31,0.2122 -0.6791,0.3764 -1.0624,0.3529 -1.2605,0.05 -2.2219,-1.4786 -1.649,-2.596 0.7967,-1.1308 1.8072,-2.0914 2.7016,-3.1438 0.5262,-0.5945 1.075,-1.3655 1.9507,-1.3908 0.3654,-0.021 0.7389,0.061 1.0552,0.2456 0.8052,0.6609 1.4436,1.5045 2.1503,2.2679 0.485,0.6047 1.0812,1.1141 1.5278,1.7497 0.4884,0.6389 0.4387,1.5839 -0.082,2.1876 -0.5656,0.7419 -1.7184,0.9005 -2.4617,0.3338 0,0.2112 10e-5,0.4222 3e-4,0.6334 h 3.2817 c 2.9544,0 5.3331,-2.3786 5.3331,-5.3332 0,-2.9544 -2.3787,-5.3328 -5.3331,-5.3328 v -0.1464 c 0,-2.8736 -2.3133,-5.187 -5.187,-5.187 z" /> + - + style="fill:url(#linearGradient125);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1501.5433,1063.0028 c -2.8376,0 -5.122,2.2845 -5.122,5.1222 v 0.1445 c -2.9177,0 -5.2666,2.3488 -5.2666,5.2664 0,2.9176 2.3489,5.2665 5.2666,5.2665 h 2.9244 v -4.0499 c 0,-1.132 0.911,-2.043 2.0431,-2.043 h 0.5979 c 1.132,0 2.0433,0.911 2.0433,2.043 v 4.0499 h 2.9242 c 2.9177,0 5.2666,-2.3489 5.2666,-5.2665 0,-2.9176 -2.3489,-5.2664 -5.2666,-5.2664 v -0.1445 c 0,-2.8377 -2.2844,-5.1222 -5.1221,-5.1222 z" /> + + style="fill:url(#swatch4);fill-opacity:1;stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:stroke markers fill" + d="m 1628.4457,1052.1316 h -16.9589 c -0.6265,0 -1.1307,-0.5042 -1.1307,-1.1307 v -1.1305 c 0,-0.6265 0.5042,-1.1306 1.1307,-1.1306 h 16.9589 c 0.6263,0 1.1307,0.5041 1.1307,1.1306 v 1.1305 c 0,0.6265 -0.5044,1.1307 -1.1307,1.1307 z" /> + style="fill:url(#swatch4);fill-opacity:1;stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:stroke markers fill" + d="m 1595.7446,1040.8256 c -0.6263,0 -1.1292,0.5054 -1.1292,1.1318 v 6.7832 h -6.7831 c -0.6263,0 -1.1319,0.5027 -1.1319,1.1291 v 1.1319 c 0,0.6264 0.5056,1.1292 1.1319,1.1292 h 6.7831 v 6.7831 c 0,0.6263 0.5029,1.1319 1.1292,1.1319 h 1.1319 c 0.6263,0 1.1291,-0.5056 1.1291,-1.1319 v -6.7831 h 6.7831 c 0.6263,0 1.1319,-0.5028 1.1319,-1.1292 v -1.1319 c 0,-0.6264 -0.5056,-1.1291 -1.1319,-1.1291 h -6.7831 v -6.7832 c 0,-0.6264 -0.5028,-1.1318 -1.1291,-1.1318 z" /> + style="fill:url(#linearGradient94);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + id="path94" /> + style="color:#000000;fill:url(#linearGradient90);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1569.4575,1034.5542 c 1.2977,-0.01 2.6,-0.6925 3.3919,-1.869 l 3.4756,-5.1636 c 0.8552,-1.2705 0.9508,-2.8675 0.3099,-4.1045 l -1.6981,2.442 c -0.066,0.1873 -0.1578,0.3743 -0.2804,0.5565 l -3.4757,5.1638 c -0.6676,0.9918 -1.8085,1.235 -2.5673,0.7321 -0.7588,-0.5031 -0.97,-1.6424 -0.3023,-2.6343 l 3.4757,-5.1636 c 0.111,-0.1649 0.2361,-0.3073 0.3694,-0.4309 v 0 l 1.7538,-2.5221 c -1.4241,-0.1514 -2.9178,0.5507 -3.7909,1.8479 l -3.4757,5.1636 c -1.2067,1.7928 -0.9022,4.2372 0.8532,5.4007 0.6034,0.3999 1.282,0.5846 1.9618,0.5821 z m 9.9191,-16.9338 c -1.2977,0.01 -2.6,0.6924 -3.3919,1.8689 l -3.4757,5.1637 c -0.8551,1.2703 -0.9507,2.8674 -0.3098,4.1044 l 1.6981,-2.442 c 0.066,-0.1872 0.1578,-0.3743 0.2804,-0.5564 l 3.4757,-5.1638 c 0.6676,-0.9918 1.8083,-1.235 2.5672,-0.7321 0.7589,0.5029 0.97,1.6423 0.3024,2.6341 l -3.4757,5.1637 c -0.111,0.1649 -0.2362,0.3073 -0.3695,0.4308 v 0 l -1.7538,2.5223 c 1.424,0.1513 2.9177,-0.5508 3.7909,-1.8479 l 3.4757,-5.1636 c 1.2067,-1.7928 0.9023,-4.2374 -0.8531,-5.4007 -0.6034,-0.4 -1.2822,-0.5847 -1.9619,-0.5821 z" /> + style="fill:url(#linearGradient91);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + id="path93" /> + style="color:#000000;fill:url(#linearGradient87);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:fill markers stroke" + d="m 1614.4948,1036.1207 c 1.4318,-0.01 2.8683,-0.7639 3.7419,-2.0618 l 3.8344,-5.6965 c 0.9433,-1.4015 1.0489,-3.1633 0.3418,-4.5279 l -1.8733,2.694 c -0.072,0.2064 -0.1741,0.4129 -0.3093,0.6137 l -3.8344,5.6967 c -0.7364,1.0942 -1.995,1.3624 -2.8321,0.8076 -0.8371,-0.5548 -1.0701,-1.8117 -0.3337,-2.9059 l 3.8344,-5.6964 c 0.1225,-0.182 0.2606,-0.3391 0.4076,-0.4754 v 0 l 1.9348,-2.7826 c -1.571,-0.1668 -3.2188,0.6077 -4.182,2.0387 l -3.8344,5.6964 c -1.3312,1.9778 -0.9954,4.6745 0.9412,5.9581 0.6657,0.4412 1.4144,0.6448 2.1643,0.642 z m 10.9428,-18.6812 c -1.4318,0.01 -2.8683,0.764 -3.7419,2.0618 l -3.8344,5.6965 c -0.9433,1.4015 -1.0489,3.1633 -0.3417,4.528 l 1.8733,-2.6941 c 0.072,-0.2065 0.174,-0.4128 0.3092,-0.6138 l 3.8344,-5.6966 c 0.7365,-1.0942 1.995,-1.3624 2.8321,-0.8075 0.8372,0.5547 1.0702,1.8117 0.3336,2.9059 l -3.8342,5.6964 c -0.1226,0.182 -0.2606,0.3391 -0.4077,0.4754 v 0 l -1.9348,2.7824 c 1.571,0.167 3.2188,-0.6075 4.1821,-2.0386 l 3.8343,-5.6964 c 1.3313,-1.9778 0.9955,-4.6745 -0.9411,-5.958 -0.6657,-0.4412 -1.4145,-0.645 -2.1643,-0.6422 z" /> + style="color:#000000;fill:url(#linearGradient80);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:stroke markers fill" + d="m 1589.0711,1021.614 c -1.3702,0 -2.5036,1.1333 -2.5036,2.5036 v 9.7689 c 0,1.3704 1.1334,2.5036 2.5036,2.5036 h 13.8926 c 1.4259,0 2.6047,-1.1787 2.6047,-2.6046 v -7.4444 l -4.7993,-4.7271 z m 0,2.1484 h 10.8201 l 3.5316,3.4796 v 6.5435 c 0,0.2659 -0.1933,0.4591 -0.4591,0.4591 h -13.8926 c -0.2103,0 -0.358,-0.1477 -0.358,-0.3581 v -9.7689 c 0,-0.2103 0.1477,-0.3552 0.358,-0.3552 z m 1.9579,1.7875 c -0.3964,0 -0.7162,0.3197 -0.7162,0.7161 0,0.3964 0.3198,0.7161 0.7162,0.7161 h 8.585 c 0.3964,0 0.7161,-0.3197 0.7161,-0.7161 0,-0.3964 -0.3197,-0.7161 -0.7161,-0.7161 z m -0.1069,2.8616 c -0.3378,0 -0.6093,0.2715 -0.6093,0.6093 v 0.2137 c 0,0.3378 0.2715,0.6093 0.6093,0.6093 h 10.231 c 0.3378,0 0.6093,-0.2715 0.6093,-0.6093 v -0.2137 c 0,-0.3378 -0.2715,-0.6093 -0.6093,-0.6093 z m 0,2.8617 c -0.3378,0 -0.6093,0.2715 -0.6093,0.6093 v 0.2137 c 0,0.3377 0.2715,0.6093 0.6093,0.6093 h 10.231 c 0.3378,0 0.6093,-0.2716 0.6093,-0.6093 v -0.2137 c 0,-0.3378 -0.2715,-0.6093 -0.6093,-0.6093 z" /> + id="path20-8" /> + id="path21-6" /> + id="path22-3" /> + id="path20" /> + id="path21" /> + id="path22" /> + id="path20-4" /> + id="path21-1" /> + id="path22-4" /> + style="color:#000000;fill:url(#swatch4);stroke:none;stroke-width:0;stroke-dasharray:none;paint-order:stroke markers fill" + d="m 203.99901,132.99936 c -3.83046,0 -6.99813,3.16767 -6.99813,6.99812 v 40.00384 c 0,3.83046 3.16767,6.99813 6.99813,6.99813 h 35.94775 c 3.69265,0.0637 6.95381,-2.5301 7.7199,-6.14297 l -0.0235,-0.008 5.18583,-18.84472 c 0.96523,-3.50593 -1.51154,-7.08998 -5.00539,-7.58653 v -4.74648 c 0,-4.88359 -4.02097,-8.90457 -8.90456,-8.90457 h -4.66803 c -0.88935,0 -1.76393,-0.25424 -2.51054,-0.73747 l -8.22201,-5.32704 c -1.71735,-1.11151 -3.72073,-1.70246 -5.76639,-1.70246 z m 0,6.00175 h 13.75303 c 0.88935,0 1.75608,0.25425 2.50269,0.73747 l 8.22986,5.32705 c 1.71735,1.1115 3.72073,1.70246 5.76639,1.70246 h 4.66803 c 1.64095,0 2.90281,1.26185 2.90281,2.90281 v 4.68372 h -29.82048 c -3.65807,0 -6.94076,2.32506 -8.15924,5.77423 l -0.83946,2.37717 v -22.50854 c 0,-0.58782 0.40855,-0.99637 0.99637,-0.99637 z m 43.0714,21.34741 c 10e-4,0.002 -0.009,0.0106 -0.0235,0.0628 l -5.39765,19.62142 c -0.29218,0.59961 -0.89671,0.97713 -1.60047,0.96498 h -0.0235 -36.02621 c -0.45944,0 -0.80955,-0.25266 -0.94146,-0.64332 l 6.4411,-18.23278 c 0.37848,-1.07136 1.36644,-1.76522 2.50269,-1.76522 h 34.99846 c 0.0541,0 0.0693,-0.01 0.0706,-0.008 z" + transform="matrix(0.36806912,0,0,0.36806912,1419.5878,968.62985)" /> + id="layer40"> + id="path8" /> + id="layer37"> + id="path110" /> + aria-label="1" /> + aria-label="2" /> + aria-label="3" /> + id="layer36"> + aria-label="1" /> + aria-label="2" /> + aria-label="3" /> + id="layer35"> + id="path57" /> + id="path58" /> + id="path61" /> + id="path62" /> + id="path60" /> + id="layer31"> + id="path63" /> + id="path67" /> + id="path64" /> + id="path65" /> + id="path66" /> + id="layer26"> + d="m 40.97302,17 c 0.783842,0 1.414934,0.630931 1.414934,1.414769 0,0.05287 -0.0032,0.105089 -0.0088,0.156421 h 3.469856 c 0.522943,0 0.944048,0.420946 0.944048,0.943887 0,0.522944 -0.421105,0.943886 -0.944048,0.943886 h -0.31447 c 0.0027,0.04271 0.0028,0.08604 -1.66e-4,0.129914 l -0.629267,9.382921 c -0.04665,0.695698 -0.561418,1.258678 -1.258677,1.258678 h -6.292891 c -0.697258,0 -1.211857,-0.56298 -1.258515,-1.258678 l -0.629419,-9.382921 c -0.0029,-0.04387 -0.0029,-0.0872 -1.65e-4,-0.129914 h -0.314468 c -0.522943,0 -0.943885,-0.420942 -0.943885,-0.943886 0,-0.522941 0.420942,-0.943887 0.943885,-0.943887 h 3.469862 c -0.0057,-0.05133 -0.0086,-0.103551 -0.0086,-0.156421 C 38.612253,17.630931 39.24318,17 40.027024,17 Z m 1.562574,3.553268 C 42.05659,20.576738 41.6663,20.957792 41.640977,21.4474 L 41.2496,29.015718 c -0.02701,0.522247 0.371561,0.964514 0.893806,0.991528 0.522245,0.027 0.964515,-0.371721 0.991528,-0.893967 l 0.391375,-7.568322 c 0.02701,-0.522243 -0.371561,-0.964515 -0.893805,-0.991524 -0.03264,-0.0016 -0.06497,-0.0016 -0.09691,-1.65e-4 z m -4.070983,0 c -0.03194,-0.0016 -0.06427,-0.0016 -0.09691,1.65e-4 -0.522244,0.027 -0.920979,0.469281 -0.893966,0.991524 l 0.391536,7.568322 c 0.02701,0.522246 0.469121,0.920976 0.991364,0.893967 0.522246,-0.027 0.92098,-0.469281 0.893968,-0.991528 L 39.359068,21.4474 c -0.02532,-0.489608 -0.415461,-0.870674 -0.894457,-0.894132 z" /> + id="layer11"> + d="m 23.907714,20.858686 c -0.219621,-0.0048 -0.442348,0.06398 -0.629133,0.211191 l -5.394609,4.251568 c -0.426946,0.336475 -0.499748,0.950992 -0.163273,1.377936 0.336472,0.426944 0.951119,0.499872 1.37806,0.1634 L 24,23 l 4.901365,3.862778 c 0.426942,0.336475 1.04146,0.263672 1.377934,-0.163272 0.336474,-0.426944 0.263671,-1.041588 -0.163275,-1.378061 l -5.39461,-4.25144 C 24.508376,20.902108 24.248614,20.836081 24,20.865152 c -0.03064,-0.0036 -0.06143,-0.0058 -0.09228,-0.0065 z" /> + id="layer13"> + d="m 2.4616308,20.920232 c -0.2827736,0.0063 -0.5603315,0.134625 -0.7498677,0.375123 -0.3369547,0.427551 -0.2640472,1.042942 0.1635051,1.379896 l 5.4022844,4.257616 C 7.4908918,27.101004 7.7510263,27.166996 8,27.137884 c 0.248967,0.02911 0.5091016,-0.03687 0.7224463,-0.205017 l 5.4022797,-4.257616 c 0.427552,-0.336954 0.500459,-0.952346 0.163505,-1.379896 -0.336953,-0.427553 -0.952469,-0.500461 -1.38002,-0.163505 L 8,25 3.0916561,21.131721 C 2.9046037,20.984305 2.6815625,20.915367 2.4616308,20.920232 Z" /> + d="m 395.58273,35.097429 c -0.73915,0 -1.34248,0.603294 -1.34248,1.342439 0,0.739144 0.60333,1.342471 1.34248,1.342471 0.26937,0 0.52048,-0.08044 0.73114,-0.218063 0.0121,0.03278 0.0311,0.06361 0.0575,0.09002 l 0.80968,0.809685 c 0.0974,0.09737 0.25417,0.09737 0.35154,0 l 0.0742,-0.07429 c 0.0974,-0.09737 0.0974,-0.254124 0,-0.351494 l -0.8097,-0.809684 c -0.0264,-0.0264 -0.0572,-0.0454 -0.09,-0.05748 0.13763,-0.210661 0.21802,-0.461792 0.21802,-0.731161 0,-0.739145 -0.6033,-1.342438 -1.34244,-1.342438 z m 0,0.383535 c 0.53186,0 0.95891,0.427048 0.95891,0.958904 0,0.531854 -0.42705,0.958903 -0.95891,0.958903 -0.53186,0 -0.95892,-0.427049 -0.95892,-0.958903 0,-0.531856 0.42706,-0.958904 0.95892,-0.958904 z" /> + id="layer10"> + d="m 9.916086,5.5291637 c -3.8304519,0 -7.0015025,3.1710505 -7.0015025,7.0015023 v 39.996995 c 0,3.830452 3.171051,7.001503 7.0015025,7.001503 h 39.713041 c 3.985756,0 7.285457,-3.291589 7.285457,-7.277344 V 19.288779 L 43.154968,5.5291637 Z m 0,6.0036053 h 7.585637 l 0.04057,6.587741 c 0.02532,3.558446 2.972413,6.482272 6.530949,6.482272 H 35.83706 c 3.560236,0 6.498497,-2.938262 6.498497,-6.498498 v -4.908353 l 8.575421,8.57542 V 52.25182 c 0,0.743121 -0.538729,1.273738 -1.281851,1.273738 H 44.41248 v -8.997296 c 0,-3.560236 -2.938261,-6.498497 -6.498497,-6.498497 H 21.915185 c -3.558947,0 -6.503657,2.923375 -6.522837,6.482271 l -0.04868,9.013522 H 9.916086 c -0.5878172,0 -1.0060096,-0.410079 -1.0060096,-0.997897 V 12.530666 c 0,-0.587817 0.418192,-0.997897 1.0060096,-0.997897 z m 12.583233,0 h 14.838642 v 6.571515 c 0,0.858039 -0.642862,1.500901 -1.500901,1.500901 H 24.073237 c -0.868919,0 -1.527353,-0.648228 -1.533353,-1.517127 z m -0.584134,31.494592 h 15.998798 c 0.858039,0 1.500901,0.642862 1.500901,1.500901 v 8.997296 H 20.341266 l 0.04868,-8.98107 c 0.0047,-0.866229 0.658951,-1.517127 1.525241,-1.517127 z" + transform="matrix(0.24074074,0,0,0.24074074,96.798341,0.16890504)" /> + transform="matrix(0.07185617,0,0,0.07185631,385.11587,29.840909)" /> + d="m 278.92561,43.035808 27.71555,-27.968334 c 1.5447,-1.558793 4.05027,-1.551761 5.60203,0 l 2.80101,2.801015 c 1.55176,1.551761 1.55879,4.057328 0,5.602028 l -27.96833,27.715556 c -1.55879,1.544708 -15.99914,7.848876 -15.99914,7.848876 0,0 6.30417,-14.44035 7.84888,-15.999141 z" /> + id="layer3"> + id="path40" /> + id="layer2"> + id="path59" /> + id="path3" /> + id="path2" /> + d="m 7.9977466,1.6544569 c -2.7407194,0 -6.2088287,2.0612177 -7.45646383,6.0345755 a 1.0718526,1.0575905 0 0 0 0,0.5813743 C 1.7396116,12.454227 5.3181211,14.345543 7.9977466,14.345543 c 2.6796294,0 6.2551384,-1.892189 7.4609704,-6.0548559 a 1.0718526,1.0575905 0 0 0 0,-0.5813742 C 14.279677,3.7010516 10.735252,1.6544569 7.9977466,1.6544569 Z m 0,2.1159322 a 4.2874122,4.230363 0 0 1 0,8.4592219 4.2874116,4.230363 0 0 1 0,-8.4592219 z m 0,2.1136787 a 2.1444666,2.1159322 0 0 0 0,4.2318642 2.1444666,2.1159322 0 0 0 0,-4.2318642 z" /> diff --git a/material_maker/tools/share/share_button.gd b/material_maker/tools/share/share_button.gd index a0e7398e9..06cc5be01 100644 --- a/material_maker/tools/share/share_button.gd +++ b/material_maker/tools/share/share_button.gd @@ -3,7 +3,7 @@ extends HBoxContainer @onready var http_request : HTTPRequest = $HTTPRequest var request_type : String = "" -@onready var connect_button : TextureButton = $ConnectButton +@onready var connect_button : Button = $ConnectButton var licenses : Array = [] var my_assets : Array = [] @@ -27,7 +27,7 @@ func update_my_assets(): a.type = asset_types[int(a.type) & 15] func set_logged_in(user_name : String) -> void: - $ConnectButton.texture_normal = preload("res://material_maker/tools/share/golden_link.tres") + $ConnectButton.mm_icon = "Login" if user_name == "": $ConnectButton.tooltip_text = "Logged in.\nMaterials can be submitted." else: @@ -36,7 +36,7 @@ func set_logged_in(user_name : String) -> void: connect_button.disabled = false func set_logged_out(message : String = "") -> void: - $ConnectButton.texture_normal = preload("res://material_maker/tools/share/broken_link.tres") + $ConnectButton.mm_icon = "Login" $ConnectButton.tooltip_text = "Click to log in and submit assets" $SendButton.disabled = true if message != "": diff --git a/material_maker/tools/share/share_button.tscn b/material_maker/tools/share/share_button.tscn index 0d9e617ab..58984a531 100644 --- a/material_maker/tools/share/share_button.tscn +++ b/material_maker/tools/share/share_button.tscn @@ -1,17 +1,8 @@ -[gd_scene load_steps=7 format=3 uid="uid://dnttargjmhjh8"] +[gd_scene load_steps=4 format=3 uid="uid://dnttargjmhjh8"] -[ext_resource type="Texture2D" path="res://material_maker/tools/share/broken_link.tres" id="1"] [ext_resource type="Script" path="res://material_maker/tools/share/share_button.gd" id="2"] +[ext_resource type="Script" path="res://material_maker/widgets/button_with_icon.gd" id="2_ujx6c"] [ext_resource type="Script" path="res://material_maker/tools/share/share_http_request.gd" id="3"] -[ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="4"] - -[sub_resource type="AtlasTexture" id="1"] -atlas = ExtResource("4") -region = Rect2(224, 0, 32, 16) - -[sub_resource type="AtlasTexture" id="2"] -atlas = ExtResource("4") -region = Rect2(224, 16, 32, 16) [node name="Share" type="HBoxContainer"] offset_right = 40.0 @@ -19,19 +10,20 @@ offset_bottom = 40.0 tooltip_text = "Open Material Maker web site" script = ExtResource("2") -[node name="ConnectButton" type="TextureButton" parent="."] +[node name="ConnectButton" type="Button" parent="."] layout_mode = 2 size_flags_vertical = 4 tooltip_text = "Connect to web site" -texture_normal = ExtResource("1") +script = ExtResource("2_ujx6c") +mm_icon = "Login" -[node name="SendButton" type="TextureButton" parent="."] +[node name="SendButton" type="Button" parent="."] layout_mode = 2 size_flags_vertical = 4 tooltip_text = "Send material to web site" disabled = true -texture_normal = SubResource("1") -texture_disabled = SubResource("2") +script = ExtResource("2_ujx6c") +mm_icon = "Upload" [node name="HTTPRequest" type="HTTPRequest" parent="."] max_redirects = 0 diff --git a/material_maker/widgets/button_with_icon.gd b/material_maker/widgets/button_with_icon.gd new file mode 100644 index 000000000..0353dfcef --- /dev/null +++ b/material_maker/widgets/button_with_icon.gd @@ -0,0 +1,8 @@ +extends Button + +@export var mm_icon := "" +@export var theme_type := "MM_Icons" + +func _notification(what: int) -> void: + if what == NOTIFICATION_THEME_CHANGED: + icon = get_theme_icon(mm_icon, theme_type) From 424fc3d5c37f34af93a574a416862250deff762c Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Wed, 4 Sep 2024 20:20:26 +0200 Subject: [PATCH 21/24] More icon changes --- material_maker/nodes/edit_buttons.tscn | 34 ++++++++++--------------- material_maker/nodes/generic/generic.gd | 6 ++--- material_maker/nodes/minimal.gd | 2 +- material_maker/nodes/node_button.gd | 1 + material_maker/nodes/node_button.tscn | 2 ++ material_maker/theme/modern.tres | 24 ++++++++++++++++- 6 files changed, 43 insertions(+), 26 deletions(-) diff --git a/material_maker/nodes/edit_buttons.tscn b/material_maker/nodes/edit_buttons.tscn index d3f1c44b5..b7ad571fc 100644 --- a/material_maker/nodes/edit_buttons.tscn +++ b/material_maker/nodes/edit_buttons.tscn @@ -1,37 +1,29 @@ -[gd_scene load_steps=6 format=3 uid="uid://cit68cso5187c"] +[gd_scene load_steps=3 format=3 uid="uid://cit68cso5187c"] [ext_resource type="Script" path="res://material_maker/nodes/edit_buttons.gd" id="1"] -[ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="2"] - -[sub_resource type="AtlasTexture" id="1"] -atlas = ExtResource("2") -region = Rect2(16, 16, 16, 16) -filter_clip = true - -[sub_resource type="AtlasTexture" id="2"] -atlas = ExtResource("2") -region = Rect2(48, 16, 16, 16) - -[sub_resource type="AtlasTexture" id="3"] -atlas = ExtResource("2") -region = Rect2(32, 16, 16, 16) +[ext_resource type="Script" path="res://material_maker/widgets/button_with_icon.gd" id="2_wosi8"] [node name="NodeEditButtons" type="HBoxContainer"] offset_right = 65.0 offset_bottom = 22.0 +size_flags_horizontal = 3 +alignment = 2 script = ExtResource("1") [node name="Edit" type="Button" parent="."] layout_mode = 2 -icon = SubResource("1") -flat = true +tooltip_text = "Edit" +script = ExtResource("2_wosi8") +mm_icon = "Edit" [node name="Load" type="Button" parent="."] layout_mode = 2 -icon = SubResource("2") -flat = true +tooltip_text = "Load" +script = ExtResource("2_wosi8") +mm_icon = "Folder" [node name="Save" type="Button" parent="."] layout_mode = 2 -icon = SubResource("3") -flat = true +tooltip_text = "Save" +script = ExtResource("2_wosi8") +mm_icon = "Save" diff --git a/material_maker/nodes/generic/generic.gd b/material_maker/nodes/generic/generic.gd index 2b9cd5d7e..36e8630fc 100644 --- a/material_maker/nodes/generic/generic.gd +++ b/material_maker/nodes/generic/generic.gd @@ -11,7 +11,7 @@ var preview_timer : Timer = Timer.new() var generic_button : Button -const GENERIC_ICON := "Generic"#= preload("res://material_maker/icons/add_generic.tres") +const GENERIC_ICON := "Variadic"#= preload("res://material_maker/icons/add_generic.tres") func _ready() -> void: @@ -582,8 +582,8 @@ func update_node() -> void: hsizer.custom_minimum_size.y = item_min_height if !generator.minimized else 12 * mm_globals.ui_scale # Edit buttons if generator.is_editable(): - for theme_stylebox in ["frame", "selected_frame"]: - remove_theme_stylebox_override(theme_stylebox) + #for theme_stylebox in ["frame", "selected_frame"]: + #remove_theme_stylebox_override(theme_stylebox) var edit_buttons = preload("res://material_maker/nodes/edit_buttons.tscn").instantiate() add_child(edit_buttons) edit_buttons.connect_buttons(self, "edit_generator", "load_generator", "save_generator") diff --git a/material_maker/nodes/minimal.gd b/material_maker/nodes/minimal.gd index cc86aa1a7..de00020c5 100644 --- a/material_maker/nodes/minimal.gd +++ b/material_maker/nodes/minimal.gd @@ -9,7 +9,7 @@ var buttons : HBoxContainer = null var close_button : Button -const CLOSE_ICON := "Cross" +const CLOSE_ICON := "Node_Delete" func _ready() -> void: diff --git a/material_maker/nodes/node_button.gd b/material_maker/nodes/node_button.gd index 3f99950da..2524625b3 100644 --- a/material_maker/nodes/node_button.gd +++ b/material_maker/nodes/node_button.gd @@ -13,6 +13,7 @@ func _notification(what: int) -> void: if what == NOTIFICATION_THEME_CHANGED: if mm_icon: icon = get_theme_icon(mm_icon, "MM_Icons") + custom_minimum_size = Vector2(25, 25) * mm_globals.ui_scale func _on_gui_input(event): diff --git a/material_maker/nodes/node_button.tscn b/material_maker/nodes/node_button.tscn index 2a973e678..8caf3f735 100644 --- a/material_maker/nodes/node_button.tscn +++ b/material_maker/nodes/node_button.tscn @@ -13,8 +13,10 @@ offset_bottom = 3.5 grow_horizontal = 2 grow_vertical = 2 size_flags_vertical = 4 +focus_mode = 0 theme_type_variation = &"MM_NodeButton" flat = true +expand_icon = true script = ExtResource("1_f00x4") [connection signal="gui_input" from="." to="." method="_on_gui_input"] diff --git a/material_maker/theme/modern.tres b/material_maker/theme/modern.tres index dfb88ceac..d2bd70cad 100644 --- a/material_maker/theme/modern.tres +++ b/material_maker/theme/modern.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=95 format=3 uid="uid://b628lwfk6ig2c"] +[gd_resource type="Theme" load_steps=98 format=3 uid="uid://b628lwfk6ig2c"] [ext_resource type="FontFile" uid="uid://dgkwr5jydtk6p" path="res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf" id="1_hqoqt"] [ext_resource type="FontFile" uid="uid://btybkvkb8rtol" path="res://material_maker/fonts/DroidSansFallback.ttf" id="2_1xp11"] @@ -230,10 +230,12 @@ corner_detail = 4 [sub_resource type="AtlasTexture" id="AtlasTexture_wv1k3"] atlas = ExtResource("2_uo7ch") region = Rect2(0, 80, 16, 16) +metadata/scale = 2.0 [sub_resource type="AtlasTexture" id="AtlasTexture_5mpy4"] atlas = ExtResource("2_uo7ch") region = Rect2(16, 80, 16, 16) +metadata/scale = 2.0 [sub_resource type="AtlasTexture" id="AtlasTexture_yl83e"] atlas = ExtResource("2_uo7ch") @@ -246,10 +248,12 @@ region = Rect2(48, 0, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_wg25g"] atlas = ExtResource("2_uo7ch") region = Rect2(96, 64, 16, 16) +metadata/scale = 2.0 [sub_resource type="AtlasTexture" id="AtlasTexture_5laiy"] atlas = ExtResource("2_uo7ch") region = Rect2(112, 64, 16, 16) +metadata/scale = 2.0 [sub_resource type="AtlasTexture" id="AtlasTexture_kxvq8"] atlas = ExtResource("2_uo7ch") @@ -263,6 +267,10 @@ region = Rect2(64, 0, 16, 16) atlas = ExtResource("2_uo7ch") region = Rect2(16, 0, 16, 16) +[sub_resource type="AtlasTexture" id="AtlasTexture_2jd0a"] +atlas = ExtResource("2_uo7ch") +region = Rect2(0, 32, 16, 16) + [sub_resource type="AtlasTexture" id="AtlasTexture_dqmkr"] atlas = ExtResource("2_uo7ch") region = Rect2(80, 80, 16, 16) @@ -274,6 +282,12 @@ region = Rect2(32, 64, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_3dq6o"] atlas = ExtResource("2_uo7ch") region = Rect2(112, 48, 16, 16) +metadata/scale = 2.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_yjtbp"] +atlas = ExtResource("2_uo7ch") +region = Rect2(48, 0, 16, 16) +metadata/scale = 2.0 [sub_resource type="AtlasTexture" id="AtlasTexture_458ks"] atlas = ExtResource("2_uo7ch") @@ -343,6 +357,11 @@ region = Rect2(96, 80, 16, 16) atlas = ExtResource("2_uo7ch") region = Rect2(16, 64, 16, 16) +[sub_resource type="AtlasTexture" id="AtlasTexture_2xv0q"] +atlas = ExtResource("2_uo7ch") +region = Rect2(32, 80, 16, 16) +metadata/scale = 2.0 + [sub_resource type="AtlasTexture" id="AtlasTexture_ik36r"] atlas = ExtResource("2_uo7ch") region = Rect2(0, 0, 16, 16) @@ -776,9 +795,11 @@ MM_Icons/icons/DiceLocked = SubResource("AtlasTexture_5laiy") MM_Icons/icons/Download = SubResource("AtlasTexture_kxvq8") MM_Icons/icons/Edit = SubResource("AtlasTexture_7er1n") MM_Icons/icons/Export = SubResource("AtlasTexture_c6qxj") +MM_Icons/icons/Folder = SubResource("AtlasTexture_2jd0a") MM_Icons/icons/Locked = SubResource("AtlasTexture_dqmkr") MM_Icons/icons/Login = SubResource("AtlasTexture_qbea1") MM_Icons/icons/Minimize = SubResource("AtlasTexture_3dq6o") +MM_Icons/icons/Node_Delete = SubResource("AtlasTexture_yjtbp") MM_Icons/icons/Save = SubResource("AtlasTexture_458ks") MM_Icons/icons/Search = SubResource("AtlasTexture_8xo65") MM_Icons/icons/Section_3D = SubResource("AtlasTexture_yefe5") @@ -794,6 +815,7 @@ MM_Icons/icons/Settings = SubResource("AtlasTexture_ujx26") MM_Icons/icons/Undock = SubResource("AtlasTexture_emila") MM_Icons/icons/Unlocked = SubResource("AtlasTexture_ucdk6") MM_Icons/icons/Upload = SubResource("AtlasTexture_xwma0") +MM_Icons/icons/Variadic = SubResource("AtlasTexture_2xv0q") MM_Icons/icons/View = SubResource("AtlasTexture_ik36r") MM_MainBackground/base_type = &"PanelContainer" MM_MainBackground/styles/panel = SubResource("StyleBoxFlat_wqwm5") From 8442513c28efa0a5e4f53faf2d281370e86b2aca Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Thu, 5 Sep 2024 09:54:35 +0200 Subject: [PATCH 22/24] Fix export target file list --- export_presets.cfg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/export_presets.cfg b/export_presets.cfg index 2f0ed0eb5..4428206cf 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -7,10 +7,10 @@ advanced_options=false dedicated_server=false custom_features="" export_filter="resources" -export_files=PackedStringArray("res://addons/flexible_layout/arrow.svg", "res://addons/flexible_layout/flexible_dragger.gd", "res://addons/flexible_layout/flexible_dragger.tscn", "res://addons/flexible_layout/flexible_layout.gd", "res://addons/flexible_layout/flexible_layout.tscn", "res://addons/flexible_layout/flexible_overlay.gd", "res://addons/flexible_layout/flexible_overlay.tscn", "res://addons/flexible_layout/flexible_tab.gd", "res://addons/flexible_layout/flexible_tab.tscn", "res://addons/flexible_layout/flexible_tabs.gd", "res://addons/flexible_layout/flexible_tabs.tscn", "res://addons/flexible_layout/tab.svg", "res://addons/flexible_layout/undock.png", "res://addons/material_maker/engine/dependencies.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/logger.gd", "res://addons/material_maker/engine/multi_renderer.gd", "res://addons/material_maker/engine/nodes/buffer_compute.tres", "res://addons/material_maker/engine/nodes/gen_base.gd", "res://addons/material_maker/engine/nodes/gen_brush.gd", "res://addons/material_maker/engine/nodes/gen_buffer.gd", "res://addons/material_maker/engine/nodes/gen_comment.gd", "res://addons/material_maker/engine/nodes/gen_context.gd", "res://addons/material_maker/engine/nodes/gen_debug.gd", "res://addons/material_maker/engine/nodes/gen_export.gd", "res://addons/material_maker/engine/nodes/gen_graph.gd", "res://addons/material_maker/engine/nodes/gen_image.gd", "res://addons/material_maker/engine/nodes/gen_ios.gd", "res://addons/material_maker/engine/nodes/gen_iterate_buffer.gd", "res://addons/material_maker/engine/nodes/gen_material.gd", "res://addons/material_maker/engine/nodes/gen_meshmap.gd", "res://addons/material_maker/engine/nodes/gen_remote.gd", "res://addons/material_maker/engine/nodes/gen_reroute.gd", "res://addons/material_maker/engine/nodes/gen_sdf.gd", "res://addons/material_maker/engine/nodes/gen_shader.gd", "res://addons/material_maker/engine/nodes/gen_switch.gd", "res://addons/material_maker/engine/nodes/gen_text.gd", "res://addons/material_maker/engine/nodes/gen_texture.gd", "res://addons/material_maker/engine/nodes/gen_webcam.gd", "res://addons/material_maker/engine/nodes/iterate_buffer_compute.tres", "res://addons/material_maker/engine/paths.gd", "res://addons/material_maker/engine/pipeline/compute_shader.gd", "res://addons/material_maker/engine/pipeline/pipeline.gd", "res://addons/material_maker/engine/pipeline/rendering_pipeline.gd", "res://addons/material_maker/engine/pipeline/texture.gd", "res://addons/material_maker/engine/preprocessor.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/engine/shader_base.gd", "res://addons/material_maker/engine/shader_compute.gd", "res://addons/material_maker/engine/shader_error_handler.gd", "res://addons/material_maker/engine/shader_material.gd", "res://addons/material_maker/engine/text_resource.gd", "res://addons/material_maker/loaders/mesh_loader.gd", "res://addons/material_maker/loaders/obj_loader.gd", "res://addons/material_maker/map_generator/ao_fragment.tres", "res://addons/material_maker/map_generator/ao_vertex.tres", "res://addons/material_maker/map_generator/bvh_generator.gd", "res://addons/material_maker/map_generator/common_fragment.tres", "res://addons/material_maker/map_generator/curvature_generator.gd", "res://addons/material_maker/map_generator/curvature_vertex.tres", "res://addons/material_maker/map_generator/denoise_compute.tres", "res://addons/material_maker/map_generator/dilate_1_compute.tres", "res://addons/material_maker/map_generator/dilate_2_compute.tres", "res://addons/material_maker/map_generator/map_generator.gd", "res://addons/material_maker/map_generator/mesh_rendering_pipeline.gd", "res://addons/material_maker/map_generator/normal_fragment.tres", "res://addons/material_maker/map_generator/normal_vertex.tres", "res://addons/material_maker/map_generator/normalize_compute.tres", "res://addons/material_maker/map_generator/position_vertex.tres", "res://addons/material_maker/map_generator/seams_1_compute.tres", "res://addons/material_maker/map_generator/seams_2_compute.tres", "res://addons/material_maker/map_generator/tangent_vertex.tres", "res://addons/material_maker/parser/glsl_parser.gd", "res://addons/material_maker/parser/glsl_parser_base.gd", "res://addons/material_maker/parser/parser_base.gd", "res://addons/material_maker/sdf_builder/base.gd", "res://addons/material_maker/sdf_builder/icons/icons.svg", "res://addons/material_maker/sdf_builder/sdf2d/annular.gd", "res://addons/material_maker/sdf_builder/sdf2d/bend.gd", "res://addons/material_maker/sdf_builder/sdf2d/box.gd", "res://addons/material_maker/sdf_builder/sdf2d/circle.gd", "res://addons/material_maker/sdf_builder/sdf2d/color.gd", "res://addons/material_maker/sdf_builder/sdf2d/difference.gd", "res://addons/material_maker/sdf_builder/sdf2d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf2d/flip.gd", "res://addons/material_maker/sdf_builder/sdf2d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf2d/line.gd", "res://addons/material_maker/sdf_builder/sdf2d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf2d/morph.gd", "res://addons/material_maker/sdf_builder/sdf2d/ngon.gd", "res://addons/material_maker/sdf_builder/sdf2d/polygon.gd", "res://addons/material_maker/sdf_builder/sdf2d/round.gd", "res://addons/material_maker/sdf_builder/sdf2d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf2d/stairs.gd", "res://addons/material_maker/sdf_builder/sdf2d/star.gd", "res://addons/material_maker/sdf_builder/sdf2d/union.gd", "res://addons/material_maker/sdf_builder/sdf3d/annular.gd", "res://addons/material_maker/sdf_builder/sdf3d/bend.gd", "res://addons/material_maker/sdf_builder/sdf3d/box.gd", "res://addons/material_maker/sdf_builder/sdf3d/color.gd", "res://addons/material_maker/sdf_builder/sdf3d/cylinder.gd", "res://addons/material_maker/sdf_builder/sdf3d/difference.gd", "res://addons/material_maker/sdf_builder/sdf3d/distort.gd", "res://addons/material_maker/sdf_builder/sdf3d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf3d/extrusion.gd", "res://addons/material_maker/sdf_builder/sdf3d/flip.gd", "res://addons/material_maker/sdf_builder/sdf3d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf3d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf3d/morph.gd", "res://addons/material_maker/sdf_builder/sdf3d/revolution.gd", "res://addons/material_maker/sdf_builder/sdf3d/round.gd", "res://addons/material_maker/sdf_builder/sdf3d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf3d/sphere.gd", "res://addons/material_maker/sdf_builder/sdf3d/torus.gd", "res://addons/material_maker/sdf_builder/sdf3d/twist.gd", "res://addons/material_maker/sdf_builder/sdf3d/union.gd", "res://addons/material_maker/sdf_builder/sdf_builder.gd", "res://addons/material_maker/sdf_builder/sdf_builder.tscn", "res://addons/material_maker/sdf_builder/tex/blend.gd", "res://addons/material_maker/sdf_builder/tex/brightness_contrast.gd", "res://addons/material_maker/sdf_builder/tex/deform.gd", "res://addons/material_maker/sdf_builder/tex/fbm.gd", "res://addons/material_maker/sdf_builder/tex/pattern.gd", "res://addons/material_maker/sdf_builder/tex/simple_gradient.gd", "res://addons/material_maker/sdf_builder/tex/step.gd", "res://addons/material_maker/sdf_builder/tex/uniform.gd", "res://addons/material_maker/sdf_builder/tex/uniform_gs.gd", "res://addons/material_maker/shader_functions.tres", "res://addons/material_maker/types/curve.gd", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/lattice.gd", "res://addons/material_maker/types/pixels.gd", "res://addons/material_maker/types/polygon.gd", "res://addons/material_maker/types/splines.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/console.gd", "res://material_maker/darken.gd", "res://material_maker/darken.tscn", "res://material_maker/fonts/DroidSansFallback.ttf", "res://material_maker/fonts/DroidSansJapanese.ttf", "res://material_maker/fonts/hack.ttf", "res://material_maker/fonts/vegur_regular.otf", "res://material_maker/globals.gd", "res://material_maker/globals.tscn", "res://material_maker/globals_menu_manager.gd", "res://material_maker/icons/add.tres", "res://material_maker/icons/add_generic.tres", "res://material_maker/icons/buffer.tres", "res://material_maker/icons/buffer_paused.tres", "res://material_maker/icons/close.tres", "res://material_maker/icons/color_palette.png", "res://material_maker/icons/color_picker.png", "res://material_maker/icons/custom.png", "res://material_maker/icons/down.tres", "res://material_maker/icons/edit.tres", "res://material_maker/icons/eye_closed.tres", "res://material_maker/icons/eye_open.tres", "res://material_maker/icons/godot_logo.svg", "res://material_maker/icons/icons.gd", "res://material_maker/icons/icons.svg", "res://material_maker/icons/icons.tres", "res://material_maker/icons/link.tres", "res://material_maker/icons/lmb.tres", "res://material_maker/icons/minimize.tres", "res://material_maker/icons/mmb.tres", "res://material_maker/icons/ok.tres", "res://material_maker/icons/output_preview.tres", "res://material_maker/icons/paste_graph.tres", "res://material_maker/icons/paste_newgraph.tres", "res://material_maker/icons/paste_none.tres", "res://material_maker/icons/paste_palette.tres", "res://material_maker/icons/port_group_0.tres", "res://material_maker/icons/port_group_1.tres", "res://material_maker/icons/port_group_2.tres", "res://material_maker/icons/port_group_3.tres", "res://material_maker/icons/preview.png", "res://material_maker/icons/preview_locked.png", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/icons/rmb.tres", "res://material_maker/icons/up.tres", "res://material_maker/locale/locale.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/main_window_layout.gd", "res://material_maker/main_window_projects_panel.gd", "res://material_maker/meshes/suzanne.obj", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment/comment.gd", "res://material_maker/nodes/comment/comment.tscn", "res://material_maker/nodes/comment/palette_button.gd", "res://material_maker/nodes/debug/debug.gd", "res://material_maker/nodes/debug/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic/generic.gd", "res://material_maker/nodes/generic/generic.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/ios.gd", "res://material_maker/nodes/ios/ios.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/material_export/material_export.gd", "res://material_maker/nodes/material_export/material_export.tscn", "res://material_maker/nodes/minimal.gd", "res://material_maker/nodes/node_button.gd", "res://material_maker/nodes/node_button.tscn", "res://material_maker/nodes/remote/named_parameter_dialog.gd", "res://material_maker/nodes/remote/named_parameter_dialog.tscn", "res://material_maker/nodes/remote/remote.gd", "res://material_maker/nodes/remote/remote.tscn", "res://material_maker/nodes/reroute/reroute.gd", "res://material_maker/nodes/reroute/reroute.tscn", "res://material_maker/nodes/switch/switch.gd", "res://material_maker/nodes/switch/switch.tscn", "res://material_maker/nodes/tones/tones.gd", "res://material_maker/nodes/tones/tones.tscn", "res://material_maker/panel_container.gd", "res://material_maker/panels/brushes/brushes.gd", "res://material_maker/panels/brushes/brushes.tscn", "res://material_maker/panels/graph_edit/graph_edit.gd", "res://material_maker/panels/graph_edit/graph_edit.tscn", "res://material_maker/panels/hierarchy/hierarchy_panel.gd", "res://material_maker/panels/hierarchy/hierarchy_panel.tscn", "res://material_maker/panels/layers/add_layer_menu.tscn", "res://material_maker/panels/layers/icons/layer_mask.tres", "res://material_maker/panels/layers/icons/layer_paint.tres", "res://material_maker/panels/layers/icons/layer_proc.tres", "res://material_maker/panels/layers/icons/not_visible.tres", "res://material_maker/panels/layers/icons/visible.tres", "res://material_maker/panels/layers/layer_config_popup.gd", "res://material_maker/panels/layers/layer_config_popup.tscn", "res://material_maker/panels/layers/layer_tooltip.gd", "res://material_maker/panels/layers/layer_tooltip.tscn", "res://material_maker/panels/layers/layer_tooltip_thumbnail.gd", "res://material_maker/panels/layers/layer_tooltip_thumbnail.tscn", "res://material_maker/panels/layers/layers.gd", "res://material_maker/panels/layers/layers.tscn", "res://material_maker/panels/layers/layers_tree.gd", "res://material_maker/panels/library/button_greyed.tres", "res://material_maker/panels/library/create_lib_dialog.gd", "res://material_maker/panels/library/create_lib_dialog.tscn", "res://material_maker/panels/library/library.gd", "res://material_maker/panels/library/library.tscn", "res://material_maker/panels/library/library_tree.gd", "res://material_maker/panels/paint/collapse_button.gd", "res://material_maker/panels/paint/collapse_button.tscn", "res://material_maker/panels/paint/export.gd", "res://material_maker/panels/paint/export.tscn", "res://material_maker/panels/paint/layer_types/layer.gd", "res://material_maker/panels/paint/layer_types/layer_mask.gd", "res://material_maker/panels/paint/layer_types/layer_paint.gd", "res://material_maker/panels/paint/layer_types/layer_procedural.gd", "res://material_maker/panels/paint/paint.gd", "res://material_maker/panels/paint/paint.tscn", "res://material_maker/panels/paint/paint_layers.gd", "res://material_maker/panels/paint/paint_layers.tscn", "res://material_maker/panels/paint/paint_project_settings.gd", "res://material_maker/panels/paint/paint_project_settings.tscn", "res://material_maker/panels/parameters/parameters.gd", "res://material_maker/panels/parameters/parameters.tscn", "res://material_maker/panels/preview_2d/control_point.gd", "res://material_maker/panels/preview_2d/control_point.tscn", "res://material_maker/panels/preview_2d/custom_size_dialog.gd", "res://material_maker/panels/preview_2d/custom_size_dialog.tscn", "res://material_maker/panels/preview_2d/lines.gd", "res://material_maker/panels/preview_2d/preview_2d.gd", "res://material_maker/panels/preview_2d/preview_2d.tscn", "res://material_maker/panels/preview_2d/preview_2d_node.gd", "res://material_maker/panels/preview_2d/preview_2d_node.tscn", "res://material_maker/panels/preview_2d/preview_2d_panel.gd", "res://material_maker/panels/preview_2d/preview_2d_panel.tscn", "res://material_maker/panels/preview_3d/materials/shader_material_tesselated.tres", "res://material_maker/panels/preview_3d/materials/spatial_material.tres", "res://material_maker/panels/preview_3d/mesh_config_popup.gd", "res://material_maker/panels/preview_3d/mesh_config_popup.tscn", "res://material_maker/panels/preview_3d/preview_3d.gd", "res://material_maker/panels/preview_3d/preview_3d.tscn", "res://material_maker/panels/preview_3d/preview_3d_panel.gd", "res://material_maker/panels/preview_3d/preview_3d_panel.tscn", "res://material_maker/panels/preview_3d/preview_3d_scene.tscn", "res://material_maker/panels/preview_3d/preview_3d_ui.gd", "res://material_maker/panels/preview_3d/preview_3d_ui.tscn", "res://material_maker/panels/preview_3d/preview_light.gd", "res://material_maker/panels/preview_3d/preview_light.tscn", "res://material_maker/panels/preview_3d/preview_mesh.gd", "res://material_maker/panels/preview_3d/preview_objects.tscn", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cube.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Custom.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cylinder.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Plane.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Prism.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Sphere.png", "res://material_maker/panels/reference/color_slot.gd", "res://material_maker/panels/reference/color_slot.tscn", "res://material_maker/panels/reference/gradient_slot.gd", "res://material_maker/panels/reference/gradient_slot.tscn", "res://material_maker/panels/reference/reference_panel.gd", "res://material_maker/panels/reference/reference_panel.tscn", "res://material_maker/projects_panel.tscn", "res://material_maker/theme/birch.tres", "res://material_maker/theme/dark.tres", "res://material_maker/theme/dark/checkbox_checked.png", "res://material_maker/theme/dark/checkbox_radio_checked.png", "res://material_maker/theme/dark/checkbox_radio_unchecked.png", "res://material_maker/theme/dark/checkbox_unchecked.png", "res://material_maker/theme/dark/checkbutton_off.png", "res://material_maker/theme/dark/checkbutton_off_disabled.png", "res://material_maker/theme/dark/checkbutton_on.png", "res://material_maker/theme/dark/checkbutton_on_disabled.png", "res://material_maker/theme/dark/colorpickerbutton_bg.png", "res://material_maker/theme/dark/curve_preset_bevel.tres", "res://material_maker/theme/dark/curve_preset_bounce.tres", "res://material_maker/theme/dark/curve_preset_easein.tres", "res://material_maker/theme/dark/curve_preset_easeinout.tres", "res://material_maker/theme/dark/curve_preset_easeout.tres", "res://material_maker/theme/dark/curve_preset_linear.tres", "res://material_maker/theme/dark/curve_preset_sawtooth.tres", "res://material_maker/theme/dark/curve_presets.svg", "res://material_maker/theme/dark/graphedit_minus.png", "res://material_maker/theme/dark/graphedit_more.png", "res://material_maker/theme/dark/graphedit_reset.png", "res://material_maker/theme/dark/graphedit_snap.png", "res://material_maker/theme/dark/graphnode_close.png", "res://material_maker/theme/dark/graphnode_port.png", "res://material_maker/theme/dark/graphnode_resizer.png", "res://material_maker/theme/dark/hslider_grabber.png", "res://material_maker/theme/dark/hslider_grabber_disabled.png", "res://material_maker/theme/dark/hslider_grabber_highlight.png", "res://material_maker/theme/dark/hslider_tick.png", "res://material_maker/theme/dark/hsplitcontainer_grabber.png", "res://material_maker/theme/dark/lineedit_clear.png", "res://material_maker/theme/dark/optionbutton_arrow.png", "res://material_maker/theme/dark/popupmenu_checked.png", "res://material_maker/theme/dark/popupmenu_radio_checked.png", "res://material_maker/theme/dark/popupmenu_radio_unchecked.png", "res://material_maker/theme/dark/popupmenu_submenu.png", "res://material_maker/theme/dark/popupmenu_unchecked.png", "res://material_maker/theme/dark/popupmenu_visibility_hidden.png", "res://material_maker/theme/dark/popupmenu_visibility_visible.png", "res://material_maker/theme/dark/popupmenu_visibility_xray.png", "res://material_maker/theme/dark/sb_checkbox_focus_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_hslider_focus_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/sb_panel_panelf_texture.png", "res://material_maker/theme/dark/sb_panel_panelnc_texture.png", "res://material_maker/theme/dark/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/dark/sb_progressbar_bg_texture.png", "res://material_maker/theme/dark/sb_progressbar_fg_texture.png", "res://material_maker/theme/dark/sb_textedit_completion_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/tabcontainer_decrement.png", "res://material_maker/theme/dark/tabcontainer_decrement_highlight.png", "res://material_maker/theme/dark/tabcontainer_increment.png", "res://material_maker/theme/dark/tabcontainer_increment_highlight.png", "res://material_maker/theme/dark/tabcontainer_menu.png", "res://material_maker/theme/dark/tabcontainer_menu_highlight.png", "res://material_maker/theme/dark/tabs_close.png", "res://material_maker/theme/dark/tabs_decrement.png", "res://material_maker/theme/dark/tabs_decrement_highlight.png", "res://material_maker/theme/dark/tabs_increment.png", "res://material_maker/theme/dark/tabs_increment_highlight.png", "res://material_maker/theme/dark/textedit_fold.png", "res://material_maker/theme/dark/textedit_folded.png", "res://material_maker/theme/dark/textedit_space.png", "res://material_maker/theme/dark/textedit_tab.png", "res://material_maker/theme/dark/tree_arrow.png", "res://material_maker/theme/dark/tree_arrow_collapsed.png", "res://material_maker/theme/dark/tree_checked.png", "res://material_maker/theme/dark/tree_select_arrow.png", "res://material_maker/theme/dark/tree_unchecked.png", "res://material_maker/theme/dark/tree_updown.png", "res://material_maker/theme/dark/vslider_grabber.png", "res://material_maker/theme/dark/vslider_grabber_highlight.png", "res://material_maker/theme/dark/vsplitcontainer_grabber.png", "res://material_maker/theme/dark/windowdialog_close.png", "res://material_maker/theme/dark/windowdialog_close_highlight.png", "res://material_maker/theme/default.tres", "res://material_maker/theme/font.tres", "res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf", "res://material_maker/theme/green.tres", "res://material_maker/theme/light.tres", "res://material_maker/theme/light/checkbox_checked.png", "res://material_maker/theme/light/checkbox_radio_checked.png", "res://material_maker/theme/light/checkbox_radio_unchecked.png", "res://material_maker/theme/light/checkbox_unchecked.png", "res://material_maker/theme/light/checkbutton_off.png", "res://material_maker/theme/light/checkbutton_off_disabled.png", "res://material_maker/theme/light/checkbutton_on.png", "res://material_maker/theme/light/checkbutton_on_disabled.png", "res://material_maker/theme/light/colorpickerbutton_bg.png", "res://material_maker/theme/light/curve_preset_bevel.tres", "res://material_maker/theme/light/curve_preset_bounce.tres", "res://material_maker/theme/light/curve_preset_easein.tres", "res://material_maker/theme/light/curve_preset_easeinout.tres", "res://material_maker/theme/light/curve_preset_easeout.tres", "res://material_maker/theme/light/curve_preset_linear.tres", "res://material_maker/theme/light/curve_preset_sawtooth.tres", "res://material_maker/theme/light/curve_presets.svg", "res://material_maker/theme/light/graphedit_minus.png", "res://material_maker/theme/light/graphedit_more.png", "res://material_maker/theme/light/graphedit_reset.png", "res://material_maker/theme/light/graphedit_snap.png", "res://material_maker/theme/light/graphnode_close.png", "res://material_maker/theme/light/graphnode_port.png", "res://material_maker/theme/light/graphnode_resizer.png", "res://material_maker/theme/light/hslider_grabber.png", "res://material_maker/theme/light/hslider_grabber_disabled.png", "res://material_maker/theme/light/hslider_grabber_highlight.png", "res://material_maker/theme/light/hslider_tick.png", "res://material_maker/theme/light/hsplitcontainer_grabber.png", "res://material_maker/theme/light/lineedit_clear.png", "res://material_maker/theme/light/optionbutton_arrow.png", "res://material_maker/theme/light/popupmenu_checked.png", "res://material_maker/theme/light/popupmenu_radio_checked.png", "res://material_maker/theme/light/popupmenu_radio_unchecked.png", "res://material_maker/theme/light/popupmenu_submenu.png", "res://material_maker/theme/light/popupmenu_unchecked.png", "res://material_maker/theme/light/popupmenu_visibility_hidden.png", "res://material_maker/theme/light/popupmenu_visibility_visible.png", "res://material_maker/theme/light/popupmenu_visibility_xray.png", "res://material_maker/theme/light/sb_checkbox_focus_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_hslider_focus_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/light/sb_panel_panelf_texture.png", "res://material_maker/theme/light/sb_panel_panelnc_texture.png", "res://material_maker/theme/light/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/light/sb_progressbar_bg_texture.png", "res://material_maker/theme/light/sb_progressbar_fg_texture.png", "res://material_maker/theme/light/sb_textedit_completion_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/light/tabcontainer_decrement.png", "res://material_maker/theme/light/tabcontainer_decrement_highlight.png", "res://material_maker/theme/light/tabcontainer_increment.png", "res://material_maker/theme/light/tabcontainer_increment_highlight.png", "res://material_maker/theme/light/tabcontainer_menu.png", "res://material_maker/theme/light/tabcontainer_menu_highlight.png", "res://material_maker/theme/light/tabs_close.png", "res://material_maker/theme/light/tabs_decrement.png", "res://material_maker/theme/light/tabs_decrement_highlight.png", "res://material_maker/theme/light/tabs_increment.png", "res://material_maker/theme/light/tabs_increment_highlight.png", "res://material_maker/theme/light/textedit_fold.png", "res://material_maker/theme/light/textedit_folded.png", "res://material_maker/theme/light/textedit_space.png", "res://material_maker/theme/light/textedit_tab.png", "res://material_maker/theme/light/tree_arrow.png", "res://material_maker/theme/light/tree_arrow_collapsed.png", "res://material_maker/theme/light/tree_checked.png", "res://material_maker/theme/light/tree_select_arrow.png", "res://material_maker/theme/light/tree_unchecked.png", "res://material_maker/theme/light/tree_updown.png", "res://material_maker/theme/light/vslider_grabber.png", "res://material_maker/theme/light/vslider_grabber_highlight.png", "res://material_maker/theme/light/vsplitcontainer_grabber.png", "res://material_maker/theme/light/windowdialog_close.png", "res://material_maker/theme/light/windowdialog_close_highlight.png", "res://material_maker/theme/mangosteen.tres", "res://material_maker/theme/modern.tres", "res://material_maker/tools/environment_manager/environment_manager.gd", "res://material_maker/tools/environment_manager/environment_manager.tscn", "res://material_maker/tools/library_manager/library.gd", "res://material_maker/tools/library_manager/library_manager.gd", "res://material_maker/tools/map_renderer/map_renderer.gd", "res://material_maker/tools/map_renderer/map_renderer.tscn", "res://material_maker/tools/painter/brush_preview.gd", "res://material_maker/tools/painter/brush_preview.tscn", "res://material_maker/tools/painter/painter.gd", "res://material_maker/tools/painter/painter.tscn", "res://material_maker/tools/painter/painter_viewport.gd", "res://material_maker/tools/painter/painter_viewport.tscn", "res://material_maker/tools/painter/shaders/brush.gdshader", "res://material_maker/tools/painter/shaders/brush_common_decl.gdshader", "res://material_maker/tools/painter/shaders/brush_pattern.gdshader", "res://material_maker/tools/painter/shaders/brush_stamp.gdshader", "res://material_maker/tools/painter/shaders/brush_uv_pattern.gdshader", "res://material_maker/tools/painter/shaders/init.tres", "res://material_maker/tools/painter/shaders/init_channels.tres", "res://material_maker/tools/painter/shaders/init_copy_shader.tres", "res://material_maker/tools/painter/shaders/paint_shader_template.tres", "res://material_maker/tools/painter/shaders/t2v_fragment.tres", "res://material_maker/tools/painter/shaders/t2v_vertex.tres", "res://material_maker/tools/painter/shaders/v2t_fragment.tres", "res://material_maker/tools/painter/shaders/v2t_vertex.tres", "res://material_maker/tools/share/broken_link.tres", "res://material_maker/tools/share/golden_link.tres", "res://material_maker/tools/share/hdri/kloofendal_48d_partly_cloudy_1k.exr", "res://material_maker/tools/share/link.tres", "res://material_maker/tools/share/login_dialog.gd", "res://material_maker/tools/share/login_dialog.tscn", "res://material_maker/tools/share/preview_scene.tscn", "res://material_maker/tools/share/preview_scene_viewer.tscn", "res://material_maker/tools/share/preview_viewport.gd", "res://material_maker/tools/share/preview_viewport.tscn", "res://material_maker/tools/share/share_button.gd", "res://material_maker/tools/share/share_button.tscn", "res://material_maker/tools/share/share_http_request.gd", "res://material_maker/tools/share/share_node_dialog.gd", "res://material_maker/tools/share/share_node_dialog.tscn", "res://material_maker/tools/share/upload_dialog.gd", "res://material_maker/tools/share/upload_dialog.tscn", "res://material_maker/tools/undo_redo/undo_redo.gd", "res://material_maker/widgets/code_editor/code_editor.gd", "res://material_maker/widgets/code_editor/code_editor.tscn", "res://material_maker/widgets/color_picker_button/color_picker_button.gd", "res://material_maker/widgets/color_picker_popup/color_picker_popup.tscn", "res://material_maker/widgets/curve_edit/control_point.gd", "res://material_maker/widgets/curve_edit/control_point.tscn", "res://material_maker/widgets/curve_edit/curve_dialog.gd", "res://material_maker/widgets/curve_edit/curve_dialog.tscn", "res://material_maker/widgets/curve_edit/curve_edit.gd", "res://material_maker/widgets/curve_edit/curve_edit.tscn", "res://material_maker/widgets/curve_edit/curve_editor.gd", "res://material_maker/widgets/curve_edit/curve_editor.tscn", "res://material_maker/widgets/curve_edit/curve_view.gd", "res://material_maker/widgets/curve_edit/curve_view.tscn", "res://material_maker/widgets/curve_edit/presets_selector.gd", "res://material_maker/widgets/curve_edit/slope_point.gd", "res://material_maker/widgets/desc_button/desc_button.gd", "res://material_maker/widgets/desc_button/desc_button.tscn", "res://material_maker/widgets/file_picker_button/file_picker_button.gd", "res://material_maker/widgets/file_picker_button/file_picker_button.tscn", "res://material_maker/widgets/float_edit/expression_editor.gd", "res://material_maker/widgets/float_edit/expression_editor.tscn", "res://material_maker/widgets/float_edit/float_edit.gd", "res://material_maker/widgets/float_edit/float_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit.gd", "res://material_maker/widgets/gradient_editor/gradient_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.gd", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.tscn", "res://material_maker/widgets/gradient_editor/gradient_editor.gd", "res://material_maker/widgets/gradient_editor/gradient_editor.tscn", "res://material_maker/widgets/gradient_editor/gradient_popup.gd", "res://material_maker/widgets/gradient_editor/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/histogram/histogram.gd", "res://material_maker/widgets/histogram/histogram.tscn", "res://material_maker/widgets/image_picker_button/image_picker_button.gd", "res://material_maker/widgets/image_picker_button/image_picker_button.tscn", "res://material_maker/widgets/lattice_edit/lattice_dialog.gd", "res://material_maker/widgets/lattice_edit/lattice_dialog.tscn", "res://material_maker/widgets/lattice_edit/lattice_edit.gd", "res://material_maker/widgets/lattice_edit/lattice_edit.tscn", "res://material_maker/widgets/lattice_edit/lattice_editor.gd", "res://material_maker/widgets/lattice_edit/lattice_editor.tscn", "res://material_maker/widgets/lattice_edit/lattice_view.gd", "res://material_maker/widgets/lattice_edit/lattice_view.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.tscn", "res://material_maker/widgets/pixels_edit/pixels_edit.gd", "res://material_maker/widgets/pixels_edit/pixels_edit.tscn", "res://material_maker/widgets/pixels_edit/pixels_editor.gd", "res://material_maker/widgets/pixels_edit/pixels_editor.tscn", "res://material_maker/widgets/pixels_edit/pixels_view.gd", "res://material_maker/widgets/pixels_edit/pixels_view.tscn", "res://material_maker/widgets/polygon_edit/control_point.gd", "res://material_maker/widgets/polygon_edit/control_point.tscn", "res://material_maker/widgets/polygon_edit/polygon_dialog.gd", "res://material_maker/widgets/polygon_edit/polygon_dialog.tscn", "res://material_maker/widgets/polygon_edit/polygon_edit.gd", "res://material_maker/widgets/polygon_edit/polygon_edit.tscn", "res://material_maker/widgets/polygon_edit/polygon_editor.gd", "res://material_maker/widgets/polygon_edit/polygon_editor.tscn", "res://material_maker/widgets/polygon_edit/polygon_view.gd", "res://material_maker/widgets/polygon_edit/polygon_view.tscn", "res://material_maker/widgets/port_group_button/port_group_button.gd", "res://material_maker/widgets/port_group_button/port_group_button.tscn", "res://material_maker/widgets/render_counter/render_counter.gd", "res://material_maker/widgets/render_counter/render_counter.tscn", "res://material_maker/widgets/size_option_button/size_option_button.gd", "res://material_maker/widgets/splines_edit/splines_dialog.gd", "res://material_maker/widgets/splines_edit/splines_dialog.tscn", "res://material_maker/widgets/splines_edit/splines_edit.gd", "res://material_maker/widgets/splines_edit/splines_edit.tscn", "res://material_maker/widgets/splines_edit/splines_editor.gd", "res://material_maker/widgets/splines_edit/splines_editor.tscn", "res://material_maker/widgets/splines_edit/splines_view.gd", "res://material_maker/widgets/splines_edit/splines_view.tscn", "res://material_maker/widgets/tabs/tabs.gd", "res://material_maker/windows/about/about.gd", "res://material_maker/windows/about/about.tscn", "res://material_maker/windows/about/discord.png", "res://material_maker/windows/about/epic_megagrant.svg", "res://material_maker/windows/about/facebook.png", "res://material_maker/windows/about/github.png", "res://material_maker/windows/about/icon.png", "res://material_maker/windows/about/itchio.png", "res://material_maker/windows/about/patreon.png", "res://material_maker/windows/about/twitter.png", "res://material_maker/windows/about/youtube.png", "res://material_maker/windows/accept_dialog/accept_dialog.gd", "res://material_maker/windows/accept_dialog/accept_dialog.tscn", "res://material_maker/windows/add_node_popup/add_node_popup.gd", "res://material_maker/windows/add_node_popup/add_node_popup.tscn", "res://material_maker/windows/add_node_popup/quick_button.gd", "res://material_maker/windows/add_node_popup/quick_button.tscn", "res://material_maker/windows/desc_dialog/desc_dialog.gd", "res://material_maker/windows/desc_dialog/desc_dialog.tscn", "res://material_maker/windows/environment_editor/environment_editor.gd", "res://material_maker/windows/environment_editor/environment_editor.tscn", "res://material_maker/windows/environment_editor/environment_editor_scene.tscn", "res://material_maker/windows/environment_editor/environment_editor_viewport.tscn", "res://material_maker/windows/environment_editor/new_environment.png", "res://material_maker/windows/export_animation/export_animation.gd", "res://material_maker/windows/export_animation/export_animation.tscn", "res://material_maker/windows/export_taa/accumulate_compute.tres", "res://material_maker/windows/export_taa/divide_compute.tres", "res://material_maker/windows/export_taa/export_taa.gd", "res://material_maker/windows/export_taa/export_taa.tscn", "res://material_maker/windows/file_dialog/fav_button.tscn", "res://material_maker/windows/file_dialog/file_dialog.gd", "res://material_maker/windows/file_dialog/file_dialog.tscn", "res://material_maker/windows/file_dialog/left_panel.gd", "res://material_maker/windows/file_dialog/left_panel.tscn", "res://material_maker/windows/line_dialog/line_dialog.gd", "res://material_maker/windows/line_dialog/line_dialog.tscn", "res://material_maker/windows/load_from_website/load_from_website.gd", "res://material_maker/windows/load_from_website/load_from_website.tscn", "res://material_maker/windows/material_editor/export_editor.gd", "res://material_maker/windows/material_editor/export_editor.tscn", "res://material_maker/windows/material_editor/expression_line_edit.gd", "res://material_maker/windows/material_editor/expression_line_edit.tscn", "res://material_maker/windows/material_editor/material_editor.gd", "res://material_maker/windows/material_editor/material_editor.tscn", "res://material_maker/windows/new_painter/new_painter.gd", "res://material_maker/windows/new_painter/new_painter.tscn", "res://material_maker/windows/node_editor/enum_editor.gd", "res://material_maker/windows/node_editor/enum_editor.tscn", "res://material_maker/windows/node_editor/input.gd", "res://material_maker/windows/node_editor/input.tscn", "res://material_maker/windows/node_editor/node_editor.gd", "res://material_maker/windows/node_editor/node_editor.tscn", "res://material_maker/windows/node_editor/node_editor_item_list.gd", "res://material_maker/windows/node_editor/output.gd", "res://material_maker/windows/node_editor/output.tscn", "res://material_maker/windows/node_editor/parameter.gd", "res://material_maker/windows/node_editor/parameter.tscn", "res://material_maker/windows/node_editor/parameter_boolean.gd", "res://material_maker/windows/node_editor/parameter_boolean.tscn", "res://material_maker/windows/node_editor/parameter_color.gd", "res://material_maker/windows/node_editor/parameter_color.tscn", "res://material_maker/windows/node_editor/parameter_curve.gd", "res://material_maker/windows/node_editor/parameter_curve.tscn", "res://material_maker/windows/node_editor/parameter_enum.gd", "res://material_maker/windows/node_editor/parameter_enum.tscn", "res://material_maker/windows/node_editor/parameter_float.gd", "res://material_maker/windows/node_editor/parameter_float.tscn", "res://material_maker/windows/node_editor/parameter_gradient.gd", "res://material_maker/windows/node_editor/parameter_gradient.tscn", "res://material_maker/windows/node_editor/parameter_lattice.gd", "res://material_maker/windows/node_editor/parameter_lattice.tscn", "res://material_maker/windows/node_editor/parameter_pixels.gd", "res://material_maker/windows/node_editor/parameter_pixels.tscn", "res://material_maker/windows/node_editor/parameter_polygon.gd", "res://material_maker/windows/node_editor/parameter_polygon.tscn", "res://material_maker/windows/node_editor/parameter_polyline.tscn", "res://material_maker/windows/node_editor/parameter_size.gd", "res://material_maker/windows/node_editor/parameter_size.tscn", "res://material_maker/windows/node_editor/parameter_splines.gd", "res://material_maker/windows/node_editor/parameter_splines.tscn", "res://material_maker/windows/preferences/bool_option.gd", "res://material_maker/windows/preferences/bool_option.tscn", "res://material_maker/windows/preferences/float_option.gd", "res://material_maker/windows/preferences/float_option.tscn", "res://material_maker/windows/preferences/lang_option.gd", "res://material_maker/windows/preferences/language_download.gd", "res://material_maker/windows/preferences/language_download.tscn", "res://material_maker/windows/preferences/preferences.gd", "res://material_maker/windows/preferences/preferences.tscn", "res://material_maker/windows/progress_window/progress_window.gd", "res://material_maker/windows/progress_window/progress_window.tscn", "res://material_maker/windows/sdf_builder/gizmo.gd", "res://material_maker/windows/sdf_builder/gizmo.gdshader", "res://material_maker/windows/sdf_builder/gizmo.tscn", "res://material_maker/windows/sdf_builder/gizmo_arrow.gd", "res://material_maker/windows/sdf_builder/gizmo_arrow.tscn", "res://material_maker/windows/sdf_builder/preview_2d.gd", "res://material_maker/windows/sdf_builder/preview_2d.gdshader", "res://material_maker/windows/sdf_builder/preview_2d.tscn", "res://material_maker/windows/sdf_builder/preview_3d.gd", "res://material_maker/windows/sdf_builder/preview_3d.gdshader", "res://material_maker/windows/sdf_builder/preview_3d.tscn", "res://material_maker/windows/sdf_builder/sdf_builder.gd", "res://material_maker/windows/sdf_builder/sdf_builder.tscn", "res://material_maker/windows/sdf_builder/sdf_builder_tree.gd", "res://parse_args.gd", "res://parse_args.tscn", "res://splash_screen/arrow.png", "res://splash_screen/backgrounds/angel_beanbag_chair.png", "res://splash_screen/backgrounds/angel_soft_nurball.png", "res://splash_screen/backgrounds/cgmytro_old_doors.png", "res://splash_screen/backgrounds/cybereality_brutalism.png", "res://splash_screen/backgrounds/cybereality_dirty_tiles.png", "res://splash_screen/backgrounds/cybereality_future_visions.png", "res://splash_screen/backgrounds/droppedbeat_matrix_rain.tres", "res://splash_screen/backgrounds/droppedbeat_procedural_material.png", "res://splash_screen/backgrounds/droppedbeat_spiral_trails.tres", "res://splash_screen/backgrounds/droppedbeat_vending_machines.png", "res://splash_screen/backgrounds/oneiric_worlds_zefyr.png", "res://splash_screen/backgrounds/paulo_falcao_fractal_octahedron.tres", "res://splash_screen/backgrounds/paulo_falcao_green_thing.png", "res://splash_screen/backgrounds/paulo_falcao_terminator_ball.tres", "res://splash_screen/backgrounds/pavel_oliva_carved_wood.png", "res://splash_screen/backgrounds/pavel_oliva_celestial_floor.png", "res://splash_screen/backgrounds/pavel_oliva_cursed_planks.png", "res://splash_screen/backgrounds/pavel_oliva_flowing_lava.png", "res://splash_screen/backgrounds/pavel_oliva_lace.png", "res://splash_screen/backgrounds/pavel_oliva_pavement_generator.png", "res://splash_screen/backgrounds/pavel_oliva_stylized_pavement.png", "res://splash_screen/backgrounds/pavel_oliva_treasures.png", "res://splash_screen/backgrounds/pavel_oliva_vintage_luggage.png", "res://splash_screen/backgrounds/pixelmuncher_golden_tiles.png", "res://splash_screen/rodz_labs_logo.png", "res://splash_screen/splash_screen.gd", "res://splash_screen/splash_screen.gdshader", "res://splash_screen/splash_screen.tscn", "res://splash_screen/splash_screen_bottom.gdshader", "res://splash_screen/splash_title.png", "res://start.gd", "res://start.tscn") +export_files=PackedStringArray("res://addons/flexible_layout/arrow.svg", "res://addons/flexible_layout/flexible_dragger.gd", "res://addons/flexible_layout/flexible_dragger.tscn", "res://addons/flexible_layout/flexible_layout.gd", "res://addons/flexible_layout/flexible_layout.tscn", "res://addons/flexible_layout/flexible_overlay.gd", "res://addons/flexible_layout/flexible_overlay.tscn", "res://addons/flexible_layout/flexible_tab.gd", "res://addons/flexible_layout/flexible_tab.tscn", "res://addons/flexible_layout/flexible_tabs.gd", "res://addons/flexible_layout/flexible_tabs.tscn", "res://addons/flexible_layout/tab.svg", "res://addons/flexible_layout/undock.png", "res://addons/material_maker/engine/dependencies.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/logger.gd", "res://addons/material_maker/engine/multi_renderer.gd", "res://addons/material_maker/engine/nodes/buffer_compute.tres", "res://addons/material_maker/engine/nodes/gen_base.gd", "res://addons/material_maker/engine/nodes/gen_brush.gd", "res://addons/material_maker/engine/nodes/gen_buffer.gd", "res://addons/material_maker/engine/nodes/gen_comment.gd", "res://addons/material_maker/engine/nodes/gen_context.gd", "res://addons/material_maker/engine/nodes/gen_debug.gd", "res://addons/material_maker/engine/nodes/gen_export.gd", "res://addons/material_maker/engine/nodes/gen_graph.gd", "res://addons/material_maker/engine/nodes/gen_image.gd", "res://addons/material_maker/engine/nodes/gen_ios.gd", "res://addons/material_maker/engine/nodes/gen_iterate_buffer.gd", "res://addons/material_maker/engine/nodes/gen_material.gd", "res://addons/material_maker/engine/nodes/gen_meshmap.gd", "res://addons/material_maker/engine/nodes/gen_remote.gd", "res://addons/material_maker/engine/nodes/gen_reroute.gd", "res://addons/material_maker/engine/nodes/gen_sdf.gd", "res://addons/material_maker/engine/nodes/gen_shader.gd", "res://addons/material_maker/engine/nodes/gen_switch.gd", "res://addons/material_maker/engine/nodes/gen_text.gd", "res://addons/material_maker/engine/nodes/gen_texture.gd", "res://addons/material_maker/engine/nodes/gen_webcam.gd", "res://addons/material_maker/engine/nodes/iterate_buffer_compute.tres", "res://addons/material_maker/engine/paths.gd", "res://addons/material_maker/engine/pipeline/compute_shader.gd", "res://addons/material_maker/engine/pipeline/pipeline.gd", "res://addons/material_maker/engine/pipeline/rendering_pipeline.gd", "res://addons/material_maker/engine/pipeline/texture.gd", "res://addons/material_maker/engine/preprocessor.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/engine/shader_base.gd", "res://addons/material_maker/engine/shader_compute.gd", "res://addons/material_maker/engine/shader_error_handler.gd", "res://addons/material_maker/engine/shader_material.gd", "res://addons/material_maker/engine/text_resource.gd", "res://addons/material_maker/loaders/mesh_loader.gd", "res://addons/material_maker/loaders/obj_loader.gd", "res://addons/material_maker/map_generator/ao_fragment.tres", "res://addons/material_maker/map_generator/ao_vertex.tres", "res://addons/material_maker/map_generator/bvh_generator.gd", "res://addons/material_maker/map_generator/common_fragment.tres", "res://addons/material_maker/map_generator/curvature_generator.gd", "res://addons/material_maker/map_generator/curvature_vertex.tres", "res://addons/material_maker/map_generator/denoise_compute.tres", "res://addons/material_maker/map_generator/dilate_1_compute.tres", "res://addons/material_maker/map_generator/dilate_2_compute.tres", "res://addons/material_maker/map_generator/map_generator.gd", "res://addons/material_maker/map_generator/mesh_rendering_pipeline.gd", "res://addons/material_maker/map_generator/normal_fragment.tres", "res://addons/material_maker/map_generator/normal_vertex.tres", "res://addons/material_maker/map_generator/normalize_compute.tres", "res://addons/material_maker/map_generator/position_vertex.tres", "res://addons/material_maker/map_generator/seams_1_compute.tres", "res://addons/material_maker/map_generator/seams_2_compute.tres", "res://addons/material_maker/map_generator/tangent_vertex.tres", "res://addons/material_maker/parser/glsl_parser.gd", "res://addons/material_maker/parser/glsl_parser_base.gd", "res://addons/material_maker/parser/parser_base.gd", "res://addons/material_maker/sdf_builder/base.gd", "res://addons/material_maker/sdf_builder/icons/icons.svg", "res://addons/material_maker/sdf_builder/sdf2d/annular.gd", "res://addons/material_maker/sdf_builder/sdf2d/bend.gd", "res://addons/material_maker/sdf_builder/sdf2d/box.gd", "res://addons/material_maker/sdf_builder/sdf2d/circle.gd", "res://addons/material_maker/sdf_builder/sdf2d/color.gd", "res://addons/material_maker/sdf_builder/sdf2d/difference.gd", "res://addons/material_maker/sdf_builder/sdf2d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf2d/flip.gd", "res://addons/material_maker/sdf_builder/sdf2d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf2d/line.gd", "res://addons/material_maker/sdf_builder/sdf2d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf2d/morph.gd", "res://addons/material_maker/sdf_builder/sdf2d/ngon.gd", "res://addons/material_maker/sdf_builder/sdf2d/polygon.gd", "res://addons/material_maker/sdf_builder/sdf2d/round.gd", "res://addons/material_maker/sdf_builder/sdf2d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf2d/stairs.gd", "res://addons/material_maker/sdf_builder/sdf2d/star.gd", "res://addons/material_maker/sdf_builder/sdf2d/union.gd", "res://addons/material_maker/sdf_builder/sdf3d/annular.gd", "res://addons/material_maker/sdf_builder/sdf3d/bend.gd", "res://addons/material_maker/sdf_builder/sdf3d/box.gd", "res://addons/material_maker/sdf_builder/sdf3d/color.gd", "res://addons/material_maker/sdf_builder/sdf3d/cylinder.gd", "res://addons/material_maker/sdf_builder/sdf3d/difference.gd", "res://addons/material_maker/sdf_builder/sdf3d/distort.gd", "res://addons/material_maker/sdf_builder/sdf3d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf3d/extrusion.gd", "res://addons/material_maker/sdf_builder/sdf3d/flip.gd", "res://addons/material_maker/sdf_builder/sdf3d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf3d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf3d/morph.gd", "res://addons/material_maker/sdf_builder/sdf3d/revolution.gd", "res://addons/material_maker/sdf_builder/sdf3d/round.gd", "res://addons/material_maker/sdf_builder/sdf3d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf3d/sphere.gd", "res://addons/material_maker/sdf_builder/sdf3d/torus.gd", "res://addons/material_maker/sdf_builder/sdf3d/twist.gd", "res://addons/material_maker/sdf_builder/sdf3d/union.gd", "res://addons/material_maker/sdf_builder/sdf_builder.gd", "res://addons/material_maker/sdf_builder/sdf_builder.tscn", "res://addons/material_maker/sdf_builder/tex/blend.gd", "res://addons/material_maker/sdf_builder/tex/brightness_contrast.gd", "res://addons/material_maker/sdf_builder/tex/deform.gd", "res://addons/material_maker/sdf_builder/tex/fbm.gd", "res://addons/material_maker/sdf_builder/tex/pattern.gd", "res://addons/material_maker/sdf_builder/tex/simple_gradient.gd", "res://addons/material_maker/sdf_builder/tex/step.gd", "res://addons/material_maker/sdf_builder/tex/uniform.gd", "res://addons/material_maker/sdf_builder/tex/uniform_gs.gd", "res://addons/material_maker/shader_functions.tres", "res://addons/material_maker/types/curve.gd", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/lattice.gd", "res://addons/material_maker/types/pixels.gd", "res://addons/material_maker/types/polygon.gd", "res://addons/material_maker/types/splines.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/console.gd", "res://material_maker/darken.gd", "res://material_maker/darken.tscn", "res://material_maker/fonts/DroidSansFallback.ttf", "res://material_maker/fonts/DroidSansJapanese.ttf", "res://material_maker/fonts/hack.ttf", "res://material_maker/fonts/vegur_regular.otf", "res://material_maker/globals.gd", "res://material_maker/globals.tscn", "res://material_maker/globals_menu_manager.gd", "res://material_maker/icons/add.tres", "res://material_maker/icons/add_generic.tres", "res://material_maker/icons/buffer.tres", "res://material_maker/icons/buffer_paused.tres", "res://material_maker/icons/close.tres", "res://material_maker/icons/color_palette.png", "res://material_maker/icons/color_picker.png", "res://material_maker/icons/custom.png", "res://material_maker/icons/down.tres", "res://material_maker/icons/edit.tres", "res://material_maker/icons/eye_closed.tres", "res://material_maker/icons/eye_open.tres", "res://material_maker/icons/godot_logo.svg", "res://material_maker/icons/icons.gd", "res://material_maker/icons/icons.svg", "res://material_maker/icons/icons.tres", "res://material_maker/icons/link.tres", "res://material_maker/icons/lmb.tres", "res://material_maker/icons/minimize.tres", "res://material_maker/icons/mmb.tres", "res://material_maker/icons/ok.tres", "res://material_maker/icons/output_preview.tres", "res://material_maker/icons/paste_graph.tres", "res://material_maker/icons/paste_newgraph.tres", "res://material_maker/icons/paste_none.tres", "res://material_maker/icons/paste_palette.tres", "res://material_maker/icons/port_group_0.tres", "res://material_maker/icons/port_group_1.tres", "res://material_maker/icons/port_group_2.tres", "res://material_maker/icons/port_group_3.tres", "res://material_maker/icons/preview.png", "res://material_maker/icons/preview_locked.png", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/icons/rmb.tres", "res://material_maker/icons/up.tres", "res://material_maker/locale/locale.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/main_window_layout.gd", "res://material_maker/main_window_projects_panel.gd", "res://material_maker/meshes/suzanne.obj", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment/comment.gd", "res://material_maker/nodes/comment/comment.tscn", "res://material_maker/nodes/comment/palette_button.gd", "res://material_maker/nodes/debug/debug.gd", "res://material_maker/nodes/debug/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic/generic.gd", "res://material_maker/nodes/generic/generic.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/ios.gd", "res://material_maker/nodes/ios/ios.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/material_export/material_export.gd", "res://material_maker/nodes/material_export/material_export.tscn", "res://material_maker/nodes/minimal.gd", "res://material_maker/nodes/node_button.gd", "res://material_maker/nodes/node_button.tscn", "res://material_maker/nodes/remote/named_parameter_dialog.gd", "res://material_maker/nodes/remote/named_parameter_dialog.tscn", "res://material_maker/nodes/remote/remote.gd", "res://material_maker/nodes/remote/remote.tscn", "res://material_maker/nodes/reroute/reroute.gd", "res://material_maker/nodes/reroute/reroute.tscn", "res://material_maker/nodes/switch/switch.gd", "res://material_maker/nodes/switch/switch.tscn", "res://material_maker/nodes/tones/tones.gd", "res://material_maker/nodes/tones/tones.tscn", "res://material_maker/panel_container.gd", "res://material_maker/panels/brushes/brushes.gd", "res://material_maker/panels/brushes/brushes.tscn", "res://material_maker/panels/graph_edit/graph_edit.gd", "res://material_maker/panels/graph_edit/graph_edit.tscn", "res://material_maker/panels/hierarchy/hierarchy_panel.gd", "res://material_maker/panels/hierarchy/hierarchy_panel.tscn", "res://material_maker/panels/layers/add_layer_menu.tscn", "res://material_maker/panels/layers/icons/layer_mask.tres", "res://material_maker/panels/layers/icons/layer_paint.tres", "res://material_maker/panels/layers/icons/layer_proc.tres", "res://material_maker/panels/layers/icons/not_visible.tres", "res://material_maker/panels/layers/icons/visible.tres", "res://material_maker/panels/layers/layer_config_popup.gd", "res://material_maker/panels/layers/layer_config_popup.tscn", "res://material_maker/panels/layers/layer_tooltip.gd", "res://material_maker/panels/layers/layer_tooltip.tscn", "res://material_maker/panels/layers/layer_tooltip_thumbnail.gd", "res://material_maker/panels/layers/layer_tooltip_thumbnail.tscn", "res://material_maker/panels/layers/layers.gd", "res://material_maker/panels/layers/layers.tscn", "res://material_maker/panels/layers/layers_tree.gd", "res://material_maker/panels/library/button_greyed.tres", "res://material_maker/panels/library/create_lib_dialog.gd", "res://material_maker/panels/library/create_lib_dialog.tscn", "res://material_maker/panels/library/library.gd", "res://material_maker/panels/library/library.tscn", "res://material_maker/panels/library/library_tree.gd", "res://material_maker/panels/paint/collapse_button.gd", "res://material_maker/panels/paint/collapse_button.tscn", "res://material_maker/panels/paint/export.gd", "res://material_maker/panels/paint/export.tscn", "res://material_maker/panels/paint/layer_types/layer.gd", "res://material_maker/panels/paint/layer_types/layer_mask.gd", "res://material_maker/panels/paint/layer_types/layer_paint.gd", "res://material_maker/panels/paint/layer_types/layer_procedural.gd", "res://material_maker/panels/paint/paint.gd", "res://material_maker/panels/paint/paint.tscn", "res://material_maker/panels/paint/paint_layers.gd", "res://material_maker/panels/paint/paint_layers.tscn", "res://material_maker/panels/paint/paint_project_settings.gd", "res://material_maker/panels/paint/paint_project_settings.tscn", "res://material_maker/panels/parameters/parameters.gd", "res://material_maker/panels/parameters/parameters.tscn", "res://material_maker/panels/preview_2d/control_point.gd", "res://material_maker/panels/preview_2d/control_point.tscn", "res://material_maker/panels/preview_2d/custom_size_dialog.gd", "res://material_maker/panels/preview_2d/custom_size_dialog.tscn", "res://material_maker/panels/preview_2d/lines.gd", "res://material_maker/panels/preview_2d/preview_2d.gd", "res://material_maker/panels/preview_2d/preview_2d.tscn", "res://material_maker/panels/preview_2d/preview_2d_node.gd", "res://material_maker/panels/preview_2d/preview_2d_node.tscn", "res://material_maker/panels/preview_2d/preview_2d_panel.gd", "res://material_maker/panels/preview_2d/preview_2d_panel.tscn", "res://material_maker/panels/preview_3d/materials/shader_material_tesselated.tres", "res://material_maker/panels/preview_3d/materials/spatial_material.tres", "res://material_maker/panels/preview_3d/mesh_config_popup.gd", "res://material_maker/panels/preview_3d/mesh_config_popup.tscn", "res://material_maker/panels/preview_3d/preview_3d.gd", "res://material_maker/panels/preview_3d/preview_3d.tscn", "res://material_maker/panels/preview_3d/preview_3d_panel.gd", "res://material_maker/panels/preview_3d/preview_3d_panel.tscn", "res://material_maker/panels/preview_3d/preview_3d_scene.tscn", "res://material_maker/panels/preview_3d/preview_3d_ui.gd", "res://material_maker/panels/preview_3d/preview_3d_ui.tscn", "res://material_maker/panels/preview_3d/preview_light.gd", "res://material_maker/panels/preview_3d/preview_light.tscn", "res://material_maker/panels/preview_3d/preview_mesh.gd", "res://material_maker/panels/preview_3d/preview_objects.tscn", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cube.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Custom.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cylinder.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Plane.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Prism.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Sphere.png", "res://material_maker/panels/reference/color_slot.gd", "res://material_maker/panels/reference/color_slot.tscn", "res://material_maker/panels/reference/gradient_slot.gd", "res://material_maker/panels/reference/gradient_slot.tscn", "res://material_maker/panels/reference/reference_panel.gd", "res://material_maker/panels/reference/reference_panel.tscn", "res://material_maker/projects_panel.tscn", "res://material_maker/theme/birch.tres", "res://material_maker/theme/dark.tres", "res://material_maker/theme/dark/checkbox_checked.png", "res://material_maker/theme/dark/checkbox_radio_checked.png", "res://material_maker/theme/dark/checkbox_radio_unchecked.png", "res://material_maker/theme/dark/checkbox_unchecked.png", "res://material_maker/theme/dark/checkbutton_off.png", "res://material_maker/theme/dark/checkbutton_off_disabled.png", "res://material_maker/theme/dark/checkbutton_on.png", "res://material_maker/theme/dark/checkbutton_on_disabled.png", "res://material_maker/theme/dark/colorpickerbutton_bg.png", "res://material_maker/theme/dark/curve_preset_bevel.tres", "res://material_maker/theme/dark/curve_preset_bounce.tres", "res://material_maker/theme/dark/curve_preset_easein.tres", "res://material_maker/theme/dark/curve_preset_easeinout.tres", "res://material_maker/theme/dark/curve_preset_easeout.tres", "res://material_maker/theme/dark/curve_preset_linear.tres", "res://material_maker/theme/dark/curve_preset_sawtooth.tres", "res://material_maker/theme/dark/curve_presets.svg", "res://material_maker/theme/dark/graphedit_minus.png", "res://material_maker/theme/dark/graphedit_more.png", "res://material_maker/theme/dark/graphedit_reset.png", "res://material_maker/theme/dark/graphedit_snap.png", "res://material_maker/theme/dark/graphnode_close.png", "res://material_maker/theme/dark/graphnode_port.png", "res://material_maker/theme/dark/graphnode_resizer.png", "res://material_maker/theme/dark/hslider_grabber.png", "res://material_maker/theme/dark/hslider_grabber_disabled.png", "res://material_maker/theme/dark/hslider_grabber_highlight.png", "res://material_maker/theme/dark/hslider_tick.png", "res://material_maker/theme/dark/hsplitcontainer_grabber.png", "res://material_maker/theme/dark/lineedit_clear.png", "res://material_maker/theme/dark/optionbutton_arrow.png", "res://material_maker/theme/dark/popupmenu_checked.png", "res://material_maker/theme/dark/popupmenu_radio_checked.png", "res://material_maker/theme/dark/popupmenu_radio_unchecked.png", "res://material_maker/theme/dark/popupmenu_submenu.png", "res://material_maker/theme/dark/popupmenu_unchecked.png", "res://material_maker/theme/dark/popupmenu_visibility_hidden.png", "res://material_maker/theme/dark/popupmenu_visibility_visible.png", "res://material_maker/theme/dark/popupmenu_visibility_xray.png", "res://material_maker/theme/dark/sb_checkbox_focus_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_hslider_focus_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/sb_panel_panelf_texture.png", "res://material_maker/theme/dark/sb_panel_panelnc_texture.png", "res://material_maker/theme/dark/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/dark/sb_progressbar_bg_texture.png", "res://material_maker/theme/dark/sb_progressbar_fg_texture.png", "res://material_maker/theme/dark/sb_textedit_completion_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/tabcontainer_decrement.png", "res://material_maker/theme/dark/tabcontainer_decrement_highlight.png", "res://material_maker/theme/dark/tabcontainer_increment.png", "res://material_maker/theme/dark/tabcontainer_increment_highlight.png", "res://material_maker/theme/dark/tabcontainer_menu.png", "res://material_maker/theme/dark/tabcontainer_menu_highlight.png", "res://material_maker/theme/dark/tabs_close.png", "res://material_maker/theme/dark/tabs_decrement.png", "res://material_maker/theme/dark/tabs_decrement_highlight.png", "res://material_maker/theme/dark/tabs_increment.png", "res://material_maker/theme/dark/tabs_increment_highlight.png", "res://material_maker/theme/dark/textedit_fold.png", "res://material_maker/theme/dark/textedit_folded.png", "res://material_maker/theme/dark/textedit_space.png", "res://material_maker/theme/dark/textedit_tab.png", "res://material_maker/theme/dark/tree_arrow.png", "res://material_maker/theme/dark/tree_arrow_collapsed.png", "res://material_maker/theme/dark/tree_checked.png", "res://material_maker/theme/dark/tree_select_arrow.png", "res://material_maker/theme/dark/tree_unchecked.png", "res://material_maker/theme/dark/tree_updown.png", "res://material_maker/theme/dark/vslider_grabber.png", "res://material_maker/theme/dark/vslider_grabber_highlight.png", "res://material_maker/theme/dark/vsplitcontainer_grabber.png", "res://material_maker/theme/dark/windowdialog_close.png", "res://material_maker/theme/dark/windowdialog_close_highlight.png", "res://material_maker/theme/default.tres", "res://material_maker/theme/font.tres", "res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf", "res://material_maker/theme/green.tres", "res://material_maker/theme/light.tres", "res://material_maker/theme/light/checkbox_checked.png", "res://material_maker/theme/light/checkbox_radio_checked.png", "res://material_maker/theme/light/checkbox_radio_unchecked.png", "res://material_maker/theme/light/checkbox_unchecked.png", "res://material_maker/theme/light/checkbutton_off.png", "res://material_maker/theme/light/checkbutton_off_disabled.png", "res://material_maker/theme/light/checkbutton_on.png", "res://material_maker/theme/light/checkbutton_on_disabled.png", "res://material_maker/theme/light/colorpickerbutton_bg.png", "res://material_maker/theme/light/curve_preset_bevel.tres", "res://material_maker/theme/light/curve_preset_bounce.tres", "res://material_maker/theme/light/curve_preset_easein.tres", "res://material_maker/theme/light/curve_preset_easeinout.tres", "res://material_maker/theme/light/curve_preset_easeout.tres", "res://material_maker/theme/light/curve_preset_linear.tres", "res://material_maker/theme/light/curve_preset_sawtooth.tres", "res://material_maker/theme/light/curve_presets.svg", "res://material_maker/theme/light/graphedit_minus.png", "res://material_maker/theme/light/graphedit_more.png", "res://material_maker/theme/light/graphedit_reset.png", "res://material_maker/theme/light/graphedit_snap.png", "res://material_maker/theme/light/graphnode_close.png", "res://material_maker/theme/light/graphnode_port.png", "res://material_maker/theme/light/graphnode_resizer.png", "res://material_maker/theme/light/hslider_grabber.png", "res://material_maker/theme/light/hslider_grabber_disabled.png", "res://material_maker/theme/light/hslider_grabber_highlight.png", "res://material_maker/theme/light/hslider_tick.png", "res://material_maker/theme/light/hsplitcontainer_grabber.png", "res://material_maker/theme/light/lineedit_clear.png", "res://material_maker/theme/light/optionbutton_arrow.png", "res://material_maker/theme/light/popupmenu_checked.png", "res://material_maker/theme/light/popupmenu_radio_checked.png", "res://material_maker/theme/light/popupmenu_radio_unchecked.png", "res://material_maker/theme/light/popupmenu_submenu.png", "res://material_maker/theme/light/popupmenu_unchecked.png", "res://material_maker/theme/light/popupmenu_visibility_hidden.png", "res://material_maker/theme/light/popupmenu_visibility_visible.png", "res://material_maker/theme/light/popupmenu_visibility_xray.png", "res://material_maker/theme/light/sb_checkbox_focus_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_hslider_focus_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/light/sb_panel_panelf_texture.png", "res://material_maker/theme/light/sb_panel_panelnc_texture.png", "res://material_maker/theme/light/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/light/sb_progressbar_bg_texture.png", "res://material_maker/theme/light/sb_progressbar_fg_texture.png", "res://material_maker/theme/light/sb_textedit_completion_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/light/tabcontainer_decrement.png", "res://material_maker/theme/light/tabcontainer_decrement_highlight.png", "res://material_maker/theme/light/tabcontainer_increment.png", "res://material_maker/theme/light/tabcontainer_increment_highlight.png", "res://material_maker/theme/light/tabcontainer_menu.png", "res://material_maker/theme/light/tabcontainer_menu_highlight.png", "res://material_maker/theme/light/tabs_close.png", "res://material_maker/theme/light/tabs_decrement.png", "res://material_maker/theme/light/tabs_decrement_highlight.png", "res://material_maker/theme/light/tabs_increment.png", "res://material_maker/theme/light/tabs_increment_highlight.png", "res://material_maker/theme/light/textedit_fold.png", "res://material_maker/theme/light/textedit_folded.png", "res://material_maker/theme/light/textedit_space.png", "res://material_maker/theme/light/textedit_tab.png", "res://material_maker/theme/light/tree_arrow.png", "res://material_maker/theme/light/tree_arrow_collapsed.png", "res://material_maker/theme/light/tree_checked.png", "res://material_maker/theme/light/tree_select_arrow.png", "res://material_maker/theme/light/tree_unchecked.png", "res://material_maker/theme/light/tree_updown.png", "res://material_maker/theme/light/vslider_grabber.png", "res://material_maker/theme/light/vslider_grabber_highlight.png", "res://material_maker/theme/light/vsplitcontainer_grabber.png", "res://material_maker/theme/light/windowdialog_close.png", "res://material_maker/theme/light/windowdialog_close_highlight.png", "res://material_maker/theme/mangosteen.tres", "res://material_maker/theme/modern.tres", "res://material_maker/tools/environment_manager/environment_manager.gd", "res://material_maker/tools/environment_manager/environment_manager.tscn", "res://material_maker/tools/library_manager/library.gd", "res://material_maker/tools/library_manager/library_manager.gd", "res://material_maker/tools/map_renderer/map_renderer.gd", "res://material_maker/tools/map_renderer/map_renderer.tscn", "res://material_maker/tools/painter/brush_preview.gd", "res://material_maker/tools/painter/brush_preview.tscn", "res://material_maker/tools/painter/painter.gd", "res://material_maker/tools/painter/painter.tscn", "res://material_maker/tools/painter/painter_viewport.gd", "res://material_maker/tools/painter/painter_viewport.tscn", "res://material_maker/tools/painter/shaders/brush.gdshader", "res://material_maker/tools/painter/shaders/brush_common_decl.gdshader", "res://material_maker/tools/painter/shaders/brush_pattern.gdshader", "res://material_maker/tools/painter/shaders/brush_stamp.gdshader", "res://material_maker/tools/painter/shaders/brush_uv_pattern.gdshader", "res://material_maker/tools/painter/shaders/init.tres", "res://material_maker/tools/painter/shaders/init_channels.tres", "res://material_maker/tools/painter/shaders/init_copy_shader.tres", "res://material_maker/tools/painter/shaders/paint_shader_template.tres", "res://material_maker/tools/painter/shaders/t2v_fragment.tres", "res://material_maker/tools/painter/shaders/t2v_vertex.tres", "res://material_maker/tools/painter/shaders/v2t_fragment.tres", "res://material_maker/tools/painter/shaders/v2t_vertex.tres", "res://material_maker/tools/share/broken_link.tres", "res://material_maker/tools/share/golden_link.tres", "res://material_maker/tools/share/hdri/kloofendal_48d_partly_cloudy_1k.exr", "res://material_maker/tools/share/link.tres", "res://material_maker/tools/share/login_dialog.gd", "res://material_maker/tools/share/login_dialog.tscn", "res://material_maker/tools/share/preview_scene.tscn", "res://material_maker/tools/share/preview_scene_viewer.tscn", "res://material_maker/tools/share/preview_viewport.gd", "res://material_maker/tools/share/preview_viewport.tscn", "res://material_maker/tools/share/share_button.gd", "res://material_maker/tools/share/share_button.tscn", "res://material_maker/tools/share/share_http_request.gd", "res://material_maker/tools/share/share_node_dialog.gd", "res://material_maker/tools/share/share_node_dialog.tscn", "res://material_maker/tools/share/upload_dialog.gd", "res://material_maker/tools/share/upload_dialog.tscn", "res://material_maker/tools/undo_redo/undo_redo.gd", "res://material_maker/widgets/code_editor/code_editor.gd", "res://material_maker/widgets/code_editor/code_editor.tscn", "res://material_maker/widgets/color_picker_button/color_picker_button.gd", "res://material_maker/widgets/color_picker_popup/color_picker_popup.tscn", "res://material_maker/widgets/curve_edit/control_point.gd", "res://material_maker/widgets/curve_edit/control_point.tscn", "res://material_maker/widgets/curve_edit/curve_dialog.gd", "res://material_maker/widgets/curve_edit/curve_dialog.tscn", "res://material_maker/widgets/curve_edit/curve_edit.gd", "res://material_maker/widgets/curve_edit/curve_edit.tscn", "res://material_maker/widgets/curve_edit/curve_editor.gd", "res://material_maker/widgets/curve_edit/curve_editor.tscn", "res://material_maker/widgets/curve_edit/curve_view.gd", "res://material_maker/widgets/curve_edit/curve_view.tscn", "res://material_maker/widgets/curve_edit/presets_selector.gd", "res://material_maker/widgets/curve_edit/slope_point.gd", "res://material_maker/widgets/desc_button/desc_button.gd", "res://material_maker/widgets/desc_button/desc_button.tscn", "res://material_maker/widgets/file_picker_button/file_picker_button.gd", "res://material_maker/widgets/file_picker_button/file_picker_button.tscn", "res://material_maker/widgets/float_edit/expression_editor.gd", "res://material_maker/widgets/float_edit/expression_editor.tscn", "res://material_maker/widgets/float_edit/float_edit.gd", "res://material_maker/widgets/float_edit/float_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit.gd", "res://material_maker/widgets/gradient_editor/gradient_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.gd", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.tscn", "res://material_maker/widgets/gradient_editor/gradient_popup.gd", "res://material_maker/widgets/gradient_editor/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/histogram/histogram.gd", "res://material_maker/widgets/histogram/histogram.tscn", "res://material_maker/widgets/image_picker_button/image_picker_button.gd", "res://material_maker/widgets/image_picker_button/image_picker_button.tscn", "res://material_maker/widgets/lattice_edit/lattice_dialog.gd", "res://material_maker/widgets/lattice_edit/lattice_dialog.tscn", "res://material_maker/widgets/lattice_edit/lattice_edit.gd", "res://material_maker/widgets/lattice_edit/lattice_edit.tscn", "res://material_maker/widgets/lattice_edit/lattice_editor.gd", "res://material_maker/widgets/lattice_edit/lattice_editor.tscn", "res://material_maker/widgets/lattice_edit/lattice_view.gd", "res://material_maker/widgets/lattice_edit/lattice_view.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.tscn", "res://material_maker/widgets/pixels_edit/pixels_edit.gd", "res://material_maker/widgets/pixels_edit/pixels_edit.tscn", "res://material_maker/widgets/pixels_edit/pixels_editor.gd", "res://material_maker/widgets/pixels_edit/pixels_editor.tscn", "res://material_maker/widgets/pixels_edit/pixels_view.gd", "res://material_maker/widgets/pixels_edit/pixels_view.tscn", "res://material_maker/widgets/polygon_edit/control_point.gd", "res://material_maker/widgets/polygon_edit/control_point.tscn", "res://material_maker/widgets/polygon_edit/polygon_dialog.gd", "res://material_maker/widgets/polygon_edit/polygon_dialog.tscn", "res://material_maker/widgets/polygon_edit/polygon_edit.gd", "res://material_maker/widgets/polygon_edit/polygon_edit.tscn", "res://material_maker/widgets/polygon_edit/polygon_editor.gd", "res://material_maker/widgets/polygon_edit/polygon_editor.tscn", "res://material_maker/widgets/polygon_edit/polygon_view.gd", "res://material_maker/widgets/polygon_edit/polygon_view.tscn", "res://material_maker/widgets/port_group_button/port_group_button.gd", "res://material_maker/widgets/port_group_button/port_group_button.tscn", "res://material_maker/widgets/render_counter/render_counter.gd", "res://material_maker/widgets/render_counter/render_counter.tscn", "res://material_maker/widgets/size_option_button/size_option_button.gd", "res://material_maker/widgets/splines_edit/splines_dialog.gd", "res://material_maker/widgets/splines_edit/splines_dialog.tscn", "res://material_maker/widgets/splines_edit/splines_edit.gd", "res://material_maker/widgets/splines_edit/splines_edit.tscn", "res://material_maker/widgets/splines_edit/splines_editor.gd", "res://material_maker/widgets/splines_edit/splines_editor.tscn", "res://material_maker/widgets/splines_edit/splines_view.gd", "res://material_maker/widgets/splines_edit/splines_view.tscn", "res://material_maker/widgets/tabs/tabs.gd", "res://material_maker/windows/about/about.gd", "res://material_maker/windows/about/about.tscn", "res://material_maker/windows/about/discord.png", "res://material_maker/windows/about/epic_megagrant.svg", "res://material_maker/windows/about/facebook.png", "res://material_maker/windows/about/github.png", "res://material_maker/windows/about/icon.png", "res://material_maker/windows/about/itchio.png", "res://material_maker/windows/about/patreon.png", "res://material_maker/windows/about/twitter.png", "res://material_maker/windows/about/youtube.png", "res://material_maker/windows/accept_dialog/accept_dialog.gd", "res://material_maker/windows/accept_dialog/accept_dialog.tscn", "res://material_maker/windows/add_node_popup/add_node_popup.gd", "res://material_maker/windows/add_node_popup/add_node_popup.tscn", "res://material_maker/windows/add_node_popup/quick_button.gd", "res://material_maker/windows/add_node_popup/quick_button.tscn", "res://material_maker/windows/desc_dialog/desc_dialog.gd", "res://material_maker/windows/desc_dialog/desc_dialog.tscn", "res://material_maker/windows/environment_editor/environment_editor.gd", "res://material_maker/windows/environment_editor/environment_editor.tscn", "res://material_maker/windows/environment_editor/environment_editor_scene.tscn", "res://material_maker/windows/environment_editor/environment_editor_viewport.tscn", "res://material_maker/windows/environment_editor/new_environment.png", "res://material_maker/windows/export_animation/export_animation.gd", "res://material_maker/windows/export_animation/export_animation.tscn", "res://material_maker/windows/export_taa/accumulate_compute.tres", "res://material_maker/windows/export_taa/divide_compute.tres", "res://material_maker/windows/export_taa/export_taa.gd", "res://material_maker/windows/export_taa/export_taa.tscn", "res://material_maker/windows/file_dialog/fav_button.tscn", "res://material_maker/windows/file_dialog/file_dialog.gd", "res://material_maker/windows/file_dialog/file_dialog.tscn", "res://material_maker/windows/file_dialog/left_panel.gd", "res://material_maker/windows/file_dialog/left_panel.tscn", "res://material_maker/windows/line_dialog/line_dialog.gd", "res://material_maker/windows/line_dialog/line_dialog.tscn", "res://material_maker/windows/load_from_website/load_from_website.gd", "res://material_maker/windows/load_from_website/load_from_website.tscn", "res://material_maker/windows/material_editor/export_editor.gd", "res://material_maker/windows/material_editor/export_editor.tscn", "res://material_maker/windows/material_editor/expression_line_edit.gd", "res://material_maker/windows/material_editor/expression_line_edit.tscn", "res://material_maker/windows/material_editor/material_editor.gd", "res://material_maker/windows/material_editor/material_editor.tscn", "res://material_maker/windows/new_painter/new_painter.gd", "res://material_maker/windows/new_painter/new_painter.tscn", "res://material_maker/windows/node_editor/enum_editor.gd", "res://material_maker/windows/node_editor/enum_editor.tscn", "res://material_maker/windows/node_editor/input.gd", "res://material_maker/windows/node_editor/input.tscn", "res://material_maker/windows/node_editor/node_editor.gd", "res://material_maker/windows/node_editor/node_editor.tscn", "res://material_maker/windows/node_editor/node_editor_item_list.gd", "res://material_maker/windows/node_editor/output.gd", "res://material_maker/windows/node_editor/output.tscn", "res://material_maker/windows/node_editor/parameter.gd", "res://material_maker/windows/node_editor/parameter.tscn", "res://material_maker/windows/node_editor/parameter_boolean.gd", "res://material_maker/windows/node_editor/parameter_boolean.tscn", "res://material_maker/windows/node_editor/parameter_color.gd", "res://material_maker/windows/node_editor/parameter_color.tscn", "res://material_maker/windows/node_editor/parameter_curve.gd", "res://material_maker/windows/node_editor/parameter_curve.tscn", "res://material_maker/windows/node_editor/parameter_enum.gd", "res://material_maker/windows/node_editor/parameter_enum.tscn", "res://material_maker/windows/node_editor/parameter_float.gd", "res://material_maker/windows/node_editor/parameter_float.tscn", "res://material_maker/windows/node_editor/parameter_gradient.gd", "res://material_maker/windows/node_editor/parameter_gradient.tscn", "res://material_maker/windows/node_editor/parameter_lattice.gd", "res://material_maker/windows/node_editor/parameter_lattice.tscn", "res://material_maker/windows/node_editor/parameter_pixels.gd", "res://material_maker/windows/node_editor/parameter_pixels.tscn", "res://material_maker/windows/node_editor/parameter_polygon.gd", "res://material_maker/windows/node_editor/parameter_polygon.tscn", "res://material_maker/windows/node_editor/parameter_polyline.tscn", "res://material_maker/windows/node_editor/parameter_size.gd", "res://material_maker/windows/node_editor/parameter_size.tscn", "res://material_maker/windows/node_editor/parameter_splines.gd", "res://material_maker/windows/node_editor/parameter_splines.tscn", "res://material_maker/windows/preferences/bool_option.gd", "res://material_maker/windows/preferences/bool_option.tscn", "res://material_maker/windows/preferences/float_option.gd", "res://material_maker/windows/preferences/float_option.tscn", "res://material_maker/windows/preferences/lang_option.gd", "res://material_maker/windows/preferences/language_download.gd", "res://material_maker/windows/preferences/language_download.tscn", "res://material_maker/windows/preferences/preferences.gd", "res://material_maker/windows/preferences/preferences.tscn", "res://material_maker/windows/progress_window/progress_window.gd", "res://material_maker/windows/progress_window/progress_window.tscn", "res://material_maker/windows/sdf_builder/gizmo.gd", "res://material_maker/windows/sdf_builder/gizmo.gdshader", "res://material_maker/windows/sdf_builder/gizmo.tscn", "res://material_maker/windows/sdf_builder/gizmo_arrow.gd", "res://material_maker/windows/sdf_builder/gizmo_arrow.tscn", "res://material_maker/windows/sdf_builder/preview_2d.gd", "res://material_maker/windows/sdf_builder/preview_2d.gdshader", "res://material_maker/windows/sdf_builder/preview_2d.tscn", "res://material_maker/windows/sdf_builder/preview_3d.gd", "res://material_maker/windows/sdf_builder/preview_3d.gdshader", "res://material_maker/windows/sdf_builder/preview_3d.tscn", "res://material_maker/windows/sdf_builder/sdf_builder.gd", "res://material_maker/windows/sdf_builder/sdf_builder.tscn", "res://material_maker/windows/sdf_builder/sdf_builder_tree.gd", "res://parse_args.gd", "res://parse_args.tscn", "res://splash_screen/arrow.png", "res://splash_screen/backgrounds/angel_beanbag_chair.png", "res://splash_screen/backgrounds/angel_soft_nurball.png", "res://splash_screen/backgrounds/cgmytro_old_doors.png", "res://splash_screen/backgrounds/cybereality_brutalism.png", "res://splash_screen/backgrounds/cybereality_dirty_tiles.png", "res://splash_screen/backgrounds/cybereality_future_visions.png", "res://splash_screen/backgrounds/droppedbeat_matrix_rain.tres", "res://splash_screen/backgrounds/droppedbeat_procedural_material.png", "res://splash_screen/backgrounds/droppedbeat_spiral_trails.tres", "res://splash_screen/backgrounds/droppedbeat_vending_machines.png", "res://splash_screen/backgrounds/oneiric_worlds_zefyr.png", "res://splash_screen/backgrounds/paulo_falcao_fractal_octahedron.tres", "res://splash_screen/backgrounds/paulo_falcao_green_thing.png", "res://splash_screen/backgrounds/paulo_falcao_terminator_ball.tres", "res://splash_screen/backgrounds/pavel_oliva_carved_wood.png", "res://splash_screen/backgrounds/pavel_oliva_celestial_floor.png", "res://splash_screen/backgrounds/pavel_oliva_cursed_planks.png", "res://splash_screen/backgrounds/pavel_oliva_flowing_lava.png", "res://splash_screen/backgrounds/pavel_oliva_lace.png", "res://splash_screen/backgrounds/pavel_oliva_pavement_generator.png", "res://splash_screen/backgrounds/pavel_oliva_stylized_pavement.png", "res://splash_screen/backgrounds/pavel_oliva_treasures.png", "res://splash_screen/backgrounds/pavel_oliva_vintage_luggage.png", "res://splash_screen/backgrounds/pixelmuncher_golden_tiles.png", "res://splash_screen/rodz_labs_logo.png", "res://splash_screen/splash_screen.gd", "res://splash_screen/splash_screen.gdshader", "res://splash_screen/splash_screen.tscn", "res://splash_screen/splash_screen_bottom.gdshader", "res://splash_screen/splash_title.png", "res://start.gd", "res://start.tscn", "res://material_maker/panels/common/menu_bar_button_with_panel.gd", "res://material_maker/panels/preview_2d/export_menu.gd", "res://material_maker/panels/preview_2d/two_icon_toggle_button.gd", "res://material_maker/panels/preview_2d/view_menu.gd", "res://material_maker/theme/enhanced_theme_system/enhanced_theme.gd", "res://material_maker/theme/enhanced_theme_system/color_swap.gd", "res://material_maker/theme/new_theme_icons.png", "res://material_maker/theme/new_theme_icons.svg", "res://material_maker/theme/new_theme_icons_clean.svg", "res://material_maker/widgets/option_edit/option_edit.gd", "res://material_maker/widgets/option_edit/option_edit.tscn", "res://material_maker/widgets/pixels_edit/settings_panel.gd", "res://material_maker/widgets/button_with_icon.gd") include_filter="*.tmpl" exclude_filter="*.ptex,*.mmn,*.mmg" -export_path="C:/Users/rodzi/Downloads/material_maker_1_4a1_windows/material_maker.exe" +export_path="../../../rodzi/Downloads/material_maker_1_4a1_windows/material_maker.exe" encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false @@ -77,7 +77,7 @@ advanced_options=false dedicated_server=false custom_features="" export_filter="resources" -export_files=PackedStringArray("res://addons/flexible_layout/arrow.svg", "res://addons/flexible_layout/flexible_dragger.gd", "res://addons/flexible_layout/flexible_dragger.tscn", "res://addons/flexible_layout/flexible_layout.gd", "res://addons/flexible_layout/flexible_layout.tscn", "res://addons/flexible_layout/flexible_overlay.gd", "res://addons/flexible_layout/flexible_overlay.tscn", "res://addons/flexible_layout/flexible_tab.gd", "res://addons/flexible_layout/flexible_tab.tscn", "res://addons/flexible_layout/flexible_tabs.gd", "res://addons/flexible_layout/flexible_tabs.tscn", "res://addons/flexible_layout/tab.svg", "res://addons/flexible_layout/undock.png", "res://addons/material_maker/engine/dependencies.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/logger.gd", "res://addons/material_maker/engine/multi_renderer.gd", "res://addons/material_maker/engine/nodes/buffer_compute.tres", "res://addons/material_maker/engine/nodes/gen_base.gd", "res://addons/material_maker/engine/nodes/gen_brush.gd", "res://addons/material_maker/engine/nodes/gen_buffer.gd", "res://addons/material_maker/engine/nodes/gen_comment.gd", "res://addons/material_maker/engine/nodes/gen_context.gd", "res://addons/material_maker/engine/nodes/gen_debug.gd", "res://addons/material_maker/engine/nodes/gen_export.gd", "res://addons/material_maker/engine/nodes/gen_graph.gd", "res://addons/material_maker/engine/nodes/gen_image.gd", "res://addons/material_maker/engine/nodes/gen_ios.gd", "res://addons/material_maker/engine/nodes/gen_iterate_buffer.gd", "res://addons/material_maker/engine/nodes/gen_material.gd", "res://addons/material_maker/engine/nodes/gen_meshmap.gd", "res://addons/material_maker/engine/nodes/gen_remote.gd", "res://addons/material_maker/engine/nodes/gen_reroute.gd", "res://addons/material_maker/engine/nodes/gen_sdf.gd", "res://addons/material_maker/engine/nodes/gen_shader.gd", "res://addons/material_maker/engine/nodes/gen_switch.gd", "res://addons/material_maker/engine/nodes/gen_text.gd", "res://addons/material_maker/engine/nodes/gen_texture.gd", "res://addons/material_maker/engine/nodes/gen_webcam.gd", "res://addons/material_maker/engine/nodes/iterate_buffer_compute.tres", "res://addons/material_maker/engine/paths.gd", "res://addons/material_maker/engine/pipeline/compute_shader.gd", "res://addons/material_maker/engine/pipeline/pipeline.gd", "res://addons/material_maker/engine/pipeline/rendering_pipeline.gd", "res://addons/material_maker/engine/pipeline/texture.gd", "res://addons/material_maker/engine/preprocessor.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/engine/shader_base.gd", "res://addons/material_maker/engine/shader_compute.gd", "res://addons/material_maker/engine/shader_error_handler.gd", "res://addons/material_maker/engine/shader_material.gd", "res://addons/material_maker/engine/text_resource.gd", "res://addons/material_maker/loaders/mesh_loader.gd", "res://addons/material_maker/loaders/obj_loader.gd", "res://addons/material_maker/map_generator/ao_fragment.tres", "res://addons/material_maker/map_generator/ao_vertex.tres", "res://addons/material_maker/map_generator/bvh_generator.gd", "res://addons/material_maker/map_generator/common_fragment.tres", "res://addons/material_maker/map_generator/curvature_generator.gd", "res://addons/material_maker/map_generator/curvature_vertex.tres", "res://addons/material_maker/map_generator/denoise_compute.tres", "res://addons/material_maker/map_generator/dilate_1_compute.tres", "res://addons/material_maker/map_generator/dilate_2_compute.tres", "res://addons/material_maker/map_generator/map_generator.gd", "res://addons/material_maker/map_generator/mesh_rendering_pipeline.gd", "res://addons/material_maker/map_generator/normal_fragment.tres", "res://addons/material_maker/map_generator/normal_vertex.tres", "res://addons/material_maker/map_generator/normalize_compute.tres", "res://addons/material_maker/map_generator/position_vertex.tres", "res://addons/material_maker/map_generator/seams_1_compute.tres", "res://addons/material_maker/map_generator/seams_2_compute.tres", "res://addons/material_maker/map_generator/tangent_vertex.tres", "res://addons/material_maker/parser/glsl_parser.gd", "res://addons/material_maker/parser/glsl_parser_base.gd", "res://addons/material_maker/parser/parser_base.gd", "res://addons/material_maker/sdf_builder/base.gd", "res://addons/material_maker/sdf_builder/icons/icons.svg", "res://addons/material_maker/sdf_builder/sdf2d/annular.gd", "res://addons/material_maker/sdf_builder/sdf2d/bend.gd", "res://addons/material_maker/sdf_builder/sdf2d/box.gd", "res://addons/material_maker/sdf_builder/sdf2d/circle.gd", "res://addons/material_maker/sdf_builder/sdf2d/color.gd", "res://addons/material_maker/sdf_builder/sdf2d/difference.gd", "res://addons/material_maker/sdf_builder/sdf2d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf2d/flip.gd", "res://addons/material_maker/sdf_builder/sdf2d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf2d/line.gd", "res://addons/material_maker/sdf_builder/sdf2d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf2d/morph.gd", "res://addons/material_maker/sdf_builder/sdf2d/ngon.gd", "res://addons/material_maker/sdf_builder/sdf2d/polygon.gd", "res://addons/material_maker/sdf_builder/sdf2d/round.gd", "res://addons/material_maker/sdf_builder/sdf2d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf2d/stairs.gd", "res://addons/material_maker/sdf_builder/sdf2d/star.gd", "res://addons/material_maker/sdf_builder/sdf2d/union.gd", "res://addons/material_maker/sdf_builder/sdf3d/annular.gd", "res://addons/material_maker/sdf_builder/sdf3d/bend.gd", "res://addons/material_maker/sdf_builder/sdf3d/box.gd", "res://addons/material_maker/sdf_builder/sdf3d/color.gd", "res://addons/material_maker/sdf_builder/sdf3d/cylinder.gd", "res://addons/material_maker/sdf_builder/sdf3d/difference.gd", "res://addons/material_maker/sdf_builder/sdf3d/distort.gd", "res://addons/material_maker/sdf_builder/sdf3d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf3d/extrusion.gd", "res://addons/material_maker/sdf_builder/sdf3d/flip.gd", "res://addons/material_maker/sdf_builder/sdf3d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf3d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf3d/morph.gd", "res://addons/material_maker/sdf_builder/sdf3d/revolution.gd", "res://addons/material_maker/sdf_builder/sdf3d/round.gd", "res://addons/material_maker/sdf_builder/sdf3d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf3d/sphere.gd", "res://addons/material_maker/sdf_builder/sdf3d/torus.gd", "res://addons/material_maker/sdf_builder/sdf3d/twist.gd", "res://addons/material_maker/sdf_builder/sdf3d/union.gd", "res://addons/material_maker/sdf_builder/sdf_builder.gd", "res://addons/material_maker/sdf_builder/sdf_builder.tscn", "res://addons/material_maker/sdf_builder/tex/blend.gd", "res://addons/material_maker/sdf_builder/tex/brightness_contrast.gd", "res://addons/material_maker/sdf_builder/tex/deform.gd", "res://addons/material_maker/sdf_builder/tex/fbm.gd", "res://addons/material_maker/sdf_builder/tex/pattern.gd", "res://addons/material_maker/sdf_builder/tex/simple_gradient.gd", "res://addons/material_maker/sdf_builder/tex/step.gd", "res://addons/material_maker/sdf_builder/tex/uniform.gd", "res://addons/material_maker/sdf_builder/tex/uniform_gs.gd", "res://addons/material_maker/shader_functions.tres", "res://addons/material_maker/types/curve.gd", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/lattice.gd", "res://addons/material_maker/types/pixels.gd", "res://addons/material_maker/types/polygon.gd", "res://addons/material_maker/types/splines.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/console.gd", "res://material_maker/darken.gd", "res://material_maker/darken.tscn", "res://material_maker/fonts/DroidSansFallback.ttf", "res://material_maker/fonts/DroidSansJapanese.ttf", "res://material_maker/fonts/hack.ttf", "res://material_maker/fonts/vegur_regular.otf", "res://material_maker/globals.gd", "res://material_maker/globals.tscn", "res://material_maker/globals_menu_manager.gd", "res://material_maker/icons/add.tres", "res://material_maker/icons/add_generic.tres", "res://material_maker/icons/buffer.tres", "res://material_maker/icons/buffer_paused.tres", "res://material_maker/icons/close.tres", "res://material_maker/icons/color_palette.png", "res://material_maker/icons/color_picker.png", "res://material_maker/icons/custom.png", "res://material_maker/icons/down.tres", "res://material_maker/icons/edit.tres", "res://material_maker/icons/eye_closed.tres", "res://material_maker/icons/eye_open.tres", "res://material_maker/icons/godot_logo.svg", "res://material_maker/icons/icons.gd", "res://material_maker/icons/icons.svg", "res://material_maker/icons/icons.tres", "res://material_maker/icons/link.tres", "res://material_maker/icons/lmb.tres", "res://material_maker/icons/minimize.tres", "res://material_maker/icons/mmb.tres", "res://material_maker/icons/ok.tres", "res://material_maker/icons/output_preview.tres", "res://material_maker/icons/paste_graph.tres", "res://material_maker/icons/paste_newgraph.tres", "res://material_maker/icons/paste_none.tres", "res://material_maker/icons/paste_palette.tres", "res://material_maker/icons/port_group_0.tres", "res://material_maker/icons/port_group_1.tres", "res://material_maker/icons/port_group_2.tres", "res://material_maker/icons/port_group_3.tres", "res://material_maker/icons/preview.png", "res://material_maker/icons/preview_locked.png", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/icons/rmb.tres", "res://material_maker/icons/up.tres", "res://material_maker/locale/locale.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/main_window_layout.gd", "res://material_maker/main_window_projects_panel.gd", "res://material_maker/meshes/suzanne.obj", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment/comment.gd", "res://material_maker/nodes/comment/comment.tscn", "res://material_maker/nodes/comment/palette_button.gd", "res://material_maker/nodes/debug/debug.gd", "res://material_maker/nodes/debug/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic/generic.gd", "res://material_maker/nodes/generic/generic.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/ios.gd", "res://material_maker/nodes/ios/ios.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/material_export/material_export.gd", "res://material_maker/nodes/material_export/material_export.tscn", "res://material_maker/nodes/minimal.gd", "res://material_maker/nodes/node_button.gd", "res://material_maker/nodes/node_button.tscn", "res://material_maker/nodes/remote/named_parameter_dialog.gd", "res://material_maker/nodes/remote/named_parameter_dialog.tscn", "res://material_maker/nodes/remote/remote.gd", "res://material_maker/nodes/remote/remote.tscn", "res://material_maker/nodes/reroute/reroute.gd", "res://material_maker/nodes/reroute/reroute.tscn", "res://material_maker/nodes/switch/switch.gd", "res://material_maker/nodes/switch/switch.tscn", "res://material_maker/nodes/tones/tones.gd", "res://material_maker/nodes/tones/tones.tscn", "res://material_maker/panel_container.gd", "res://material_maker/panels/brushes/brushes.gd", "res://material_maker/panels/brushes/brushes.tscn", "res://material_maker/panels/graph_edit/graph_edit.gd", "res://material_maker/panels/graph_edit/graph_edit.tscn", "res://material_maker/panels/hierarchy/hierarchy_panel.gd", "res://material_maker/panels/hierarchy/hierarchy_panel.tscn", "res://material_maker/panels/layers/add_layer_menu.tscn", "res://material_maker/panels/layers/icons/layer_mask.tres", "res://material_maker/panels/layers/icons/layer_paint.tres", "res://material_maker/panels/layers/icons/layer_proc.tres", "res://material_maker/panels/layers/icons/not_visible.tres", "res://material_maker/panels/layers/icons/visible.tres", "res://material_maker/panels/layers/layer_config_popup.gd", "res://material_maker/panels/layers/layer_config_popup.tscn", "res://material_maker/panels/layers/layer_tooltip.gd", "res://material_maker/panels/layers/layer_tooltip.tscn", "res://material_maker/panels/layers/layer_tooltip_thumbnail.gd", "res://material_maker/panels/layers/layer_tooltip_thumbnail.tscn", "res://material_maker/panels/layers/layers.gd", "res://material_maker/panels/layers/layers.tscn", "res://material_maker/panels/layers/layers_tree.gd", "res://material_maker/panels/library/button_greyed.tres", "res://material_maker/panels/library/create_lib_dialog.gd", "res://material_maker/panels/library/create_lib_dialog.tscn", "res://material_maker/panels/library/library.gd", "res://material_maker/panels/library/library.tscn", "res://material_maker/panels/library/library_tree.gd", "res://material_maker/panels/paint/collapse_button.gd", "res://material_maker/panels/paint/collapse_button.tscn", "res://material_maker/panels/paint/export.gd", "res://material_maker/panels/paint/export.tscn", "res://material_maker/panels/paint/layer_types/layer.gd", "res://material_maker/panels/paint/layer_types/layer_mask.gd", "res://material_maker/panels/paint/layer_types/layer_paint.gd", "res://material_maker/panels/paint/layer_types/layer_procedural.gd", "res://material_maker/panels/paint/paint.gd", "res://material_maker/panels/paint/paint.tscn", "res://material_maker/panels/paint/paint_layers.gd", "res://material_maker/panels/paint/paint_layers.tscn", "res://material_maker/panels/paint/paint_project_settings.gd", "res://material_maker/panels/paint/paint_project_settings.tscn", "res://material_maker/panels/parameters/parameters.gd", "res://material_maker/panels/parameters/parameters.tscn", "res://material_maker/panels/preview_2d/control_point.gd", "res://material_maker/panels/preview_2d/control_point.tscn", "res://material_maker/panels/preview_2d/custom_size_dialog.gd", "res://material_maker/panels/preview_2d/custom_size_dialog.tscn", "res://material_maker/panels/preview_2d/lines.gd", "res://material_maker/panels/preview_2d/preview_2d.gd", "res://material_maker/panels/preview_2d/preview_2d.tscn", "res://material_maker/panels/preview_2d/preview_2d_node.gd", "res://material_maker/panels/preview_2d/preview_2d_node.tscn", "res://material_maker/panels/preview_2d/preview_2d_panel.gd", "res://material_maker/panels/preview_2d/preview_2d_panel.tscn", "res://material_maker/panels/preview_3d/materials/shader_material_tesselated.tres", "res://material_maker/panels/preview_3d/materials/spatial_material.tres", "res://material_maker/panels/preview_3d/mesh_config_popup.gd", "res://material_maker/panels/preview_3d/mesh_config_popup.tscn", "res://material_maker/panels/preview_3d/preview_3d.gd", "res://material_maker/panels/preview_3d/preview_3d.tscn", "res://material_maker/panels/preview_3d/preview_3d_panel.gd", "res://material_maker/panels/preview_3d/preview_3d_panel.tscn", "res://material_maker/panels/preview_3d/preview_3d_scene.tscn", "res://material_maker/panels/preview_3d/preview_3d_ui.gd", "res://material_maker/panels/preview_3d/preview_3d_ui.tscn", "res://material_maker/panels/preview_3d/preview_light.gd", "res://material_maker/panels/preview_3d/preview_light.tscn", "res://material_maker/panels/preview_3d/preview_mesh.gd", "res://material_maker/panels/preview_3d/preview_objects.tscn", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cube.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Custom.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cylinder.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Plane.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Prism.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Sphere.png", "res://material_maker/panels/reference/color_slot.gd", "res://material_maker/panels/reference/color_slot.tscn", "res://material_maker/panels/reference/gradient_slot.gd", "res://material_maker/panels/reference/gradient_slot.tscn", "res://material_maker/panels/reference/reference_panel.gd", "res://material_maker/panels/reference/reference_panel.tscn", "res://material_maker/projects_panel.tscn", "res://material_maker/theme/birch.tres", "res://material_maker/theme/dark.tres", "res://material_maker/theme/dark/checkbox_checked.png", "res://material_maker/theme/dark/checkbox_radio_checked.png", "res://material_maker/theme/dark/checkbox_radio_unchecked.png", "res://material_maker/theme/dark/checkbox_unchecked.png", "res://material_maker/theme/dark/checkbutton_off.png", "res://material_maker/theme/dark/checkbutton_off_disabled.png", "res://material_maker/theme/dark/checkbutton_on.png", "res://material_maker/theme/dark/checkbutton_on_disabled.png", "res://material_maker/theme/dark/colorpickerbutton_bg.png", "res://material_maker/theme/dark/curve_preset_bevel.tres", "res://material_maker/theme/dark/curve_preset_bounce.tres", "res://material_maker/theme/dark/curve_preset_easein.tres", "res://material_maker/theme/dark/curve_preset_easeinout.tres", "res://material_maker/theme/dark/curve_preset_easeout.tres", "res://material_maker/theme/dark/curve_preset_linear.tres", "res://material_maker/theme/dark/curve_preset_sawtooth.tres", "res://material_maker/theme/dark/curve_presets.svg", "res://material_maker/theme/dark/graphedit_minus.png", "res://material_maker/theme/dark/graphedit_more.png", "res://material_maker/theme/dark/graphedit_reset.png", "res://material_maker/theme/dark/graphedit_snap.png", "res://material_maker/theme/dark/graphnode_close.png", "res://material_maker/theme/dark/graphnode_port.png", "res://material_maker/theme/dark/graphnode_resizer.png", "res://material_maker/theme/dark/hslider_grabber.png", "res://material_maker/theme/dark/hslider_grabber_disabled.png", "res://material_maker/theme/dark/hslider_grabber_highlight.png", "res://material_maker/theme/dark/hslider_tick.png", "res://material_maker/theme/dark/hsplitcontainer_grabber.png", "res://material_maker/theme/dark/lineedit_clear.png", "res://material_maker/theme/dark/optionbutton_arrow.png", "res://material_maker/theme/dark/popupmenu_checked.png", "res://material_maker/theme/dark/popupmenu_radio_checked.png", "res://material_maker/theme/dark/popupmenu_radio_unchecked.png", "res://material_maker/theme/dark/popupmenu_submenu.png", "res://material_maker/theme/dark/popupmenu_unchecked.png", "res://material_maker/theme/dark/popupmenu_visibility_hidden.png", "res://material_maker/theme/dark/popupmenu_visibility_visible.png", "res://material_maker/theme/dark/popupmenu_visibility_xray.png", "res://material_maker/theme/dark/sb_checkbox_focus_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_hslider_focus_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/sb_panel_panelf_texture.png", "res://material_maker/theme/dark/sb_panel_panelnc_texture.png", "res://material_maker/theme/dark/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/dark/sb_progressbar_bg_texture.png", "res://material_maker/theme/dark/sb_progressbar_fg_texture.png", "res://material_maker/theme/dark/sb_textedit_completion_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/tabcontainer_decrement.png", "res://material_maker/theme/dark/tabcontainer_decrement_highlight.png", "res://material_maker/theme/dark/tabcontainer_increment.png", "res://material_maker/theme/dark/tabcontainer_increment_highlight.png", "res://material_maker/theme/dark/tabcontainer_menu.png", "res://material_maker/theme/dark/tabcontainer_menu_highlight.png", "res://material_maker/theme/dark/tabs_close.png", "res://material_maker/theme/dark/tabs_decrement.png", "res://material_maker/theme/dark/tabs_decrement_highlight.png", "res://material_maker/theme/dark/tabs_increment.png", "res://material_maker/theme/dark/tabs_increment_highlight.png", "res://material_maker/theme/dark/textedit_fold.png", "res://material_maker/theme/dark/textedit_folded.png", "res://material_maker/theme/dark/textedit_space.png", "res://material_maker/theme/dark/textedit_tab.png", "res://material_maker/theme/dark/tree_arrow.png", "res://material_maker/theme/dark/tree_arrow_collapsed.png", "res://material_maker/theme/dark/tree_checked.png", "res://material_maker/theme/dark/tree_select_arrow.png", "res://material_maker/theme/dark/tree_unchecked.png", "res://material_maker/theme/dark/tree_updown.png", "res://material_maker/theme/dark/vslider_grabber.png", "res://material_maker/theme/dark/vslider_grabber_highlight.png", "res://material_maker/theme/dark/vsplitcontainer_grabber.png", "res://material_maker/theme/dark/windowdialog_close.png", "res://material_maker/theme/dark/windowdialog_close_highlight.png", "res://material_maker/theme/default.tres", "res://material_maker/theme/font.tres", "res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf", "res://material_maker/theme/green.tres", "res://material_maker/theme/light.tres", "res://material_maker/theme/light/checkbox_checked.png", "res://material_maker/theme/light/checkbox_radio_checked.png", "res://material_maker/theme/light/checkbox_radio_unchecked.png", "res://material_maker/theme/light/checkbox_unchecked.png", "res://material_maker/theme/light/checkbutton_off.png", "res://material_maker/theme/light/checkbutton_off_disabled.png", "res://material_maker/theme/light/checkbutton_on.png", "res://material_maker/theme/light/checkbutton_on_disabled.png", "res://material_maker/theme/light/colorpickerbutton_bg.png", "res://material_maker/theme/light/curve_preset_bevel.tres", "res://material_maker/theme/light/curve_preset_bounce.tres", "res://material_maker/theme/light/curve_preset_easein.tres", "res://material_maker/theme/light/curve_preset_easeinout.tres", "res://material_maker/theme/light/curve_preset_easeout.tres", "res://material_maker/theme/light/curve_preset_linear.tres", "res://material_maker/theme/light/curve_preset_sawtooth.tres", "res://material_maker/theme/light/curve_presets.svg", "res://material_maker/theme/light/graphedit_minus.png", "res://material_maker/theme/light/graphedit_more.png", "res://material_maker/theme/light/graphedit_reset.png", "res://material_maker/theme/light/graphedit_snap.png", "res://material_maker/theme/light/graphnode_close.png", "res://material_maker/theme/light/graphnode_port.png", "res://material_maker/theme/light/graphnode_resizer.png", "res://material_maker/theme/light/hslider_grabber.png", "res://material_maker/theme/light/hslider_grabber_disabled.png", "res://material_maker/theme/light/hslider_grabber_highlight.png", "res://material_maker/theme/light/hslider_tick.png", "res://material_maker/theme/light/hsplitcontainer_grabber.png", "res://material_maker/theme/light/lineedit_clear.png", "res://material_maker/theme/light/optionbutton_arrow.png", "res://material_maker/theme/light/popupmenu_checked.png", "res://material_maker/theme/light/popupmenu_radio_checked.png", "res://material_maker/theme/light/popupmenu_radio_unchecked.png", "res://material_maker/theme/light/popupmenu_submenu.png", "res://material_maker/theme/light/popupmenu_unchecked.png", "res://material_maker/theme/light/popupmenu_visibility_hidden.png", "res://material_maker/theme/light/popupmenu_visibility_visible.png", "res://material_maker/theme/light/popupmenu_visibility_xray.png", "res://material_maker/theme/light/sb_checkbox_focus_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_hslider_focus_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/light/sb_panel_panelf_texture.png", "res://material_maker/theme/light/sb_panel_panelnc_texture.png", "res://material_maker/theme/light/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/light/sb_progressbar_bg_texture.png", "res://material_maker/theme/light/sb_progressbar_fg_texture.png", "res://material_maker/theme/light/sb_textedit_completion_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/light/tabcontainer_decrement.png", "res://material_maker/theme/light/tabcontainer_decrement_highlight.png", "res://material_maker/theme/light/tabcontainer_increment.png", "res://material_maker/theme/light/tabcontainer_increment_highlight.png", "res://material_maker/theme/light/tabcontainer_menu.png", "res://material_maker/theme/light/tabcontainer_menu_highlight.png", "res://material_maker/theme/light/tabs_close.png", "res://material_maker/theme/light/tabs_decrement.png", "res://material_maker/theme/light/tabs_decrement_highlight.png", "res://material_maker/theme/light/tabs_increment.png", "res://material_maker/theme/light/tabs_increment_highlight.png", "res://material_maker/theme/light/textedit_fold.png", "res://material_maker/theme/light/textedit_folded.png", "res://material_maker/theme/light/textedit_space.png", "res://material_maker/theme/light/textedit_tab.png", "res://material_maker/theme/light/tree_arrow.png", "res://material_maker/theme/light/tree_arrow_collapsed.png", "res://material_maker/theme/light/tree_checked.png", "res://material_maker/theme/light/tree_select_arrow.png", "res://material_maker/theme/light/tree_unchecked.png", "res://material_maker/theme/light/tree_updown.png", "res://material_maker/theme/light/vslider_grabber.png", "res://material_maker/theme/light/vslider_grabber_highlight.png", "res://material_maker/theme/light/vsplitcontainer_grabber.png", "res://material_maker/theme/light/windowdialog_close.png", "res://material_maker/theme/light/windowdialog_close_highlight.png", "res://material_maker/theme/mangosteen.tres", "res://material_maker/theme/modern.tres", "res://material_maker/tools/environment_manager/environment_manager.gd", "res://material_maker/tools/environment_manager/environment_manager.tscn", "res://material_maker/tools/library_manager/library.gd", "res://material_maker/tools/library_manager/library_manager.gd", "res://material_maker/tools/map_renderer/map_renderer.gd", "res://material_maker/tools/map_renderer/map_renderer.tscn", "res://material_maker/tools/painter/brush_preview.gd", "res://material_maker/tools/painter/brush_preview.tscn", "res://material_maker/tools/painter/painter.gd", "res://material_maker/tools/painter/painter.tscn", "res://material_maker/tools/painter/painter_viewport.gd", "res://material_maker/tools/painter/painter_viewport.tscn", "res://material_maker/tools/painter/shaders/brush.gdshader", "res://material_maker/tools/painter/shaders/brush_common_decl.gdshader", "res://material_maker/tools/painter/shaders/brush_pattern.gdshader", "res://material_maker/tools/painter/shaders/brush_stamp.gdshader", "res://material_maker/tools/painter/shaders/brush_uv_pattern.gdshader", "res://material_maker/tools/painter/shaders/init.tres", "res://material_maker/tools/painter/shaders/init_channels.tres", "res://material_maker/tools/painter/shaders/init_copy_shader.tres", "res://material_maker/tools/painter/shaders/paint_shader_template.tres", "res://material_maker/tools/painter/shaders/t2v_fragment.tres", "res://material_maker/tools/painter/shaders/t2v_vertex.tres", "res://material_maker/tools/painter/shaders/v2t_fragment.tres", "res://material_maker/tools/painter/shaders/v2t_vertex.tres", "res://material_maker/tools/share/broken_link.tres", "res://material_maker/tools/share/golden_link.tres", "res://material_maker/tools/share/hdri/kloofendal_48d_partly_cloudy_1k.exr", "res://material_maker/tools/share/link.tres", "res://material_maker/tools/share/login_dialog.gd", "res://material_maker/tools/share/login_dialog.tscn", "res://material_maker/tools/share/preview_scene.tscn", "res://material_maker/tools/share/preview_scene_viewer.tscn", "res://material_maker/tools/share/preview_viewport.gd", "res://material_maker/tools/share/preview_viewport.tscn", "res://material_maker/tools/share/share_button.gd", "res://material_maker/tools/share/share_button.tscn", "res://material_maker/tools/share/share_http_request.gd", "res://material_maker/tools/share/share_node_dialog.gd", "res://material_maker/tools/share/share_node_dialog.tscn", "res://material_maker/tools/share/upload_dialog.gd", "res://material_maker/tools/share/upload_dialog.tscn", "res://material_maker/tools/undo_redo/undo_redo.gd", "res://material_maker/widgets/code_editor/code_editor.gd", "res://material_maker/widgets/code_editor/code_editor.tscn", "res://material_maker/widgets/color_picker_button/color_picker_button.gd", "res://material_maker/widgets/color_picker_popup/color_picker_popup.tscn", "res://material_maker/widgets/curve_edit/control_point.gd", "res://material_maker/widgets/curve_edit/control_point.tscn", "res://material_maker/widgets/curve_edit/curve_dialog.gd", "res://material_maker/widgets/curve_edit/curve_dialog.tscn", "res://material_maker/widgets/curve_edit/curve_edit.gd", "res://material_maker/widgets/curve_edit/curve_edit.tscn", "res://material_maker/widgets/curve_edit/curve_editor.gd", "res://material_maker/widgets/curve_edit/curve_editor.tscn", "res://material_maker/widgets/curve_edit/curve_view.gd", "res://material_maker/widgets/curve_edit/curve_view.tscn", "res://material_maker/widgets/curve_edit/presets_selector.gd", "res://material_maker/widgets/curve_edit/slope_point.gd", "res://material_maker/widgets/desc_button/desc_button.gd", "res://material_maker/widgets/desc_button/desc_button.tscn", "res://material_maker/widgets/file_picker_button/file_picker_button.gd", "res://material_maker/widgets/file_picker_button/file_picker_button.tscn", "res://material_maker/widgets/float_edit/expression_editor.gd", "res://material_maker/widgets/float_edit/expression_editor.tscn", "res://material_maker/widgets/float_edit/float_edit.gd", "res://material_maker/widgets/float_edit/float_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit.gd", "res://material_maker/widgets/gradient_editor/gradient_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.gd", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.tscn", "res://material_maker/widgets/gradient_editor/gradient_editor.gd", "res://material_maker/widgets/gradient_editor/gradient_editor.tscn", "res://material_maker/widgets/gradient_editor/gradient_popup.gd", "res://material_maker/widgets/gradient_editor/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/histogram/histogram.gd", "res://material_maker/widgets/histogram/histogram.tscn", "res://material_maker/widgets/image_picker_button/image_picker_button.gd", "res://material_maker/widgets/image_picker_button/image_picker_button.tscn", "res://material_maker/widgets/lattice_edit/lattice_dialog.gd", "res://material_maker/widgets/lattice_edit/lattice_dialog.tscn", "res://material_maker/widgets/lattice_edit/lattice_edit.gd", "res://material_maker/widgets/lattice_edit/lattice_edit.tscn", "res://material_maker/widgets/lattice_edit/lattice_editor.gd", "res://material_maker/widgets/lattice_edit/lattice_editor.tscn", "res://material_maker/widgets/lattice_edit/lattice_view.gd", "res://material_maker/widgets/lattice_edit/lattice_view.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.tscn", "res://material_maker/widgets/pixels_edit/pixels_edit.gd", "res://material_maker/widgets/pixels_edit/pixels_edit.tscn", "res://material_maker/widgets/pixels_edit/pixels_editor.gd", "res://material_maker/widgets/pixels_edit/pixels_editor.tscn", "res://material_maker/widgets/pixels_edit/pixels_view.gd", "res://material_maker/widgets/pixels_edit/pixels_view.tscn", "res://material_maker/widgets/polygon_edit/control_point.gd", "res://material_maker/widgets/polygon_edit/control_point.tscn", "res://material_maker/widgets/polygon_edit/polygon_dialog.gd", "res://material_maker/widgets/polygon_edit/polygon_dialog.tscn", "res://material_maker/widgets/polygon_edit/polygon_edit.gd", "res://material_maker/widgets/polygon_edit/polygon_edit.tscn", "res://material_maker/widgets/polygon_edit/polygon_editor.gd", "res://material_maker/widgets/polygon_edit/polygon_editor.tscn", "res://material_maker/widgets/polygon_edit/polygon_view.gd", "res://material_maker/widgets/polygon_edit/polygon_view.tscn", "res://material_maker/widgets/port_group_button/port_group_button.gd", "res://material_maker/widgets/port_group_button/port_group_button.tscn", "res://material_maker/widgets/render_counter/render_counter.gd", "res://material_maker/widgets/render_counter/render_counter.tscn", "res://material_maker/widgets/size_option_button/size_option_button.gd", "res://material_maker/widgets/splines_edit/splines_dialog.gd", "res://material_maker/widgets/splines_edit/splines_dialog.tscn", "res://material_maker/widgets/splines_edit/splines_edit.gd", "res://material_maker/widgets/splines_edit/splines_edit.tscn", "res://material_maker/widgets/splines_edit/splines_editor.gd", "res://material_maker/widgets/splines_edit/splines_editor.tscn", "res://material_maker/widgets/splines_edit/splines_view.gd", "res://material_maker/widgets/splines_edit/splines_view.tscn", "res://material_maker/widgets/tabs/tabs.gd", "res://material_maker/windows/about/about.gd", "res://material_maker/windows/about/about.tscn", "res://material_maker/windows/about/discord.png", "res://material_maker/windows/about/epic_megagrant.svg", "res://material_maker/windows/about/facebook.png", "res://material_maker/windows/about/github.png", "res://material_maker/windows/about/icon.png", "res://material_maker/windows/about/itchio.png", "res://material_maker/windows/about/patreon.png", "res://material_maker/windows/about/twitter.png", "res://material_maker/windows/about/youtube.png", "res://material_maker/windows/accept_dialog/accept_dialog.gd", "res://material_maker/windows/accept_dialog/accept_dialog.tscn", "res://material_maker/windows/add_node_popup/add_node_popup.gd", "res://material_maker/windows/add_node_popup/add_node_popup.tscn", "res://material_maker/windows/add_node_popup/quick_button.gd", "res://material_maker/windows/add_node_popup/quick_button.tscn", "res://material_maker/windows/desc_dialog/desc_dialog.gd", "res://material_maker/windows/desc_dialog/desc_dialog.tscn", "res://material_maker/windows/environment_editor/environment_editor.gd", "res://material_maker/windows/environment_editor/environment_editor.tscn", "res://material_maker/windows/environment_editor/environment_editor_scene.tscn", "res://material_maker/windows/environment_editor/environment_editor_viewport.tscn", "res://material_maker/windows/environment_editor/new_environment.png", "res://material_maker/windows/export_animation/export_animation.gd", "res://material_maker/windows/export_animation/export_animation.tscn", "res://material_maker/windows/export_taa/accumulate_compute.tres", "res://material_maker/windows/export_taa/divide_compute.tres", "res://material_maker/windows/export_taa/export_taa.gd", "res://material_maker/windows/export_taa/export_taa.tscn", "res://material_maker/windows/file_dialog/fav_button.tscn", "res://material_maker/windows/file_dialog/file_dialog.gd", "res://material_maker/windows/file_dialog/file_dialog.tscn", "res://material_maker/windows/file_dialog/left_panel.gd", "res://material_maker/windows/file_dialog/left_panel.tscn", "res://material_maker/windows/line_dialog/line_dialog.gd", "res://material_maker/windows/line_dialog/line_dialog.tscn", "res://material_maker/windows/load_from_website/load_from_website.gd", "res://material_maker/windows/load_from_website/load_from_website.tscn", "res://material_maker/windows/material_editor/export_editor.gd", "res://material_maker/windows/material_editor/export_editor.tscn", "res://material_maker/windows/material_editor/expression_line_edit.gd", "res://material_maker/windows/material_editor/expression_line_edit.tscn", "res://material_maker/windows/material_editor/material_editor.gd", "res://material_maker/windows/material_editor/material_editor.tscn", "res://material_maker/windows/new_painter/new_painter.gd", "res://material_maker/windows/new_painter/new_painter.tscn", "res://material_maker/windows/node_editor/enum_editor.gd", "res://material_maker/windows/node_editor/enum_editor.tscn", "res://material_maker/windows/node_editor/input.gd", "res://material_maker/windows/node_editor/input.tscn", "res://material_maker/windows/node_editor/node_editor.gd", "res://material_maker/windows/node_editor/node_editor.tscn", "res://material_maker/windows/node_editor/node_editor_item_list.gd", "res://material_maker/windows/node_editor/output.gd", "res://material_maker/windows/node_editor/output.tscn", "res://material_maker/windows/node_editor/parameter.gd", "res://material_maker/windows/node_editor/parameter.tscn", "res://material_maker/windows/node_editor/parameter_boolean.gd", "res://material_maker/windows/node_editor/parameter_boolean.tscn", "res://material_maker/windows/node_editor/parameter_color.gd", "res://material_maker/windows/node_editor/parameter_color.tscn", "res://material_maker/windows/node_editor/parameter_curve.gd", "res://material_maker/windows/node_editor/parameter_curve.tscn", "res://material_maker/windows/node_editor/parameter_enum.gd", "res://material_maker/windows/node_editor/parameter_enum.tscn", "res://material_maker/windows/node_editor/parameter_float.gd", "res://material_maker/windows/node_editor/parameter_float.tscn", "res://material_maker/windows/node_editor/parameter_gradient.gd", "res://material_maker/windows/node_editor/parameter_gradient.tscn", "res://material_maker/windows/node_editor/parameter_lattice.gd", "res://material_maker/windows/node_editor/parameter_lattice.tscn", "res://material_maker/windows/node_editor/parameter_pixels.gd", "res://material_maker/windows/node_editor/parameter_pixels.tscn", "res://material_maker/windows/node_editor/parameter_polygon.gd", "res://material_maker/windows/node_editor/parameter_polygon.tscn", "res://material_maker/windows/node_editor/parameter_polyline.tscn", "res://material_maker/windows/node_editor/parameter_size.gd", "res://material_maker/windows/node_editor/parameter_size.tscn", "res://material_maker/windows/node_editor/parameter_splines.gd", "res://material_maker/windows/node_editor/parameter_splines.tscn", "res://material_maker/windows/preferences/bool_option.gd", "res://material_maker/windows/preferences/bool_option.tscn", "res://material_maker/windows/preferences/float_option.gd", "res://material_maker/windows/preferences/float_option.tscn", "res://material_maker/windows/preferences/lang_option.gd", "res://material_maker/windows/preferences/language_download.gd", "res://material_maker/windows/preferences/language_download.tscn", "res://material_maker/windows/preferences/preferences.gd", "res://material_maker/windows/preferences/preferences.tscn", "res://material_maker/windows/progress_window/progress_window.gd", "res://material_maker/windows/progress_window/progress_window.tscn", "res://material_maker/windows/sdf_builder/gizmo.gd", "res://material_maker/windows/sdf_builder/gizmo.gdshader", "res://material_maker/windows/sdf_builder/gizmo.tscn", "res://material_maker/windows/sdf_builder/gizmo_arrow.gd", "res://material_maker/windows/sdf_builder/gizmo_arrow.tscn", "res://material_maker/windows/sdf_builder/preview_2d.gd", "res://material_maker/windows/sdf_builder/preview_2d.gdshader", "res://material_maker/windows/sdf_builder/preview_2d.tscn", "res://material_maker/windows/sdf_builder/preview_3d.gd", "res://material_maker/windows/sdf_builder/preview_3d.gdshader", "res://material_maker/windows/sdf_builder/preview_3d.tscn", "res://material_maker/windows/sdf_builder/sdf_builder.gd", "res://material_maker/windows/sdf_builder/sdf_builder.tscn", "res://material_maker/windows/sdf_builder/sdf_builder_tree.gd", "res://parse_args.gd", "res://parse_args.tscn", "res://splash_screen/arrow.png", "res://splash_screen/backgrounds/angel_beanbag_chair.png", "res://splash_screen/backgrounds/angel_soft_nurball.png", "res://splash_screen/backgrounds/cgmytro_old_doors.png", "res://splash_screen/backgrounds/cybereality_brutalism.png", "res://splash_screen/backgrounds/cybereality_dirty_tiles.png", "res://splash_screen/backgrounds/cybereality_future_visions.png", "res://splash_screen/backgrounds/droppedbeat_matrix_rain.tres", "res://splash_screen/backgrounds/droppedbeat_procedural_material.png", "res://splash_screen/backgrounds/droppedbeat_spiral_trails.tres", "res://splash_screen/backgrounds/droppedbeat_vending_machines.png", "res://splash_screen/backgrounds/oneiric_worlds_zefyr.png", "res://splash_screen/backgrounds/paulo_falcao_fractal_octahedron.tres", "res://splash_screen/backgrounds/paulo_falcao_green_thing.png", "res://splash_screen/backgrounds/paulo_falcao_terminator_ball.tres", "res://splash_screen/backgrounds/pavel_oliva_carved_wood.png", "res://splash_screen/backgrounds/pavel_oliva_celestial_floor.png", "res://splash_screen/backgrounds/pavel_oliva_cursed_planks.png", "res://splash_screen/backgrounds/pavel_oliva_flowing_lava.png", "res://splash_screen/backgrounds/pavel_oliva_lace.png", "res://splash_screen/backgrounds/pavel_oliva_pavement_generator.png", "res://splash_screen/backgrounds/pavel_oliva_stylized_pavement.png", "res://splash_screen/backgrounds/pavel_oliva_treasures.png", "res://splash_screen/backgrounds/pavel_oliva_vintage_luggage.png", "res://splash_screen/backgrounds/pixelmuncher_golden_tiles.png", "res://splash_screen/rodz_labs_logo.png", "res://splash_screen/splash_screen.gd", "res://splash_screen/splash_screen.gdshader", "res://splash_screen/splash_screen.tscn", "res://splash_screen/splash_screen_bottom.gdshader", "res://splash_screen/splash_title.png", "res://start.gd", "res://start.tscn") +export_files=PackedStringArray("res://addons/flexible_layout/arrow.svg", "res://addons/flexible_layout/flexible_dragger.gd", "res://addons/flexible_layout/flexible_dragger.tscn", "res://addons/flexible_layout/flexible_layout.gd", "res://addons/flexible_layout/flexible_layout.tscn", "res://addons/flexible_layout/flexible_overlay.gd", "res://addons/flexible_layout/flexible_overlay.tscn", "res://addons/flexible_layout/flexible_tab.gd", "res://addons/flexible_layout/flexible_tab.tscn", "res://addons/flexible_layout/flexible_tabs.gd", "res://addons/flexible_layout/flexible_tabs.tscn", "res://addons/flexible_layout/tab.svg", "res://addons/flexible_layout/undock.png", "res://addons/material_maker/engine/dependencies.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/logger.gd", "res://addons/material_maker/engine/multi_renderer.gd", "res://addons/material_maker/engine/nodes/buffer_compute.tres", "res://addons/material_maker/engine/nodes/gen_base.gd", "res://addons/material_maker/engine/nodes/gen_brush.gd", "res://addons/material_maker/engine/nodes/gen_buffer.gd", "res://addons/material_maker/engine/nodes/gen_comment.gd", "res://addons/material_maker/engine/nodes/gen_context.gd", "res://addons/material_maker/engine/nodes/gen_debug.gd", "res://addons/material_maker/engine/nodes/gen_export.gd", "res://addons/material_maker/engine/nodes/gen_graph.gd", "res://addons/material_maker/engine/nodes/gen_image.gd", "res://addons/material_maker/engine/nodes/gen_ios.gd", "res://addons/material_maker/engine/nodes/gen_iterate_buffer.gd", "res://addons/material_maker/engine/nodes/gen_material.gd", "res://addons/material_maker/engine/nodes/gen_meshmap.gd", "res://addons/material_maker/engine/nodes/gen_remote.gd", "res://addons/material_maker/engine/nodes/gen_reroute.gd", "res://addons/material_maker/engine/nodes/gen_sdf.gd", "res://addons/material_maker/engine/nodes/gen_shader.gd", "res://addons/material_maker/engine/nodes/gen_switch.gd", "res://addons/material_maker/engine/nodes/gen_text.gd", "res://addons/material_maker/engine/nodes/gen_texture.gd", "res://addons/material_maker/engine/nodes/gen_webcam.gd", "res://addons/material_maker/engine/nodes/iterate_buffer_compute.tres", "res://addons/material_maker/engine/paths.gd", "res://addons/material_maker/engine/pipeline/compute_shader.gd", "res://addons/material_maker/engine/pipeline/pipeline.gd", "res://addons/material_maker/engine/pipeline/rendering_pipeline.gd", "res://addons/material_maker/engine/pipeline/texture.gd", "res://addons/material_maker/engine/preprocessor.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/engine/shader_base.gd", "res://addons/material_maker/engine/shader_compute.gd", "res://addons/material_maker/engine/shader_error_handler.gd", "res://addons/material_maker/engine/shader_material.gd", "res://addons/material_maker/engine/text_resource.gd", "res://addons/material_maker/loaders/mesh_loader.gd", "res://addons/material_maker/loaders/obj_loader.gd", "res://addons/material_maker/map_generator/ao_fragment.tres", "res://addons/material_maker/map_generator/ao_vertex.tres", "res://addons/material_maker/map_generator/bvh_generator.gd", "res://addons/material_maker/map_generator/common_fragment.tres", "res://addons/material_maker/map_generator/curvature_generator.gd", "res://addons/material_maker/map_generator/curvature_vertex.tres", "res://addons/material_maker/map_generator/denoise_compute.tres", "res://addons/material_maker/map_generator/dilate_1_compute.tres", "res://addons/material_maker/map_generator/dilate_2_compute.tres", "res://addons/material_maker/map_generator/map_generator.gd", "res://addons/material_maker/map_generator/mesh_rendering_pipeline.gd", "res://addons/material_maker/map_generator/normal_fragment.tres", "res://addons/material_maker/map_generator/normal_vertex.tres", "res://addons/material_maker/map_generator/normalize_compute.tres", "res://addons/material_maker/map_generator/position_vertex.tres", "res://addons/material_maker/map_generator/seams_1_compute.tres", "res://addons/material_maker/map_generator/seams_2_compute.tres", "res://addons/material_maker/map_generator/tangent_vertex.tres", "res://addons/material_maker/parser/glsl_parser.gd", "res://addons/material_maker/parser/glsl_parser_base.gd", "res://addons/material_maker/parser/parser_base.gd", "res://addons/material_maker/sdf_builder/base.gd", "res://addons/material_maker/sdf_builder/icons/icons.svg", "res://addons/material_maker/sdf_builder/sdf2d/annular.gd", "res://addons/material_maker/sdf_builder/sdf2d/bend.gd", "res://addons/material_maker/sdf_builder/sdf2d/box.gd", "res://addons/material_maker/sdf_builder/sdf2d/circle.gd", "res://addons/material_maker/sdf_builder/sdf2d/color.gd", "res://addons/material_maker/sdf_builder/sdf2d/difference.gd", "res://addons/material_maker/sdf_builder/sdf2d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf2d/flip.gd", "res://addons/material_maker/sdf_builder/sdf2d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf2d/line.gd", "res://addons/material_maker/sdf_builder/sdf2d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf2d/morph.gd", "res://addons/material_maker/sdf_builder/sdf2d/ngon.gd", "res://addons/material_maker/sdf_builder/sdf2d/polygon.gd", "res://addons/material_maker/sdf_builder/sdf2d/round.gd", "res://addons/material_maker/sdf_builder/sdf2d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf2d/stairs.gd", "res://addons/material_maker/sdf_builder/sdf2d/star.gd", "res://addons/material_maker/sdf_builder/sdf2d/union.gd", "res://addons/material_maker/sdf_builder/sdf3d/annular.gd", "res://addons/material_maker/sdf_builder/sdf3d/bend.gd", "res://addons/material_maker/sdf_builder/sdf3d/box.gd", "res://addons/material_maker/sdf_builder/sdf3d/color.gd", "res://addons/material_maker/sdf_builder/sdf3d/cylinder.gd", "res://addons/material_maker/sdf_builder/sdf3d/difference.gd", "res://addons/material_maker/sdf_builder/sdf3d/distort.gd", "res://addons/material_maker/sdf_builder/sdf3d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf3d/extrusion.gd", "res://addons/material_maker/sdf_builder/sdf3d/flip.gd", "res://addons/material_maker/sdf_builder/sdf3d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf3d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf3d/morph.gd", "res://addons/material_maker/sdf_builder/sdf3d/revolution.gd", "res://addons/material_maker/sdf_builder/sdf3d/round.gd", "res://addons/material_maker/sdf_builder/sdf3d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf3d/sphere.gd", "res://addons/material_maker/sdf_builder/sdf3d/torus.gd", "res://addons/material_maker/sdf_builder/sdf3d/twist.gd", "res://addons/material_maker/sdf_builder/sdf3d/union.gd", "res://addons/material_maker/sdf_builder/sdf_builder.gd", "res://addons/material_maker/sdf_builder/sdf_builder.tscn", "res://addons/material_maker/sdf_builder/tex/blend.gd", "res://addons/material_maker/sdf_builder/tex/brightness_contrast.gd", "res://addons/material_maker/sdf_builder/tex/deform.gd", "res://addons/material_maker/sdf_builder/tex/fbm.gd", "res://addons/material_maker/sdf_builder/tex/pattern.gd", "res://addons/material_maker/sdf_builder/tex/simple_gradient.gd", "res://addons/material_maker/sdf_builder/tex/step.gd", "res://addons/material_maker/sdf_builder/tex/uniform.gd", "res://addons/material_maker/sdf_builder/tex/uniform_gs.gd", "res://addons/material_maker/shader_functions.tres", "res://addons/material_maker/types/curve.gd", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/lattice.gd", "res://addons/material_maker/types/pixels.gd", "res://addons/material_maker/types/polygon.gd", "res://addons/material_maker/types/splines.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/console.gd", "res://material_maker/darken.gd", "res://material_maker/darken.tscn", "res://material_maker/fonts/DroidSansFallback.ttf", "res://material_maker/fonts/DroidSansJapanese.ttf", "res://material_maker/fonts/hack.ttf", "res://material_maker/fonts/vegur_regular.otf", "res://material_maker/globals.gd", "res://material_maker/globals.tscn", "res://material_maker/globals_menu_manager.gd", "res://material_maker/icons/add.tres", "res://material_maker/icons/add_generic.tres", "res://material_maker/icons/buffer.tres", "res://material_maker/icons/buffer_paused.tres", "res://material_maker/icons/close.tres", "res://material_maker/icons/color_palette.png", "res://material_maker/icons/color_picker.png", "res://material_maker/icons/custom.png", "res://material_maker/icons/down.tres", "res://material_maker/icons/edit.tres", "res://material_maker/icons/eye_closed.tres", "res://material_maker/icons/eye_open.tres", "res://material_maker/icons/godot_logo.svg", "res://material_maker/icons/icons.gd", "res://material_maker/icons/icons.svg", "res://material_maker/icons/icons.tres", "res://material_maker/icons/link.tres", "res://material_maker/icons/lmb.tres", "res://material_maker/icons/minimize.tres", "res://material_maker/icons/mmb.tres", "res://material_maker/icons/ok.tres", "res://material_maker/icons/output_preview.tres", "res://material_maker/icons/paste_graph.tres", "res://material_maker/icons/paste_newgraph.tres", "res://material_maker/icons/paste_none.tres", "res://material_maker/icons/paste_palette.tres", "res://material_maker/icons/port_group_0.tres", "res://material_maker/icons/port_group_1.tres", "res://material_maker/icons/port_group_2.tres", "res://material_maker/icons/port_group_3.tres", "res://material_maker/icons/preview.png", "res://material_maker/icons/preview_locked.png", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/icons/rmb.tres", "res://material_maker/icons/up.tres", "res://material_maker/locale/locale.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/main_window_layout.gd", "res://material_maker/main_window_projects_panel.gd", "res://material_maker/meshes/suzanne.obj", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment/comment.gd", "res://material_maker/nodes/comment/comment.tscn", "res://material_maker/nodes/comment/palette_button.gd", "res://material_maker/nodes/debug/debug.gd", "res://material_maker/nodes/debug/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic/generic.gd", "res://material_maker/nodes/generic/generic.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/ios.gd", "res://material_maker/nodes/ios/ios.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/material_export/material_export.gd", "res://material_maker/nodes/material_export/material_export.tscn", "res://material_maker/nodes/minimal.gd", "res://material_maker/nodes/node_button.gd", "res://material_maker/nodes/node_button.tscn", "res://material_maker/nodes/remote/named_parameter_dialog.gd", "res://material_maker/nodes/remote/named_parameter_dialog.tscn", "res://material_maker/nodes/remote/remote.gd", "res://material_maker/nodes/remote/remote.tscn", "res://material_maker/nodes/reroute/reroute.gd", "res://material_maker/nodes/reroute/reroute.tscn", "res://material_maker/nodes/switch/switch.gd", "res://material_maker/nodes/switch/switch.tscn", "res://material_maker/nodes/tones/tones.gd", "res://material_maker/nodes/tones/tones.tscn", "res://material_maker/panel_container.gd", "res://material_maker/panels/brushes/brushes.gd", "res://material_maker/panels/brushes/brushes.tscn", "res://material_maker/panels/graph_edit/graph_edit.gd", "res://material_maker/panels/graph_edit/graph_edit.tscn", "res://material_maker/panels/hierarchy/hierarchy_panel.gd", "res://material_maker/panels/hierarchy/hierarchy_panel.tscn", "res://material_maker/panels/layers/add_layer_menu.tscn", "res://material_maker/panels/layers/icons/layer_mask.tres", "res://material_maker/panels/layers/icons/layer_paint.tres", "res://material_maker/panels/layers/icons/layer_proc.tres", "res://material_maker/panels/layers/icons/not_visible.tres", "res://material_maker/panels/layers/icons/visible.tres", "res://material_maker/panels/layers/layer_config_popup.gd", "res://material_maker/panels/layers/layer_config_popup.tscn", "res://material_maker/panels/layers/layer_tooltip.gd", "res://material_maker/panels/layers/layer_tooltip.tscn", "res://material_maker/panels/layers/layer_tooltip_thumbnail.gd", "res://material_maker/panels/layers/layer_tooltip_thumbnail.tscn", "res://material_maker/panels/layers/layers.gd", "res://material_maker/panels/layers/layers.tscn", "res://material_maker/panels/layers/layers_tree.gd", "res://material_maker/panels/library/button_greyed.tres", "res://material_maker/panels/library/create_lib_dialog.gd", "res://material_maker/panels/library/create_lib_dialog.tscn", "res://material_maker/panels/library/library.gd", "res://material_maker/panels/library/library.tscn", "res://material_maker/panels/library/library_tree.gd", "res://material_maker/panels/paint/collapse_button.gd", "res://material_maker/panels/paint/collapse_button.tscn", "res://material_maker/panels/paint/export.gd", "res://material_maker/panels/paint/export.tscn", "res://material_maker/panels/paint/layer_types/layer.gd", "res://material_maker/panels/paint/layer_types/layer_mask.gd", "res://material_maker/panels/paint/layer_types/layer_paint.gd", "res://material_maker/panels/paint/layer_types/layer_procedural.gd", "res://material_maker/panels/paint/paint.gd", "res://material_maker/panels/paint/paint.tscn", "res://material_maker/panels/paint/paint_layers.gd", "res://material_maker/panels/paint/paint_layers.tscn", "res://material_maker/panels/paint/paint_project_settings.gd", "res://material_maker/panels/paint/paint_project_settings.tscn", "res://material_maker/panels/parameters/parameters.gd", "res://material_maker/panels/parameters/parameters.tscn", "res://material_maker/panels/preview_2d/control_point.gd", "res://material_maker/panels/preview_2d/control_point.tscn", "res://material_maker/panels/preview_2d/custom_size_dialog.gd", "res://material_maker/panels/preview_2d/custom_size_dialog.tscn", "res://material_maker/panels/preview_2d/lines.gd", "res://material_maker/panels/preview_2d/preview_2d.gd", "res://material_maker/panels/preview_2d/preview_2d.tscn", "res://material_maker/panels/preview_2d/preview_2d_node.gd", "res://material_maker/panels/preview_2d/preview_2d_node.tscn", "res://material_maker/panels/preview_2d/preview_2d_panel.gd", "res://material_maker/panels/preview_2d/preview_2d_panel.tscn", "res://material_maker/panels/preview_3d/materials/shader_material_tesselated.tres", "res://material_maker/panels/preview_3d/materials/spatial_material.tres", "res://material_maker/panels/preview_3d/mesh_config_popup.gd", "res://material_maker/panels/preview_3d/mesh_config_popup.tscn", "res://material_maker/panels/preview_3d/preview_3d.gd", "res://material_maker/panels/preview_3d/preview_3d.tscn", "res://material_maker/panels/preview_3d/preview_3d_panel.gd", "res://material_maker/panels/preview_3d/preview_3d_panel.tscn", "res://material_maker/panels/preview_3d/preview_3d_scene.tscn", "res://material_maker/panels/preview_3d/preview_3d_ui.gd", "res://material_maker/panels/preview_3d/preview_3d_ui.tscn", "res://material_maker/panels/preview_3d/preview_light.gd", "res://material_maker/panels/preview_3d/preview_light.tscn", "res://material_maker/panels/preview_3d/preview_mesh.gd", "res://material_maker/panels/preview_3d/preview_objects.tscn", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cube.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Custom.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cylinder.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Plane.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Prism.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Sphere.png", "res://material_maker/panels/reference/color_slot.gd", "res://material_maker/panels/reference/color_slot.tscn", "res://material_maker/panels/reference/gradient_slot.gd", "res://material_maker/panels/reference/gradient_slot.tscn", "res://material_maker/panels/reference/reference_panel.gd", "res://material_maker/panels/reference/reference_panel.tscn", "res://material_maker/projects_panel.tscn", "res://material_maker/theme/birch.tres", "res://material_maker/theme/dark.tres", "res://material_maker/theme/dark/checkbox_checked.png", "res://material_maker/theme/dark/checkbox_radio_checked.png", "res://material_maker/theme/dark/checkbox_radio_unchecked.png", "res://material_maker/theme/dark/checkbox_unchecked.png", "res://material_maker/theme/dark/checkbutton_off.png", "res://material_maker/theme/dark/checkbutton_off_disabled.png", "res://material_maker/theme/dark/checkbutton_on.png", "res://material_maker/theme/dark/checkbutton_on_disabled.png", "res://material_maker/theme/dark/colorpickerbutton_bg.png", "res://material_maker/theme/dark/curve_preset_bevel.tres", "res://material_maker/theme/dark/curve_preset_bounce.tres", "res://material_maker/theme/dark/curve_preset_easein.tres", "res://material_maker/theme/dark/curve_preset_easeinout.tres", "res://material_maker/theme/dark/curve_preset_easeout.tres", "res://material_maker/theme/dark/curve_preset_linear.tres", "res://material_maker/theme/dark/curve_preset_sawtooth.tres", "res://material_maker/theme/dark/curve_presets.svg", "res://material_maker/theme/dark/graphedit_minus.png", "res://material_maker/theme/dark/graphedit_more.png", "res://material_maker/theme/dark/graphedit_reset.png", "res://material_maker/theme/dark/graphedit_snap.png", "res://material_maker/theme/dark/graphnode_close.png", "res://material_maker/theme/dark/graphnode_port.png", "res://material_maker/theme/dark/graphnode_resizer.png", "res://material_maker/theme/dark/hslider_grabber.png", "res://material_maker/theme/dark/hslider_grabber_disabled.png", "res://material_maker/theme/dark/hslider_grabber_highlight.png", "res://material_maker/theme/dark/hslider_tick.png", "res://material_maker/theme/dark/hsplitcontainer_grabber.png", "res://material_maker/theme/dark/lineedit_clear.png", "res://material_maker/theme/dark/optionbutton_arrow.png", "res://material_maker/theme/dark/popupmenu_checked.png", "res://material_maker/theme/dark/popupmenu_radio_checked.png", "res://material_maker/theme/dark/popupmenu_radio_unchecked.png", "res://material_maker/theme/dark/popupmenu_submenu.png", "res://material_maker/theme/dark/popupmenu_unchecked.png", "res://material_maker/theme/dark/popupmenu_visibility_hidden.png", "res://material_maker/theme/dark/popupmenu_visibility_visible.png", "res://material_maker/theme/dark/popupmenu_visibility_xray.png", "res://material_maker/theme/dark/sb_checkbox_focus_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_hslider_focus_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/sb_panel_panelf_texture.png", "res://material_maker/theme/dark/sb_panel_panelnc_texture.png", "res://material_maker/theme/dark/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/dark/sb_progressbar_bg_texture.png", "res://material_maker/theme/dark/sb_progressbar_fg_texture.png", "res://material_maker/theme/dark/sb_textedit_completion_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/tabcontainer_decrement.png", "res://material_maker/theme/dark/tabcontainer_decrement_highlight.png", "res://material_maker/theme/dark/tabcontainer_increment.png", "res://material_maker/theme/dark/tabcontainer_increment_highlight.png", "res://material_maker/theme/dark/tabcontainer_menu.png", "res://material_maker/theme/dark/tabcontainer_menu_highlight.png", "res://material_maker/theme/dark/tabs_close.png", "res://material_maker/theme/dark/tabs_decrement.png", "res://material_maker/theme/dark/tabs_decrement_highlight.png", "res://material_maker/theme/dark/tabs_increment.png", "res://material_maker/theme/dark/tabs_increment_highlight.png", "res://material_maker/theme/dark/textedit_fold.png", "res://material_maker/theme/dark/textedit_folded.png", "res://material_maker/theme/dark/textedit_space.png", "res://material_maker/theme/dark/textedit_tab.png", "res://material_maker/theme/dark/tree_arrow.png", "res://material_maker/theme/dark/tree_arrow_collapsed.png", "res://material_maker/theme/dark/tree_checked.png", "res://material_maker/theme/dark/tree_select_arrow.png", "res://material_maker/theme/dark/tree_unchecked.png", "res://material_maker/theme/dark/tree_updown.png", "res://material_maker/theme/dark/vslider_grabber.png", "res://material_maker/theme/dark/vslider_grabber_highlight.png", "res://material_maker/theme/dark/vsplitcontainer_grabber.png", "res://material_maker/theme/dark/windowdialog_close.png", "res://material_maker/theme/dark/windowdialog_close_highlight.png", "res://material_maker/theme/default.tres", "res://material_maker/theme/font.tres", "res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf", "res://material_maker/theme/green.tres", "res://material_maker/theme/light.tres", "res://material_maker/theme/light/checkbox_checked.png", "res://material_maker/theme/light/checkbox_radio_checked.png", "res://material_maker/theme/light/checkbox_radio_unchecked.png", "res://material_maker/theme/light/checkbox_unchecked.png", "res://material_maker/theme/light/checkbutton_off.png", "res://material_maker/theme/light/checkbutton_off_disabled.png", "res://material_maker/theme/light/checkbutton_on.png", "res://material_maker/theme/light/checkbutton_on_disabled.png", "res://material_maker/theme/light/colorpickerbutton_bg.png", "res://material_maker/theme/light/curve_preset_bevel.tres", "res://material_maker/theme/light/curve_preset_bounce.tres", "res://material_maker/theme/light/curve_preset_easein.tres", "res://material_maker/theme/light/curve_preset_easeinout.tres", "res://material_maker/theme/light/curve_preset_easeout.tres", "res://material_maker/theme/light/curve_preset_linear.tres", "res://material_maker/theme/light/curve_preset_sawtooth.tres", "res://material_maker/theme/light/curve_presets.svg", "res://material_maker/theme/light/graphedit_minus.png", "res://material_maker/theme/light/graphedit_more.png", "res://material_maker/theme/light/graphedit_reset.png", "res://material_maker/theme/light/graphedit_snap.png", "res://material_maker/theme/light/graphnode_close.png", "res://material_maker/theme/light/graphnode_port.png", "res://material_maker/theme/light/graphnode_resizer.png", "res://material_maker/theme/light/hslider_grabber.png", "res://material_maker/theme/light/hslider_grabber_disabled.png", "res://material_maker/theme/light/hslider_grabber_highlight.png", "res://material_maker/theme/light/hslider_tick.png", "res://material_maker/theme/light/hsplitcontainer_grabber.png", "res://material_maker/theme/light/lineedit_clear.png", "res://material_maker/theme/light/optionbutton_arrow.png", "res://material_maker/theme/light/popupmenu_checked.png", "res://material_maker/theme/light/popupmenu_radio_checked.png", "res://material_maker/theme/light/popupmenu_radio_unchecked.png", "res://material_maker/theme/light/popupmenu_submenu.png", "res://material_maker/theme/light/popupmenu_unchecked.png", "res://material_maker/theme/light/popupmenu_visibility_hidden.png", "res://material_maker/theme/light/popupmenu_visibility_visible.png", "res://material_maker/theme/light/popupmenu_visibility_xray.png", "res://material_maker/theme/light/sb_checkbox_focus_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_hslider_focus_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/light/sb_panel_panelf_texture.png", "res://material_maker/theme/light/sb_panel_panelnc_texture.png", "res://material_maker/theme/light/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/light/sb_progressbar_bg_texture.png", "res://material_maker/theme/light/sb_progressbar_fg_texture.png", "res://material_maker/theme/light/sb_textedit_completion_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/light/tabcontainer_decrement.png", "res://material_maker/theme/light/tabcontainer_decrement_highlight.png", "res://material_maker/theme/light/tabcontainer_increment.png", "res://material_maker/theme/light/tabcontainer_increment_highlight.png", "res://material_maker/theme/light/tabcontainer_menu.png", "res://material_maker/theme/light/tabcontainer_menu_highlight.png", "res://material_maker/theme/light/tabs_close.png", "res://material_maker/theme/light/tabs_decrement.png", "res://material_maker/theme/light/tabs_decrement_highlight.png", "res://material_maker/theme/light/tabs_increment.png", "res://material_maker/theme/light/tabs_increment_highlight.png", "res://material_maker/theme/light/textedit_fold.png", "res://material_maker/theme/light/textedit_folded.png", "res://material_maker/theme/light/textedit_space.png", "res://material_maker/theme/light/textedit_tab.png", "res://material_maker/theme/light/tree_arrow.png", "res://material_maker/theme/light/tree_arrow_collapsed.png", "res://material_maker/theme/light/tree_checked.png", "res://material_maker/theme/light/tree_select_arrow.png", "res://material_maker/theme/light/tree_unchecked.png", "res://material_maker/theme/light/tree_updown.png", "res://material_maker/theme/light/vslider_grabber.png", "res://material_maker/theme/light/vslider_grabber_highlight.png", "res://material_maker/theme/light/vsplitcontainer_grabber.png", "res://material_maker/theme/light/windowdialog_close.png", "res://material_maker/theme/light/windowdialog_close_highlight.png", "res://material_maker/theme/mangosteen.tres", "res://material_maker/theme/modern.tres", "res://material_maker/tools/environment_manager/environment_manager.gd", "res://material_maker/tools/environment_manager/environment_manager.tscn", "res://material_maker/tools/library_manager/library.gd", "res://material_maker/tools/library_manager/library_manager.gd", "res://material_maker/tools/map_renderer/map_renderer.gd", "res://material_maker/tools/map_renderer/map_renderer.tscn", "res://material_maker/tools/painter/brush_preview.gd", "res://material_maker/tools/painter/brush_preview.tscn", "res://material_maker/tools/painter/painter.gd", "res://material_maker/tools/painter/painter.tscn", "res://material_maker/tools/painter/painter_viewport.gd", "res://material_maker/tools/painter/painter_viewport.tscn", "res://material_maker/tools/painter/shaders/brush.gdshader", "res://material_maker/tools/painter/shaders/brush_common_decl.gdshader", "res://material_maker/tools/painter/shaders/brush_pattern.gdshader", "res://material_maker/tools/painter/shaders/brush_stamp.gdshader", "res://material_maker/tools/painter/shaders/brush_uv_pattern.gdshader", "res://material_maker/tools/painter/shaders/init.tres", "res://material_maker/tools/painter/shaders/init_channels.tres", "res://material_maker/tools/painter/shaders/init_copy_shader.tres", "res://material_maker/tools/painter/shaders/paint_shader_template.tres", "res://material_maker/tools/painter/shaders/t2v_fragment.tres", "res://material_maker/tools/painter/shaders/t2v_vertex.tres", "res://material_maker/tools/painter/shaders/v2t_fragment.tres", "res://material_maker/tools/painter/shaders/v2t_vertex.tres", "res://material_maker/tools/share/broken_link.tres", "res://material_maker/tools/share/golden_link.tres", "res://material_maker/tools/share/hdri/kloofendal_48d_partly_cloudy_1k.exr", "res://material_maker/tools/share/link.tres", "res://material_maker/tools/share/login_dialog.gd", "res://material_maker/tools/share/login_dialog.tscn", "res://material_maker/tools/share/preview_scene.tscn", "res://material_maker/tools/share/preview_scene_viewer.tscn", "res://material_maker/tools/share/preview_viewport.gd", "res://material_maker/tools/share/preview_viewport.tscn", "res://material_maker/tools/share/share_button.gd", "res://material_maker/tools/share/share_button.tscn", "res://material_maker/tools/share/share_http_request.gd", "res://material_maker/tools/share/share_node_dialog.gd", "res://material_maker/tools/share/share_node_dialog.tscn", "res://material_maker/tools/share/upload_dialog.gd", "res://material_maker/tools/share/upload_dialog.tscn", "res://material_maker/tools/undo_redo/undo_redo.gd", "res://material_maker/widgets/code_editor/code_editor.gd", "res://material_maker/widgets/code_editor/code_editor.tscn", "res://material_maker/widgets/color_picker_button/color_picker_button.gd", "res://material_maker/widgets/color_picker_popup/color_picker_popup.tscn", "res://material_maker/widgets/curve_edit/control_point.gd", "res://material_maker/widgets/curve_edit/control_point.tscn", "res://material_maker/widgets/curve_edit/curve_dialog.gd", "res://material_maker/widgets/curve_edit/curve_dialog.tscn", "res://material_maker/widgets/curve_edit/curve_edit.gd", "res://material_maker/widgets/curve_edit/curve_edit.tscn", "res://material_maker/widgets/curve_edit/curve_editor.gd", "res://material_maker/widgets/curve_edit/curve_editor.tscn", "res://material_maker/widgets/curve_edit/curve_view.gd", "res://material_maker/widgets/curve_edit/curve_view.tscn", "res://material_maker/widgets/curve_edit/presets_selector.gd", "res://material_maker/widgets/curve_edit/slope_point.gd", "res://material_maker/widgets/desc_button/desc_button.gd", "res://material_maker/widgets/desc_button/desc_button.tscn", "res://material_maker/widgets/file_picker_button/file_picker_button.gd", "res://material_maker/widgets/file_picker_button/file_picker_button.tscn", "res://material_maker/widgets/float_edit/expression_editor.gd", "res://material_maker/widgets/float_edit/expression_editor.tscn", "res://material_maker/widgets/float_edit/float_edit.gd", "res://material_maker/widgets/float_edit/float_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit.gd", "res://material_maker/widgets/gradient_editor/gradient_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.gd", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.tscn", "res://material_maker/widgets/gradient_editor/gradient_popup.gd", "res://material_maker/widgets/gradient_editor/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/histogram/histogram.gd", "res://material_maker/widgets/histogram/histogram.tscn", "res://material_maker/widgets/image_picker_button/image_picker_button.gd", "res://material_maker/widgets/image_picker_button/image_picker_button.tscn", "res://material_maker/widgets/lattice_edit/lattice_dialog.gd", "res://material_maker/widgets/lattice_edit/lattice_dialog.tscn", "res://material_maker/widgets/lattice_edit/lattice_edit.gd", "res://material_maker/widgets/lattice_edit/lattice_edit.tscn", "res://material_maker/widgets/lattice_edit/lattice_editor.gd", "res://material_maker/widgets/lattice_edit/lattice_editor.tscn", "res://material_maker/widgets/lattice_edit/lattice_view.gd", "res://material_maker/widgets/lattice_edit/lattice_view.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.tscn", "res://material_maker/widgets/pixels_edit/pixels_edit.gd", "res://material_maker/widgets/pixels_edit/pixels_edit.tscn", "res://material_maker/widgets/pixels_edit/pixels_editor.gd", "res://material_maker/widgets/pixels_edit/pixels_editor.tscn", "res://material_maker/widgets/pixels_edit/pixels_view.gd", "res://material_maker/widgets/pixels_edit/pixels_view.tscn", "res://material_maker/widgets/polygon_edit/control_point.gd", "res://material_maker/widgets/polygon_edit/control_point.tscn", "res://material_maker/widgets/polygon_edit/polygon_dialog.gd", "res://material_maker/widgets/polygon_edit/polygon_dialog.tscn", "res://material_maker/widgets/polygon_edit/polygon_edit.gd", "res://material_maker/widgets/polygon_edit/polygon_edit.tscn", "res://material_maker/widgets/polygon_edit/polygon_editor.gd", "res://material_maker/widgets/polygon_edit/polygon_editor.tscn", "res://material_maker/widgets/polygon_edit/polygon_view.gd", "res://material_maker/widgets/polygon_edit/polygon_view.tscn", "res://material_maker/widgets/port_group_button/port_group_button.gd", "res://material_maker/widgets/port_group_button/port_group_button.tscn", "res://material_maker/widgets/render_counter/render_counter.gd", "res://material_maker/widgets/render_counter/render_counter.tscn", "res://material_maker/widgets/size_option_button/size_option_button.gd", "res://material_maker/widgets/splines_edit/splines_dialog.gd", "res://material_maker/widgets/splines_edit/splines_dialog.tscn", "res://material_maker/widgets/splines_edit/splines_edit.gd", "res://material_maker/widgets/splines_edit/splines_edit.tscn", "res://material_maker/widgets/splines_edit/splines_editor.gd", "res://material_maker/widgets/splines_edit/splines_editor.tscn", "res://material_maker/widgets/splines_edit/splines_view.gd", "res://material_maker/widgets/splines_edit/splines_view.tscn", "res://material_maker/widgets/tabs/tabs.gd", "res://material_maker/windows/about/about.gd", "res://material_maker/windows/about/about.tscn", "res://material_maker/windows/about/discord.png", "res://material_maker/windows/about/epic_megagrant.svg", "res://material_maker/windows/about/facebook.png", "res://material_maker/windows/about/github.png", "res://material_maker/windows/about/icon.png", "res://material_maker/windows/about/itchio.png", "res://material_maker/windows/about/patreon.png", "res://material_maker/windows/about/twitter.png", "res://material_maker/windows/about/youtube.png", "res://material_maker/windows/accept_dialog/accept_dialog.gd", "res://material_maker/windows/accept_dialog/accept_dialog.tscn", "res://material_maker/windows/add_node_popup/add_node_popup.gd", "res://material_maker/windows/add_node_popup/add_node_popup.tscn", "res://material_maker/windows/add_node_popup/quick_button.gd", "res://material_maker/windows/add_node_popup/quick_button.tscn", "res://material_maker/windows/desc_dialog/desc_dialog.gd", "res://material_maker/windows/desc_dialog/desc_dialog.tscn", "res://material_maker/windows/environment_editor/environment_editor.gd", "res://material_maker/windows/environment_editor/environment_editor.tscn", "res://material_maker/windows/environment_editor/environment_editor_scene.tscn", "res://material_maker/windows/environment_editor/environment_editor_viewport.tscn", "res://material_maker/windows/environment_editor/new_environment.png", "res://material_maker/windows/export_animation/export_animation.gd", "res://material_maker/windows/export_animation/export_animation.tscn", "res://material_maker/windows/export_taa/accumulate_compute.tres", "res://material_maker/windows/export_taa/divide_compute.tres", "res://material_maker/windows/export_taa/export_taa.gd", "res://material_maker/windows/export_taa/export_taa.tscn", "res://material_maker/windows/file_dialog/fav_button.tscn", "res://material_maker/windows/file_dialog/file_dialog.gd", "res://material_maker/windows/file_dialog/file_dialog.tscn", "res://material_maker/windows/file_dialog/left_panel.gd", "res://material_maker/windows/file_dialog/left_panel.tscn", "res://material_maker/windows/line_dialog/line_dialog.gd", "res://material_maker/windows/line_dialog/line_dialog.tscn", "res://material_maker/windows/load_from_website/load_from_website.gd", "res://material_maker/windows/load_from_website/load_from_website.tscn", "res://material_maker/windows/material_editor/export_editor.gd", "res://material_maker/windows/material_editor/export_editor.tscn", "res://material_maker/windows/material_editor/expression_line_edit.gd", "res://material_maker/windows/material_editor/expression_line_edit.tscn", "res://material_maker/windows/material_editor/material_editor.gd", "res://material_maker/windows/material_editor/material_editor.tscn", "res://material_maker/windows/new_painter/new_painter.gd", "res://material_maker/windows/new_painter/new_painter.tscn", "res://material_maker/windows/node_editor/enum_editor.gd", "res://material_maker/windows/node_editor/enum_editor.tscn", "res://material_maker/windows/node_editor/input.gd", "res://material_maker/windows/node_editor/input.tscn", "res://material_maker/windows/node_editor/node_editor.gd", "res://material_maker/windows/node_editor/node_editor.tscn", "res://material_maker/windows/node_editor/node_editor_item_list.gd", "res://material_maker/windows/node_editor/output.gd", "res://material_maker/windows/node_editor/output.tscn", "res://material_maker/windows/node_editor/parameter.gd", "res://material_maker/windows/node_editor/parameter.tscn", "res://material_maker/windows/node_editor/parameter_boolean.gd", "res://material_maker/windows/node_editor/parameter_boolean.tscn", "res://material_maker/windows/node_editor/parameter_color.gd", "res://material_maker/windows/node_editor/parameter_color.tscn", "res://material_maker/windows/node_editor/parameter_curve.gd", "res://material_maker/windows/node_editor/parameter_curve.tscn", "res://material_maker/windows/node_editor/parameter_enum.gd", "res://material_maker/windows/node_editor/parameter_enum.tscn", "res://material_maker/windows/node_editor/parameter_float.gd", "res://material_maker/windows/node_editor/parameter_float.tscn", "res://material_maker/windows/node_editor/parameter_gradient.gd", "res://material_maker/windows/node_editor/parameter_gradient.tscn", "res://material_maker/windows/node_editor/parameter_lattice.gd", "res://material_maker/windows/node_editor/parameter_lattice.tscn", "res://material_maker/windows/node_editor/parameter_pixels.gd", "res://material_maker/windows/node_editor/parameter_pixels.tscn", "res://material_maker/windows/node_editor/parameter_polygon.gd", "res://material_maker/windows/node_editor/parameter_polygon.tscn", "res://material_maker/windows/node_editor/parameter_polyline.tscn", "res://material_maker/windows/node_editor/parameter_size.gd", "res://material_maker/windows/node_editor/parameter_size.tscn", "res://material_maker/windows/node_editor/parameter_splines.gd", "res://material_maker/windows/node_editor/parameter_splines.tscn", "res://material_maker/windows/preferences/bool_option.gd", "res://material_maker/windows/preferences/bool_option.tscn", "res://material_maker/windows/preferences/float_option.gd", "res://material_maker/windows/preferences/float_option.tscn", "res://material_maker/windows/preferences/lang_option.gd", "res://material_maker/windows/preferences/language_download.gd", "res://material_maker/windows/preferences/language_download.tscn", "res://material_maker/windows/preferences/preferences.gd", "res://material_maker/windows/preferences/preferences.tscn", "res://material_maker/windows/progress_window/progress_window.gd", "res://material_maker/windows/progress_window/progress_window.tscn", "res://material_maker/windows/sdf_builder/gizmo.gd", "res://material_maker/windows/sdf_builder/gizmo.gdshader", "res://material_maker/windows/sdf_builder/gizmo.tscn", "res://material_maker/windows/sdf_builder/gizmo_arrow.gd", "res://material_maker/windows/sdf_builder/gizmo_arrow.tscn", "res://material_maker/windows/sdf_builder/preview_2d.gd", "res://material_maker/windows/sdf_builder/preview_2d.gdshader", "res://material_maker/windows/sdf_builder/preview_2d.tscn", "res://material_maker/windows/sdf_builder/preview_3d.gd", "res://material_maker/windows/sdf_builder/preview_3d.gdshader", "res://material_maker/windows/sdf_builder/preview_3d.tscn", "res://material_maker/windows/sdf_builder/sdf_builder.gd", "res://material_maker/windows/sdf_builder/sdf_builder.tscn", "res://material_maker/windows/sdf_builder/sdf_builder_tree.gd", "res://parse_args.gd", "res://parse_args.tscn", "res://splash_screen/arrow.png", "res://splash_screen/backgrounds/angel_beanbag_chair.png", "res://splash_screen/backgrounds/angel_soft_nurball.png", "res://splash_screen/backgrounds/cgmytro_old_doors.png", "res://splash_screen/backgrounds/cybereality_brutalism.png", "res://splash_screen/backgrounds/cybereality_dirty_tiles.png", "res://splash_screen/backgrounds/cybereality_future_visions.png", "res://splash_screen/backgrounds/droppedbeat_matrix_rain.tres", "res://splash_screen/backgrounds/droppedbeat_procedural_material.png", "res://splash_screen/backgrounds/droppedbeat_spiral_trails.tres", "res://splash_screen/backgrounds/droppedbeat_vending_machines.png", "res://splash_screen/backgrounds/oneiric_worlds_zefyr.png", "res://splash_screen/backgrounds/paulo_falcao_fractal_octahedron.tres", "res://splash_screen/backgrounds/paulo_falcao_green_thing.png", "res://splash_screen/backgrounds/paulo_falcao_terminator_ball.tres", "res://splash_screen/backgrounds/pavel_oliva_carved_wood.png", "res://splash_screen/backgrounds/pavel_oliva_celestial_floor.png", "res://splash_screen/backgrounds/pavel_oliva_cursed_planks.png", "res://splash_screen/backgrounds/pavel_oliva_flowing_lava.png", "res://splash_screen/backgrounds/pavel_oliva_lace.png", "res://splash_screen/backgrounds/pavel_oliva_pavement_generator.png", "res://splash_screen/backgrounds/pavel_oliva_stylized_pavement.png", "res://splash_screen/backgrounds/pavel_oliva_treasures.png", "res://splash_screen/backgrounds/pavel_oliva_vintage_luggage.png", "res://splash_screen/backgrounds/pixelmuncher_golden_tiles.png", "res://splash_screen/rodz_labs_logo.png", "res://splash_screen/splash_screen.gd", "res://splash_screen/splash_screen.gdshader", "res://splash_screen/splash_screen.tscn", "res://splash_screen/splash_screen_bottom.gdshader", "res://splash_screen/splash_title.png", "res://start.gd", "res://start.tscn", "res://material_maker/widgets/pixels_edit/settings_panel.gd", "res://material_maker/theme/new_theme_icons.png", "res://material_maker/theme/new_theme_icons.svg", "res://material_maker/theme/new_theme_icons_clean.svg", "res://material_maker/theme/enhanced_theme_system/color_swap.gd", "res://material_maker/theme/enhanced_theme_system/enhanced_theme.gd", "res://material_maker/panels/preview_2d/two_icon_toggle_button.gd", "res://material_maker/panels/preview_2d/view_menu.gd", "res://material_maker/panels/preview_2d/export_menu.gd", "res://material_maker/panels/common/menu_bar_button_with_panel.gd", "res://material_maker/widgets/option_edit/option_edit.gd", "res://material_maker/widgets/option_edit/option_edit.tscn", "res://material_maker/widgets/button_with_icon.gd") include_filter="*.tmpl" exclude_filter="*.ptex,*.mmn,*.mmg" export_path="../material_maker.x86_64" @@ -122,7 +122,7 @@ advanced_options=false dedicated_server=false custom_features="" export_filter="resources" -export_files=PackedStringArray("res://addons/flexible_layout/arrow.svg", "res://addons/flexible_layout/flexible_dragger.gd", "res://addons/flexible_layout/flexible_dragger.tscn", "res://addons/flexible_layout/flexible_layout.gd", "res://addons/flexible_layout/flexible_layout.tscn", "res://addons/flexible_layout/flexible_overlay.gd", "res://addons/flexible_layout/flexible_overlay.tscn", "res://addons/flexible_layout/flexible_tab.gd", "res://addons/flexible_layout/flexible_tab.tscn", "res://addons/flexible_layout/flexible_tabs.gd", "res://addons/flexible_layout/flexible_tabs.tscn", "res://addons/flexible_layout/tab.svg", "res://addons/flexible_layout/undock.png", "res://addons/material_maker/engine/dependencies.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/logger.gd", "res://addons/material_maker/engine/multi_renderer.gd", "res://addons/material_maker/engine/nodes/buffer_compute.tres", "res://addons/material_maker/engine/nodes/gen_base.gd", "res://addons/material_maker/engine/nodes/gen_brush.gd", "res://addons/material_maker/engine/nodes/gen_buffer.gd", "res://addons/material_maker/engine/nodes/gen_comment.gd", "res://addons/material_maker/engine/nodes/gen_context.gd", "res://addons/material_maker/engine/nodes/gen_debug.gd", "res://addons/material_maker/engine/nodes/gen_export.gd", "res://addons/material_maker/engine/nodes/gen_graph.gd", "res://addons/material_maker/engine/nodes/gen_image.gd", "res://addons/material_maker/engine/nodes/gen_ios.gd", "res://addons/material_maker/engine/nodes/gen_iterate_buffer.gd", "res://addons/material_maker/engine/nodes/gen_material.gd", "res://addons/material_maker/engine/nodes/gen_meshmap.gd", "res://addons/material_maker/engine/nodes/gen_remote.gd", "res://addons/material_maker/engine/nodes/gen_reroute.gd", "res://addons/material_maker/engine/nodes/gen_sdf.gd", "res://addons/material_maker/engine/nodes/gen_shader.gd", "res://addons/material_maker/engine/nodes/gen_switch.gd", "res://addons/material_maker/engine/nodes/gen_text.gd", "res://addons/material_maker/engine/nodes/gen_texture.gd", "res://addons/material_maker/engine/nodes/gen_webcam.gd", "res://addons/material_maker/engine/nodes/iterate_buffer_compute.tres", "res://addons/material_maker/engine/paths.gd", "res://addons/material_maker/engine/pipeline/compute_shader.gd", "res://addons/material_maker/engine/pipeline/pipeline.gd", "res://addons/material_maker/engine/pipeline/rendering_pipeline.gd", "res://addons/material_maker/engine/pipeline/texture.gd", "res://addons/material_maker/engine/preprocessor.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/engine/shader_base.gd", "res://addons/material_maker/engine/shader_compute.gd", "res://addons/material_maker/engine/shader_error_handler.gd", "res://addons/material_maker/engine/shader_material.gd", "res://addons/material_maker/engine/text_resource.gd", "res://addons/material_maker/loaders/mesh_loader.gd", "res://addons/material_maker/loaders/obj_loader.gd", "res://addons/material_maker/map_generator/ao_fragment.tres", "res://addons/material_maker/map_generator/ao_vertex.tres", "res://addons/material_maker/map_generator/bvh_generator.gd", "res://addons/material_maker/map_generator/common_fragment.tres", "res://addons/material_maker/map_generator/curvature_generator.gd", "res://addons/material_maker/map_generator/curvature_vertex.tres", "res://addons/material_maker/map_generator/denoise_compute.tres", "res://addons/material_maker/map_generator/dilate_1_compute.tres", "res://addons/material_maker/map_generator/dilate_2_compute.tres", "res://addons/material_maker/map_generator/map_generator.gd", "res://addons/material_maker/map_generator/mesh_rendering_pipeline.gd", "res://addons/material_maker/map_generator/normal_fragment.tres", "res://addons/material_maker/map_generator/normal_vertex.tres", "res://addons/material_maker/map_generator/normalize_compute.tres", "res://addons/material_maker/map_generator/position_vertex.tres", "res://addons/material_maker/map_generator/seams_1_compute.tres", "res://addons/material_maker/map_generator/seams_2_compute.tres", "res://addons/material_maker/map_generator/tangent_vertex.tres", "res://addons/material_maker/parser/glsl_parser.gd", "res://addons/material_maker/parser/glsl_parser_base.gd", "res://addons/material_maker/parser/parser_base.gd", "res://addons/material_maker/sdf_builder/base.gd", "res://addons/material_maker/sdf_builder/icons/icons.svg", "res://addons/material_maker/sdf_builder/sdf2d/annular.gd", "res://addons/material_maker/sdf_builder/sdf2d/bend.gd", "res://addons/material_maker/sdf_builder/sdf2d/box.gd", "res://addons/material_maker/sdf_builder/sdf2d/circle.gd", "res://addons/material_maker/sdf_builder/sdf2d/color.gd", "res://addons/material_maker/sdf_builder/sdf2d/difference.gd", "res://addons/material_maker/sdf_builder/sdf2d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf2d/flip.gd", "res://addons/material_maker/sdf_builder/sdf2d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf2d/line.gd", "res://addons/material_maker/sdf_builder/sdf2d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf2d/morph.gd", "res://addons/material_maker/sdf_builder/sdf2d/ngon.gd", "res://addons/material_maker/sdf_builder/sdf2d/polygon.gd", "res://addons/material_maker/sdf_builder/sdf2d/round.gd", "res://addons/material_maker/sdf_builder/sdf2d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf2d/stairs.gd", "res://addons/material_maker/sdf_builder/sdf2d/star.gd", "res://addons/material_maker/sdf_builder/sdf2d/union.gd", "res://addons/material_maker/sdf_builder/sdf3d/annular.gd", "res://addons/material_maker/sdf_builder/sdf3d/bend.gd", "res://addons/material_maker/sdf_builder/sdf3d/box.gd", "res://addons/material_maker/sdf_builder/sdf3d/color.gd", "res://addons/material_maker/sdf_builder/sdf3d/cylinder.gd", "res://addons/material_maker/sdf_builder/sdf3d/difference.gd", "res://addons/material_maker/sdf_builder/sdf3d/distort.gd", "res://addons/material_maker/sdf_builder/sdf3d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf3d/extrusion.gd", "res://addons/material_maker/sdf_builder/sdf3d/flip.gd", "res://addons/material_maker/sdf_builder/sdf3d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf3d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf3d/morph.gd", "res://addons/material_maker/sdf_builder/sdf3d/revolution.gd", "res://addons/material_maker/sdf_builder/sdf3d/round.gd", "res://addons/material_maker/sdf_builder/sdf3d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf3d/sphere.gd", "res://addons/material_maker/sdf_builder/sdf3d/torus.gd", "res://addons/material_maker/sdf_builder/sdf3d/twist.gd", "res://addons/material_maker/sdf_builder/sdf3d/union.gd", "res://addons/material_maker/sdf_builder/sdf_builder.gd", "res://addons/material_maker/sdf_builder/sdf_builder.tscn", "res://addons/material_maker/sdf_builder/tex/blend.gd", "res://addons/material_maker/sdf_builder/tex/brightness_contrast.gd", "res://addons/material_maker/sdf_builder/tex/deform.gd", "res://addons/material_maker/sdf_builder/tex/fbm.gd", "res://addons/material_maker/sdf_builder/tex/pattern.gd", "res://addons/material_maker/sdf_builder/tex/simple_gradient.gd", "res://addons/material_maker/sdf_builder/tex/step.gd", "res://addons/material_maker/sdf_builder/tex/uniform.gd", "res://addons/material_maker/sdf_builder/tex/uniform_gs.gd", "res://addons/material_maker/shader_functions.tres", "res://addons/material_maker/types/curve.gd", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/lattice.gd", "res://addons/material_maker/types/pixels.gd", "res://addons/material_maker/types/polygon.gd", "res://addons/material_maker/types/splines.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/console.gd", "res://material_maker/darken.gd", "res://material_maker/darken.tscn", "res://material_maker/fonts/DroidSansFallback.ttf", "res://material_maker/fonts/DroidSansJapanese.ttf", "res://material_maker/fonts/hack.ttf", "res://material_maker/fonts/vegur_regular.otf", "res://material_maker/globals.gd", "res://material_maker/globals.tscn", "res://material_maker/globals_menu_manager.gd", "res://material_maker/icons/add.tres", "res://material_maker/icons/add_generic.tres", "res://material_maker/icons/buffer.tres", "res://material_maker/icons/buffer_paused.tres", "res://material_maker/icons/close.tres", "res://material_maker/icons/color_palette.png", "res://material_maker/icons/color_picker.png", "res://material_maker/icons/custom.png", "res://material_maker/icons/down.tres", "res://material_maker/icons/edit.tres", "res://material_maker/icons/eye_closed.tres", "res://material_maker/icons/eye_open.tres", "res://material_maker/icons/godot_logo.svg", "res://material_maker/icons/icons.gd", "res://material_maker/icons/icons.svg", "res://material_maker/icons/icons.tres", "res://material_maker/icons/link.tres", "res://material_maker/icons/lmb.tres", "res://material_maker/icons/minimize.tres", "res://material_maker/icons/mmb.tres", "res://material_maker/icons/ok.tres", "res://material_maker/icons/output_preview.tres", "res://material_maker/icons/paste_graph.tres", "res://material_maker/icons/paste_newgraph.tres", "res://material_maker/icons/paste_none.tres", "res://material_maker/icons/paste_palette.tres", "res://material_maker/icons/port_group_0.tres", "res://material_maker/icons/port_group_1.tres", "res://material_maker/icons/port_group_2.tres", "res://material_maker/icons/port_group_3.tres", "res://material_maker/icons/preview.png", "res://material_maker/icons/preview_locked.png", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/icons/rmb.tres", "res://material_maker/icons/up.tres", "res://material_maker/locale/locale.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/main_window_layout.gd", "res://material_maker/main_window_projects_panel.gd", "res://material_maker/meshes/suzanne.obj", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment/comment.gd", "res://material_maker/nodes/comment/comment.tscn", "res://material_maker/nodes/comment/palette_button.gd", "res://material_maker/nodes/debug/debug.gd", "res://material_maker/nodes/debug/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic/generic.gd", "res://material_maker/nodes/generic/generic.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/ios.gd", "res://material_maker/nodes/ios/ios.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/material_export/material_export.gd", "res://material_maker/nodes/material_export/material_export.tscn", "res://material_maker/nodes/minimal.gd", "res://material_maker/nodes/node_button.gd", "res://material_maker/nodes/node_button.tscn", "res://material_maker/nodes/remote/named_parameter_dialog.gd", "res://material_maker/nodes/remote/named_parameter_dialog.tscn", "res://material_maker/nodes/remote/remote.gd", "res://material_maker/nodes/remote/remote.tscn", "res://material_maker/nodes/reroute/reroute.gd", "res://material_maker/nodes/reroute/reroute.tscn", "res://material_maker/nodes/switch/switch.gd", "res://material_maker/nodes/switch/switch.tscn", "res://material_maker/nodes/tones/tones.gd", "res://material_maker/nodes/tones/tones.tscn", "res://material_maker/panel_container.gd", "res://material_maker/panels/brushes/brushes.gd", "res://material_maker/panels/brushes/brushes.tscn", "res://material_maker/panels/graph_edit/graph_edit.gd", "res://material_maker/panels/graph_edit/graph_edit.tscn", "res://material_maker/panels/hierarchy/hierarchy_panel.gd", "res://material_maker/panels/hierarchy/hierarchy_panel.tscn", "res://material_maker/panels/layers/add_layer_menu.tscn", "res://material_maker/panels/layers/icons/layer_mask.tres", "res://material_maker/panels/layers/icons/layer_paint.tres", "res://material_maker/panels/layers/icons/layer_proc.tres", "res://material_maker/panels/layers/icons/not_visible.tres", "res://material_maker/panels/layers/icons/visible.tres", "res://material_maker/panels/layers/layer_config_popup.gd", "res://material_maker/panels/layers/layer_config_popup.tscn", "res://material_maker/panels/layers/layer_tooltip.gd", "res://material_maker/panels/layers/layer_tooltip.tscn", "res://material_maker/panels/layers/layer_tooltip_thumbnail.gd", "res://material_maker/panels/layers/layer_tooltip_thumbnail.tscn", "res://material_maker/panels/layers/layers.gd", "res://material_maker/panels/layers/layers.tscn", "res://material_maker/panels/layers/layers_tree.gd", "res://material_maker/panels/library/button_greyed.tres", "res://material_maker/panels/library/create_lib_dialog.gd", "res://material_maker/panels/library/create_lib_dialog.tscn", "res://material_maker/panels/library/library.gd", "res://material_maker/panels/library/library.tscn", "res://material_maker/panels/library/library_tree.gd", "res://material_maker/panels/paint/collapse_button.gd", "res://material_maker/panels/paint/collapse_button.tscn", "res://material_maker/panels/paint/export.gd", "res://material_maker/panels/paint/export.tscn", "res://material_maker/panels/paint/layer_types/layer.gd", "res://material_maker/panels/paint/layer_types/layer_mask.gd", "res://material_maker/panels/paint/layer_types/layer_paint.gd", "res://material_maker/panels/paint/layer_types/layer_procedural.gd", "res://material_maker/panels/paint/paint.gd", "res://material_maker/panels/paint/paint.tscn", "res://material_maker/panels/paint/paint_layers.gd", "res://material_maker/panels/paint/paint_layers.tscn", "res://material_maker/panels/paint/paint_project_settings.gd", "res://material_maker/panels/paint/paint_project_settings.tscn", "res://material_maker/panels/parameters/parameters.gd", "res://material_maker/panels/parameters/parameters.tscn", "res://material_maker/panels/preview_2d/control_point.gd", "res://material_maker/panels/preview_2d/control_point.tscn", "res://material_maker/panels/preview_2d/custom_size_dialog.gd", "res://material_maker/panels/preview_2d/custom_size_dialog.tscn", "res://material_maker/panels/preview_2d/lines.gd", "res://material_maker/panels/preview_2d/preview_2d.gd", "res://material_maker/panels/preview_2d/preview_2d.tscn", "res://material_maker/panels/preview_2d/preview_2d_node.gd", "res://material_maker/panels/preview_2d/preview_2d_node.tscn", "res://material_maker/panels/preview_2d/preview_2d_panel.gd", "res://material_maker/panels/preview_2d/preview_2d_panel.tscn", "res://material_maker/panels/preview_3d/materials/shader_material_tesselated.tres", "res://material_maker/panels/preview_3d/materials/spatial_material.tres", "res://material_maker/panels/preview_3d/mesh_config_popup.gd", "res://material_maker/panels/preview_3d/mesh_config_popup.tscn", "res://material_maker/panels/preview_3d/preview_3d.gd", "res://material_maker/panels/preview_3d/preview_3d.tscn", "res://material_maker/panels/preview_3d/preview_3d_panel.gd", "res://material_maker/panels/preview_3d/preview_3d_panel.tscn", "res://material_maker/panels/preview_3d/preview_3d_scene.tscn", "res://material_maker/panels/preview_3d/preview_3d_ui.gd", "res://material_maker/panels/preview_3d/preview_3d_ui.tscn", "res://material_maker/panels/preview_3d/preview_light.gd", "res://material_maker/panels/preview_3d/preview_light.tscn", "res://material_maker/panels/preview_3d/preview_mesh.gd", "res://material_maker/panels/preview_3d/preview_objects.tscn", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cube.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Custom.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cylinder.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Plane.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Prism.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Sphere.png", "res://material_maker/panels/reference/color_slot.gd", "res://material_maker/panels/reference/color_slot.tscn", "res://material_maker/panels/reference/gradient_slot.gd", "res://material_maker/panels/reference/gradient_slot.tscn", "res://material_maker/panels/reference/reference_panel.gd", "res://material_maker/panels/reference/reference_panel.tscn", "res://material_maker/projects_panel.tscn", "res://material_maker/theme/birch.tres", "res://material_maker/theme/dark.tres", "res://material_maker/theme/dark/checkbox_checked.png", "res://material_maker/theme/dark/checkbox_radio_checked.png", "res://material_maker/theme/dark/checkbox_radio_unchecked.png", "res://material_maker/theme/dark/checkbox_unchecked.png", "res://material_maker/theme/dark/checkbutton_off.png", "res://material_maker/theme/dark/checkbutton_off_disabled.png", "res://material_maker/theme/dark/checkbutton_on.png", "res://material_maker/theme/dark/checkbutton_on_disabled.png", "res://material_maker/theme/dark/colorpickerbutton_bg.png", "res://material_maker/theme/dark/curve_preset_bevel.tres", "res://material_maker/theme/dark/curve_preset_bounce.tres", "res://material_maker/theme/dark/curve_preset_easein.tres", "res://material_maker/theme/dark/curve_preset_easeinout.tres", "res://material_maker/theme/dark/curve_preset_easeout.tres", "res://material_maker/theme/dark/curve_preset_linear.tres", "res://material_maker/theme/dark/curve_preset_sawtooth.tres", "res://material_maker/theme/dark/curve_presets.svg", "res://material_maker/theme/dark/graphedit_minus.png", "res://material_maker/theme/dark/graphedit_more.png", "res://material_maker/theme/dark/graphedit_reset.png", "res://material_maker/theme/dark/graphedit_snap.png", "res://material_maker/theme/dark/graphnode_close.png", "res://material_maker/theme/dark/graphnode_port.png", "res://material_maker/theme/dark/graphnode_resizer.png", "res://material_maker/theme/dark/hslider_grabber.png", "res://material_maker/theme/dark/hslider_grabber_disabled.png", "res://material_maker/theme/dark/hslider_grabber_highlight.png", "res://material_maker/theme/dark/hslider_tick.png", "res://material_maker/theme/dark/hsplitcontainer_grabber.png", "res://material_maker/theme/dark/lineedit_clear.png", "res://material_maker/theme/dark/optionbutton_arrow.png", "res://material_maker/theme/dark/popupmenu_checked.png", "res://material_maker/theme/dark/popupmenu_radio_checked.png", "res://material_maker/theme/dark/popupmenu_radio_unchecked.png", "res://material_maker/theme/dark/popupmenu_submenu.png", "res://material_maker/theme/dark/popupmenu_unchecked.png", "res://material_maker/theme/dark/popupmenu_visibility_hidden.png", "res://material_maker/theme/dark/popupmenu_visibility_visible.png", "res://material_maker/theme/dark/popupmenu_visibility_xray.png", "res://material_maker/theme/dark/sb_checkbox_focus_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_hslider_focus_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/sb_panel_panelf_texture.png", "res://material_maker/theme/dark/sb_panel_panelnc_texture.png", "res://material_maker/theme/dark/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/dark/sb_progressbar_bg_texture.png", "res://material_maker/theme/dark/sb_progressbar_fg_texture.png", "res://material_maker/theme/dark/sb_textedit_completion_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/tabcontainer_decrement.png", "res://material_maker/theme/dark/tabcontainer_decrement_highlight.png", "res://material_maker/theme/dark/tabcontainer_increment.png", "res://material_maker/theme/dark/tabcontainer_increment_highlight.png", "res://material_maker/theme/dark/tabcontainer_menu.png", "res://material_maker/theme/dark/tabcontainer_menu_highlight.png", "res://material_maker/theme/dark/tabs_close.png", "res://material_maker/theme/dark/tabs_decrement.png", "res://material_maker/theme/dark/tabs_decrement_highlight.png", "res://material_maker/theme/dark/tabs_increment.png", "res://material_maker/theme/dark/tabs_increment_highlight.png", "res://material_maker/theme/dark/textedit_fold.png", "res://material_maker/theme/dark/textedit_folded.png", "res://material_maker/theme/dark/textedit_space.png", "res://material_maker/theme/dark/textedit_tab.png", "res://material_maker/theme/dark/tree_arrow.png", "res://material_maker/theme/dark/tree_arrow_collapsed.png", "res://material_maker/theme/dark/tree_checked.png", "res://material_maker/theme/dark/tree_select_arrow.png", "res://material_maker/theme/dark/tree_unchecked.png", "res://material_maker/theme/dark/tree_updown.png", "res://material_maker/theme/dark/vslider_grabber.png", "res://material_maker/theme/dark/vslider_grabber_highlight.png", "res://material_maker/theme/dark/vsplitcontainer_grabber.png", "res://material_maker/theme/dark/windowdialog_close.png", "res://material_maker/theme/dark/windowdialog_close_highlight.png", "res://material_maker/theme/default.tres", "res://material_maker/theme/font.tres", "res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf", "res://material_maker/theme/green.tres", "res://material_maker/theme/light.tres", "res://material_maker/theme/light/checkbox_checked.png", "res://material_maker/theme/light/checkbox_radio_checked.png", "res://material_maker/theme/light/checkbox_radio_unchecked.png", "res://material_maker/theme/light/checkbox_unchecked.png", "res://material_maker/theme/light/checkbutton_off.png", "res://material_maker/theme/light/checkbutton_off_disabled.png", "res://material_maker/theme/light/checkbutton_on.png", "res://material_maker/theme/light/checkbutton_on_disabled.png", "res://material_maker/theme/light/colorpickerbutton_bg.png", "res://material_maker/theme/light/curve_preset_bevel.tres", "res://material_maker/theme/light/curve_preset_bounce.tres", "res://material_maker/theme/light/curve_preset_easein.tres", "res://material_maker/theme/light/curve_preset_easeinout.tres", "res://material_maker/theme/light/curve_preset_easeout.tres", "res://material_maker/theme/light/curve_preset_linear.tres", "res://material_maker/theme/light/curve_preset_sawtooth.tres", "res://material_maker/theme/light/curve_presets.svg", "res://material_maker/theme/light/graphedit_minus.png", "res://material_maker/theme/light/graphedit_more.png", "res://material_maker/theme/light/graphedit_reset.png", "res://material_maker/theme/light/graphedit_snap.png", "res://material_maker/theme/light/graphnode_close.png", "res://material_maker/theme/light/graphnode_port.png", "res://material_maker/theme/light/graphnode_resizer.png", "res://material_maker/theme/light/hslider_grabber.png", "res://material_maker/theme/light/hslider_grabber_disabled.png", "res://material_maker/theme/light/hslider_grabber_highlight.png", "res://material_maker/theme/light/hslider_tick.png", "res://material_maker/theme/light/hsplitcontainer_grabber.png", "res://material_maker/theme/light/lineedit_clear.png", "res://material_maker/theme/light/optionbutton_arrow.png", "res://material_maker/theme/light/popupmenu_checked.png", "res://material_maker/theme/light/popupmenu_radio_checked.png", "res://material_maker/theme/light/popupmenu_radio_unchecked.png", "res://material_maker/theme/light/popupmenu_submenu.png", "res://material_maker/theme/light/popupmenu_unchecked.png", "res://material_maker/theme/light/popupmenu_visibility_hidden.png", "res://material_maker/theme/light/popupmenu_visibility_visible.png", "res://material_maker/theme/light/popupmenu_visibility_xray.png", "res://material_maker/theme/light/sb_checkbox_focus_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_hslider_focus_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/light/sb_panel_panelf_texture.png", "res://material_maker/theme/light/sb_panel_panelnc_texture.png", "res://material_maker/theme/light/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/light/sb_progressbar_bg_texture.png", "res://material_maker/theme/light/sb_progressbar_fg_texture.png", "res://material_maker/theme/light/sb_textedit_completion_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/light/tabcontainer_decrement.png", "res://material_maker/theme/light/tabcontainer_decrement_highlight.png", "res://material_maker/theme/light/tabcontainer_increment.png", "res://material_maker/theme/light/tabcontainer_increment_highlight.png", "res://material_maker/theme/light/tabcontainer_menu.png", "res://material_maker/theme/light/tabcontainer_menu_highlight.png", "res://material_maker/theme/light/tabs_close.png", "res://material_maker/theme/light/tabs_decrement.png", "res://material_maker/theme/light/tabs_decrement_highlight.png", "res://material_maker/theme/light/tabs_increment.png", "res://material_maker/theme/light/tabs_increment_highlight.png", "res://material_maker/theme/light/textedit_fold.png", "res://material_maker/theme/light/textedit_folded.png", "res://material_maker/theme/light/textedit_space.png", "res://material_maker/theme/light/textedit_tab.png", "res://material_maker/theme/light/tree_arrow.png", "res://material_maker/theme/light/tree_arrow_collapsed.png", "res://material_maker/theme/light/tree_checked.png", "res://material_maker/theme/light/tree_select_arrow.png", "res://material_maker/theme/light/tree_unchecked.png", "res://material_maker/theme/light/tree_updown.png", "res://material_maker/theme/light/vslider_grabber.png", "res://material_maker/theme/light/vslider_grabber_highlight.png", "res://material_maker/theme/light/vsplitcontainer_grabber.png", "res://material_maker/theme/light/windowdialog_close.png", "res://material_maker/theme/light/windowdialog_close_highlight.png", "res://material_maker/theme/mangosteen.tres", "res://material_maker/theme/modern.tres", "res://material_maker/tools/environment_manager/environment_manager.gd", "res://material_maker/tools/environment_manager/environment_manager.tscn", "res://material_maker/tools/library_manager/library.gd", "res://material_maker/tools/library_manager/library_manager.gd", "res://material_maker/tools/map_renderer/map_renderer.gd", "res://material_maker/tools/map_renderer/map_renderer.tscn", "res://material_maker/tools/painter/brush_preview.gd", "res://material_maker/tools/painter/brush_preview.tscn", "res://material_maker/tools/painter/painter.gd", "res://material_maker/tools/painter/painter.tscn", "res://material_maker/tools/painter/painter_viewport.gd", "res://material_maker/tools/painter/painter_viewport.tscn", "res://material_maker/tools/painter/shaders/brush.gdshader", "res://material_maker/tools/painter/shaders/brush_common_decl.gdshader", "res://material_maker/tools/painter/shaders/brush_pattern.gdshader", "res://material_maker/tools/painter/shaders/brush_stamp.gdshader", "res://material_maker/tools/painter/shaders/brush_uv_pattern.gdshader", "res://material_maker/tools/painter/shaders/init.tres", "res://material_maker/tools/painter/shaders/init_channels.tres", "res://material_maker/tools/painter/shaders/init_copy_shader.tres", "res://material_maker/tools/painter/shaders/paint_shader_template.tres", "res://material_maker/tools/painter/shaders/t2v_fragment.tres", "res://material_maker/tools/painter/shaders/t2v_vertex.tres", "res://material_maker/tools/painter/shaders/v2t_fragment.tres", "res://material_maker/tools/painter/shaders/v2t_vertex.tres", "res://material_maker/tools/share/broken_link.tres", "res://material_maker/tools/share/golden_link.tres", "res://material_maker/tools/share/hdri/kloofendal_48d_partly_cloudy_1k.exr", "res://material_maker/tools/share/link.tres", "res://material_maker/tools/share/login_dialog.gd", "res://material_maker/tools/share/login_dialog.tscn", "res://material_maker/tools/share/preview_scene.tscn", "res://material_maker/tools/share/preview_scene_viewer.tscn", "res://material_maker/tools/share/preview_viewport.gd", "res://material_maker/tools/share/preview_viewport.tscn", "res://material_maker/tools/share/share_button.gd", "res://material_maker/tools/share/share_button.tscn", "res://material_maker/tools/share/share_http_request.gd", "res://material_maker/tools/share/share_node_dialog.gd", "res://material_maker/tools/share/share_node_dialog.tscn", "res://material_maker/tools/share/upload_dialog.gd", "res://material_maker/tools/share/upload_dialog.tscn", "res://material_maker/tools/undo_redo/undo_redo.gd", "res://material_maker/widgets/code_editor/code_editor.gd", "res://material_maker/widgets/code_editor/code_editor.tscn", "res://material_maker/widgets/color_picker_button/color_picker_button.gd", "res://material_maker/widgets/color_picker_popup/color_picker_popup.tscn", "res://material_maker/widgets/curve_edit/control_point.gd", "res://material_maker/widgets/curve_edit/control_point.tscn", "res://material_maker/widgets/curve_edit/curve_dialog.gd", "res://material_maker/widgets/curve_edit/curve_dialog.tscn", "res://material_maker/widgets/curve_edit/curve_edit.gd", "res://material_maker/widgets/curve_edit/curve_edit.tscn", "res://material_maker/widgets/curve_edit/curve_editor.gd", "res://material_maker/widgets/curve_edit/curve_editor.tscn", "res://material_maker/widgets/curve_edit/curve_view.gd", "res://material_maker/widgets/curve_edit/curve_view.tscn", "res://material_maker/widgets/curve_edit/presets_selector.gd", "res://material_maker/widgets/curve_edit/slope_point.gd", "res://material_maker/widgets/desc_button/desc_button.gd", "res://material_maker/widgets/desc_button/desc_button.tscn", "res://material_maker/widgets/file_picker_button/file_picker_button.gd", "res://material_maker/widgets/file_picker_button/file_picker_button.tscn", "res://material_maker/widgets/float_edit/expression_editor.gd", "res://material_maker/widgets/float_edit/expression_editor.tscn", "res://material_maker/widgets/float_edit/float_edit.gd", "res://material_maker/widgets/float_edit/float_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit.gd", "res://material_maker/widgets/gradient_editor/gradient_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.gd", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.tscn", "res://material_maker/widgets/gradient_editor/gradient_editor.gd", "res://material_maker/widgets/gradient_editor/gradient_editor.tscn", "res://material_maker/widgets/gradient_editor/gradient_popup.gd", "res://material_maker/widgets/gradient_editor/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/histogram/histogram.gd", "res://material_maker/widgets/histogram/histogram.tscn", "res://material_maker/widgets/image_picker_button/image_picker_button.gd", "res://material_maker/widgets/image_picker_button/image_picker_button.tscn", "res://material_maker/widgets/lattice_edit/lattice_dialog.gd", "res://material_maker/widgets/lattice_edit/lattice_dialog.tscn", "res://material_maker/widgets/lattice_edit/lattice_edit.gd", "res://material_maker/widgets/lattice_edit/lattice_edit.tscn", "res://material_maker/widgets/lattice_edit/lattice_editor.gd", "res://material_maker/widgets/lattice_edit/lattice_editor.tscn", "res://material_maker/widgets/lattice_edit/lattice_view.gd", "res://material_maker/widgets/lattice_edit/lattice_view.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.tscn", "res://material_maker/widgets/pixels_edit/pixels_edit.gd", "res://material_maker/widgets/pixels_edit/pixels_edit.tscn", "res://material_maker/widgets/pixels_edit/pixels_editor.gd", "res://material_maker/widgets/pixels_edit/pixels_editor.tscn", "res://material_maker/widgets/pixels_edit/pixels_view.gd", "res://material_maker/widgets/pixels_edit/pixels_view.tscn", "res://material_maker/widgets/polygon_edit/control_point.gd", "res://material_maker/widgets/polygon_edit/control_point.tscn", "res://material_maker/widgets/polygon_edit/polygon_dialog.gd", "res://material_maker/widgets/polygon_edit/polygon_dialog.tscn", "res://material_maker/widgets/polygon_edit/polygon_edit.gd", "res://material_maker/widgets/polygon_edit/polygon_edit.tscn", "res://material_maker/widgets/polygon_edit/polygon_editor.gd", "res://material_maker/widgets/polygon_edit/polygon_editor.tscn", "res://material_maker/widgets/polygon_edit/polygon_view.gd", "res://material_maker/widgets/polygon_edit/polygon_view.tscn", "res://material_maker/widgets/port_group_button/port_group_button.gd", "res://material_maker/widgets/port_group_button/port_group_button.tscn", "res://material_maker/widgets/render_counter/render_counter.gd", "res://material_maker/widgets/render_counter/render_counter.tscn", "res://material_maker/widgets/size_option_button/size_option_button.gd", "res://material_maker/widgets/splines_edit/splines_dialog.gd", "res://material_maker/widgets/splines_edit/splines_dialog.tscn", "res://material_maker/widgets/splines_edit/splines_edit.gd", "res://material_maker/widgets/splines_edit/splines_edit.tscn", "res://material_maker/widgets/splines_edit/splines_editor.gd", "res://material_maker/widgets/splines_edit/splines_editor.tscn", "res://material_maker/widgets/splines_edit/splines_view.gd", "res://material_maker/widgets/splines_edit/splines_view.tscn", "res://material_maker/widgets/tabs/tabs.gd", "res://material_maker/windows/about/about.gd", "res://material_maker/windows/about/about.tscn", "res://material_maker/windows/about/discord.png", "res://material_maker/windows/about/epic_megagrant.svg", "res://material_maker/windows/about/facebook.png", "res://material_maker/windows/about/github.png", "res://material_maker/windows/about/icon.png", "res://material_maker/windows/about/itchio.png", "res://material_maker/windows/about/patreon.png", "res://material_maker/windows/about/twitter.png", "res://material_maker/windows/about/youtube.png", "res://material_maker/windows/accept_dialog/accept_dialog.gd", "res://material_maker/windows/accept_dialog/accept_dialog.tscn", "res://material_maker/windows/add_node_popup/add_node_popup.gd", "res://material_maker/windows/add_node_popup/add_node_popup.tscn", "res://material_maker/windows/add_node_popup/quick_button.gd", "res://material_maker/windows/add_node_popup/quick_button.tscn", "res://material_maker/windows/desc_dialog/desc_dialog.gd", "res://material_maker/windows/desc_dialog/desc_dialog.tscn", "res://material_maker/windows/environment_editor/environment_editor.gd", "res://material_maker/windows/environment_editor/environment_editor.tscn", "res://material_maker/windows/environment_editor/environment_editor_scene.tscn", "res://material_maker/windows/environment_editor/environment_editor_viewport.tscn", "res://material_maker/windows/environment_editor/new_environment.png", "res://material_maker/windows/export_animation/export_animation.gd", "res://material_maker/windows/export_animation/export_animation.tscn", "res://material_maker/windows/export_taa/accumulate_compute.tres", "res://material_maker/windows/export_taa/divide_compute.tres", "res://material_maker/windows/export_taa/export_taa.gd", "res://material_maker/windows/export_taa/export_taa.tscn", "res://material_maker/windows/file_dialog/fav_button.tscn", "res://material_maker/windows/file_dialog/file_dialog.gd", "res://material_maker/windows/file_dialog/file_dialog.tscn", "res://material_maker/windows/file_dialog/left_panel.gd", "res://material_maker/windows/file_dialog/left_panel.tscn", "res://material_maker/windows/line_dialog/line_dialog.gd", "res://material_maker/windows/line_dialog/line_dialog.tscn", "res://material_maker/windows/load_from_website/load_from_website.gd", "res://material_maker/windows/load_from_website/load_from_website.tscn", "res://material_maker/windows/material_editor/export_editor.gd", "res://material_maker/windows/material_editor/export_editor.tscn", "res://material_maker/windows/material_editor/expression_line_edit.gd", "res://material_maker/windows/material_editor/expression_line_edit.tscn", "res://material_maker/windows/material_editor/material_editor.gd", "res://material_maker/windows/material_editor/material_editor.tscn", "res://material_maker/windows/new_painter/new_painter.gd", "res://material_maker/windows/new_painter/new_painter.tscn", "res://material_maker/windows/node_editor/enum_editor.gd", "res://material_maker/windows/node_editor/enum_editor.tscn", "res://material_maker/windows/node_editor/input.gd", "res://material_maker/windows/node_editor/input.tscn", "res://material_maker/windows/node_editor/node_editor.gd", "res://material_maker/windows/node_editor/node_editor.tscn", "res://material_maker/windows/node_editor/node_editor_item_list.gd", "res://material_maker/windows/node_editor/output.gd", "res://material_maker/windows/node_editor/output.tscn", "res://material_maker/windows/node_editor/parameter.gd", "res://material_maker/windows/node_editor/parameter.tscn", "res://material_maker/windows/node_editor/parameter_boolean.gd", "res://material_maker/windows/node_editor/parameter_boolean.tscn", "res://material_maker/windows/node_editor/parameter_color.gd", "res://material_maker/windows/node_editor/parameter_color.tscn", "res://material_maker/windows/node_editor/parameter_curve.gd", "res://material_maker/windows/node_editor/parameter_curve.tscn", "res://material_maker/windows/node_editor/parameter_enum.gd", "res://material_maker/windows/node_editor/parameter_enum.tscn", "res://material_maker/windows/node_editor/parameter_float.gd", "res://material_maker/windows/node_editor/parameter_float.tscn", "res://material_maker/windows/node_editor/parameter_gradient.gd", "res://material_maker/windows/node_editor/parameter_gradient.tscn", "res://material_maker/windows/node_editor/parameter_lattice.gd", "res://material_maker/windows/node_editor/parameter_lattice.tscn", "res://material_maker/windows/node_editor/parameter_pixels.gd", "res://material_maker/windows/node_editor/parameter_pixels.tscn", "res://material_maker/windows/node_editor/parameter_polygon.gd", "res://material_maker/windows/node_editor/parameter_polygon.tscn", "res://material_maker/windows/node_editor/parameter_polyline.tscn", "res://material_maker/windows/node_editor/parameter_size.gd", "res://material_maker/windows/node_editor/parameter_size.tscn", "res://material_maker/windows/node_editor/parameter_splines.gd", "res://material_maker/windows/node_editor/parameter_splines.tscn", "res://material_maker/windows/preferences/bool_option.gd", "res://material_maker/windows/preferences/bool_option.tscn", "res://material_maker/windows/preferences/float_option.gd", "res://material_maker/windows/preferences/float_option.tscn", "res://material_maker/windows/preferences/lang_option.gd", "res://material_maker/windows/preferences/language_download.gd", "res://material_maker/windows/preferences/language_download.tscn", "res://material_maker/windows/preferences/preferences.gd", "res://material_maker/windows/preferences/preferences.tscn", "res://material_maker/windows/progress_window/progress_window.gd", "res://material_maker/windows/progress_window/progress_window.tscn", "res://material_maker/windows/sdf_builder/gizmo.gd", "res://material_maker/windows/sdf_builder/gizmo.gdshader", "res://material_maker/windows/sdf_builder/gizmo.tscn", "res://material_maker/windows/sdf_builder/gizmo_arrow.gd", "res://material_maker/windows/sdf_builder/gizmo_arrow.tscn", "res://material_maker/windows/sdf_builder/preview_2d.gd", "res://material_maker/windows/sdf_builder/preview_2d.gdshader", "res://material_maker/windows/sdf_builder/preview_2d.tscn", "res://material_maker/windows/sdf_builder/preview_3d.gd", "res://material_maker/windows/sdf_builder/preview_3d.gdshader", "res://material_maker/windows/sdf_builder/preview_3d.tscn", "res://material_maker/windows/sdf_builder/sdf_builder.gd", "res://material_maker/windows/sdf_builder/sdf_builder.tscn", "res://material_maker/windows/sdf_builder/sdf_builder_tree.gd", "res://parse_args.gd", "res://parse_args.tscn", "res://splash_screen/arrow.png", "res://splash_screen/backgrounds/angel_beanbag_chair.png", "res://splash_screen/backgrounds/angel_soft_nurball.png", "res://splash_screen/backgrounds/cgmytro_old_doors.png", "res://splash_screen/backgrounds/cybereality_brutalism.png", "res://splash_screen/backgrounds/cybereality_dirty_tiles.png", "res://splash_screen/backgrounds/cybereality_future_visions.png", "res://splash_screen/backgrounds/droppedbeat_matrix_rain.tres", "res://splash_screen/backgrounds/droppedbeat_procedural_material.png", "res://splash_screen/backgrounds/droppedbeat_spiral_trails.tres", "res://splash_screen/backgrounds/droppedbeat_vending_machines.png", "res://splash_screen/backgrounds/oneiric_worlds_zefyr.png", "res://splash_screen/backgrounds/paulo_falcao_fractal_octahedron.tres", "res://splash_screen/backgrounds/paulo_falcao_green_thing.png", "res://splash_screen/backgrounds/paulo_falcao_terminator_ball.tres", "res://splash_screen/backgrounds/pavel_oliva_carved_wood.png", "res://splash_screen/backgrounds/pavel_oliva_celestial_floor.png", "res://splash_screen/backgrounds/pavel_oliva_cursed_planks.png", "res://splash_screen/backgrounds/pavel_oliva_flowing_lava.png", "res://splash_screen/backgrounds/pavel_oliva_lace.png", "res://splash_screen/backgrounds/pavel_oliva_pavement_generator.png", "res://splash_screen/backgrounds/pavel_oliva_stylized_pavement.png", "res://splash_screen/backgrounds/pavel_oliva_treasures.png", "res://splash_screen/backgrounds/pavel_oliva_vintage_luggage.png", "res://splash_screen/backgrounds/pixelmuncher_golden_tiles.png", "res://splash_screen/rodz_labs_logo.png", "res://splash_screen/splash_screen.gd", "res://splash_screen/splash_screen.gdshader", "res://splash_screen/splash_screen.tscn", "res://splash_screen/splash_screen_bottom.gdshader", "res://splash_screen/splash_title.png", "res://start.gd", "res://start.tscn") +export_files=PackedStringArray("res://addons/flexible_layout/arrow.svg", "res://addons/flexible_layout/flexible_dragger.gd", "res://addons/flexible_layout/flexible_dragger.tscn", "res://addons/flexible_layout/flexible_layout.gd", "res://addons/flexible_layout/flexible_layout.tscn", "res://addons/flexible_layout/flexible_overlay.gd", "res://addons/flexible_layout/flexible_overlay.tscn", "res://addons/flexible_layout/flexible_tab.gd", "res://addons/flexible_layout/flexible_tab.tscn", "res://addons/flexible_layout/flexible_tabs.gd", "res://addons/flexible_layout/flexible_tabs.tscn", "res://addons/flexible_layout/tab.svg", "res://addons/flexible_layout/undock.png", "res://addons/material_maker/engine/dependencies.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/logger.gd", "res://addons/material_maker/engine/multi_renderer.gd", "res://addons/material_maker/engine/nodes/buffer_compute.tres", "res://addons/material_maker/engine/nodes/gen_base.gd", "res://addons/material_maker/engine/nodes/gen_brush.gd", "res://addons/material_maker/engine/nodes/gen_buffer.gd", "res://addons/material_maker/engine/nodes/gen_comment.gd", "res://addons/material_maker/engine/nodes/gen_context.gd", "res://addons/material_maker/engine/nodes/gen_debug.gd", "res://addons/material_maker/engine/nodes/gen_export.gd", "res://addons/material_maker/engine/nodes/gen_graph.gd", "res://addons/material_maker/engine/nodes/gen_image.gd", "res://addons/material_maker/engine/nodes/gen_ios.gd", "res://addons/material_maker/engine/nodes/gen_iterate_buffer.gd", "res://addons/material_maker/engine/nodes/gen_material.gd", "res://addons/material_maker/engine/nodes/gen_meshmap.gd", "res://addons/material_maker/engine/nodes/gen_remote.gd", "res://addons/material_maker/engine/nodes/gen_reroute.gd", "res://addons/material_maker/engine/nodes/gen_sdf.gd", "res://addons/material_maker/engine/nodes/gen_shader.gd", "res://addons/material_maker/engine/nodes/gen_switch.gd", "res://addons/material_maker/engine/nodes/gen_text.gd", "res://addons/material_maker/engine/nodes/gen_texture.gd", "res://addons/material_maker/engine/nodes/gen_webcam.gd", "res://addons/material_maker/engine/nodes/iterate_buffer_compute.tres", "res://addons/material_maker/engine/paths.gd", "res://addons/material_maker/engine/pipeline/compute_shader.gd", "res://addons/material_maker/engine/pipeline/pipeline.gd", "res://addons/material_maker/engine/pipeline/rendering_pipeline.gd", "res://addons/material_maker/engine/pipeline/texture.gd", "res://addons/material_maker/engine/preprocessor.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/engine/shader_base.gd", "res://addons/material_maker/engine/shader_compute.gd", "res://addons/material_maker/engine/shader_error_handler.gd", "res://addons/material_maker/engine/shader_material.gd", "res://addons/material_maker/engine/text_resource.gd", "res://addons/material_maker/loaders/mesh_loader.gd", "res://addons/material_maker/loaders/obj_loader.gd", "res://addons/material_maker/map_generator/ao_fragment.tres", "res://addons/material_maker/map_generator/ao_vertex.tres", "res://addons/material_maker/map_generator/bvh_generator.gd", "res://addons/material_maker/map_generator/common_fragment.tres", "res://addons/material_maker/map_generator/curvature_generator.gd", "res://addons/material_maker/map_generator/curvature_vertex.tres", "res://addons/material_maker/map_generator/denoise_compute.tres", "res://addons/material_maker/map_generator/dilate_1_compute.tres", "res://addons/material_maker/map_generator/dilate_2_compute.tres", "res://addons/material_maker/map_generator/map_generator.gd", "res://addons/material_maker/map_generator/mesh_rendering_pipeline.gd", "res://addons/material_maker/map_generator/normal_fragment.tres", "res://addons/material_maker/map_generator/normal_vertex.tres", "res://addons/material_maker/map_generator/normalize_compute.tres", "res://addons/material_maker/map_generator/position_vertex.tres", "res://addons/material_maker/map_generator/seams_1_compute.tres", "res://addons/material_maker/map_generator/seams_2_compute.tres", "res://addons/material_maker/map_generator/tangent_vertex.tres", "res://addons/material_maker/parser/glsl_parser.gd", "res://addons/material_maker/parser/glsl_parser_base.gd", "res://addons/material_maker/parser/parser_base.gd", "res://addons/material_maker/sdf_builder/base.gd", "res://addons/material_maker/sdf_builder/icons/icons.svg", "res://addons/material_maker/sdf_builder/sdf2d/annular.gd", "res://addons/material_maker/sdf_builder/sdf2d/bend.gd", "res://addons/material_maker/sdf_builder/sdf2d/box.gd", "res://addons/material_maker/sdf_builder/sdf2d/circle.gd", "res://addons/material_maker/sdf_builder/sdf2d/color.gd", "res://addons/material_maker/sdf_builder/sdf2d/difference.gd", "res://addons/material_maker/sdf_builder/sdf2d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf2d/flip.gd", "res://addons/material_maker/sdf_builder/sdf2d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf2d/line.gd", "res://addons/material_maker/sdf_builder/sdf2d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf2d/morph.gd", "res://addons/material_maker/sdf_builder/sdf2d/ngon.gd", "res://addons/material_maker/sdf_builder/sdf2d/polygon.gd", "res://addons/material_maker/sdf_builder/sdf2d/round.gd", "res://addons/material_maker/sdf_builder/sdf2d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf2d/stairs.gd", "res://addons/material_maker/sdf_builder/sdf2d/star.gd", "res://addons/material_maker/sdf_builder/sdf2d/union.gd", "res://addons/material_maker/sdf_builder/sdf3d/annular.gd", "res://addons/material_maker/sdf_builder/sdf3d/bend.gd", "res://addons/material_maker/sdf_builder/sdf3d/box.gd", "res://addons/material_maker/sdf_builder/sdf3d/color.gd", "res://addons/material_maker/sdf_builder/sdf3d/cylinder.gd", "res://addons/material_maker/sdf_builder/sdf3d/difference.gd", "res://addons/material_maker/sdf_builder/sdf3d/distort.gd", "res://addons/material_maker/sdf_builder/sdf3d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf3d/extrusion.gd", "res://addons/material_maker/sdf_builder/sdf3d/flip.gd", "res://addons/material_maker/sdf_builder/sdf3d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf3d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf3d/morph.gd", "res://addons/material_maker/sdf_builder/sdf3d/revolution.gd", "res://addons/material_maker/sdf_builder/sdf3d/round.gd", "res://addons/material_maker/sdf_builder/sdf3d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf3d/sphere.gd", "res://addons/material_maker/sdf_builder/sdf3d/torus.gd", "res://addons/material_maker/sdf_builder/sdf3d/twist.gd", "res://addons/material_maker/sdf_builder/sdf3d/union.gd", "res://addons/material_maker/sdf_builder/sdf_builder.gd", "res://addons/material_maker/sdf_builder/sdf_builder.tscn", "res://addons/material_maker/sdf_builder/tex/blend.gd", "res://addons/material_maker/sdf_builder/tex/brightness_contrast.gd", "res://addons/material_maker/sdf_builder/tex/deform.gd", "res://addons/material_maker/sdf_builder/tex/fbm.gd", "res://addons/material_maker/sdf_builder/tex/pattern.gd", "res://addons/material_maker/sdf_builder/tex/simple_gradient.gd", "res://addons/material_maker/sdf_builder/tex/step.gd", "res://addons/material_maker/sdf_builder/tex/uniform.gd", "res://addons/material_maker/sdf_builder/tex/uniform_gs.gd", "res://addons/material_maker/shader_functions.tres", "res://addons/material_maker/types/curve.gd", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/lattice.gd", "res://addons/material_maker/types/pixels.gd", "res://addons/material_maker/types/polygon.gd", "res://addons/material_maker/types/splines.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/console.gd", "res://material_maker/darken.gd", "res://material_maker/darken.tscn", "res://material_maker/fonts/DroidSansFallback.ttf", "res://material_maker/fonts/DroidSansJapanese.ttf", "res://material_maker/fonts/hack.ttf", "res://material_maker/fonts/vegur_regular.otf", "res://material_maker/globals.gd", "res://material_maker/globals.tscn", "res://material_maker/globals_menu_manager.gd", "res://material_maker/icons/add.tres", "res://material_maker/icons/add_generic.tres", "res://material_maker/icons/buffer.tres", "res://material_maker/icons/buffer_paused.tres", "res://material_maker/icons/close.tres", "res://material_maker/icons/color_palette.png", "res://material_maker/icons/color_picker.png", "res://material_maker/icons/custom.png", "res://material_maker/icons/down.tres", "res://material_maker/icons/edit.tres", "res://material_maker/icons/eye_closed.tres", "res://material_maker/icons/eye_open.tres", "res://material_maker/icons/godot_logo.svg", "res://material_maker/icons/icons.gd", "res://material_maker/icons/icons.svg", "res://material_maker/icons/icons.tres", "res://material_maker/icons/link.tres", "res://material_maker/icons/lmb.tres", "res://material_maker/icons/minimize.tres", "res://material_maker/icons/mmb.tres", "res://material_maker/icons/ok.tres", "res://material_maker/icons/output_preview.tres", "res://material_maker/icons/paste_graph.tres", "res://material_maker/icons/paste_newgraph.tres", "res://material_maker/icons/paste_none.tres", "res://material_maker/icons/paste_palette.tres", "res://material_maker/icons/port_group_0.tres", "res://material_maker/icons/port_group_1.tres", "res://material_maker/icons/port_group_2.tres", "res://material_maker/icons/port_group_3.tres", "res://material_maker/icons/preview.png", "res://material_maker/icons/preview_locked.png", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/icons/rmb.tres", "res://material_maker/icons/up.tres", "res://material_maker/locale/locale.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/main_window_layout.gd", "res://material_maker/main_window_projects_panel.gd", "res://material_maker/meshes/suzanne.obj", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment/comment.gd", "res://material_maker/nodes/comment/comment.tscn", "res://material_maker/nodes/comment/palette_button.gd", "res://material_maker/nodes/debug/debug.gd", "res://material_maker/nodes/debug/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic/generic.gd", "res://material_maker/nodes/generic/generic.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/ios.gd", "res://material_maker/nodes/ios/ios.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/material_export/material_export.gd", "res://material_maker/nodes/material_export/material_export.tscn", "res://material_maker/nodes/minimal.gd", "res://material_maker/nodes/node_button.gd", "res://material_maker/nodes/node_button.tscn", "res://material_maker/nodes/remote/named_parameter_dialog.gd", "res://material_maker/nodes/remote/named_parameter_dialog.tscn", "res://material_maker/nodes/remote/remote.gd", "res://material_maker/nodes/remote/remote.tscn", "res://material_maker/nodes/reroute/reroute.gd", "res://material_maker/nodes/reroute/reroute.tscn", "res://material_maker/nodes/switch/switch.gd", "res://material_maker/nodes/switch/switch.tscn", "res://material_maker/nodes/tones/tones.gd", "res://material_maker/nodes/tones/tones.tscn", "res://material_maker/panel_container.gd", "res://material_maker/panels/brushes/brushes.gd", "res://material_maker/panels/brushes/brushes.tscn", "res://material_maker/panels/graph_edit/graph_edit.gd", "res://material_maker/panels/graph_edit/graph_edit.tscn", "res://material_maker/panels/hierarchy/hierarchy_panel.gd", "res://material_maker/panels/hierarchy/hierarchy_panel.tscn", "res://material_maker/panels/layers/add_layer_menu.tscn", "res://material_maker/panels/layers/icons/layer_mask.tres", "res://material_maker/panels/layers/icons/layer_paint.tres", "res://material_maker/panels/layers/icons/layer_proc.tres", "res://material_maker/panels/layers/icons/not_visible.tres", "res://material_maker/panels/layers/icons/visible.tres", "res://material_maker/panels/layers/layer_config_popup.gd", "res://material_maker/panels/layers/layer_config_popup.tscn", "res://material_maker/panels/layers/layer_tooltip.gd", "res://material_maker/panels/layers/layer_tooltip.tscn", "res://material_maker/panels/layers/layer_tooltip_thumbnail.gd", "res://material_maker/panels/layers/layer_tooltip_thumbnail.tscn", "res://material_maker/panels/layers/layers.gd", "res://material_maker/panels/layers/layers.tscn", "res://material_maker/panels/layers/layers_tree.gd", "res://material_maker/panels/library/button_greyed.tres", "res://material_maker/panels/library/create_lib_dialog.gd", "res://material_maker/panels/library/create_lib_dialog.tscn", "res://material_maker/panels/library/library.gd", "res://material_maker/panels/library/library.tscn", "res://material_maker/panels/library/library_tree.gd", "res://material_maker/panels/paint/collapse_button.gd", "res://material_maker/panels/paint/collapse_button.tscn", "res://material_maker/panels/paint/export.gd", "res://material_maker/panels/paint/export.tscn", "res://material_maker/panels/paint/layer_types/layer.gd", "res://material_maker/panels/paint/layer_types/layer_mask.gd", "res://material_maker/panels/paint/layer_types/layer_paint.gd", "res://material_maker/panels/paint/layer_types/layer_procedural.gd", "res://material_maker/panels/paint/paint.gd", "res://material_maker/panels/paint/paint.tscn", "res://material_maker/panels/paint/paint_layers.gd", "res://material_maker/panels/paint/paint_layers.tscn", "res://material_maker/panels/paint/paint_project_settings.gd", "res://material_maker/panels/paint/paint_project_settings.tscn", "res://material_maker/panels/parameters/parameters.gd", "res://material_maker/panels/parameters/parameters.tscn", "res://material_maker/panels/preview_2d/control_point.gd", "res://material_maker/panels/preview_2d/control_point.tscn", "res://material_maker/panels/preview_2d/custom_size_dialog.gd", "res://material_maker/panels/preview_2d/custom_size_dialog.tscn", "res://material_maker/panels/preview_2d/lines.gd", "res://material_maker/panels/preview_2d/preview_2d.gd", "res://material_maker/panels/preview_2d/preview_2d.tscn", "res://material_maker/panels/preview_2d/preview_2d_node.gd", "res://material_maker/panels/preview_2d/preview_2d_node.tscn", "res://material_maker/panels/preview_2d/preview_2d_panel.gd", "res://material_maker/panels/preview_2d/preview_2d_panel.tscn", "res://material_maker/panels/preview_3d/materials/shader_material_tesselated.tres", "res://material_maker/panels/preview_3d/materials/spatial_material.tres", "res://material_maker/panels/preview_3d/mesh_config_popup.gd", "res://material_maker/panels/preview_3d/mesh_config_popup.tscn", "res://material_maker/panels/preview_3d/preview_3d.gd", "res://material_maker/panels/preview_3d/preview_3d.tscn", "res://material_maker/panels/preview_3d/preview_3d_panel.gd", "res://material_maker/panels/preview_3d/preview_3d_panel.tscn", "res://material_maker/panels/preview_3d/preview_3d_scene.tscn", "res://material_maker/panels/preview_3d/preview_3d_ui.gd", "res://material_maker/panels/preview_3d/preview_3d_ui.tscn", "res://material_maker/panels/preview_3d/preview_light.gd", "res://material_maker/panels/preview_3d/preview_light.tscn", "res://material_maker/panels/preview_3d/preview_mesh.gd", "res://material_maker/panels/preview_3d/preview_objects.tscn", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cube.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Custom.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cylinder.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Plane.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Prism.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Sphere.png", "res://material_maker/panels/reference/color_slot.gd", "res://material_maker/panels/reference/color_slot.tscn", "res://material_maker/panels/reference/gradient_slot.gd", "res://material_maker/panels/reference/gradient_slot.tscn", "res://material_maker/panels/reference/reference_panel.gd", "res://material_maker/panels/reference/reference_panel.tscn", "res://material_maker/projects_panel.tscn", "res://material_maker/theme/birch.tres", "res://material_maker/theme/dark.tres", "res://material_maker/theme/dark/checkbox_checked.png", "res://material_maker/theme/dark/checkbox_radio_checked.png", "res://material_maker/theme/dark/checkbox_radio_unchecked.png", "res://material_maker/theme/dark/checkbox_unchecked.png", "res://material_maker/theme/dark/checkbutton_off.png", "res://material_maker/theme/dark/checkbutton_off_disabled.png", "res://material_maker/theme/dark/checkbutton_on.png", "res://material_maker/theme/dark/checkbutton_on_disabled.png", "res://material_maker/theme/dark/colorpickerbutton_bg.png", "res://material_maker/theme/dark/curve_preset_bevel.tres", "res://material_maker/theme/dark/curve_preset_bounce.tres", "res://material_maker/theme/dark/curve_preset_easein.tres", "res://material_maker/theme/dark/curve_preset_easeinout.tres", "res://material_maker/theme/dark/curve_preset_easeout.tres", "res://material_maker/theme/dark/curve_preset_linear.tres", "res://material_maker/theme/dark/curve_preset_sawtooth.tres", "res://material_maker/theme/dark/curve_presets.svg", "res://material_maker/theme/dark/graphedit_minus.png", "res://material_maker/theme/dark/graphedit_more.png", "res://material_maker/theme/dark/graphedit_reset.png", "res://material_maker/theme/dark/graphedit_snap.png", "res://material_maker/theme/dark/graphnode_close.png", "res://material_maker/theme/dark/graphnode_port.png", "res://material_maker/theme/dark/graphnode_resizer.png", "res://material_maker/theme/dark/hslider_grabber.png", "res://material_maker/theme/dark/hslider_grabber_disabled.png", "res://material_maker/theme/dark/hslider_grabber_highlight.png", "res://material_maker/theme/dark/hslider_tick.png", "res://material_maker/theme/dark/hsplitcontainer_grabber.png", "res://material_maker/theme/dark/lineedit_clear.png", "res://material_maker/theme/dark/optionbutton_arrow.png", "res://material_maker/theme/dark/popupmenu_checked.png", "res://material_maker/theme/dark/popupmenu_radio_checked.png", "res://material_maker/theme/dark/popupmenu_radio_unchecked.png", "res://material_maker/theme/dark/popupmenu_submenu.png", "res://material_maker/theme/dark/popupmenu_unchecked.png", "res://material_maker/theme/dark/popupmenu_visibility_hidden.png", "res://material_maker/theme/dark/popupmenu_visibility_visible.png", "res://material_maker/theme/dark/popupmenu_visibility_xray.png", "res://material_maker/theme/dark/sb_checkbox_focus_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_hslider_focus_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/sb_panel_panelf_texture.png", "res://material_maker/theme/dark/sb_panel_panelnc_texture.png", "res://material_maker/theme/dark/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/dark/sb_progressbar_bg_texture.png", "res://material_maker/theme/dark/sb_progressbar_fg_texture.png", "res://material_maker/theme/dark/sb_textedit_completion_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/tabcontainer_decrement.png", "res://material_maker/theme/dark/tabcontainer_decrement_highlight.png", "res://material_maker/theme/dark/tabcontainer_increment.png", "res://material_maker/theme/dark/tabcontainer_increment_highlight.png", "res://material_maker/theme/dark/tabcontainer_menu.png", "res://material_maker/theme/dark/tabcontainer_menu_highlight.png", "res://material_maker/theme/dark/tabs_close.png", "res://material_maker/theme/dark/tabs_decrement.png", "res://material_maker/theme/dark/tabs_decrement_highlight.png", "res://material_maker/theme/dark/tabs_increment.png", "res://material_maker/theme/dark/tabs_increment_highlight.png", "res://material_maker/theme/dark/textedit_fold.png", "res://material_maker/theme/dark/textedit_folded.png", "res://material_maker/theme/dark/textedit_space.png", "res://material_maker/theme/dark/textedit_tab.png", "res://material_maker/theme/dark/tree_arrow.png", "res://material_maker/theme/dark/tree_arrow_collapsed.png", "res://material_maker/theme/dark/tree_checked.png", "res://material_maker/theme/dark/tree_select_arrow.png", "res://material_maker/theme/dark/tree_unchecked.png", "res://material_maker/theme/dark/tree_updown.png", "res://material_maker/theme/dark/vslider_grabber.png", "res://material_maker/theme/dark/vslider_grabber_highlight.png", "res://material_maker/theme/dark/vsplitcontainer_grabber.png", "res://material_maker/theme/dark/windowdialog_close.png", "res://material_maker/theme/dark/windowdialog_close_highlight.png", "res://material_maker/theme/default.tres", "res://material_maker/theme/font.tres", "res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf", "res://material_maker/theme/green.tres", "res://material_maker/theme/light.tres", "res://material_maker/theme/light/checkbox_checked.png", "res://material_maker/theme/light/checkbox_radio_checked.png", "res://material_maker/theme/light/checkbox_radio_unchecked.png", "res://material_maker/theme/light/checkbox_unchecked.png", "res://material_maker/theme/light/checkbutton_off.png", "res://material_maker/theme/light/checkbutton_off_disabled.png", "res://material_maker/theme/light/checkbutton_on.png", "res://material_maker/theme/light/checkbutton_on_disabled.png", "res://material_maker/theme/light/colorpickerbutton_bg.png", "res://material_maker/theme/light/curve_preset_bevel.tres", "res://material_maker/theme/light/curve_preset_bounce.tres", "res://material_maker/theme/light/curve_preset_easein.tres", "res://material_maker/theme/light/curve_preset_easeinout.tres", "res://material_maker/theme/light/curve_preset_easeout.tres", "res://material_maker/theme/light/curve_preset_linear.tres", "res://material_maker/theme/light/curve_preset_sawtooth.tres", "res://material_maker/theme/light/curve_presets.svg", "res://material_maker/theme/light/graphedit_minus.png", "res://material_maker/theme/light/graphedit_more.png", "res://material_maker/theme/light/graphedit_reset.png", "res://material_maker/theme/light/graphedit_snap.png", "res://material_maker/theme/light/graphnode_close.png", "res://material_maker/theme/light/graphnode_port.png", "res://material_maker/theme/light/graphnode_resizer.png", "res://material_maker/theme/light/hslider_grabber.png", "res://material_maker/theme/light/hslider_grabber_disabled.png", "res://material_maker/theme/light/hslider_grabber_highlight.png", "res://material_maker/theme/light/hslider_tick.png", "res://material_maker/theme/light/hsplitcontainer_grabber.png", "res://material_maker/theme/light/lineedit_clear.png", "res://material_maker/theme/light/optionbutton_arrow.png", "res://material_maker/theme/light/popupmenu_checked.png", "res://material_maker/theme/light/popupmenu_radio_checked.png", "res://material_maker/theme/light/popupmenu_radio_unchecked.png", "res://material_maker/theme/light/popupmenu_submenu.png", "res://material_maker/theme/light/popupmenu_unchecked.png", "res://material_maker/theme/light/popupmenu_visibility_hidden.png", "res://material_maker/theme/light/popupmenu_visibility_visible.png", "res://material_maker/theme/light/popupmenu_visibility_xray.png", "res://material_maker/theme/light/sb_checkbox_focus_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_hslider_focus_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/light/sb_panel_panelf_texture.png", "res://material_maker/theme/light/sb_panel_panelnc_texture.png", "res://material_maker/theme/light/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/light/sb_progressbar_bg_texture.png", "res://material_maker/theme/light/sb_progressbar_fg_texture.png", "res://material_maker/theme/light/sb_textedit_completion_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/light/tabcontainer_decrement.png", "res://material_maker/theme/light/tabcontainer_decrement_highlight.png", "res://material_maker/theme/light/tabcontainer_increment.png", "res://material_maker/theme/light/tabcontainer_increment_highlight.png", "res://material_maker/theme/light/tabcontainer_menu.png", "res://material_maker/theme/light/tabcontainer_menu_highlight.png", "res://material_maker/theme/light/tabs_close.png", "res://material_maker/theme/light/tabs_decrement.png", "res://material_maker/theme/light/tabs_decrement_highlight.png", "res://material_maker/theme/light/tabs_increment.png", "res://material_maker/theme/light/tabs_increment_highlight.png", "res://material_maker/theme/light/textedit_fold.png", "res://material_maker/theme/light/textedit_folded.png", "res://material_maker/theme/light/textedit_space.png", "res://material_maker/theme/light/textedit_tab.png", "res://material_maker/theme/light/tree_arrow.png", "res://material_maker/theme/light/tree_arrow_collapsed.png", "res://material_maker/theme/light/tree_checked.png", "res://material_maker/theme/light/tree_select_arrow.png", "res://material_maker/theme/light/tree_unchecked.png", "res://material_maker/theme/light/tree_updown.png", "res://material_maker/theme/light/vslider_grabber.png", "res://material_maker/theme/light/vslider_grabber_highlight.png", "res://material_maker/theme/light/vsplitcontainer_grabber.png", "res://material_maker/theme/light/windowdialog_close.png", "res://material_maker/theme/light/windowdialog_close_highlight.png", "res://material_maker/theme/mangosteen.tres", "res://material_maker/theme/modern.tres", "res://material_maker/tools/environment_manager/environment_manager.gd", "res://material_maker/tools/environment_manager/environment_manager.tscn", "res://material_maker/tools/library_manager/library.gd", "res://material_maker/tools/library_manager/library_manager.gd", "res://material_maker/tools/map_renderer/map_renderer.gd", "res://material_maker/tools/map_renderer/map_renderer.tscn", "res://material_maker/tools/painter/brush_preview.gd", "res://material_maker/tools/painter/brush_preview.tscn", "res://material_maker/tools/painter/painter.gd", "res://material_maker/tools/painter/painter.tscn", "res://material_maker/tools/painter/painter_viewport.gd", "res://material_maker/tools/painter/painter_viewport.tscn", "res://material_maker/tools/painter/shaders/brush.gdshader", "res://material_maker/tools/painter/shaders/brush_common_decl.gdshader", "res://material_maker/tools/painter/shaders/brush_pattern.gdshader", "res://material_maker/tools/painter/shaders/brush_stamp.gdshader", "res://material_maker/tools/painter/shaders/brush_uv_pattern.gdshader", "res://material_maker/tools/painter/shaders/init.tres", "res://material_maker/tools/painter/shaders/init_channels.tres", "res://material_maker/tools/painter/shaders/init_copy_shader.tres", "res://material_maker/tools/painter/shaders/paint_shader_template.tres", "res://material_maker/tools/painter/shaders/t2v_fragment.tres", "res://material_maker/tools/painter/shaders/t2v_vertex.tres", "res://material_maker/tools/painter/shaders/v2t_fragment.tres", "res://material_maker/tools/painter/shaders/v2t_vertex.tres", "res://material_maker/tools/share/broken_link.tres", "res://material_maker/tools/share/golden_link.tres", "res://material_maker/tools/share/hdri/kloofendal_48d_partly_cloudy_1k.exr", "res://material_maker/tools/share/link.tres", "res://material_maker/tools/share/login_dialog.gd", "res://material_maker/tools/share/login_dialog.tscn", "res://material_maker/tools/share/preview_scene.tscn", "res://material_maker/tools/share/preview_scene_viewer.tscn", "res://material_maker/tools/share/preview_viewport.gd", "res://material_maker/tools/share/preview_viewport.tscn", "res://material_maker/tools/share/share_button.gd", "res://material_maker/tools/share/share_button.tscn", "res://material_maker/tools/share/share_http_request.gd", "res://material_maker/tools/share/share_node_dialog.gd", "res://material_maker/tools/share/share_node_dialog.tscn", "res://material_maker/tools/share/upload_dialog.gd", "res://material_maker/tools/share/upload_dialog.tscn", "res://material_maker/tools/undo_redo/undo_redo.gd", "res://material_maker/widgets/code_editor/code_editor.gd", "res://material_maker/widgets/code_editor/code_editor.tscn", "res://material_maker/widgets/color_picker_button/color_picker_button.gd", "res://material_maker/widgets/color_picker_popup/color_picker_popup.tscn", "res://material_maker/widgets/curve_edit/control_point.gd", "res://material_maker/widgets/curve_edit/control_point.tscn", "res://material_maker/widgets/curve_edit/curve_dialog.gd", "res://material_maker/widgets/curve_edit/curve_dialog.tscn", "res://material_maker/widgets/curve_edit/curve_edit.gd", "res://material_maker/widgets/curve_edit/curve_edit.tscn", "res://material_maker/widgets/curve_edit/curve_editor.gd", "res://material_maker/widgets/curve_edit/curve_editor.tscn", "res://material_maker/widgets/curve_edit/curve_view.gd", "res://material_maker/widgets/curve_edit/curve_view.tscn", "res://material_maker/widgets/curve_edit/presets_selector.gd", "res://material_maker/widgets/curve_edit/slope_point.gd", "res://material_maker/widgets/desc_button/desc_button.gd", "res://material_maker/widgets/desc_button/desc_button.tscn", "res://material_maker/widgets/file_picker_button/file_picker_button.gd", "res://material_maker/widgets/file_picker_button/file_picker_button.tscn", "res://material_maker/widgets/float_edit/expression_editor.gd", "res://material_maker/widgets/float_edit/expression_editor.tscn", "res://material_maker/widgets/float_edit/float_edit.gd", "res://material_maker/widgets/float_edit/float_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit.gd", "res://material_maker/widgets/gradient_editor/gradient_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.gd", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.tscn", "res://material_maker/widgets/gradient_editor/gradient_popup.gd", "res://material_maker/widgets/gradient_editor/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/histogram/histogram.gd", "res://material_maker/widgets/histogram/histogram.tscn", "res://material_maker/widgets/image_picker_button/image_picker_button.gd", "res://material_maker/widgets/image_picker_button/image_picker_button.tscn", "res://material_maker/widgets/lattice_edit/lattice_dialog.gd", "res://material_maker/widgets/lattice_edit/lattice_dialog.tscn", "res://material_maker/widgets/lattice_edit/lattice_edit.gd", "res://material_maker/widgets/lattice_edit/lattice_edit.tscn", "res://material_maker/widgets/lattice_edit/lattice_editor.gd", "res://material_maker/widgets/lattice_edit/lattice_editor.tscn", "res://material_maker/widgets/lattice_edit/lattice_view.gd", "res://material_maker/widgets/lattice_edit/lattice_view.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.tscn", "res://material_maker/widgets/pixels_edit/pixels_edit.gd", "res://material_maker/widgets/pixels_edit/pixels_edit.tscn", "res://material_maker/widgets/pixels_edit/pixels_editor.gd", "res://material_maker/widgets/pixels_edit/pixels_editor.tscn", "res://material_maker/widgets/pixels_edit/pixels_view.gd", "res://material_maker/widgets/pixels_edit/pixels_view.tscn", "res://material_maker/widgets/polygon_edit/control_point.gd", "res://material_maker/widgets/polygon_edit/control_point.tscn", "res://material_maker/widgets/polygon_edit/polygon_dialog.gd", "res://material_maker/widgets/polygon_edit/polygon_dialog.tscn", "res://material_maker/widgets/polygon_edit/polygon_edit.gd", "res://material_maker/widgets/polygon_edit/polygon_edit.tscn", "res://material_maker/widgets/polygon_edit/polygon_editor.gd", "res://material_maker/widgets/polygon_edit/polygon_editor.tscn", "res://material_maker/widgets/polygon_edit/polygon_view.gd", "res://material_maker/widgets/polygon_edit/polygon_view.tscn", "res://material_maker/widgets/port_group_button/port_group_button.gd", "res://material_maker/widgets/port_group_button/port_group_button.tscn", "res://material_maker/widgets/render_counter/render_counter.gd", "res://material_maker/widgets/render_counter/render_counter.tscn", "res://material_maker/widgets/size_option_button/size_option_button.gd", "res://material_maker/widgets/splines_edit/splines_dialog.gd", "res://material_maker/widgets/splines_edit/splines_dialog.tscn", "res://material_maker/widgets/splines_edit/splines_edit.gd", "res://material_maker/widgets/splines_edit/splines_edit.tscn", "res://material_maker/widgets/splines_edit/splines_editor.gd", "res://material_maker/widgets/splines_edit/splines_editor.tscn", "res://material_maker/widgets/splines_edit/splines_view.gd", "res://material_maker/widgets/splines_edit/splines_view.tscn", "res://material_maker/widgets/tabs/tabs.gd", "res://material_maker/windows/about/about.gd", "res://material_maker/windows/about/about.tscn", "res://material_maker/windows/about/discord.png", "res://material_maker/windows/about/epic_megagrant.svg", "res://material_maker/windows/about/facebook.png", "res://material_maker/windows/about/github.png", "res://material_maker/windows/about/icon.png", "res://material_maker/windows/about/itchio.png", "res://material_maker/windows/about/patreon.png", "res://material_maker/windows/about/twitter.png", "res://material_maker/windows/about/youtube.png", "res://material_maker/windows/accept_dialog/accept_dialog.gd", "res://material_maker/windows/accept_dialog/accept_dialog.tscn", "res://material_maker/windows/add_node_popup/add_node_popup.gd", "res://material_maker/windows/add_node_popup/add_node_popup.tscn", "res://material_maker/windows/add_node_popup/quick_button.gd", "res://material_maker/windows/add_node_popup/quick_button.tscn", "res://material_maker/windows/desc_dialog/desc_dialog.gd", "res://material_maker/windows/desc_dialog/desc_dialog.tscn", "res://material_maker/windows/environment_editor/environment_editor.gd", "res://material_maker/windows/environment_editor/environment_editor.tscn", "res://material_maker/windows/environment_editor/environment_editor_scene.tscn", "res://material_maker/windows/environment_editor/environment_editor_viewport.tscn", "res://material_maker/windows/environment_editor/new_environment.png", "res://material_maker/windows/export_animation/export_animation.gd", "res://material_maker/windows/export_animation/export_animation.tscn", "res://material_maker/windows/export_taa/accumulate_compute.tres", "res://material_maker/windows/export_taa/divide_compute.tres", "res://material_maker/windows/export_taa/export_taa.gd", "res://material_maker/windows/export_taa/export_taa.tscn", "res://material_maker/windows/file_dialog/fav_button.tscn", "res://material_maker/windows/file_dialog/file_dialog.gd", "res://material_maker/windows/file_dialog/file_dialog.tscn", "res://material_maker/windows/file_dialog/left_panel.gd", "res://material_maker/windows/file_dialog/left_panel.tscn", "res://material_maker/windows/line_dialog/line_dialog.gd", "res://material_maker/windows/line_dialog/line_dialog.tscn", "res://material_maker/windows/load_from_website/load_from_website.gd", "res://material_maker/windows/load_from_website/load_from_website.tscn", "res://material_maker/windows/material_editor/export_editor.gd", "res://material_maker/windows/material_editor/export_editor.tscn", "res://material_maker/windows/material_editor/expression_line_edit.gd", "res://material_maker/windows/material_editor/expression_line_edit.tscn", "res://material_maker/windows/material_editor/material_editor.gd", "res://material_maker/windows/material_editor/material_editor.tscn", "res://material_maker/windows/new_painter/new_painter.gd", "res://material_maker/windows/new_painter/new_painter.tscn", "res://material_maker/windows/node_editor/enum_editor.gd", "res://material_maker/windows/node_editor/enum_editor.tscn", "res://material_maker/windows/node_editor/input.gd", "res://material_maker/windows/node_editor/input.tscn", "res://material_maker/windows/node_editor/node_editor.gd", "res://material_maker/windows/node_editor/node_editor.tscn", "res://material_maker/windows/node_editor/node_editor_item_list.gd", "res://material_maker/windows/node_editor/output.gd", "res://material_maker/windows/node_editor/output.tscn", "res://material_maker/windows/node_editor/parameter.gd", "res://material_maker/windows/node_editor/parameter.tscn", "res://material_maker/windows/node_editor/parameter_boolean.gd", "res://material_maker/windows/node_editor/parameter_boolean.tscn", "res://material_maker/windows/node_editor/parameter_color.gd", "res://material_maker/windows/node_editor/parameter_color.tscn", "res://material_maker/windows/node_editor/parameter_curve.gd", "res://material_maker/windows/node_editor/parameter_curve.tscn", "res://material_maker/windows/node_editor/parameter_enum.gd", "res://material_maker/windows/node_editor/parameter_enum.tscn", "res://material_maker/windows/node_editor/parameter_float.gd", "res://material_maker/windows/node_editor/parameter_float.tscn", "res://material_maker/windows/node_editor/parameter_gradient.gd", "res://material_maker/windows/node_editor/parameter_gradient.tscn", "res://material_maker/windows/node_editor/parameter_lattice.gd", "res://material_maker/windows/node_editor/parameter_lattice.tscn", "res://material_maker/windows/node_editor/parameter_pixels.gd", "res://material_maker/windows/node_editor/parameter_pixels.tscn", "res://material_maker/windows/node_editor/parameter_polygon.gd", "res://material_maker/windows/node_editor/parameter_polygon.tscn", "res://material_maker/windows/node_editor/parameter_polyline.tscn", "res://material_maker/windows/node_editor/parameter_size.gd", "res://material_maker/windows/node_editor/parameter_size.tscn", "res://material_maker/windows/node_editor/parameter_splines.gd", "res://material_maker/windows/node_editor/parameter_splines.tscn", "res://material_maker/windows/preferences/bool_option.gd", "res://material_maker/windows/preferences/bool_option.tscn", "res://material_maker/windows/preferences/float_option.gd", "res://material_maker/windows/preferences/float_option.tscn", "res://material_maker/windows/preferences/lang_option.gd", "res://material_maker/windows/preferences/language_download.gd", "res://material_maker/windows/preferences/language_download.tscn", "res://material_maker/windows/preferences/preferences.gd", "res://material_maker/windows/preferences/preferences.tscn", "res://material_maker/windows/progress_window/progress_window.gd", "res://material_maker/windows/progress_window/progress_window.tscn", "res://material_maker/windows/sdf_builder/gizmo.gd", "res://material_maker/windows/sdf_builder/gizmo.gdshader", "res://material_maker/windows/sdf_builder/gizmo.tscn", "res://material_maker/windows/sdf_builder/gizmo_arrow.gd", "res://material_maker/windows/sdf_builder/gizmo_arrow.tscn", "res://material_maker/windows/sdf_builder/preview_2d.gd", "res://material_maker/windows/sdf_builder/preview_2d.gdshader", "res://material_maker/windows/sdf_builder/preview_2d.tscn", "res://material_maker/windows/sdf_builder/preview_3d.gd", "res://material_maker/windows/sdf_builder/preview_3d.gdshader", "res://material_maker/windows/sdf_builder/preview_3d.tscn", "res://material_maker/windows/sdf_builder/sdf_builder.gd", "res://material_maker/windows/sdf_builder/sdf_builder.tscn", "res://material_maker/windows/sdf_builder/sdf_builder_tree.gd", "res://parse_args.gd", "res://parse_args.tscn", "res://splash_screen/arrow.png", "res://splash_screen/backgrounds/angel_beanbag_chair.png", "res://splash_screen/backgrounds/angel_soft_nurball.png", "res://splash_screen/backgrounds/cgmytro_old_doors.png", "res://splash_screen/backgrounds/cybereality_brutalism.png", "res://splash_screen/backgrounds/cybereality_dirty_tiles.png", "res://splash_screen/backgrounds/cybereality_future_visions.png", "res://splash_screen/backgrounds/droppedbeat_matrix_rain.tres", "res://splash_screen/backgrounds/droppedbeat_procedural_material.png", "res://splash_screen/backgrounds/droppedbeat_spiral_trails.tres", "res://splash_screen/backgrounds/droppedbeat_vending_machines.png", "res://splash_screen/backgrounds/oneiric_worlds_zefyr.png", "res://splash_screen/backgrounds/paulo_falcao_fractal_octahedron.tres", "res://splash_screen/backgrounds/paulo_falcao_green_thing.png", "res://splash_screen/backgrounds/paulo_falcao_terminator_ball.tres", "res://splash_screen/backgrounds/pavel_oliva_carved_wood.png", "res://splash_screen/backgrounds/pavel_oliva_celestial_floor.png", "res://splash_screen/backgrounds/pavel_oliva_cursed_planks.png", "res://splash_screen/backgrounds/pavel_oliva_flowing_lava.png", "res://splash_screen/backgrounds/pavel_oliva_lace.png", "res://splash_screen/backgrounds/pavel_oliva_pavement_generator.png", "res://splash_screen/backgrounds/pavel_oliva_stylized_pavement.png", "res://splash_screen/backgrounds/pavel_oliva_treasures.png", "res://splash_screen/backgrounds/pavel_oliva_vintage_luggage.png", "res://splash_screen/backgrounds/pixelmuncher_golden_tiles.png", "res://splash_screen/rodz_labs_logo.png", "res://splash_screen/splash_screen.gd", "res://splash_screen/splash_screen.gdshader", "res://splash_screen/splash_screen.tscn", "res://splash_screen/splash_screen_bottom.gdshader", "res://splash_screen/splash_title.png", "res://start.gd", "res://start.tscn", "res://material_maker/widgets/button_with_icon.gd", "res://material_maker/widgets/option_edit/option_edit.gd", "res://material_maker/widgets/option_edit/option_edit.tscn", "res://material_maker/widgets/pixels_edit/settings_panel.gd", "res://material_maker/theme/new_theme_icons.png", "res://material_maker/theme/new_theme_icons.svg", "res://material_maker/theme/new_theme_icons_clean.svg", "res://material_maker/theme/enhanced_theme_system/color_swap.gd", "res://material_maker/theme/enhanced_theme_system/enhanced_theme.gd", "res://material_maker/panels/preview_2d/two_icon_toggle_button.gd", "res://material_maker/panels/preview_2d/view_menu.gd", "res://material_maker/panels/preview_2d/export_menu.gd", "res://material_maker/panels/common/menu_bar_button_with_panel.gd") include_filter="*.tmpl" exclude_filter="*.ptex,*.mmn,*.mmg" export_path="./material_maker_macosx.dmg.zip" From b69f4c054c26f4d45708a4b516241bce59d0e413 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Thu, 5 Sep 2024 12:18:48 +0200 Subject: [PATCH 23/24] Add mouse icons --- material_maker/theme/modern.tres | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/material_maker/theme/modern.tres b/material_maker/theme/modern.tres index d2bd70cad..cf4ca1684 100644 --- a/material_maker/theme/modern.tres +++ b/material_maker/theme/modern.tres @@ -284,6 +284,21 @@ atlas = ExtResource("2_uo7ch") region = Rect2(112, 48, 16, 16) metadata/scale = 2.0 +[sub_resource type="AtlasTexture" id="AtlasTexture_ehvet"] +atlas = null +region = Rect2(32, 32, 16, 16) +metadata/scale = 2.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_xuvon"] +atlas = null +region = Rect2(48, 32, 16, 16) +metadata/scale = 2.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_lrbkn"] +atlas = null +region = Rect2(16, 32, 16, 16) +metadata/scale = 2.0 + [sub_resource type="AtlasTexture" id="AtlasTexture_yjtbp"] atlas = ExtResource("2_uo7ch") region = Rect2(48, 0, 16, 16) @@ -799,6 +814,9 @@ MM_Icons/icons/Folder = SubResource("AtlasTexture_2jd0a") MM_Icons/icons/Locked = SubResource("AtlasTexture_dqmkr") MM_Icons/icons/Login = SubResource("AtlasTexture_qbea1") MM_Icons/icons/Minimize = SubResource("AtlasTexture_3dq6o") +MM_Icons/icons/Mouse_Left = SubResource("AtlasTexture_ehvet") +MM_Icons/icons/Mouse_Middle = SubResource("AtlasTexture_xuvon") +MM_Icons/icons/Mouse_Right = SubResource("AtlasTexture_lrbkn") MM_Icons/icons/Node_Delete = SubResource("AtlasTexture_yjtbp") MM_Icons/icons/Save = SubResource("AtlasTexture_458ks") MM_Icons/icons/Search = SubResource("AtlasTexture_8xo65") From 81b7bd326d2f7e35b63ce0049398979583e7cb73 Mon Sep 17 00:00:00 2001 From: Jowan-Spooner Date: Thu, 5 Sep 2024 13:31:49 +0200 Subject: [PATCH 24/24] Fix icons in exported version --- export_presets.cfg | 4 +- .../enhanced_theme_system/enhanced_theme.gd | 3 +- .../theme/new_theme_icons_clean_export.svg | 1913 +++++++++++++++++ .../new_theme_icons_clean_export.svg.import | 3 + 4 files changed, 1920 insertions(+), 3 deletions(-) create mode 100644 material_maker/theme/new_theme_icons_clean_export.svg create mode 100644 material_maker/theme/new_theme_icons_clean_export.svg.import diff --git a/export_presets.cfg b/export_presets.cfg index 4428206cf..f2dd3c320 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -7,10 +7,10 @@ advanced_options=false dedicated_server=false custom_features="" export_filter="resources" -export_files=PackedStringArray("res://addons/flexible_layout/arrow.svg", "res://addons/flexible_layout/flexible_dragger.gd", "res://addons/flexible_layout/flexible_dragger.tscn", "res://addons/flexible_layout/flexible_layout.gd", "res://addons/flexible_layout/flexible_layout.tscn", "res://addons/flexible_layout/flexible_overlay.gd", "res://addons/flexible_layout/flexible_overlay.tscn", "res://addons/flexible_layout/flexible_tab.gd", "res://addons/flexible_layout/flexible_tab.tscn", "res://addons/flexible_layout/flexible_tabs.gd", "res://addons/flexible_layout/flexible_tabs.tscn", "res://addons/flexible_layout/tab.svg", "res://addons/flexible_layout/undock.png", "res://addons/material_maker/engine/dependencies.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/logger.gd", "res://addons/material_maker/engine/multi_renderer.gd", "res://addons/material_maker/engine/nodes/buffer_compute.tres", "res://addons/material_maker/engine/nodes/gen_base.gd", "res://addons/material_maker/engine/nodes/gen_brush.gd", "res://addons/material_maker/engine/nodes/gen_buffer.gd", "res://addons/material_maker/engine/nodes/gen_comment.gd", "res://addons/material_maker/engine/nodes/gen_context.gd", "res://addons/material_maker/engine/nodes/gen_debug.gd", "res://addons/material_maker/engine/nodes/gen_export.gd", "res://addons/material_maker/engine/nodes/gen_graph.gd", "res://addons/material_maker/engine/nodes/gen_image.gd", "res://addons/material_maker/engine/nodes/gen_ios.gd", "res://addons/material_maker/engine/nodes/gen_iterate_buffer.gd", "res://addons/material_maker/engine/nodes/gen_material.gd", "res://addons/material_maker/engine/nodes/gen_meshmap.gd", "res://addons/material_maker/engine/nodes/gen_remote.gd", "res://addons/material_maker/engine/nodes/gen_reroute.gd", "res://addons/material_maker/engine/nodes/gen_sdf.gd", "res://addons/material_maker/engine/nodes/gen_shader.gd", "res://addons/material_maker/engine/nodes/gen_switch.gd", "res://addons/material_maker/engine/nodes/gen_text.gd", "res://addons/material_maker/engine/nodes/gen_texture.gd", "res://addons/material_maker/engine/nodes/gen_webcam.gd", "res://addons/material_maker/engine/nodes/iterate_buffer_compute.tres", "res://addons/material_maker/engine/paths.gd", "res://addons/material_maker/engine/pipeline/compute_shader.gd", "res://addons/material_maker/engine/pipeline/pipeline.gd", "res://addons/material_maker/engine/pipeline/rendering_pipeline.gd", "res://addons/material_maker/engine/pipeline/texture.gd", "res://addons/material_maker/engine/preprocessor.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/engine/shader_base.gd", "res://addons/material_maker/engine/shader_compute.gd", "res://addons/material_maker/engine/shader_error_handler.gd", "res://addons/material_maker/engine/shader_material.gd", "res://addons/material_maker/engine/text_resource.gd", "res://addons/material_maker/loaders/mesh_loader.gd", "res://addons/material_maker/loaders/obj_loader.gd", "res://addons/material_maker/map_generator/ao_fragment.tres", "res://addons/material_maker/map_generator/ao_vertex.tres", "res://addons/material_maker/map_generator/bvh_generator.gd", "res://addons/material_maker/map_generator/common_fragment.tres", "res://addons/material_maker/map_generator/curvature_generator.gd", "res://addons/material_maker/map_generator/curvature_vertex.tres", "res://addons/material_maker/map_generator/denoise_compute.tres", "res://addons/material_maker/map_generator/dilate_1_compute.tres", "res://addons/material_maker/map_generator/dilate_2_compute.tres", "res://addons/material_maker/map_generator/map_generator.gd", "res://addons/material_maker/map_generator/mesh_rendering_pipeline.gd", "res://addons/material_maker/map_generator/normal_fragment.tres", "res://addons/material_maker/map_generator/normal_vertex.tres", "res://addons/material_maker/map_generator/normalize_compute.tres", "res://addons/material_maker/map_generator/position_vertex.tres", "res://addons/material_maker/map_generator/seams_1_compute.tres", "res://addons/material_maker/map_generator/seams_2_compute.tres", "res://addons/material_maker/map_generator/tangent_vertex.tres", "res://addons/material_maker/parser/glsl_parser.gd", "res://addons/material_maker/parser/glsl_parser_base.gd", "res://addons/material_maker/parser/parser_base.gd", "res://addons/material_maker/sdf_builder/base.gd", "res://addons/material_maker/sdf_builder/icons/icons.svg", "res://addons/material_maker/sdf_builder/sdf2d/annular.gd", "res://addons/material_maker/sdf_builder/sdf2d/bend.gd", "res://addons/material_maker/sdf_builder/sdf2d/box.gd", "res://addons/material_maker/sdf_builder/sdf2d/circle.gd", "res://addons/material_maker/sdf_builder/sdf2d/color.gd", "res://addons/material_maker/sdf_builder/sdf2d/difference.gd", "res://addons/material_maker/sdf_builder/sdf2d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf2d/flip.gd", "res://addons/material_maker/sdf_builder/sdf2d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf2d/line.gd", "res://addons/material_maker/sdf_builder/sdf2d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf2d/morph.gd", "res://addons/material_maker/sdf_builder/sdf2d/ngon.gd", "res://addons/material_maker/sdf_builder/sdf2d/polygon.gd", "res://addons/material_maker/sdf_builder/sdf2d/round.gd", "res://addons/material_maker/sdf_builder/sdf2d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf2d/stairs.gd", "res://addons/material_maker/sdf_builder/sdf2d/star.gd", "res://addons/material_maker/sdf_builder/sdf2d/union.gd", "res://addons/material_maker/sdf_builder/sdf3d/annular.gd", "res://addons/material_maker/sdf_builder/sdf3d/bend.gd", "res://addons/material_maker/sdf_builder/sdf3d/box.gd", "res://addons/material_maker/sdf_builder/sdf3d/color.gd", "res://addons/material_maker/sdf_builder/sdf3d/cylinder.gd", "res://addons/material_maker/sdf_builder/sdf3d/difference.gd", "res://addons/material_maker/sdf_builder/sdf3d/distort.gd", "res://addons/material_maker/sdf_builder/sdf3d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf3d/extrusion.gd", "res://addons/material_maker/sdf_builder/sdf3d/flip.gd", "res://addons/material_maker/sdf_builder/sdf3d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf3d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf3d/morph.gd", "res://addons/material_maker/sdf_builder/sdf3d/revolution.gd", "res://addons/material_maker/sdf_builder/sdf3d/round.gd", "res://addons/material_maker/sdf_builder/sdf3d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf3d/sphere.gd", "res://addons/material_maker/sdf_builder/sdf3d/torus.gd", "res://addons/material_maker/sdf_builder/sdf3d/twist.gd", "res://addons/material_maker/sdf_builder/sdf3d/union.gd", "res://addons/material_maker/sdf_builder/sdf_builder.gd", "res://addons/material_maker/sdf_builder/sdf_builder.tscn", "res://addons/material_maker/sdf_builder/tex/blend.gd", "res://addons/material_maker/sdf_builder/tex/brightness_contrast.gd", "res://addons/material_maker/sdf_builder/tex/deform.gd", "res://addons/material_maker/sdf_builder/tex/fbm.gd", "res://addons/material_maker/sdf_builder/tex/pattern.gd", "res://addons/material_maker/sdf_builder/tex/simple_gradient.gd", "res://addons/material_maker/sdf_builder/tex/step.gd", "res://addons/material_maker/sdf_builder/tex/uniform.gd", "res://addons/material_maker/sdf_builder/tex/uniform_gs.gd", "res://addons/material_maker/shader_functions.tres", "res://addons/material_maker/types/curve.gd", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/lattice.gd", "res://addons/material_maker/types/pixels.gd", "res://addons/material_maker/types/polygon.gd", "res://addons/material_maker/types/splines.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/console.gd", "res://material_maker/darken.gd", "res://material_maker/darken.tscn", "res://material_maker/fonts/DroidSansFallback.ttf", "res://material_maker/fonts/DroidSansJapanese.ttf", "res://material_maker/fonts/hack.ttf", "res://material_maker/fonts/vegur_regular.otf", "res://material_maker/globals.gd", "res://material_maker/globals.tscn", "res://material_maker/globals_menu_manager.gd", "res://material_maker/icons/add.tres", "res://material_maker/icons/add_generic.tres", "res://material_maker/icons/buffer.tres", "res://material_maker/icons/buffer_paused.tres", "res://material_maker/icons/close.tres", "res://material_maker/icons/color_palette.png", "res://material_maker/icons/color_picker.png", "res://material_maker/icons/custom.png", "res://material_maker/icons/down.tres", "res://material_maker/icons/edit.tres", "res://material_maker/icons/eye_closed.tres", "res://material_maker/icons/eye_open.tres", "res://material_maker/icons/godot_logo.svg", "res://material_maker/icons/icons.gd", "res://material_maker/icons/icons.svg", "res://material_maker/icons/icons.tres", "res://material_maker/icons/link.tres", "res://material_maker/icons/lmb.tres", "res://material_maker/icons/minimize.tres", "res://material_maker/icons/mmb.tres", "res://material_maker/icons/ok.tres", "res://material_maker/icons/output_preview.tres", "res://material_maker/icons/paste_graph.tres", "res://material_maker/icons/paste_newgraph.tres", "res://material_maker/icons/paste_none.tres", "res://material_maker/icons/paste_palette.tres", "res://material_maker/icons/port_group_0.tres", "res://material_maker/icons/port_group_1.tres", "res://material_maker/icons/port_group_2.tres", "res://material_maker/icons/port_group_3.tres", "res://material_maker/icons/preview.png", "res://material_maker/icons/preview_locked.png", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/icons/rmb.tres", "res://material_maker/icons/up.tres", "res://material_maker/locale/locale.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/main_window_layout.gd", "res://material_maker/main_window_projects_panel.gd", "res://material_maker/meshes/suzanne.obj", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment/comment.gd", "res://material_maker/nodes/comment/comment.tscn", "res://material_maker/nodes/comment/palette_button.gd", "res://material_maker/nodes/debug/debug.gd", "res://material_maker/nodes/debug/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic/generic.gd", "res://material_maker/nodes/generic/generic.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/ios.gd", "res://material_maker/nodes/ios/ios.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/material_export/material_export.gd", "res://material_maker/nodes/material_export/material_export.tscn", "res://material_maker/nodes/minimal.gd", "res://material_maker/nodes/node_button.gd", "res://material_maker/nodes/node_button.tscn", "res://material_maker/nodes/remote/named_parameter_dialog.gd", "res://material_maker/nodes/remote/named_parameter_dialog.tscn", "res://material_maker/nodes/remote/remote.gd", "res://material_maker/nodes/remote/remote.tscn", "res://material_maker/nodes/reroute/reroute.gd", "res://material_maker/nodes/reroute/reroute.tscn", "res://material_maker/nodes/switch/switch.gd", "res://material_maker/nodes/switch/switch.tscn", "res://material_maker/nodes/tones/tones.gd", "res://material_maker/nodes/tones/tones.tscn", "res://material_maker/panel_container.gd", "res://material_maker/panels/brushes/brushes.gd", "res://material_maker/panels/brushes/brushes.tscn", "res://material_maker/panels/graph_edit/graph_edit.gd", "res://material_maker/panels/graph_edit/graph_edit.tscn", "res://material_maker/panels/hierarchy/hierarchy_panel.gd", "res://material_maker/panels/hierarchy/hierarchy_panel.tscn", "res://material_maker/panels/layers/add_layer_menu.tscn", "res://material_maker/panels/layers/icons/layer_mask.tres", "res://material_maker/panels/layers/icons/layer_paint.tres", "res://material_maker/panels/layers/icons/layer_proc.tres", "res://material_maker/panels/layers/icons/not_visible.tres", "res://material_maker/panels/layers/icons/visible.tres", "res://material_maker/panels/layers/layer_config_popup.gd", "res://material_maker/panels/layers/layer_config_popup.tscn", "res://material_maker/panels/layers/layer_tooltip.gd", "res://material_maker/panels/layers/layer_tooltip.tscn", "res://material_maker/panels/layers/layer_tooltip_thumbnail.gd", "res://material_maker/panels/layers/layer_tooltip_thumbnail.tscn", "res://material_maker/panels/layers/layers.gd", "res://material_maker/panels/layers/layers.tscn", "res://material_maker/panels/layers/layers_tree.gd", "res://material_maker/panels/library/button_greyed.tres", "res://material_maker/panels/library/create_lib_dialog.gd", "res://material_maker/panels/library/create_lib_dialog.tscn", "res://material_maker/panels/library/library.gd", "res://material_maker/panels/library/library.tscn", "res://material_maker/panels/library/library_tree.gd", "res://material_maker/panels/paint/collapse_button.gd", "res://material_maker/panels/paint/collapse_button.tscn", "res://material_maker/panels/paint/export.gd", "res://material_maker/panels/paint/export.tscn", "res://material_maker/panels/paint/layer_types/layer.gd", "res://material_maker/panels/paint/layer_types/layer_mask.gd", "res://material_maker/panels/paint/layer_types/layer_paint.gd", "res://material_maker/panels/paint/layer_types/layer_procedural.gd", "res://material_maker/panels/paint/paint.gd", "res://material_maker/panels/paint/paint.tscn", "res://material_maker/panels/paint/paint_layers.gd", "res://material_maker/panels/paint/paint_layers.tscn", "res://material_maker/panels/paint/paint_project_settings.gd", "res://material_maker/panels/paint/paint_project_settings.tscn", "res://material_maker/panels/parameters/parameters.gd", "res://material_maker/panels/parameters/parameters.tscn", "res://material_maker/panels/preview_2d/control_point.gd", "res://material_maker/panels/preview_2d/control_point.tscn", "res://material_maker/panels/preview_2d/custom_size_dialog.gd", "res://material_maker/panels/preview_2d/custom_size_dialog.tscn", "res://material_maker/panels/preview_2d/lines.gd", "res://material_maker/panels/preview_2d/preview_2d.gd", "res://material_maker/panels/preview_2d/preview_2d.tscn", "res://material_maker/panels/preview_2d/preview_2d_node.gd", "res://material_maker/panels/preview_2d/preview_2d_node.tscn", "res://material_maker/panels/preview_2d/preview_2d_panel.gd", "res://material_maker/panels/preview_2d/preview_2d_panel.tscn", "res://material_maker/panels/preview_3d/materials/shader_material_tesselated.tres", "res://material_maker/panels/preview_3d/materials/spatial_material.tres", "res://material_maker/panels/preview_3d/mesh_config_popup.gd", "res://material_maker/panels/preview_3d/mesh_config_popup.tscn", "res://material_maker/panels/preview_3d/preview_3d.gd", "res://material_maker/panels/preview_3d/preview_3d.tscn", "res://material_maker/panels/preview_3d/preview_3d_panel.gd", "res://material_maker/panels/preview_3d/preview_3d_panel.tscn", "res://material_maker/panels/preview_3d/preview_3d_scene.tscn", "res://material_maker/panels/preview_3d/preview_3d_ui.gd", "res://material_maker/panels/preview_3d/preview_3d_ui.tscn", "res://material_maker/panels/preview_3d/preview_light.gd", "res://material_maker/panels/preview_3d/preview_light.tscn", "res://material_maker/panels/preview_3d/preview_mesh.gd", "res://material_maker/panels/preview_3d/preview_objects.tscn", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cube.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Custom.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cylinder.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Plane.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Prism.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Sphere.png", "res://material_maker/panels/reference/color_slot.gd", "res://material_maker/panels/reference/color_slot.tscn", "res://material_maker/panels/reference/gradient_slot.gd", "res://material_maker/panels/reference/gradient_slot.tscn", "res://material_maker/panels/reference/reference_panel.gd", "res://material_maker/panels/reference/reference_panel.tscn", "res://material_maker/projects_panel.tscn", "res://material_maker/theme/birch.tres", "res://material_maker/theme/dark.tres", "res://material_maker/theme/dark/checkbox_checked.png", "res://material_maker/theme/dark/checkbox_radio_checked.png", "res://material_maker/theme/dark/checkbox_radio_unchecked.png", "res://material_maker/theme/dark/checkbox_unchecked.png", "res://material_maker/theme/dark/checkbutton_off.png", "res://material_maker/theme/dark/checkbutton_off_disabled.png", "res://material_maker/theme/dark/checkbutton_on.png", "res://material_maker/theme/dark/checkbutton_on_disabled.png", "res://material_maker/theme/dark/colorpickerbutton_bg.png", "res://material_maker/theme/dark/curve_preset_bevel.tres", "res://material_maker/theme/dark/curve_preset_bounce.tres", "res://material_maker/theme/dark/curve_preset_easein.tres", "res://material_maker/theme/dark/curve_preset_easeinout.tres", "res://material_maker/theme/dark/curve_preset_easeout.tres", "res://material_maker/theme/dark/curve_preset_linear.tres", "res://material_maker/theme/dark/curve_preset_sawtooth.tres", "res://material_maker/theme/dark/curve_presets.svg", "res://material_maker/theme/dark/graphedit_minus.png", "res://material_maker/theme/dark/graphedit_more.png", "res://material_maker/theme/dark/graphedit_reset.png", "res://material_maker/theme/dark/graphedit_snap.png", "res://material_maker/theme/dark/graphnode_close.png", "res://material_maker/theme/dark/graphnode_port.png", "res://material_maker/theme/dark/graphnode_resizer.png", "res://material_maker/theme/dark/hslider_grabber.png", "res://material_maker/theme/dark/hslider_grabber_disabled.png", "res://material_maker/theme/dark/hslider_grabber_highlight.png", "res://material_maker/theme/dark/hslider_tick.png", "res://material_maker/theme/dark/hsplitcontainer_grabber.png", "res://material_maker/theme/dark/lineedit_clear.png", "res://material_maker/theme/dark/optionbutton_arrow.png", "res://material_maker/theme/dark/popupmenu_checked.png", "res://material_maker/theme/dark/popupmenu_radio_checked.png", "res://material_maker/theme/dark/popupmenu_radio_unchecked.png", "res://material_maker/theme/dark/popupmenu_submenu.png", "res://material_maker/theme/dark/popupmenu_unchecked.png", "res://material_maker/theme/dark/popupmenu_visibility_hidden.png", "res://material_maker/theme/dark/popupmenu_visibility_visible.png", "res://material_maker/theme/dark/popupmenu_visibility_xray.png", "res://material_maker/theme/dark/sb_checkbox_focus_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_hslider_focus_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/sb_panel_panelf_texture.png", "res://material_maker/theme/dark/sb_panel_panelnc_texture.png", "res://material_maker/theme/dark/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/dark/sb_progressbar_bg_texture.png", "res://material_maker/theme/dark/sb_progressbar_fg_texture.png", "res://material_maker/theme/dark/sb_textedit_completion_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/tabcontainer_decrement.png", "res://material_maker/theme/dark/tabcontainer_decrement_highlight.png", "res://material_maker/theme/dark/tabcontainer_increment.png", "res://material_maker/theme/dark/tabcontainer_increment_highlight.png", "res://material_maker/theme/dark/tabcontainer_menu.png", "res://material_maker/theme/dark/tabcontainer_menu_highlight.png", "res://material_maker/theme/dark/tabs_close.png", "res://material_maker/theme/dark/tabs_decrement.png", "res://material_maker/theme/dark/tabs_decrement_highlight.png", "res://material_maker/theme/dark/tabs_increment.png", "res://material_maker/theme/dark/tabs_increment_highlight.png", "res://material_maker/theme/dark/textedit_fold.png", "res://material_maker/theme/dark/textedit_folded.png", "res://material_maker/theme/dark/textedit_space.png", "res://material_maker/theme/dark/textedit_tab.png", "res://material_maker/theme/dark/tree_arrow.png", "res://material_maker/theme/dark/tree_arrow_collapsed.png", "res://material_maker/theme/dark/tree_checked.png", "res://material_maker/theme/dark/tree_select_arrow.png", "res://material_maker/theme/dark/tree_unchecked.png", "res://material_maker/theme/dark/tree_updown.png", "res://material_maker/theme/dark/vslider_grabber.png", "res://material_maker/theme/dark/vslider_grabber_highlight.png", "res://material_maker/theme/dark/vsplitcontainer_grabber.png", "res://material_maker/theme/dark/windowdialog_close.png", "res://material_maker/theme/dark/windowdialog_close_highlight.png", "res://material_maker/theme/default.tres", "res://material_maker/theme/font.tres", "res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf", "res://material_maker/theme/green.tres", "res://material_maker/theme/light.tres", "res://material_maker/theme/light/checkbox_checked.png", "res://material_maker/theme/light/checkbox_radio_checked.png", "res://material_maker/theme/light/checkbox_radio_unchecked.png", "res://material_maker/theme/light/checkbox_unchecked.png", "res://material_maker/theme/light/checkbutton_off.png", "res://material_maker/theme/light/checkbutton_off_disabled.png", "res://material_maker/theme/light/checkbutton_on.png", "res://material_maker/theme/light/checkbutton_on_disabled.png", "res://material_maker/theme/light/colorpickerbutton_bg.png", "res://material_maker/theme/light/curve_preset_bevel.tres", "res://material_maker/theme/light/curve_preset_bounce.tres", "res://material_maker/theme/light/curve_preset_easein.tres", "res://material_maker/theme/light/curve_preset_easeinout.tres", "res://material_maker/theme/light/curve_preset_easeout.tres", "res://material_maker/theme/light/curve_preset_linear.tres", "res://material_maker/theme/light/curve_preset_sawtooth.tres", "res://material_maker/theme/light/curve_presets.svg", "res://material_maker/theme/light/graphedit_minus.png", "res://material_maker/theme/light/graphedit_more.png", "res://material_maker/theme/light/graphedit_reset.png", "res://material_maker/theme/light/graphedit_snap.png", "res://material_maker/theme/light/graphnode_close.png", "res://material_maker/theme/light/graphnode_port.png", "res://material_maker/theme/light/graphnode_resizer.png", "res://material_maker/theme/light/hslider_grabber.png", "res://material_maker/theme/light/hslider_grabber_disabled.png", "res://material_maker/theme/light/hslider_grabber_highlight.png", "res://material_maker/theme/light/hslider_tick.png", "res://material_maker/theme/light/hsplitcontainer_grabber.png", "res://material_maker/theme/light/lineedit_clear.png", "res://material_maker/theme/light/optionbutton_arrow.png", "res://material_maker/theme/light/popupmenu_checked.png", "res://material_maker/theme/light/popupmenu_radio_checked.png", "res://material_maker/theme/light/popupmenu_radio_unchecked.png", "res://material_maker/theme/light/popupmenu_submenu.png", "res://material_maker/theme/light/popupmenu_unchecked.png", "res://material_maker/theme/light/popupmenu_visibility_hidden.png", "res://material_maker/theme/light/popupmenu_visibility_visible.png", "res://material_maker/theme/light/popupmenu_visibility_xray.png", "res://material_maker/theme/light/sb_checkbox_focus_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_hslider_focus_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/light/sb_panel_panelf_texture.png", "res://material_maker/theme/light/sb_panel_panelnc_texture.png", "res://material_maker/theme/light/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/light/sb_progressbar_bg_texture.png", "res://material_maker/theme/light/sb_progressbar_fg_texture.png", "res://material_maker/theme/light/sb_textedit_completion_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/light/tabcontainer_decrement.png", "res://material_maker/theme/light/tabcontainer_decrement_highlight.png", "res://material_maker/theme/light/tabcontainer_increment.png", "res://material_maker/theme/light/tabcontainer_increment_highlight.png", "res://material_maker/theme/light/tabcontainer_menu.png", "res://material_maker/theme/light/tabcontainer_menu_highlight.png", "res://material_maker/theme/light/tabs_close.png", "res://material_maker/theme/light/tabs_decrement.png", "res://material_maker/theme/light/tabs_decrement_highlight.png", "res://material_maker/theme/light/tabs_increment.png", "res://material_maker/theme/light/tabs_increment_highlight.png", "res://material_maker/theme/light/textedit_fold.png", "res://material_maker/theme/light/textedit_folded.png", "res://material_maker/theme/light/textedit_space.png", "res://material_maker/theme/light/textedit_tab.png", "res://material_maker/theme/light/tree_arrow.png", "res://material_maker/theme/light/tree_arrow_collapsed.png", "res://material_maker/theme/light/tree_checked.png", "res://material_maker/theme/light/tree_select_arrow.png", "res://material_maker/theme/light/tree_unchecked.png", "res://material_maker/theme/light/tree_updown.png", "res://material_maker/theme/light/vslider_grabber.png", "res://material_maker/theme/light/vslider_grabber_highlight.png", "res://material_maker/theme/light/vsplitcontainer_grabber.png", "res://material_maker/theme/light/windowdialog_close.png", "res://material_maker/theme/light/windowdialog_close_highlight.png", "res://material_maker/theme/mangosteen.tres", "res://material_maker/theme/modern.tres", "res://material_maker/tools/environment_manager/environment_manager.gd", "res://material_maker/tools/environment_manager/environment_manager.tscn", "res://material_maker/tools/library_manager/library.gd", "res://material_maker/tools/library_manager/library_manager.gd", "res://material_maker/tools/map_renderer/map_renderer.gd", "res://material_maker/tools/map_renderer/map_renderer.tscn", "res://material_maker/tools/painter/brush_preview.gd", "res://material_maker/tools/painter/brush_preview.tscn", "res://material_maker/tools/painter/painter.gd", "res://material_maker/tools/painter/painter.tscn", "res://material_maker/tools/painter/painter_viewport.gd", "res://material_maker/tools/painter/painter_viewport.tscn", "res://material_maker/tools/painter/shaders/brush.gdshader", "res://material_maker/tools/painter/shaders/brush_common_decl.gdshader", "res://material_maker/tools/painter/shaders/brush_pattern.gdshader", "res://material_maker/tools/painter/shaders/brush_stamp.gdshader", "res://material_maker/tools/painter/shaders/brush_uv_pattern.gdshader", "res://material_maker/tools/painter/shaders/init.tres", "res://material_maker/tools/painter/shaders/init_channels.tres", "res://material_maker/tools/painter/shaders/init_copy_shader.tres", "res://material_maker/tools/painter/shaders/paint_shader_template.tres", "res://material_maker/tools/painter/shaders/t2v_fragment.tres", "res://material_maker/tools/painter/shaders/t2v_vertex.tres", "res://material_maker/tools/painter/shaders/v2t_fragment.tres", "res://material_maker/tools/painter/shaders/v2t_vertex.tres", "res://material_maker/tools/share/broken_link.tres", "res://material_maker/tools/share/golden_link.tres", "res://material_maker/tools/share/hdri/kloofendal_48d_partly_cloudy_1k.exr", "res://material_maker/tools/share/link.tres", "res://material_maker/tools/share/login_dialog.gd", "res://material_maker/tools/share/login_dialog.tscn", "res://material_maker/tools/share/preview_scene.tscn", "res://material_maker/tools/share/preview_scene_viewer.tscn", "res://material_maker/tools/share/preview_viewport.gd", "res://material_maker/tools/share/preview_viewport.tscn", "res://material_maker/tools/share/share_button.gd", "res://material_maker/tools/share/share_button.tscn", "res://material_maker/tools/share/share_http_request.gd", "res://material_maker/tools/share/share_node_dialog.gd", "res://material_maker/tools/share/share_node_dialog.tscn", "res://material_maker/tools/share/upload_dialog.gd", "res://material_maker/tools/share/upload_dialog.tscn", "res://material_maker/tools/undo_redo/undo_redo.gd", "res://material_maker/widgets/code_editor/code_editor.gd", "res://material_maker/widgets/code_editor/code_editor.tscn", "res://material_maker/widgets/color_picker_button/color_picker_button.gd", "res://material_maker/widgets/color_picker_popup/color_picker_popup.tscn", "res://material_maker/widgets/curve_edit/control_point.gd", "res://material_maker/widgets/curve_edit/control_point.tscn", "res://material_maker/widgets/curve_edit/curve_dialog.gd", "res://material_maker/widgets/curve_edit/curve_dialog.tscn", "res://material_maker/widgets/curve_edit/curve_edit.gd", "res://material_maker/widgets/curve_edit/curve_edit.tscn", "res://material_maker/widgets/curve_edit/curve_editor.gd", "res://material_maker/widgets/curve_edit/curve_editor.tscn", "res://material_maker/widgets/curve_edit/curve_view.gd", "res://material_maker/widgets/curve_edit/curve_view.tscn", "res://material_maker/widgets/curve_edit/presets_selector.gd", "res://material_maker/widgets/curve_edit/slope_point.gd", "res://material_maker/widgets/desc_button/desc_button.gd", "res://material_maker/widgets/desc_button/desc_button.tscn", "res://material_maker/widgets/file_picker_button/file_picker_button.gd", "res://material_maker/widgets/file_picker_button/file_picker_button.tscn", "res://material_maker/widgets/float_edit/expression_editor.gd", "res://material_maker/widgets/float_edit/expression_editor.tscn", "res://material_maker/widgets/float_edit/float_edit.gd", "res://material_maker/widgets/float_edit/float_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit.gd", "res://material_maker/widgets/gradient_editor/gradient_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.gd", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.tscn", "res://material_maker/widgets/gradient_editor/gradient_popup.gd", "res://material_maker/widgets/gradient_editor/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/histogram/histogram.gd", "res://material_maker/widgets/histogram/histogram.tscn", "res://material_maker/widgets/image_picker_button/image_picker_button.gd", "res://material_maker/widgets/image_picker_button/image_picker_button.tscn", "res://material_maker/widgets/lattice_edit/lattice_dialog.gd", "res://material_maker/widgets/lattice_edit/lattice_dialog.tscn", "res://material_maker/widgets/lattice_edit/lattice_edit.gd", "res://material_maker/widgets/lattice_edit/lattice_edit.tscn", "res://material_maker/widgets/lattice_edit/lattice_editor.gd", "res://material_maker/widgets/lattice_edit/lattice_editor.tscn", "res://material_maker/widgets/lattice_edit/lattice_view.gd", "res://material_maker/widgets/lattice_edit/lattice_view.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.tscn", "res://material_maker/widgets/pixels_edit/pixels_edit.gd", "res://material_maker/widgets/pixels_edit/pixels_edit.tscn", "res://material_maker/widgets/pixels_edit/pixels_editor.gd", "res://material_maker/widgets/pixels_edit/pixels_editor.tscn", "res://material_maker/widgets/pixels_edit/pixels_view.gd", "res://material_maker/widgets/pixels_edit/pixels_view.tscn", "res://material_maker/widgets/polygon_edit/control_point.gd", "res://material_maker/widgets/polygon_edit/control_point.tscn", "res://material_maker/widgets/polygon_edit/polygon_dialog.gd", "res://material_maker/widgets/polygon_edit/polygon_dialog.tscn", "res://material_maker/widgets/polygon_edit/polygon_edit.gd", "res://material_maker/widgets/polygon_edit/polygon_edit.tscn", "res://material_maker/widgets/polygon_edit/polygon_editor.gd", "res://material_maker/widgets/polygon_edit/polygon_editor.tscn", "res://material_maker/widgets/polygon_edit/polygon_view.gd", "res://material_maker/widgets/polygon_edit/polygon_view.tscn", "res://material_maker/widgets/port_group_button/port_group_button.gd", "res://material_maker/widgets/port_group_button/port_group_button.tscn", "res://material_maker/widgets/render_counter/render_counter.gd", "res://material_maker/widgets/render_counter/render_counter.tscn", "res://material_maker/widgets/size_option_button/size_option_button.gd", "res://material_maker/widgets/splines_edit/splines_dialog.gd", "res://material_maker/widgets/splines_edit/splines_dialog.tscn", "res://material_maker/widgets/splines_edit/splines_edit.gd", "res://material_maker/widgets/splines_edit/splines_edit.tscn", "res://material_maker/widgets/splines_edit/splines_editor.gd", "res://material_maker/widgets/splines_edit/splines_editor.tscn", "res://material_maker/widgets/splines_edit/splines_view.gd", "res://material_maker/widgets/splines_edit/splines_view.tscn", "res://material_maker/widgets/tabs/tabs.gd", "res://material_maker/windows/about/about.gd", "res://material_maker/windows/about/about.tscn", "res://material_maker/windows/about/discord.png", "res://material_maker/windows/about/epic_megagrant.svg", "res://material_maker/windows/about/facebook.png", "res://material_maker/windows/about/github.png", "res://material_maker/windows/about/icon.png", "res://material_maker/windows/about/itchio.png", "res://material_maker/windows/about/patreon.png", "res://material_maker/windows/about/twitter.png", "res://material_maker/windows/about/youtube.png", "res://material_maker/windows/accept_dialog/accept_dialog.gd", "res://material_maker/windows/accept_dialog/accept_dialog.tscn", "res://material_maker/windows/add_node_popup/add_node_popup.gd", "res://material_maker/windows/add_node_popup/add_node_popup.tscn", "res://material_maker/windows/add_node_popup/quick_button.gd", "res://material_maker/windows/add_node_popup/quick_button.tscn", "res://material_maker/windows/desc_dialog/desc_dialog.gd", "res://material_maker/windows/desc_dialog/desc_dialog.tscn", "res://material_maker/windows/environment_editor/environment_editor.gd", "res://material_maker/windows/environment_editor/environment_editor.tscn", "res://material_maker/windows/environment_editor/environment_editor_scene.tscn", "res://material_maker/windows/environment_editor/environment_editor_viewport.tscn", "res://material_maker/windows/environment_editor/new_environment.png", "res://material_maker/windows/export_animation/export_animation.gd", "res://material_maker/windows/export_animation/export_animation.tscn", "res://material_maker/windows/export_taa/accumulate_compute.tres", "res://material_maker/windows/export_taa/divide_compute.tres", "res://material_maker/windows/export_taa/export_taa.gd", "res://material_maker/windows/export_taa/export_taa.tscn", "res://material_maker/windows/file_dialog/fav_button.tscn", "res://material_maker/windows/file_dialog/file_dialog.gd", "res://material_maker/windows/file_dialog/file_dialog.tscn", "res://material_maker/windows/file_dialog/left_panel.gd", "res://material_maker/windows/file_dialog/left_panel.tscn", "res://material_maker/windows/line_dialog/line_dialog.gd", "res://material_maker/windows/line_dialog/line_dialog.tscn", "res://material_maker/windows/load_from_website/load_from_website.gd", "res://material_maker/windows/load_from_website/load_from_website.tscn", "res://material_maker/windows/material_editor/export_editor.gd", "res://material_maker/windows/material_editor/export_editor.tscn", "res://material_maker/windows/material_editor/expression_line_edit.gd", "res://material_maker/windows/material_editor/expression_line_edit.tscn", "res://material_maker/windows/material_editor/material_editor.gd", "res://material_maker/windows/material_editor/material_editor.tscn", "res://material_maker/windows/new_painter/new_painter.gd", "res://material_maker/windows/new_painter/new_painter.tscn", "res://material_maker/windows/node_editor/enum_editor.gd", "res://material_maker/windows/node_editor/enum_editor.tscn", "res://material_maker/windows/node_editor/input.gd", "res://material_maker/windows/node_editor/input.tscn", "res://material_maker/windows/node_editor/node_editor.gd", "res://material_maker/windows/node_editor/node_editor.tscn", "res://material_maker/windows/node_editor/node_editor_item_list.gd", "res://material_maker/windows/node_editor/output.gd", "res://material_maker/windows/node_editor/output.tscn", "res://material_maker/windows/node_editor/parameter.gd", "res://material_maker/windows/node_editor/parameter.tscn", "res://material_maker/windows/node_editor/parameter_boolean.gd", "res://material_maker/windows/node_editor/parameter_boolean.tscn", "res://material_maker/windows/node_editor/parameter_color.gd", "res://material_maker/windows/node_editor/parameter_color.tscn", "res://material_maker/windows/node_editor/parameter_curve.gd", "res://material_maker/windows/node_editor/parameter_curve.tscn", "res://material_maker/windows/node_editor/parameter_enum.gd", "res://material_maker/windows/node_editor/parameter_enum.tscn", "res://material_maker/windows/node_editor/parameter_float.gd", "res://material_maker/windows/node_editor/parameter_float.tscn", "res://material_maker/windows/node_editor/parameter_gradient.gd", "res://material_maker/windows/node_editor/parameter_gradient.tscn", "res://material_maker/windows/node_editor/parameter_lattice.gd", "res://material_maker/windows/node_editor/parameter_lattice.tscn", "res://material_maker/windows/node_editor/parameter_pixels.gd", "res://material_maker/windows/node_editor/parameter_pixels.tscn", "res://material_maker/windows/node_editor/parameter_polygon.gd", "res://material_maker/windows/node_editor/parameter_polygon.tscn", "res://material_maker/windows/node_editor/parameter_polyline.tscn", "res://material_maker/windows/node_editor/parameter_size.gd", "res://material_maker/windows/node_editor/parameter_size.tscn", "res://material_maker/windows/node_editor/parameter_splines.gd", "res://material_maker/windows/node_editor/parameter_splines.tscn", "res://material_maker/windows/preferences/bool_option.gd", "res://material_maker/windows/preferences/bool_option.tscn", "res://material_maker/windows/preferences/float_option.gd", "res://material_maker/windows/preferences/float_option.tscn", "res://material_maker/windows/preferences/lang_option.gd", "res://material_maker/windows/preferences/language_download.gd", "res://material_maker/windows/preferences/language_download.tscn", "res://material_maker/windows/preferences/preferences.gd", "res://material_maker/windows/preferences/preferences.tscn", "res://material_maker/windows/progress_window/progress_window.gd", "res://material_maker/windows/progress_window/progress_window.tscn", "res://material_maker/windows/sdf_builder/gizmo.gd", "res://material_maker/windows/sdf_builder/gizmo.gdshader", "res://material_maker/windows/sdf_builder/gizmo.tscn", "res://material_maker/windows/sdf_builder/gizmo_arrow.gd", "res://material_maker/windows/sdf_builder/gizmo_arrow.tscn", "res://material_maker/windows/sdf_builder/preview_2d.gd", "res://material_maker/windows/sdf_builder/preview_2d.gdshader", "res://material_maker/windows/sdf_builder/preview_2d.tscn", "res://material_maker/windows/sdf_builder/preview_3d.gd", "res://material_maker/windows/sdf_builder/preview_3d.gdshader", "res://material_maker/windows/sdf_builder/preview_3d.tscn", "res://material_maker/windows/sdf_builder/sdf_builder.gd", "res://material_maker/windows/sdf_builder/sdf_builder.tscn", "res://material_maker/windows/sdf_builder/sdf_builder_tree.gd", "res://parse_args.gd", "res://parse_args.tscn", "res://splash_screen/arrow.png", "res://splash_screen/backgrounds/angel_beanbag_chair.png", "res://splash_screen/backgrounds/angel_soft_nurball.png", "res://splash_screen/backgrounds/cgmytro_old_doors.png", "res://splash_screen/backgrounds/cybereality_brutalism.png", "res://splash_screen/backgrounds/cybereality_dirty_tiles.png", "res://splash_screen/backgrounds/cybereality_future_visions.png", "res://splash_screen/backgrounds/droppedbeat_matrix_rain.tres", "res://splash_screen/backgrounds/droppedbeat_procedural_material.png", "res://splash_screen/backgrounds/droppedbeat_spiral_trails.tres", "res://splash_screen/backgrounds/droppedbeat_vending_machines.png", "res://splash_screen/backgrounds/oneiric_worlds_zefyr.png", "res://splash_screen/backgrounds/paulo_falcao_fractal_octahedron.tres", "res://splash_screen/backgrounds/paulo_falcao_green_thing.png", "res://splash_screen/backgrounds/paulo_falcao_terminator_ball.tres", "res://splash_screen/backgrounds/pavel_oliva_carved_wood.png", "res://splash_screen/backgrounds/pavel_oliva_celestial_floor.png", "res://splash_screen/backgrounds/pavel_oliva_cursed_planks.png", "res://splash_screen/backgrounds/pavel_oliva_flowing_lava.png", "res://splash_screen/backgrounds/pavel_oliva_lace.png", "res://splash_screen/backgrounds/pavel_oliva_pavement_generator.png", "res://splash_screen/backgrounds/pavel_oliva_stylized_pavement.png", "res://splash_screen/backgrounds/pavel_oliva_treasures.png", "res://splash_screen/backgrounds/pavel_oliva_vintage_luggage.png", "res://splash_screen/backgrounds/pixelmuncher_golden_tiles.png", "res://splash_screen/rodz_labs_logo.png", "res://splash_screen/splash_screen.gd", "res://splash_screen/splash_screen.gdshader", "res://splash_screen/splash_screen.tscn", "res://splash_screen/splash_screen_bottom.gdshader", "res://splash_screen/splash_title.png", "res://start.gd", "res://start.tscn", "res://material_maker/panels/common/menu_bar_button_with_panel.gd", "res://material_maker/panels/preview_2d/export_menu.gd", "res://material_maker/panels/preview_2d/two_icon_toggle_button.gd", "res://material_maker/panels/preview_2d/view_menu.gd", "res://material_maker/theme/enhanced_theme_system/enhanced_theme.gd", "res://material_maker/theme/enhanced_theme_system/color_swap.gd", "res://material_maker/theme/new_theme_icons.png", "res://material_maker/theme/new_theme_icons.svg", "res://material_maker/theme/new_theme_icons_clean.svg", "res://material_maker/widgets/option_edit/option_edit.gd", "res://material_maker/widgets/option_edit/option_edit.tscn", "res://material_maker/widgets/pixels_edit/settings_panel.gd", "res://material_maker/widgets/button_with_icon.gd") +export_files=PackedStringArray("res://addons/flexible_layout/arrow.svg", "res://addons/flexible_layout/flexible_dragger.gd", "res://addons/flexible_layout/flexible_dragger.tscn", "res://addons/flexible_layout/flexible_layout.gd", "res://addons/flexible_layout/flexible_layout.tscn", "res://addons/flexible_layout/flexible_overlay.gd", "res://addons/flexible_layout/flexible_overlay.tscn", "res://addons/flexible_layout/flexible_tab.gd", "res://addons/flexible_layout/flexible_tab.tscn", "res://addons/flexible_layout/flexible_tabs.gd", "res://addons/flexible_layout/flexible_tabs.tscn", "res://addons/flexible_layout/tab.svg", "res://addons/flexible_layout/undock.png", "res://addons/material_maker/engine/dependencies.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/logger.gd", "res://addons/material_maker/engine/multi_renderer.gd", "res://addons/material_maker/engine/nodes/buffer_compute.tres", "res://addons/material_maker/engine/nodes/gen_base.gd", "res://addons/material_maker/engine/nodes/gen_brush.gd", "res://addons/material_maker/engine/nodes/gen_buffer.gd", "res://addons/material_maker/engine/nodes/gen_comment.gd", "res://addons/material_maker/engine/nodes/gen_context.gd", "res://addons/material_maker/engine/nodes/gen_debug.gd", "res://addons/material_maker/engine/nodes/gen_export.gd", "res://addons/material_maker/engine/nodes/gen_graph.gd", "res://addons/material_maker/engine/nodes/gen_image.gd", "res://addons/material_maker/engine/nodes/gen_ios.gd", "res://addons/material_maker/engine/nodes/gen_iterate_buffer.gd", "res://addons/material_maker/engine/nodes/gen_material.gd", "res://addons/material_maker/engine/nodes/gen_meshmap.gd", "res://addons/material_maker/engine/nodes/gen_remote.gd", "res://addons/material_maker/engine/nodes/gen_reroute.gd", "res://addons/material_maker/engine/nodes/gen_sdf.gd", "res://addons/material_maker/engine/nodes/gen_shader.gd", "res://addons/material_maker/engine/nodes/gen_switch.gd", "res://addons/material_maker/engine/nodes/gen_text.gd", "res://addons/material_maker/engine/nodes/gen_texture.gd", "res://addons/material_maker/engine/nodes/gen_webcam.gd", "res://addons/material_maker/engine/nodes/iterate_buffer_compute.tres", "res://addons/material_maker/engine/paths.gd", "res://addons/material_maker/engine/pipeline/compute_shader.gd", "res://addons/material_maker/engine/pipeline/pipeline.gd", "res://addons/material_maker/engine/pipeline/rendering_pipeline.gd", "res://addons/material_maker/engine/pipeline/texture.gd", "res://addons/material_maker/engine/preprocessor.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/engine/shader_base.gd", "res://addons/material_maker/engine/shader_compute.gd", "res://addons/material_maker/engine/shader_error_handler.gd", "res://addons/material_maker/engine/shader_material.gd", "res://addons/material_maker/engine/text_resource.gd", "res://addons/material_maker/loaders/mesh_loader.gd", "res://addons/material_maker/loaders/obj_loader.gd", "res://addons/material_maker/map_generator/ao_fragment.tres", "res://addons/material_maker/map_generator/ao_vertex.tres", "res://addons/material_maker/map_generator/bvh_generator.gd", "res://addons/material_maker/map_generator/common_fragment.tres", "res://addons/material_maker/map_generator/curvature_generator.gd", "res://addons/material_maker/map_generator/curvature_vertex.tres", "res://addons/material_maker/map_generator/denoise_compute.tres", "res://addons/material_maker/map_generator/dilate_1_compute.tres", "res://addons/material_maker/map_generator/dilate_2_compute.tres", "res://addons/material_maker/map_generator/map_generator.gd", "res://addons/material_maker/map_generator/mesh_rendering_pipeline.gd", "res://addons/material_maker/map_generator/normal_fragment.tres", "res://addons/material_maker/map_generator/normal_vertex.tres", "res://addons/material_maker/map_generator/normalize_compute.tres", "res://addons/material_maker/map_generator/position_vertex.tres", "res://addons/material_maker/map_generator/seams_1_compute.tres", "res://addons/material_maker/map_generator/seams_2_compute.tres", "res://addons/material_maker/map_generator/tangent_vertex.tres", "res://addons/material_maker/parser/glsl_parser.gd", "res://addons/material_maker/parser/glsl_parser_base.gd", "res://addons/material_maker/parser/parser_base.gd", "res://addons/material_maker/sdf_builder/base.gd", "res://addons/material_maker/sdf_builder/icons/icons.svg", "res://addons/material_maker/sdf_builder/sdf2d/annular.gd", "res://addons/material_maker/sdf_builder/sdf2d/bend.gd", "res://addons/material_maker/sdf_builder/sdf2d/box.gd", "res://addons/material_maker/sdf_builder/sdf2d/circle.gd", "res://addons/material_maker/sdf_builder/sdf2d/color.gd", "res://addons/material_maker/sdf_builder/sdf2d/difference.gd", "res://addons/material_maker/sdf_builder/sdf2d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf2d/flip.gd", "res://addons/material_maker/sdf_builder/sdf2d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf2d/line.gd", "res://addons/material_maker/sdf_builder/sdf2d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf2d/morph.gd", "res://addons/material_maker/sdf_builder/sdf2d/ngon.gd", "res://addons/material_maker/sdf_builder/sdf2d/polygon.gd", "res://addons/material_maker/sdf_builder/sdf2d/round.gd", "res://addons/material_maker/sdf_builder/sdf2d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf2d/stairs.gd", "res://addons/material_maker/sdf_builder/sdf2d/star.gd", "res://addons/material_maker/sdf_builder/sdf2d/union.gd", "res://addons/material_maker/sdf_builder/sdf3d/annular.gd", "res://addons/material_maker/sdf_builder/sdf3d/bend.gd", "res://addons/material_maker/sdf_builder/sdf3d/box.gd", "res://addons/material_maker/sdf_builder/sdf3d/color.gd", "res://addons/material_maker/sdf_builder/sdf3d/cylinder.gd", "res://addons/material_maker/sdf_builder/sdf3d/difference.gd", "res://addons/material_maker/sdf_builder/sdf3d/distort.gd", "res://addons/material_maker/sdf_builder/sdf3d/elongate.gd", "res://addons/material_maker/sdf_builder/sdf3d/extrusion.gd", "res://addons/material_maker/sdf_builder/sdf3d/flip.gd", "res://addons/material_maker/sdf_builder/sdf3d/intersection.gd", "res://addons/material_maker/sdf_builder/sdf3d/mirror.gd", "res://addons/material_maker/sdf_builder/sdf3d/morph.gd", "res://addons/material_maker/sdf_builder/sdf3d/revolution.gd", "res://addons/material_maker/sdf_builder/sdf3d/round.gd", "res://addons/material_maker/sdf_builder/sdf3d/smooth_union.gd", "res://addons/material_maker/sdf_builder/sdf3d/sphere.gd", "res://addons/material_maker/sdf_builder/sdf3d/torus.gd", "res://addons/material_maker/sdf_builder/sdf3d/twist.gd", "res://addons/material_maker/sdf_builder/sdf3d/union.gd", "res://addons/material_maker/sdf_builder/sdf_builder.gd", "res://addons/material_maker/sdf_builder/sdf_builder.tscn", "res://addons/material_maker/sdf_builder/tex/blend.gd", "res://addons/material_maker/sdf_builder/tex/brightness_contrast.gd", "res://addons/material_maker/sdf_builder/tex/deform.gd", "res://addons/material_maker/sdf_builder/tex/fbm.gd", "res://addons/material_maker/sdf_builder/tex/pattern.gd", "res://addons/material_maker/sdf_builder/tex/simple_gradient.gd", "res://addons/material_maker/sdf_builder/tex/step.gd", "res://addons/material_maker/sdf_builder/tex/uniform.gd", "res://addons/material_maker/sdf_builder/tex/uniform_gs.gd", "res://addons/material_maker/shader_functions.tres", "res://addons/material_maker/types/curve.gd", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/lattice.gd", "res://addons/material_maker/types/pixels.gd", "res://addons/material_maker/types/polygon.gd", "res://addons/material_maker/types/splines.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/console.gd", "res://material_maker/darken.gd", "res://material_maker/darken.tscn", "res://material_maker/fonts/DroidSansFallback.ttf", "res://material_maker/fonts/DroidSansJapanese.ttf", "res://material_maker/fonts/hack.ttf", "res://material_maker/fonts/vegur_regular.otf", "res://material_maker/globals.gd", "res://material_maker/globals.tscn", "res://material_maker/globals_menu_manager.gd", "res://material_maker/icons/add.tres", "res://material_maker/icons/add_generic.tres", "res://material_maker/icons/buffer.tres", "res://material_maker/icons/buffer_paused.tres", "res://material_maker/icons/close.tres", "res://material_maker/icons/color_palette.png", "res://material_maker/icons/color_picker.png", "res://material_maker/icons/custom.png", "res://material_maker/icons/down.tres", "res://material_maker/icons/edit.tres", "res://material_maker/icons/eye_closed.tres", "res://material_maker/icons/eye_open.tres", "res://material_maker/icons/godot_logo.svg", "res://material_maker/icons/icons.gd", "res://material_maker/icons/icons.svg", "res://material_maker/icons/icons.tres", "res://material_maker/icons/link.tres", "res://material_maker/icons/lmb.tres", "res://material_maker/icons/minimize.tres", "res://material_maker/icons/mmb.tres", "res://material_maker/icons/ok.tres", "res://material_maker/icons/output_preview.tres", "res://material_maker/icons/paste_graph.tres", "res://material_maker/icons/paste_newgraph.tres", "res://material_maker/icons/paste_none.tres", "res://material_maker/icons/paste_palette.tres", "res://material_maker/icons/port_group_0.tres", "res://material_maker/icons/port_group_1.tres", "res://material_maker/icons/port_group_2.tres", "res://material_maker/icons/port_group_3.tres", "res://material_maker/icons/preview.png", "res://material_maker/icons/preview_locked.png", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/icons/rmb.tres", "res://material_maker/icons/up.tres", "res://material_maker/locale/locale.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/main_window_layout.gd", "res://material_maker/main_window_projects_panel.gd", "res://material_maker/meshes/suzanne.obj", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment/comment.gd", "res://material_maker/nodes/comment/comment.tscn", "res://material_maker/nodes/comment/palette_button.gd", "res://material_maker/nodes/debug/debug.gd", "res://material_maker/nodes/debug/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic/generic.gd", "res://material_maker/nodes/generic/generic.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/ios.gd", "res://material_maker/nodes/ios/ios.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/material_export/material_export.gd", "res://material_maker/nodes/material_export/material_export.tscn", "res://material_maker/nodes/minimal.gd", "res://material_maker/nodes/node_button.gd", "res://material_maker/nodes/node_button.tscn", "res://material_maker/nodes/remote/named_parameter_dialog.gd", "res://material_maker/nodes/remote/named_parameter_dialog.tscn", "res://material_maker/nodes/remote/remote.gd", "res://material_maker/nodes/remote/remote.tscn", "res://material_maker/nodes/reroute/reroute.gd", "res://material_maker/nodes/reroute/reroute.tscn", "res://material_maker/nodes/switch/switch.gd", "res://material_maker/nodes/switch/switch.tscn", "res://material_maker/nodes/tones/tones.gd", "res://material_maker/nodes/tones/tones.tscn", "res://material_maker/panel_container.gd", "res://material_maker/panels/brushes/brushes.gd", "res://material_maker/panels/brushes/brushes.tscn", "res://material_maker/panels/graph_edit/graph_edit.gd", "res://material_maker/panels/graph_edit/graph_edit.tscn", "res://material_maker/panels/hierarchy/hierarchy_panel.gd", "res://material_maker/panels/hierarchy/hierarchy_panel.tscn", "res://material_maker/panels/layers/add_layer_menu.tscn", "res://material_maker/panels/layers/icons/layer_mask.tres", "res://material_maker/panels/layers/icons/layer_paint.tres", "res://material_maker/panels/layers/icons/layer_proc.tres", "res://material_maker/panels/layers/icons/not_visible.tres", "res://material_maker/panels/layers/icons/visible.tres", "res://material_maker/panels/layers/layer_config_popup.gd", "res://material_maker/panels/layers/layer_config_popup.tscn", "res://material_maker/panels/layers/layer_tooltip.gd", "res://material_maker/panels/layers/layer_tooltip.tscn", "res://material_maker/panels/layers/layer_tooltip_thumbnail.gd", "res://material_maker/panels/layers/layer_tooltip_thumbnail.tscn", "res://material_maker/panels/layers/layers.gd", "res://material_maker/panels/layers/layers.tscn", "res://material_maker/panels/layers/layers_tree.gd", "res://material_maker/panels/library/button_greyed.tres", "res://material_maker/panels/library/create_lib_dialog.gd", "res://material_maker/panels/library/create_lib_dialog.tscn", "res://material_maker/panels/library/library.gd", "res://material_maker/panels/library/library.tscn", "res://material_maker/panels/library/library_tree.gd", "res://material_maker/panels/paint/collapse_button.gd", "res://material_maker/panels/paint/collapse_button.tscn", "res://material_maker/panels/paint/export.gd", "res://material_maker/panels/paint/export.tscn", "res://material_maker/panels/paint/layer_types/layer.gd", "res://material_maker/panels/paint/layer_types/layer_mask.gd", "res://material_maker/panels/paint/layer_types/layer_paint.gd", "res://material_maker/panels/paint/layer_types/layer_procedural.gd", "res://material_maker/panels/paint/paint.gd", "res://material_maker/panels/paint/paint.tscn", "res://material_maker/panels/paint/paint_layers.gd", "res://material_maker/panels/paint/paint_layers.tscn", "res://material_maker/panels/paint/paint_project_settings.gd", "res://material_maker/panels/paint/paint_project_settings.tscn", "res://material_maker/panels/parameters/parameters.gd", "res://material_maker/panels/parameters/parameters.tscn", "res://material_maker/panels/preview_2d/control_point.gd", "res://material_maker/panels/preview_2d/control_point.tscn", "res://material_maker/panels/preview_2d/custom_size_dialog.gd", "res://material_maker/panels/preview_2d/custom_size_dialog.tscn", "res://material_maker/panels/preview_2d/lines.gd", "res://material_maker/panels/preview_2d/preview_2d.gd", "res://material_maker/panels/preview_2d/preview_2d.tscn", "res://material_maker/panels/preview_2d/preview_2d_node.gd", "res://material_maker/panels/preview_2d/preview_2d_node.tscn", "res://material_maker/panels/preview_2d/preview_2d_panel.gd", "res://material_maker/panels/preview_2d/preview_2d_panel.tscn", "res://material_maker/panels/preview_3d/materials/shader_material_tesselated.tres", "res://material_maker/panels/preview_3d/materials/spatial_material.tres", "res://material_maker/panels/preview_3d/mesh_config_popup.gd", "res://material_maker/panels/preview_3d/mesh_config_popup.tscn", "res://material_maker/panels/preview_3d/preview_3d.gd", "res://material_maker/panels/preview_3d/preview_3d.tscn", "res://material_maker/panels/preview_3d/preview_3d_panel.gd", "res://material_maker/panels/preview_3d/preview_3d_panel.tscn", "res://material_maker/panels/preview_3d/preview_3d_scene.tscn", "res://material_maker/panels/preview_3d/preview_3d_ui.gd", "res://material_maker/panels/preview_3d/preview_3d_ui.tscn", "res://material_maker/panels/preview_3d/preview_light.gd", "res://material_maker/panels/preview_3d/preview_light.tscn", "res://material_maker/panels/preview_3d/preview_mesh.gd", "res://material_maker/panels/preview_3d/preview_objects.tscn", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cube.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Custom.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Cylinder.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Plane.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Prism.png", "res://material_maker/panels/preview_3d/thumbnails/meshes/Sphere.png", "res://material_maker/panels/reference/color_slot.gd", "res://material_maker/panels/reference/color_slot.tscn", "res://material_maker/panels/reference/gradient_slot.gd", "res://material_maker/panels/reference/gradient_slot.tscn", "res://material_maker/panels/reference/reference_panel.gd", "res://material_maker/panels/reference/reference_panel.tscn", "res://material_maker/projects_panel.tscn", "res://material_maker/theme/birch.tres", "res://material_maker/theme/dark.tres", "res://material_maker/theme/dark/checkbox_checked.png", "res://material_maker/theme/dark/checkbox_radio_checked.png", "res://material_maker/theme/dark/checkbox_radio_unchecked.png", "res://material_maker/theme/dark/checkbox_unchecked.png", "res://material_maker/theme/dark/checkbutton_off.png", "res://material_maker/theme/dark/checkbutton_off_disabled.png", "res://material_maker/theme/dark/checkbutton_on.png", "res://material_maker/theme/dark/checkbutton_on_disabled.png", "res://material_maker/theme/dark/colorpickerbutton_bg.png", "res://material_maker/theme/dark/curve_preset_bevel.tres", "res://material_maker/theme/dark/curve_preset_bounce.tres", "res://material_maker/theme/dark/curve_preset_easein.tres", "res://material_maker/theme/dark/curve_preset_easeinout.tres", "res://material_maker/theme/dark/curve_preset_easeout.tres", "res://material_maker/theme/dark/curve_preset_linear.tres", "res://material_maker/theme/dark/curve_preset_sawtooth.tres", "res://material_maker/theme/dark/curve_presets.svg", "res://material_maker/theme/dark/graphedit_minus.png", "res://material_maker/theme/dark/graphedit_more.png", "res://material_maker/theme/dark/graphedit_reset.png", "res://material_maker/theme/dark/graphedit_snap.png", "res://material_maker/theme/dark/graphnode_close.png", "res://material_maker/theme/dark/graphnode_port.png", "res://material_maker/theme/dark/graphnode_resizer.png", "res://material_maker/theme/dark/hslider_grabber.png", "res://material_maker/theme/dark/hslider_grabber_disabled.png", "res://material_maker/theme/dark/hslider_grabber_highlight.png", "res://material_maker/theme/dark/hslider_tick.png", "res://material_maker/theme/dark/hsplitcontainer_grabber.png", "res://material_maker/theme/dark/lineedit_clear.png", "res://material_maker/theme/dark/optionbutton_arrow.png", "res://material_maker/theme/dark/popupmenu_checked.png", "res://material_maker/theme/dark/popupmenu_radio_checked.png", "res://material_maker/theme/dark/popupmenu_radio_unchecked.png", "res://material_maker/theme/dark/popupmenu_submenu.png", "res://material_maker/theme/dark/popupmenu_unchecked.png", "res://material_maker/theme/dark/popupmenu_visibility_hidden.png", "res://material_maker/theme/dark/popupmenu_visibility_visible.png", "res://material_maker/theme/dark/popupmenu_visibility_xray.png", "res://material_maker/theme/dark/sb_checkbox_focus_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/dark/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_hslider_focus_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/dark/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/sb_panel_panelf_texture.png", "res://material_maker/theme/dark/sb_panel_panelnc_texture.png", "res://material_maker/theme/dark/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/dark/sb_progressbar_bg_texture.png", "res://material_maker/theme/dark/sb_progressbar_fg_texture.png", "res://material_maker/theme/dark/sb_textedit_completion_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/dark/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/dark/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/dark/tabcontainer_decrement.png", "res://material_maker/theme/dark/tabcontainer_decrement_highlight.png", "res://material_maker/theme/dark/tabcontainer_increment.png", "res://material_maker/theme/dark/tabcontainer_increment_highlight.png", "res://material_maker/theme/dark/tabcontainer_menu.png", "res://material_maker/theme/dark/tabcontainer_menu_highlight.png", "res://material_maker/theme/dark/tabs_close.png", "res://material_maker/theme/dark/tabs_decrement.png", "res://material_maker/theme/dark/tabs_decrement_highlight.png", "res://material_maker/theme/dark/tabs_increment.png", "res://material_maker/theme/dark/tabs_increment_highlight.png", "res://material_maker/theme/dark/textedit_fold.png", "res://material_maker/theme/dark/textedit_folded.png", "res://material_maker/theme/dark/textedit_space.png", "res://material_maker/theme/dark/textedit_tab.png", "res://material_maker/theme/dark/tree_arrow.png", "res://material_maker/theme/dark/tree_arrow_collapsed.png", "res://material_maker/theme/dark/tree_checked.png", "res://material_maker/theme/dark/tree_select_arrow.png", "res://material_maker/theme/dark/tree_unchecked.png", "res://material_maker/theme/dark/tree_updown.png", "res://material_maker/theme/dark/vslider_grabber.png", "res://material_maker/theme/dark/vslider_grabber_highlight.png", "res://material_maker/theme/dark/vsplitcontainer_grabber.png", "res://material_maker/theme/dark/windowdialog_close.png", "res://material_maker/theme/dark/windowdialog_close_highlight.png", "res://material_maker/theme/default.tres", "res://material_maker/theme/font.tres", "res://material_maker/theme/font_rubik/Rubik-VariableFont_wght.ttf", "res://material_maker/theme/green.tres", "res://material_maker/theme/light.tres", "res://material_maker/theme/light/checkbox_checked.png", "res://material_maker/theme/light/checkbox_radio_checked.png", "res://material_maker/theme/light/checkbox_radio_unchecked.png", "res://material_maker/theme/light/checkbox_unchecked.png", "res://material_maker/theme/light/checkbutton_off.png", "res://material_maker/theme/light/checkbutton_off_disabled.png", "res://material_maker/theme/light/checkbutton_on.png", "res://material_maker/theme/light/checkbutton_on_disabled.png", "res://material_maker/theme/light/colorpickerbutton_bg.png", "res://material_maker/theme/light/curve_preset_bevel.tres", "res://material_maker/theme/light/curve_preset_bounce.tres", "res://material_maker/theme/light/curve_preset_easein.tres", "res://material_maker/theme/light/curve_preset_easeinout.tres", "res://material_maker/theme/light/curve_preset_easeout.tres", "res://material_maker/theme/light/curve_preset_linear.tres", "res://material_maker/theme/light/curve_preset_sawtooth.tres", "res://material_maker/theme/light/curve_presets.svg", "res://material_maker/theme/light/graphedit_minus.png", "res://material_maker/theme/light/graphedit_more.png", "res://material_maker/theme/light/graphedit_reset.png", "res://material_maker/theme/light/graphedit_snap.png", "res://material_maker/theme/light/graphnode_close.png", "res://material_maker/theme/light/graphnode_port.png", "res://material_maker/theme/light/graphnode_resizer.png", "res://material_maker/theme/light/hslider_grabber.png", "res://material_maker/theme/light/hslider_grabber_disabled.png", "res://material_maker/theme/light/hslider_grabber_highlight.png", "res://material_maker/theme/light/hslider_tick.png", "res://material_maker/theme/light/hsplitcontainer_grabber.png", "res://material_maker/theme/light/lineedit_clear.png", "res://material_maker/theme/light/optionbutton_arrow.png", "res://material_maker/theme/light/popupmenu_checked.png", "res://material_maker/theme/light/popupmenu_radio_checked.png", "res://material_maker/theme/light/popupmenu_radio_unchecked.png", "res://material_maker/theme/light/popupmenu_submenu.png", "res://material_maker/theme/light/popupmenu_unchecked.png", "res://material_maker/theme/light/popupmenu_visibility_hidden.png", "res://material_maker/theme/light/popupmenu_visibility_visible.png", "res://material_maker/theme/light/popupmenu_visibility_xray.png", "res://material_maker/theme/light/sb_checkbox_focus_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_disabled_texture.png", "res://material_maker/theme/light/sb_colorpickerbutton_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_hscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_hscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_hslider_focus_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_disabled_texture.png", "res://material_maker/theme/light/sb_hslider_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_hsplitcontainer_bg_texture.png", "res://material_maker/theme/light/sb_panel_panelf_texture.png", "res://material_maker/theme/light/sb_panel_panelnc_texture.png", "res://material_maker/theme/light/sb_popupmenu_panel_disabled_texture.png", "res://material_maker/theme/light/sb_progressbar_bg_texture.png", "res://material_maker/theme/light/sb_progressbar_fg_texture.png", "res://material_maker/theme/light/sb_textedit_completion_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_highlight_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_pressed_texture.png", "res://material_maker/theme/light/sb_vscrollbar_grabber_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_focus_texture.png", "res://material_maker/theme/light/sb_vscrollbar_scroll_texture.png", "res://material_maker/theme/light/sb_vsplitcontainer_bg_texture.png", "res://material_maker/theme/light/tabcontainer_decrement.png", "res://material_maker/theme/light/tabcontainer_decrement_highlight.png", "res://material_maker/theme/light/tabcontainer_increment.png", "res://material_maker/theme/light/tabcontainer_increment_highlight.png", "res://material_maker/theme/light/tabcontainer_menu.png", "res://material_maker/theme/light/tabcontainer_menu_highlight.png", "res://material_maker/theme/light/tabs_close.png", "res://material_maker/theme/light/tabs_decrement.png", "res://material_maker/theme/light/tabs_decrement_highlight.png", "res://material_maker/theme/light/tabs_increment.png", "res://material_maker/theme/light/tabs_increment_highlight.png", "res://material_maker/theme/light/textedit_fold.png", "res://material_maker/theme/light/textedit_folded.png", "res://material_maker/theme/light/textedit_space.png", "res://material_maker/theme/light/textedit_tab.png", "res://material_maker/theme/light/tree_arrow.png", "res://material_maker/theme/light/tree_arrow_collapsed.png", "res://material_maker/theme/light/tree_checked.png", "res://material_maker/theme/light/tree_select_arrow.png", "res://material_maker/theme/light/tree_unchecked.png", "res://material_maker/theme/light/tree_updown.png", "res://material_maker/theme/light/vslider_grabber.png", "res://material_maker/theme/light/vslider_grabber_highlight.png", "res://material_maker/theme/light/vsplitcontainer_grabber.png", "res://material_maker/theme/light/windowdialog_close.png", "res://material_maker/theme/light/windowdialog_close_highlight.png", "res://material_maker/theme/mangosteen.tres", "res://material_maker/theme/modern.tres", "res://material_maker/theme/new_theme_icons_clean_export.svg", "res://material_maker/widgets/button_with_icon.gd", "res://material_maker/tools/library_manager/library.gd", "res://material_maker/tools/library_manager/library_manager.gd", "res://material_maker/tools/map_renderer/map_renderer.gd", "res://material_maker/tools/map_renderer/map_renderer.tscn", "res://material_maker/tools/painter/brush_preview.gd", "res://material_maker/tools/painter/brush_preview.tscn", "res://material_maker/tools/painter/painter.gd", "res://material_maker/tools/painter/painter.tscn", "res://material_maker/tools/painter/painter_viewport.gd", "res://material_maker/tools/painter/painter_viewport.tscn", "res://material_maker/tools/painter/shaders/brush.gdshader", "res://material_maker/tools/painter/shaders/brush_common_decl.gdshader", "res://material_maker/tools/painter/shaders/brush_pattern.gdshader", "res://material_maker/tools/painter/shaders/brush_stamp.gdshader", "res://material_maker/tools/painter/shaders/brush_uv_pattern.gdshader", "res://material_maker/tools/painter/shaders/init.tres", "res://material_maker/tools/painter/shaders/init_channels.tres", "res://material_maker/tools/painter/shaders/init_copy_shader.tres", "res://material_maker/tools/painter/shaders/paint_shader_template.tres", "res://material_maker/tools/painter/shaders/t2v_fragment.tres", "res://material_maker/tools/painter/shaders/t2v_vertex.tres", "res://material_maker/tools/painter/shaders/v2t_fragment.tres", "res://material_maker/tools/painter/shaders/v2t_vertex.tres", "res://material_maker/tools/share/broken_link.tres", "res://material_maker/tools/share/golden_link.tres", "res://material_maker/tools/share/hdri/kloofendal_48d_partly_cloudy_1k.exr", "res://material_maker/tools/share/link.tres", "res://material_maker/tools/share/login_dialog.gd", "res://material_maker/tools/share/login_dialog.tscn", "res://material_maker/tools/share/preview_scene.tscn", "res://material_maker/tools/share/preview_scene_viewer.tscn", "res://material_maker/tools/share/preview_viewport.gd", "res://material_maker/tools/share/preview_viewport.tscn", "res://material_maker/tools/share/share_button.gd", "res://material_maker/tools/share/share_button.tscn", "res://material_maker/tools/share/share_http_request.gd", "res://material_maker/tools/share/share_node_dialog.gd", "res://material_maker/tools/share/share_node_dialog.tscn", "res://material_maker/tools/share/upload_dialog.gd", "res://material_maker/tools/share/upload_dialog.tscn", "res://material_maker/tools/undo_redo/undo_redo.gd", "res://material_maker/widgets/code_editor/code_editor.gd", "res://material_maker/widgets/code_editor/code_editor.tscn", "res://material_maker/widgets/color_picker_button/color_picker_button.gd", "res://material_maker/widgets/color_picker_popup/color_picker_popup.tscn", "res://material_maker/widgets/curve_edit/control_point.gd", "res://material_maker/widgets/curve_edit/control_point.tscn", "res://material_maker/widgets/curve_edit/curve_dialog.gd", "res://material_maker/widgets/curve_edit/curve_dialog.tscn", "res://material_maker/widgets/curve_edit/curve_edit.gd", "res://material_maker/widgets/curve_edit/curve_edit.tscn", "res://material_maker/widgets/curve_edit/curve_editor.gd", "res://material_maker/widgets/curve_edit/curve_editor.tscn", "res://material_maker/widgets/curve_edit/curve_view.gd", "res://material_maker/widgets/curve_edit/curve_view.tscn", "res://material_maker/widgets/curve_edit/presets_selector.gd", "res://material_maker/widgets/curve_edit/slope_point.gd", "res://material_maker/widgets/desc_button/desc_button.gd", "res://material_maker/widgets/desc_button/desc_button.tscn", "res://material_maker/widgets/file_picker_button/file_picker_button.gd", "res://material_maker/widgets/file_picker_button/file_picker_button.tscn", "res://material_maker/widgets/float_edit/expression_editor.gd", "res://material_maker/widgets/float_edit/expression_editor.tscn", "res://material_maker/widgets/float_edit/float_edit.gd", "res://material_maker/widgets/float_edit/float_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit.gd", "res://material_maker/widgets/gradient_editor/gradient_edit.tscn", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.gd", "res://material_maker/widgets/gradient_editor/gradient_edit_cursor.tscn", "res://material_maker/widgets/gradient_editor/gradient_popup.gd", "res://material_maker/widgets/gradient_editor/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/histogram/histogram.gd", "res://material_maker/widgets/histogram/histogram.tscn", "res://material_maker/widgets/image_picker_button/image_picker_button.gd", "res://material_maker/widgets/image_picker_button/image_picker_button.tscn", "res://material_maker/widgets/lattice_edit/lattice_dialog.gd", "res://material_maker/widgets/lattice_edit/lattice_dialog.tscn", "res://material_maker/widgets/lattice_edit/lattice_edit.gd", "res://material_maker/widgets/lattice_edit/lattice_edit.tscn", "res://material_maker/widgets/lattice_edit/lattice_editor.gd", "res://material_maker/widgets/lattice_edit/lattice_editor.tscn", "res://material_maker/widgets/lattice_edit/lattice_view.gd", "res://material_maker/widgets/lattice_edit/lattice_view.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.gd", "res://material_maker/widgets/pixels_edit/pixels_dialog.tscn", "res://material_maker/widgets/pixels_edit/pixels_edit.gd", "res://material_maker/widgets/pixels_edit/pixels_edit.tscn", "res://material_maker/widgets/pixels_edit/pixels_editor.gd", "res://material_maker/widgets/pixels_edit/pixels_editor.tscn", "res://material_maker/widgets/pixels_edit/pixels_view.gd", "res://material_maker/widgets/pixels_edit/pixels_view.tscn", "res://material_maker/widgets/polygon_edit/control_point.gd", "res://material_maker/widgets/polygon_edit/control_point.tscn", "res://material_maker/widgets/polygon_edit/polygon_dialog.gd", "res://material_maker/widgets/polygon_edit/polygon_dialog.tscn", "res://material_maker/widgets/polygon_edit/polygon_edit.gd", "res://material_maker/widgets/polygon_edit/polygon_edit.tscn", "res://material_maker/widgets/polygon_edit/polygon_editor.gd", "res://material_maker/widgets/polygon_edit/polygon_editor.tscn", "res://material_maker/widgets/polygon_edit/polygon_view.gd", "res://material_maker/widgets/polygon_edit/polygon_view.tscn", "res://material_maker/widgets/port_group_button/port_group_button.gd", "res://material_maker/widgets/port_group_button/port_group_button.tscn", "res://material_maker/widgets/render_counter/render_counter.gd", "res://material_maker/widgets/render_counter/render_counter.tscn", "res://material_maker/widgets/size_option_button/size_option_button.gd", "res://material_maker/widgets/splines_edit/splines_dialog.gd", "res://material_maker/widgets/splines_edit/splines_dialog.tscn", "res://material_maker/widgets/splines_edit/splines_edit.gd", "res://material_maker/widgets/splines_edit/splines_edit.tscn", "res://material_maker/widgets/splines_edit/splines_editor.gd", "res://material_maker/widgets/splines_edit/splines_editor.tscn", "res://material_maker/widgets/splines_edit/splines_view.gd", "res://material_maker/widgets/splines_edit/splines_view.tscn", "res://material_maker/widgets/tabs/tabs.gd", "res://material_maker/windows/about/about.gd", "res://material_maker/windows/about/about.tscn", "res://material_maker/windows/about/discord.png", "res://material_maker/windows/about/epic_megagrant.svg", "res://material_maker/windows/about/facebook.png", "res://material_maker/windows/about/github.png", "res://material_maker/windows/about/icon.png", "res://material_maker/windows/about/itchio.png", "res://material_maker/windows/about/patreon.png", "res://material_maker/windows/about/twitter.png", "res://material_maker/windows/about/youtube.png", "res://material_maker/windows/accept_dialog/accept_dialog.gd", "res://material_maker/windows/accept_dialog/accept_dialog.tscn", "res://material_maker/windows/add_node_popup/add_node_popup.gd", "res://material_maker/windows/add_node_popup/add_node_popup.tscn", "res://material_maker/windows/add_node_popup/quick_button.gd", "res://material_maker/windows/add_node_popup/quick_button.tscn", "res://material_maker/windows/desc_dialog/desc_dialog.gd", "res://material_maker/windows/desc_dialog/desc_dialog.tscn", "res://material_maker/windows/environment_editor/environment_editor.gd", "res://material_maker/windows/environment_editor/environment_editor.tscn", "res://material_maker/windows/environment_editor/environment_editor_scene.tscn", "res://material_maker/windows/environment_editor/environment_editor_viewport.tscn", "res://material_maker/windows/environment_editor/new_environment.png", "res://material_maker/windows/export_animation/export_animation.gd", "res://material_maker/windows/export_animation/export_animation.tscn", "res://material_maker/windows/export_taa/accumulate_compute.tres", "res://material_maker/windows/export_taa/divide_compute.tres", "res://material_maker/windows/export_taa/export_taa.gd", "res://material_maker/windows/export_taa/export_taa.tscn", "res://material_maker/windows/file_dialog/fav_button.tscn", "res://material_maker/windows/file_dialog/file_dialog.gd", "res://material_maker/windows/file_dialog/file_dialog.tscn", "res://material_maker/windows/file_dialog/left_panel.gd", "res://material_maker/windows/file_dialog/left_panel.tscn", "res://material_maker/windows/line_dialog/line_dialog.gd", "res://material_maker/windows/line_dialog/line_dialog.tscn", "res://material_maker/windows/load_from_website/load_from_website.gd", "res://material_maker/windows/load_from_website/load_from_website.tscn", "res://material_maker/windows/material_editor/export_editor.gd", "res://material_maker/windows/material_editor/export_editor.tscn", "res://material_maker/windows/material_editor/expression_line_edit.gd", "res://material_maker/windows/material_editor/expression_line_edit.tscn", "res://material_maker/windows/material_editor/material_editor.gd", "res://material_maker/windows/material_editor/material_editor.tscn", "res://material_maker/windows/new_painter/new_painter.gd", "res://material_maker/windows/new_painter/new_painter.tscn", "res://material_maker/windows/node_editor/enum_editor.gd", "res://material_maker/windows/node_editor/enum_editor.tscn", "res://material_maker/windows/node_editor/input.gd", "res://material_maker/windows/node_editor/input.tscn", "res://material_maker/windows/node_editor/node_editor.gd", "res://material_maker/windows/node_editor/node_editor.tscn", "res://material_maker/windows/node_editor/node_editor_item_list.gd", "res://material_maker/windows/node_editor/output.gd", "res://material_maker/windows/node_editor/output.tscn", "res://material_maker/windows/node_editor/parameter.gd", "res://material_maker/windows/node_editor/parameter.tscn", "res://material_maker/windows/node_editor/parameter_boolean.gd", "res://material_maker/windows/node_editor/parameter_boolean.tscn", "res://material_maker/windows/node_editor/parameter_color.gd", "res://material_maker/windows/node_editor/parameter_color.tscn", "res://material_maker/windows/node_editor/parameter_curve.gd", "res://material_maker/windows/node_editor/parameter_curve.tscn", "res://material_maker/windows/node_editor/parameter_enum.gd", "res://material_maker/windows/node_editor/parameter_enum.tscn", "res://material_maker/windows/node_editor/parameter_float.gd", "res://material_maker/windows/node_editor/parameter_float.tscn", "res://material_maker/windows/node_editor/parameter_gradient.gd", "res://material_maker/windows/node_editor/parameter_gradient.tscn", "res://material_maker/windows/node_editor/parameter_lattice.gd", "res://material_maker/windows/node_editor/parameter_lattice.tscn", "res://material_maker/windows/node_editor/parameter_pixels.gd", "res://material_maker/windows/node_editor/parameter_pixels.tscn", "res://material_maker/windows/node_editor/parameter_polygon.gd", "res://material_maker/windows/node_editor/parameter_polygon.tscn", "res://material_maker/windows/node_editor/parameter_polyline.tscn", "res://material_maker/windows/node_editor/parameter_size.gd", "res://material_maker/windows/node_editor/parameter_size.tscn", "res://material_maker/windows/node_editor/parameter_splines.gd", "res://material_maker/windows/node_editor/parameter_splines.tscn", "res://material_maker/windows/preferences/bool_option.gd", "res://material_maker/windows/preferences/bool_option.tscn", "res://material_maker/windows/preferences/float_option.gd", "res://material_maker/windows/preferences/float_option.tscn", "res://material_maker/windows/preferences/lang_option.gd", "res://material_maker/windows/preferences/language_download.gd", "res://material_maker/windows/preferences/language_download.tscn", "res://material_maker/windows/preferences/preferences.gd", "res://material_maker/windows/preferences/preferences.tscn", "res://material_maker/windows/progress_window/progress_window.gd", "res://material_maker/windows/progress_window/progress_window.tscn", "res://material_maker/windows/sdf_builder/gizmo.gd", "res://material_maker/windows/sdf_builder/gizmo.gdshader", "res://material_maker/windows/sdf_builder/gizmo.tscn", "res://material_maker/windows/sdf_builder/gizmo_arrow.gd", "res://material_maker/windows/sdf_builder/gizmo_arrow.tscn", "res://material_maker/windows/sdf_builder/preview_2d.gd", "res://material_maker/windows/sdf_builder/preview_2d.gdshader", "res://material_maker/windows/sdf_builder/preview_2d.tscn", "res://material_maker/windows/sdf_builder/preview_3d.gd", "res://material_maker/windows/sdf_builder/preview_3d.gdshader", "res://material_maker/windows/sdf_builder/preview_3d.tscn", "res://material_maker/windows/sdf_builder/sdf_builder.gd", "res://material_maker/windows/sdf_builder/sdf_builder.tscn", "res://material_maker/windows/sdf_builder/sdf_builder_tree.gd", "res://parse_args.gd", "res://parse_args.tscn", "res://splash_screen/arrow.png", "res://splash_screen/backgrounds/angel_beanbag_chair.png", "res://splash_screen/backgrounds/angel_soft_nurball.png", "res://splash_screen/backgrounds/cgmytro_old_doors.png", "res://splash_screen/backgrounds/cybereality_brutalism.png", "res://splash_screen/backgrounds/cybereality_dirty_tiles.png", "res://splash_screen/backgrounds/cybereality_future_visions.png", "res://splash_screen/backgrounds/droppedbeat_matrix_rain.tres", "res://splash_screen/backgrounds/droppedbeat_procedural_material.png", "res://splash_screen/backgrounds/droppedbeat_spiral_trails.tres", "res://splash_screen/backgrounds/droppedbeat_vending_machines.png", "res://splash_screen/backgrounds/oneiric_worlds_zefyr.png", "res://splash_screen/backgrounds/paulo_falcao_fractal_octahedron.tres", "res://splash_screen/backgrounds/paulo_falcao_green_thing.png", "res://splash_screen/backgrounds/paulo_falcao_terminator_ball.tres", "res://splash_screen/backgrounds/pavel_oliva_carved_wood.png", "res://splash_screen/backgrounds/pavel_oliva_celestial_floor.png", "res://splash_screen/backgrounds/pavel_oliva_cursed_planks.png", "res://splash_screen/backgrounds/pavel_oliva_flowing_lava.png", "res://splash_screen/backgrounds/pavel_oliva_lace.png", "res://splash_screen/backgrounds/pavel_oliva_pavement_generator.png", "res://splash_screen/backgrounds/pavel_oliva_stylized_pavement.png", "res://splash_screen/backgrounds/pavel_oliva_treasures.png", "res://splash_screen/backgrounds/pavel_oliva_vintage_luggage.png", "res://splash_screen/backgrounds/pixelmuncher_golden_tiles.png", "res://splash_screen/rodz_labs_logo.png", "res://splash_screen/splash_screen.gd", "res://splash_screen/splash_screen.gdshader", "res://splash_screen/splash_screen.tscn", "res://splash_screen/splash_screen_bottom.gdshader", "res://splash_screen/splash_title.png", "res://start.gd", "res://start.tscn", "res://material_maker/panels/common/menu_bar_button_with_panel.gd", "res://material_maker/panels/preview_2d/export_menu.gd", "res://material_maker/panels/preview_2d/two_icon_toggle_button.gd", "res://material_maker/panels/preview_2d/view_menu.gd", "res://material_maker/theme/enhanced_theme_system/enhanced_theme.gd", "res://material_maker/theme/enhanced_theme_system/color_swap.gd", "res://material_maker/theme/new_theme_icons.png", "res://material_maker/theme/new_theme_icons.svg", "res://material_maker/theme/new_theme_icons_clean.svg", "res://material_maker/widgets/option_edit/option_edit.gd", "res://material_maker/widgets/option_edit/option_edit.tscn", "res://material_maker/widgets/pixels_edit/settings_panel.gd", "res://material_maker/tools/environment_manager/environment_manager.gd", "res://material_maker/tools/environment_manager/environment_manager.tscn", "res://material_maker/library/aliases.json", "res://material_maker/library/base.json", "res://material_maker/library/base_brushes.json") include_filter="*.tmpl" exclude_filter="*.ptex,*.mmn,*.mmg" -export_path="../../../rodzi/Downloads/material_maker_1_4a1_windows/material_maker.exe" +export_path="../MaterialMaker/Exports/ScalingTestA/material_maker.exe" encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false diff --git a/material_maker/theme/enhanced_theme_system/enhanced_theme.gd b/material_maker/theme/enhanced_theme_system/enhanced_theme.gd index 37c98ed17..609874630 100644 --- a/material_maker/theme/enhanced_theme_system/enhanced_theme.gd +++ b/material_maker/theme/enhanced_theme_system/enhanced_theme.gd @@ -143,11 +143,12 @@ func update(at:Node=null) -> void: func get_dynamic_svg(image_path:String, image_scale:float, color_swaps : Array= []) -> ImageTexture: + if FileAccess.file_exists(image_path.trim_suffix(".svg")+"_export.svg"): + image_path = image_path.trim_suffix(".svg")+"_export.svg" var file := FileAccess.open(image_path, FileAccess.READ) var file_text := file.get_as_text() file.close() - ###print(color_swaps) #var regex := RegEx.create_from_string(r"(?<=\d)e-\d") #file_text = regex.sub(file_text, "", true) diff --git a/material_maker/theme/new_theme_icons_clean_export.svg b/material_maker/theme/new_theme_icons_clean_export.svg new file mode 100644 index 000000000..20d5bfe96 --- /dev/null +++ b/material_maker/theme/new_theme_icons_clean_export.svg @@ -0,0 +1,1913 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/material_maker/theme/new_theme_icons_clean_export.svg.import b/material_maker/theme/new_theme_icons_clean_export.svg.import new file mode 100644 index 000000000..8dd0c09d1 --- /dev/null +++ b/material_maker/theme/new_theme_icons_clean_export.svg.import @@ -0,0 +1,3 @@ +[remap] + +importer="keep"