[gd_scene load_steps=12 format=3 uid="uid://nak1oiaog3si"]

[ext_resource type="ArrayMesh" uid="uid://ds6dlfsvec33m" path="res://assets/models/cylinder.obj" id="1"]
[ext_resource type="Script" path="res://addons/navigation_camera/navigation_camera.gd" id="2"]
[ext_resource type="Script" path="res://brush_property_panel.gd" id="3"]
[ext_resource type="Script" path="res://main.gd" id="4"]
[ext_resource type="PackedScene" uid="uid://bgscj5isj15uq" path="res://addons/painter/preview/brush_preview.tscn" id="5"]
[ext_resource type="PackedScene" uid="uid://cpcjeg48jeyl" path="res://addons/painter/preview/stencil_preview.tscn" id="6"]
[ext_resource type="PackedScene" uid="uid://duguqkmmg4tol" path="res://addons/property_panel/property_panel.tscn" id="8"]

[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8qj6s"]
transparency = 4
normal_enabled = true
ao_enabled = true

[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_v6wh7"]
sky_horizon_color = Color(0.629583, 0.652716, 0.6875, 1)
ground_bottom_color = Color(0.133333, 0.156863, 0.2, 1)
ground_horizon_color = Color(0.629583, 0.652716, 0.6875, 1)

[sub_resource type="Sky" id="Sky_74p3c"]
sky_material = SubResource("ProceduralSkyMaterial_v6wh7")

[sub_resource type="Environment" id="Environment_kd550"]
background_mode = 2
sky = SubResource("Sky_74p3c")
tonemap_mode = 2
ssao_enabled = true
glow_enabled = true

[node name="Main" type="Node3D"]
script = ExtResource("4")

[node name="BrushPreview" parent="." instance=ExtResource("5")]
unique_name_in_owner = true
visible = false
appearance = 1

[node name="PaintableModel" type="MeshInstance3D" parent="."]
unique_name_in_owner = true
material_override = SubResource("StandardMaterial3D_8qj6s")
mesh = ExtResource("1")

[node name="NavigationCamera" type="Camera3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(-0.664675, -0.236505, 0.708713, 0, 0.948576, 0.31655, -0.747133, 0.210402, -0.630494, 3.648, 1.69748, -3.21943)
current = true
script = ExtResource("2")

[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -0.516982, 0.855996, 0, -0.855996, -0.516982, 0, 7.64456, 0)
shadow_enabled = true
shadow_normal_bias = 4.667

[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_kd550")

[node name="SaveButton" type="Button" parent="."]
offset_left = 12.0
offset_top = 10.0
offset_right = 119.0
offset_bottom = 41.0
text = "Save Result"

[node name="MeshOptionButton" type="OptionButton" parent="."]
unique_name_in_owner = true
offset_left = 13.0
offset_top = 47.0
offset_right = 100.0
offset_bottom = 78.0
item_count = 5
selected = 1
popup/item_0/text = "bench"
popup/item_0/id = 0
popup/item_1/text = "cylinder"
popup/item_1/id = 1
popup/item_2/text = "cube"
popup/item_2/id = 2
popup/item_3/text = "monkey"
popup/item_3/id = 3
popup/item_4/text = "plane"
popup/item_4/id = 4

[node name="SideBar" type="Panel" parent="."]
anchors_preset = 11
anchor_left = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -329.0
offset_top = 7.0
offset_right = -14.0
offset_bottom = -6.0
grow_horizontal = 0
grow_vertical = 2

[node name="VBoxContainer" type="VBoxContainer" parent="SideBar"]
layout_mode = 0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 6.0
offset_top = 6.0
offset_right = -5.0
grow_horizontal = 2
grow_vertical = 2

[node name="Title" type="Label" parent="SideBar/VBoxContainer"]
layout_mode = 2
text = "Brush"

[node name="BrushPropertyPanel" parent="SideBar/VBoxContainer" instance=ExtResource("8")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
script = ExtResource("3")

[node name="StencilPreview" parent="." instance=ExtResource("6")]
unique_name_in_owner = true
offset_right = 0.0
grow_horizontal = 2
grow_vertical = 2

[node name="SaveFileDialog" type="FileDialog" parent="."]
unique_name_in_owner = true
editor_description = "File dialog used to select where the results should be saved."
title = "Open a Directory"
size = Vector2i(726, 600)
ok_button_text = "Select Current Folder"
file_mode = 2
access = 2

[node name="ErrorDialog" type="AcceptDialog" parent="."]
title = "Error"
initial_position = 2

[connection signal="pressed" from="SaveButton" to="." method="_on_SaveButton_pressed"]
[connection signal="item_selected" from="MeshOptionButton" to="." method="_on_MeshOptionButton_item_selected"]
[connection signal="property_changed" from="SideBar/VBoxContainer/BrushPropertyPanel" to="SideBar/VBoxContainer/BrushPropertyPanel" method="_on_property_changed"]
[connection signal="dir_selected" from="SaveFileDialog" to="." method="_on_save_file_dialog_dir_selected"]