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()