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/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/export_presets.cfg b/export_presets.cfg
index 2f0ed0eb5..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_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/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="C:/Users/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
@@ -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"
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 f6b5c6030..ba078bde7 100644
--- a/material_maker/main_window.gd
+++ b/material_maker/main_window.gd
@@ -286,7 +286,10 @@ 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
+ mm_globals.ui_scale = 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 +473,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:
@@ -995,6 +999,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.tscn b/material_maker/main_window.tscn
index 889f9cae5..ac0a53085 100644
--- a/material_maker/main_window.tscn
+++ b/material_maker/main_window.tscn
@@ -1,20 +1,26 @@
-[gd_scene load_steps=20 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"]
+[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="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"]
[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
@@ -59,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
@@ -92,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
@@ -104,7 +110,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")
@@ -205,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_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/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/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 40a20d428..36e8630fc 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 := "Variadic"#= 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,24 +579,24 @@ 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"]:
- 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")
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()
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/nodes/minimal.gd b/material_maker/nodes/minimal.gd
index 729109de9..de00020c5 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 := "Node_Delete"
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..2524625b3 100644
--- a/material_maker/nodes/node_button.gd
+++ b/material_maker/nodes/node_button.gd
@@ -1,7 +1,21 @@
-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")
+ custom_minimum_size = Vector2(25, 25) * mm_globals.ui_scale
+
+
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..8caf3f735 100644
--- a/material_maker/nodes/node_button.tscn
+++ b/material_maker/nodes/node_button.tscn
@@ -2,13 +2,21 @@
[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
+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/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..759be65de
--- /dev/null
+++ b/material_maker/panels/common/menu_bar_button_with_panel.gd
@@ -0,0 +1,73 @@
+extends Button
+
+@export var mm_icon := ""
+
+@onready var panel := get_child(0)
+
+var pinned := false
+var theme_arrow_icon: Texture2D
+
+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)
+
+ panel.hide()
+
+
+
+
+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 * 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
+
+ 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:
+ if not pinned and button_pressed:
+ get_viewport().set_input_as_handled()
+ 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..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
@@ -16,7 +18,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 +364,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 +377,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 +485,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 +626,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 = ""
@@ -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/library/library.gd b/material_maker/panels/library/library.gd
index 9fd6df739..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)
@@ -218,19 +240,25 @@ 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:
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/export_menu.gd b/material_maker/panels/preview_2d/export_menu.gd
new file mode 100644
index 000000000..ad876f045
--- /dev/null
+++ b/material_maker/panels/preview_2d/export_menu.gd
@@ -0,0 +1,164 @@
+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
+
+ 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:
+ 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 %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:
+ %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
+
+ 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")
+
+ var files = await file_dialog.select_files()
+
+ if files.size() > 0:
+ path = files[0]
+
+
+ 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)
+ await get_tree().create_timer(0.5).timeout
+ update()
+
+
+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, path:="") -> String:
+ if path.is_empty():
+ path = %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..af864ca0b 100644
--- a/material_maker/panels/preview_2d/preview_2d.gd
+++ b/material_maker/panels/preview_2d/preview_2d.gd
@@ -10,36 +10,19 @@ 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
-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)
-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
@@ -88,10 +71,8 @@ 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)
var refreshing_generator : bool = false
@@ -123,31 +104,14 @@ 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
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:
@@ -157,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()
@@ -205,13 +146,14 @@ 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 _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():
if need_generate and is_visible_in_tree():
set_generator(generator, output, true)
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 47e004e19..fbcc542c2 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)
@@ -11,9 +21,9 @@ 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
+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)" },
@@ -24,56 +34,38 @@ const POSTPROCESS_OPTIONS : Array = [
]
-const VIEW_EXTEND : int = 0
-const VIEW_REPEAT : int = 1
-const VIEW_CLAMP : int = 2
+func _ready():
+ clear()
+ reset_view()
+
+func clear() -> void:
+ set_generator(null)
+ %PreviewLocked.button_pressed = false
-func _ready():
- update_shader_options()
- update_view_menu()
- update_postprocess_menu()
- update_Guides_menu()
- update_export_menu()
-
-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"):
- _on_View_id_pressed(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"))
-
-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
super.set_generator(g, o, force)
- setup_controls("previous")
update_shader_options()
+
+ 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
+
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))
+
func set_preview_shader_parameter(parameter_name, value):
material.set_shader_parameter(parameter_name, value)
@@ -81,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":
@@ -132,25 +125,37 @@ 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 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
+
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)
@@ -159,6 +164,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:
@@ -171,13 +177,16 @@ 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)
material.set_shader_parameter("preview_2d_center", center)
material.set_shader_parameter("preview_2d_scale", view_scale)
setup_controls("previous")
$Guides.queue_redraw()
+
var dragging : bool = false
var zooming : bool = false
@@ -202,8 +211,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
@@ -227,51 +234,61 @@ func _on_gui_input(event):
if need_update:
on_resized()
-func _on_ContextMenu_id_pressed(id) -> void:
- match id:
- 0:
- center = Vector2(0.5, 0.5)
- view_scale = 1.2
- update_shader_options()
- MENU_EXPORT_AGAIN:
- export_again()
- MENU_EXPORT_ANIMATION:
- export_animation()
- MENU_EXPORT_TAA_RENDER:
- export_taa()
- _:
- print("unsupported id "+str(id))
-
-func _on_View_id_pressed(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)
+ 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)
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)
-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 get_view_mode() -> int:
+ return view_mode
-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
+
+#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)
+
+
+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 3e8ec1ed6..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=17 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"]
@@ -7,22 +7,54 @@
[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"]
-
-[sub_resource type="Shader" id="1"]
+[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="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"]
+
+[sub_resource type="Shader" id="Shader_0mwcg"]
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 = 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)
+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 +72,44 @@ 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)
-offset_right = -758.0
-offset_bottom = -267.0
+offset_left = 8.0
+offset_top = -5.0
+offset_right = 129.0
+offset_bottom = 116.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 +147,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 +155,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);
@@ -306,52 +372,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
@@ -364,7 +385,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
@@ -374,17 +395,313 @@ offset_left = -32.0
offset_bottom = 20.0
grow_horizontal = 0
+[node name="MenuBar" type="ScrollContainer" parent="." index="21"]
+unique_name_in_owner = true
+clip_contents = false
+layout_mode = 1
+anchors_preset = 10
+anchor_right = 1.0
+offset_bottom = 28.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
+theme_type_variation = &"MM_PanelMenuBar"
+
+[node name="ViewMenu" type="Button" parent="MenuBar/HBox/MainMenu/HBox" index="0"]
+custom_minimum_size = Vector2(40, 25)
+layout_mode = 2
+tooltip_text = "View"
+theme_type_variation = &"MM_PanelMenuButton"
+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
+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" 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"]
+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"]
+custom_minimum_size = Vector2(40, 25)
+layout_mode = 2
+tooltip_text = "Export"
+theme_type_variation = &"MM_PanelMenuButton"
+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
+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
+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"
+
+[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
+shortcut = SubResource("Shortcut_llf02")
+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
+
+[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")
+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"]
[connection signal="unhandled_event" from="PolygonEditor" to="." method="_on_gui_input"]
[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"]
+[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"]
+[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..3d146cc71
--- /dev/null
+++ b/material_maker/panels/preview_2d/two_icon_toggle_button.gd
@@ -0,0 +1,20 @@
+extends Button
+
+@export var mm_icon_normal := ""
+@export var mm_icon_pressed := ""
+
+func _ready() -> void:
+ toggled.connect(_on_toggled)
+
+
+func _notification(what: int) -> void:
+ if what == NOTIFICATION_THEME_CHANGED:
+ _on_toggled(button_pressed)
+
+
+func _on_toggled(toggled:= false):
+ if button_pressed:
+ icon = get_theme_icon(mm_icon_pressed, "MM_Icons")
+ else:
+ icon = get_theme_icon(mm_icon_normal, "MM_Icons")
+
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/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..609874630
--- /dev/null
+++ b/material_maker/theme/enhanced_theme_system/enhanced_theme.gd
@@ -0,0 +1,170 @@
+@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)
+ var texture_scale: float = texture.get_meta("scale", 1) * scale
+
+ texture.atlas = get_dynamic_svg(path, texture_scale, icon_color_swaps)
+
+ var base_region: Rect2 = base_texture.region
+ texture.region.position = base_region.position * texture_scale
+
+ texture.region.size = base_region.size * texture_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:
+ 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()
+
+ #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:
+ 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/modern.tres b/material_maker/theme/modern.tres
index 0790e9363..cf4ca1684 100644
--- a/material_maker/theme/modern.tres
+++ b/material_maker/theme/modern.tres
@@ -1,7 +1,8 @@
-[gd_resource type="Theme" load_steps=57 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"]
+[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"]
@@ -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
@@ -194,6 +196,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
@@ -223,6 +227,160 @@ 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)
+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")
+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)
+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")
+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_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)
+
+[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)
+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)
+metadata/scale = 2.0
+
+[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_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)
+
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wqwm5"]
content_margin_left = 10.0
content_margin_top = 10.0
@@ -348,6 +506,66 @@ corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
+[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 = 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.262933, 0.262932, 0.262932, 1)
+border_blend = true
+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"]
+base_font = ExtResource("1_hqoqt")
+variation_embolden = 0.37
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_eij2n"]
+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)
+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
+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
@@ -366,6 +584,10 @@ corner_radius_bottom_right = 4
corner_radius_bottom_left = 4
corner_detail = 4
+[sub_resource type="AtlasTexture" id="AtlasTexture_qrndi"]
+atlas = ExtResource("2_uo7ch")
+region = Rect2(112, 16, 16, 16)
+
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dscxc"]
content_margin_left = 6.0
content_margin_top = 6.0
@@ -444,6 +666,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
@@ -534,7 +760,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")
@@ -568,11 +794,47 @@ 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")
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/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")
+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/Variadic = SubResource("AtlasTexture_2xv0q")
+MM_Icons/icons/View = SubResource("AtlasTexture_ik36r")
MM_MainBackground/base_type = &"PanelContainer"
MM_MainBackground/styles/panel = SubResource("StyleBoxFlat_wqwm5")
MM_NodeCheckbox/base_type = &"Button"
@@ -598,10 +860,29 @@ 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_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")
+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"
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")
@@ -641,6 +922,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.png b/material_maker/theme/new_theme_icons.png
new file mode 100644
index 000000000..0b36af313
Binary files /dev/null and b/material_maker/theme/new_theme_icons.png differ
diff --git a/material_maker/theme/new_theme_icons.png.import b/material_maker/theme/new_theme_icons.png.import
new file mode 100644
index 000000000..325353cad
--- /dev/null
+++ b/material_maker/theme/new_theme_icons.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dnyj2y655qc1o"
+path="res://.godot/imported/new_theme_icons.png-86f2c05b626d9202876120398f66a391.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://material_maker/theme/new_theme_icons.png"
+dest_files=["res://.godot/imported/new_theme_icons.png-86f2c05b626d9202876120398f66a391.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
diff --git a/material_maker/theme/new_theme_icons.svg b/material_maker/theme/new_theme_icons.svg
new file mode 100644
index 000000000..4f804b382
--- /dev/null
+++ b/material_maker/theme/new_theme_icons.svg
@@ -0,0 +1,2981 @@
+
+
+
+
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/theme/new_theme_icons_clean.svg b/material_maker/theme/new_theme_icons_clean.svg
new file mode 100644
index 000000000..20d5bfe96
--- /dev/null
+++ b/material_maker/theme/new_theme_icons_clean.svg
@@ -0,0 +1,1913 @@
+
+
+
+
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
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"
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/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)
diff --git a/material_maker/widgets/float_edit/float_edit.gd b/material_maker/widgets/float_edit/float_edit.gd
index 106c76ac1..25af376c7 100644
--- a/material_maker/widgets/float_edit/float_edit.gd
+++ b/material_maker/widgets/float_edit/float_edit.gd
@@ -31,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
@@ -39,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
@@ -57,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():
@@ -103,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
@@ -139,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.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..0287086d6 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
@@ -22,14 +23,31 @@ anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
+mouse_filter = 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
+theme_type_variation = &"MM_PanelMenuBar"
+
+[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"]
diff --git a/material_maker/widgets/pixels_edit/pixels_editor.gd b/material_maker/widgets/pixels_edit/pixels_editor.gd
index 6aa217812..5048eb42b 100644
--- a/material_maker/widgets/pixels_edit/pixels_editor.gd
+++ b/material_maker/widgets/pixels_edit/pixels_editor.gd
@@ -1,43 +1,56 @@
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:
+ super()
+ %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.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)
+ 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() =
+
func set_current_color(c : int) -> void:
current_color = c
@@ -89,16 +102,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..f86445dba 100644
--- a/material_maker/widgets/pixels_edit/pixels_editor.tscn
+++ b/material_maker/widgets/pixels_edit/pixels_editor.tscn
@@ -1,13 +1,15 @@
-[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="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
@@ -22,76 +24,84 @@ 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
+theme_type_variation = &"MM_PanelMenuBar"
-[node name="SettingsButton" type="TextureButton" parent="UI/Settings" index="0"]
+[node name="PixelSettings" type="Button" parent="PixelMenu/UI" index="0"]
+custom_minimum_size = Vector2(40, 25)
layout_mode = 2
-size_flags_horizontal = 0
-texture_normal = SubResource("AtlasTexture_01pt6")
+tooltip_text = "Pixel Settings"
+theme_type_variation = &"MM_PanelMenuButton"
+toggle_mode = true
+icon = SubResource("AtlasTexture_4fnpr")
+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
+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
-[node name="GridContainer" type="GridContainer" parent="UI/Settings/SettingsPanel" index="0"]
+[node name="WidthHeightLabel" type="Label" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="0"]
layout_mode = 2
-columns = 2
+theme_type_variation = &"MM_PanelMenuSubPanelLabel"
+text = "Width and Height"
-[node name="WidthLabel" type="Label" parent="UI/Settings/SettingsPanel/GridContainer" index="0"]
+[node name="Box" type="BoxContainer" parent="PixelMenu/UI/PixelSettings/SettingsPanel/Grid" index="1"]
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/Box" index="0" 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"]
-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/Box" 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="BPPLabel" type="Label" parent="UI/Settings/SettingsPanel/GridContainer" 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="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="3" 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_type_variation = &"MM_PanelMenuSeparator"
+
+[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/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
new file mode 100644
index 000000000..0481ec10c
--- /dev/null
+++ b/material_maker/widgets/pixels_edit/settings_panel.gd
@@ -0,0 +1,31 @@
+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:
+ 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:
+ 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(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)
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..2481f263d 100644
--- a/material_maker/widgets/splines_edit/splines_editor.tscn
+++ b/material_maker/widgets/splines_edit/splines_editor.tscn
@@ -1,25 +1,41 @@
-[gd_scene load_steps=10 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"]
-[sub_resource type="ButtonGroup" id="ButtonGroup_66qgq"]
-
[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_km108"]
+atlas = ExtResource("3_nl1x0")
+region = Rect2(64, 0, 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_b45mn"]
-atlas = ExtResource("3_lfcdr")
-region = Rect2(192, 96, 16, 16)
+[sub_resource type="AtlasTexture" id="AtlasTexture_koac8"]
+atlas = ExtResource("3_nl1x0")
+region = Rect2(96, 16, 16, 16)
-[sub_resource type="AtlasTexture" id="AtlasTexture_3lo2j"]
-atlas = ExtResource("3_lfcdr")
-region = Rect2(176, 96, 16, 16)
+[sub_resource type="Curve2D" id="Curve2D_koywa"]
[node name="SplinesEditor" instance=ExtResource("1_a4o1g")]
offset_left = 0.0
@@ -40,105 +56,114 @@ 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 = 422.0
+offset_bottom = 33.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
+theme_type_variation = &"MM_PanelMenuBar"
-[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 = SubResource("AtlasTexture_km108")
-[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 = SubResource("AtlasTexture_v6wki")
-[node name="Spacer1" type="Control" parent="Buttons/HSizer" index="2"]
+[node name="VSeparator" type="VSeparator" parent="SplinesMenu/HBox" index="2"]
layout_mode = 2
+theme_type_variation = &"MM_PanelMenuSeparator"
-[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 = SubResource("AtlasTexture_ofrl2")
-[node name="Spacer2" type="Control" parent="Buttons/HSizer" index="4"]
+[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_6siad")
-[node name="UnlinkControlPoints" type="Button" parent="Buttons/HSizer" index="5"]
+[node name="LinkControlPoints" type="Button" parent="SplinesMenu/HBox" index="5"]
+custom_minimum_size = Vector2(25, 25)
layout_mode = 2
-icon = SubResource("AtlasTexture_b45mn")
+tooltip_text = "Link Points"
+theme_type_variation = &"MM_PanelMenuButton"
+icon = SubResource("AtlasTexture_8xl33")
-[node name="LinkControlPoints" type="Button" parent="Buttons/HSizer" index="6"]
-layout_mode = 2
-icon = SubResource("AtlasTexture_3lo2j")
-
-[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"]
layout_mode = 2
+theme_type_variation = &"MM_PanelMenuSeparator"
-[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"
+theme_type_variation = &"MM_PanelMenuButton"
toggle_mode = true
-text = ">"
+icon = SubResource("AtlasTexture_l8ytc")
-[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"
+theme_type_variation = &"MM_PanelMenuButton"
+icon = SubResource("AtlasTexture_koac8")
-[node name="Spacer1" type="Control" parent="Editors/HSizer" index="2"]
-layout_mode = 2
-
-[node name="WidthLabel" type="Label" parent="Editors/HSizer" index="3"]
+[node name="WidthLabel" type="Label" parent="SplinesMenu/HBox" index="9"]
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="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="Spacer2" type="Control" parent="Editors/HSizer" index="5"]
-layout_mode = 2
+[node name="Path2D" type="Path2D" parent="SplinesMenu/HBox/Width" index="2"]
+curve = SubResource("Curve2D_koywa")
-[node name="OffsetLabel" type="Label" parent="Editors/HSizer" index="6"]
+[node name="OffsetLabel" type="Label" parent="SplinesMenu/HBox" index="11"]
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="12" instance=ExtResource("4_2po4g")]
layout_mode = 2
+theme_type_variation = &"MM_PanelMenuFloatEdit"
value = 0.0
max_value = 10.0
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"]
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)
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"]
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()