diff --git a/app/src/main/assets/Modules/data_panel.gd b/app/src/main/assets/Modules/data_panel.gd
index bdefd35..f9fc776 100644
--- a/app/src/main/assets/Modules/data_panel.gd
+++ b/app/src/main/assets/Modules/data_panel.gd
@@ -13,6 +13,11 @@ func _ready() -> void:
Websocket.connected_to_server.connect(connected_to_server)
Websocket.message_received.connect(message_received)
+
+ var appPlugin = Engine.get_singleton("AppPlugin")
+ if appPlugin:
+ appPlugin.showMap()
+
pass # Replace with function body.
diff --git a/app/src/main/assets/Modules/data_panel.tscn b/app/src/main/assets/Modules/data_panel.tscn
index c201adf..ae730c6 100644
--- a/app/src/main/assets/Modules/data_panel.tscn
+++ b/app/src/main/assets/Modules/data_panel.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=58 format=3 uid="uid://dx5owafvbqdec"]
+[gd_scene load_steps=56 format=3 uid="uid://dx5owafvbqdec"]
[ext_resource type="Script" path="res://common/base/base_control.gd" id="1_gebae"]
[ext_resource type="Script" path="res://Modules/data_panel.gd" id="1_h1ywm"]
@@ -21,7 +21,6 @@
[ext_resource type="Texture2D" uid="uid://cbdsh233vvi6q" path="res://pad_hmi_ui/home/smoke_icon_dis.png" id="18_pudfv"]
[ext_resource type="Texture2D" uid="uid://bqk5wfyam21e8" path="res://pad_hmi_ui/home/belts_icon_dis.png" id="19_0qolv"]
[ext_resource type="Texture2D" uid="uid://s1lbea1dle4g" path="res://pad_hmi_ui/home/highbeam_icon.png" id="20_xblyp"]
-[ext_resource type="Texture2D" uid="uid://b2dketby5loag" path="res://pad_hmi_ui/home/map.png" id="21_h8qb6"]
[ext_resource type="Texture2D" uid="uid://chdu0kfu6c7o4" path="res://pad_hmi_ui/home/l3_6.png" id="22_co28d"]
[ext_resource type="Texture2D" uid="uid://ku2yccf0rbwk" path="res://pad_hmi_ui/home/l2_2.png" id="23_30tmj"]
[ext_resource type="PackedScene" uid="uid://cffp3l0yvp4fg" path="res://Modules/volume_settings.tscn" id="24_xb5k6"]
@@ -96,8 +95,21 @@ spacing_space = 4
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_dyppf"]
content_margin_left = 58.0
+content_margin_top = 20.0
+content_margin_right = 58.0
+content_margin_bottom = 20.0
-[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_m8j1c"]
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_v7412"]
+texture = ExtResource("26_h2ca6")
+expand_margin_top = 50.0
+expand_margin_bottom = 50.0
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_gpo2x"]
+texture = ExtResource("35_jj74k")
+texture_margin_left = 7.0
+texture_margin_right = 6.0
+expand_margin_top = 1.0
+expand_margin_bottom = 1.0
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_p77x8"]
texture = ExtResource("26_h2ca6")
@@ -169,22 +181,12 @@ VScrollBar/styles/grabber_pressed = SubResource("StyleBoxFlat_2n3wh")
VScrollBar/styles/scroll = SubResource("StyleBoxFlat_qe760")
VScrollBar/styles/scroll_focus = SubResource("StyleBoxFlat_j3cf1")
-[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_v7412"]
-texture = ExtResource("26_h2ca6")
-expand_margin_top = 50.0
-expand_margin_bottom = 50.0
-
-[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_gpo2x"]
-texture = ExtResource("35_jj74k")
-texture_margin_left = 7.0
-texture_margin_right = 6.0
-expand_margin_top = 1.0
-expand_margin_bottom = 1.0
-
[node name="DataPanel" type="MarginContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
+offset_right = -240.0
+offset_bottom = -95.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_h1ywm")
@@ -616,7 +618,6 @@ material = SubResource("ShaderMaterial_7qxv8")
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 1.58
-texture = ExtResource("21_h8qb6")
expand_mode = 1
[node name="TextureRect2" type="TextureRect" parent="DataPanel/MediumMenu/VBoxContainer/HBoxContainer2"]
@@ -718,107 +719,6 @@ layout_mode = 2
size_flags_vertical = 4
texture = ExtResource("27_mc4go")
-[node name="SiteSelectionDetails" type="Control" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3"]
-unique_name_in_owner = true
-z_index = 1
-layout_mode = 2
-mouse_filter = 2
-
-[node name="SiteSelectionScrollContainer" type="ScrollContainer" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails"]
-unique_name_in_owner = true
-layout_mode = 1
-anchors_preset = -1
-anchor_top = 0.74
-anchor_right = 1.0
-anchor_bottom = 4.61
-grow_horizontal = 2
-grow_vertical = 2
-mouse_filter = 0
-theme_override_styles/panel = SubResource("StyleBoxFlat_m8j1c")
-horizontal_scroll_mode = 0
-metadata/_edit_use_anchors_ = true
-
-[node name="MarginContainer" type="MarginContainer" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer"]
-layout_mode = 2
-size_flags_horizontal = 3
-size_flags_vertical = 3
-mouse_filter = 2
-theme_override_constants/margin_top = 28
-theme_override_constants/margin_bottom = 28
-script = ExtResource("1_gebae")
-styleBox = SubResource("StyleBoxTexture_p77x8")
-
-[node name="VBoxContainer" type="VBoxContainer" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer"]
-layout_mode = 2
-size_flags_horizontal = 3
-size_flags_vertical = 3
-mouse_filter = 2
-theme = SubResource("Theme_f5wb5")
-theme_override_constants/separation = 40
-
-[node name="Label" type="Label" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
-modulate = Color(0.690196, 0.760784, 0.752941, 1)
-layout_mode = 2
-theme_override_font_sizes/font_size = 28
-theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
-text = "站点选择"
-
-[node name="Label2" type="Label" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
-modulate = Color(0.690196, 0.760784, 0.752941, 1)
-layout_mode = 2
-theme_override_font_sizes/font_size = 28
-theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
-text = "站点选择"
-
-[node name="Label3" type="Label" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
-modulate = Color(0.690196, 0.760784, 0.752941, 1)
-layout_mode = 2
-theme_override_font_sizes/font_size = 28
-theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
-text = "站点选择"
-
-[node name="Label4" type="Label" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
-modulate = Color(0.690196, 0.760784, 0.752941, 1)
-layout_mode = 2
-theme_override_font_sizes/font_size = 28
-theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
-text = "站点选择"
-
-[node name="Label5" type="Label" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
-modulate = Color(0.690196, 0.760784, 0.752941, 1)
-layout_mode = 2
-theme_override_font_sizes/font_size = 28
-theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
-text = "站点选择"
-
-[node name="Label6" type="Label" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
-modulate = Color(0.690196, 0.760784, 0.752941, 1)
-layout_mode = 2
-theme_override_font_sizes/font_size = 28
-theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
-text = "站点选择"
-
-[node name="Label7" type="Label" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
-modulate = Color(0.690196, 0.760784, 0.752941, 1)
-layout_mode = 2
-theme_override_font_sizes/font_size = 28
-theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
-text = "站点选择"
-
-[node name="Label8" type="Label" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
-modulate = Color(0.690196, 0.760784, 0.752941, 1)
-layout_mode = 2
-theme_override_font_sizes/font_size = 28
-theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
-text = "站点选择"
-
-[node name="Label9" type="Label" parent="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
-modulate = Color(0.690196, 0.760784, 0.752941, 1)
-layout_mode = 2
-theme_override_font_sizes/font_size = 28
-theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
-text = "站点选择"
-
[node name="MarginContainer4" type="MarginContainer" parent="DataPanel/RightMenu/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 4
@@ -962,6 +862,143 @@ layout_mode = 2
theme_override_font_sizes/font_size = 25
text = "长通集团南"
+[node name="CanvasLayer" type="CanvasLayer" parent="."]
+follow_viewport_enabled = true
+
+[node name="SiteSelectionDetails" type="Control" parent="."]
+unique_name_in_owner = true
+layout_mode = 2
+mouse_filter = 2
+
+[node name="SiteSelectionScrollContainer" type="ScrollContainer" parent="SiteSelectionDetails"]
+unique_name_in_owner = true
+layout_mode = 1
+anchors_preset = -1
+anchor_left = 0.735345
+anchor_top = 0.586711
+anchor_right = 0.982328
+anchor_bottom = 0.91495
+mouse_filter = 0
+horizontal_scroll_mode = 0
+metadata/_edit_use_anchors_ = true
+
+[node name="MarginContainer" type="MarginContainer" parent="SiteSelectionDetails/SiteSelectionScrollContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+mouse_filter = 2
+theme_override_constants/margin_top = 28
+theme_override_constants/margin_bottom = 28
+script = ExtResource("1_gebae")
+styleBox = SubResource("StyleBoxTexture_p77x8")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+mouse_filter = 2
+theme = SubResource("Theme_f5wb5")
+theme_override_constants/separation = 0
+
+[node name="Label" type="Label" parent="SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
+modulate = Color(0.690196, 0.760784, 0.752941, 1)
+layout_mode = 2
+mouse_filter = 1
+theme_override_font_sizes/font_size = 28
+theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
+text = "站点选择"
+script = ExtResource("1_gebae")
+_pivot_offset = "CENTER_Left"
+is_Scale = true
+
+[node name="Label2" type="Label" parent="SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
+modulate = Color(0.690196, 0.760784, 0.752941, 1)
+layout_mode = 2
+mouse_filter = 1
+theme_override_font_sizes/font_size = 28
+theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
+text = "站点选择"
+script = ExtResource("1_gebae")
+_pivot_offset = "CENTER_Left"
+is_Scale = true
+
+[node name="Label3" type="Label" parent="SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
+modulate = Color(0.690196, 0.760784, 0.752941, 1)
+layout_mode = 2
+mouse_filter = 1
+theme_override_font_sizes/font_size = 28
+theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
+text = "站点选择"
+script = ExtResource("1_gebae")
+_pivot_offset = "CENTER_Left"
+is_Scale = true
+
+[node name="Label4" type="Label" parent="SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
+modulate = Color(0.690196, 0.760784, 0.752941, 1)
+layout_mode = 2
+mouse_filter = 1
+theme_override_font_sizes/font_size = 28
+theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
+text = "站点选择"
+script = ExtResource("1_gebae")
+_pivot_offset = "CENTER_Left"
+is_Scale = true
+
+[node name="Label5" type="Label" parent="SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
+modulate = Color(0.690196, 0.760784, 0.752941, 1)
+layout_mode = 2
+mouse_filter = 1
+theme_override_font_sizes/font_size = 28
+theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
+text = "站点选择"
+script = ExtResource("1_gebae")
+_pivot_offset = "CENTER_Left"
+is_Scale = true
+
+[node name="Label6" type="Label" parent="SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
+modulate = Color(0.690196, 0.760784, 0.752941, 1)
+layout_mode = 2
+mouse_filter = 1
+theme_override_font_sizes/font_size = 28
+theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
+text = "站点选择"
+script = ExtResource("1_gebae")
+_pivot_offset = "CENTER_Left"
+is_Scale = true
+
+[node name="Label7" type="Label" parent="SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
+modulate = Color(0.690196, 0.760784, 0.752941, 1)
+layout_mode = 2
+mouse_filter = 1
+theme_override_font_sizes/font_size = 28
+theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
+text = "站点选择"
+script = ExtResource("1_gebae")
+_pivot_offset = "CENTER_Left"
+is_Scale = true
+
+[node name="Label8" type="Label" parent="SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
+modulate = Color(0.690196, 0.760784, 0.752941, 1)
+layout_mode = 2
+mouse_filter = 1
+theme_override_font_sizes/font_size = 28
+theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
+text = "站点选择"
+script = ExtResource("1_gebae")
+_pivot_offset = "CENTER_Left"
+is_Scale = true
+
+[node name="Label9" type="Label" parent="SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"]
+modulate = Color(0.690196, 0.760784, 0.752941, 1)
+layout_mode = 2
+mouse_filter = 1
+theme_override_font_sizes/font_size = 28
+theme_override_styles/normal = SubResource("StyleBoxEmpty_dyppf")
+text = "站点选择"
+script = ExtResource("1_gebae")
+_pivot_offset = "CENTER_Left"
+is_Scale = true
+
[connection signal="on_click" from="DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle" to="." method="_on_d_vehicle_on_click"]
[connection signal="on_click" from="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionTextureRect" to="DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionTextureRect" method="_on_on_click"]
[connection signal="drag_ended" from="DataPanel/RightMenu/VBoxContainer/MarginContainer5/HSlider" to="DataPanel/RightMenu/VBoxContainer/MarginContainer5/HSlider" method="_on_drag_ended"]
diff --git a/app/src/main/assets/Modules/setting.tscn b/app/src/main/assets/Modules/setting.tscn
index dbd25b7..6560de0 100644
--- a/app/src/main/assets/Modules/setting.tscn
+++ b/app/src/main/assets/Modules/setting.tscn
@@ -60,6 +60,8 @@ texture = ExtResource("29_ou8fg")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
+offset_top = -6.0
+offset_bottom = -86.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_bottom = -2
@@ -82,7 +84,6 @@ styleBox = SubResource("StyleBoxTexture_mgevr")
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/margin"]
layout_mode = 2
-theme_override_constants/separation = 0
[node name="Label" type="Label" parent="HBoxContainer/margin/VBoxContainer"]
layout_mode = 2
@@ -658,7 +659,7 @@ horizontal_alignment = 2
vertical_alignment = 1
[node name="tab" type="Control" parent="HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer"]
-custom_minimum_size = Vector2(0, 52)
+custom_minimum_size = Vector2(0, 40)
layout_mode = 2
[node name="HBoxContainer2" type="HBoxContainer" parent="HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer"]
diff --git a/app/src/main/assets/Modules/site_selection_texture_rect.gd b/app/src/main/assets/Modules/site_selection_texture_rect.gd
index 8e61fed..d56c4e9 100644
--- a/app/src/main/assets/Modules/site_selection_texture_rect.gd
+++ b/app/src/main/assets/Modules/site_selection_texture_rect.gd
@@ -1,16 +1,23 @@
extends BaseControl
-
-
+var is_visible = true:
+ set(value):
+ is_visible = false
+ await get_tree().create_timer(0.5).timeout
+ is_visible = true
func _on_on_click(_node: Variant) -> void:
- print("--===")
- %SiteSelectionDetails.visible = !%SiteSelectionDetails.visible
+ print(is_visible)
+ if is_visible:
+ %SiteSelectionDetails.visible = true
+ is_visible = false
pass # Replace with function body.
func _input(event: InputEvent) -> void:
if event is InputEventMouseButton:
- if event.pressed and not Rect2(%SiteSelectionScrollContainer.position, %SiteSelectionScrollContainer.size).has_point(get_local_mouse_position()):# 未悬停在区域上。
+ if %SiteSelectionDetails.visible and event.button_index == MOUSE_BUTTON_LEFT and event.pressed and not Rect2(%SiteSelectionScrollContainer.position, %SiteSelectionScrollContainer.size).has_point(%SiteSelectionDetails.get_local_mouse_position()):# 未悬停在区域上。
%SiteSelectionDetails.visible = false
- pass
+ is_visible = false
+ #await get_tree().create_timer(0.1).timeout
+ #is_visible = true
pass
diff --git a/app/src/main/assets/code/main.gd b/app/src/main/assets/code/main.gd
index 4c2b003..f78b28b 100644
--- a/app/src/main/assets/code/main.gd
+++ b/app/src/main/assets/code/main.gd
@@ -44,13 +44,23 @@ func OnClick3DVehicle(_node: Variant) -> void:
func _on_tabs_onclick(State: Variant) -> void:
for node in dic.values():
node.visible = false
+ var appPlugin = Engine.get_singleton("AppPlugin")
+ if State != "Home":
+ if appPlugin:
+ appPlugin.hideMap()
+ else:
+ if appPlugin:
+ appPlugin.showMap()
dic[State].visible = true
pass # Replace with function body.
func _on_data_panel_on_click_3d_vehicle() -> void:
- print("--=======-----")
if !isVolumeSettings:
+ var appPlugin = Engine.get_singleton("AppPlugin")
+ if appPlugin:
+ appPlugin.hideMap()
+
isVolumeSettings = true
main_3d_vehicle.visible = true
#main_3d_vehicle_background.visible = false
@@ -71,6 +81,7 @@ func _on_data_panel_on_click_3d_vehicle() -> void:
tween0.tween_property(_3d_vehicle_information, "modulate", Color(1,1,1,0), 0.1)
tween0.tween_property(pretend_main_3d_vehicle_information, "modulate", Color(1,1,1,0), 0.1)
await get_tree().create_timer(0.3).timeout
+
#main_3d_vehicle_background.visible = true
var tween = create_tween()
tween.set_parallel()
diff --git a/app/src/main/assets/control.tscn b/app/src/main/assets/control.tscn
index 92c9e1b..e199b52 100644
--- a/app/src/main/assets/control.tscn
+++ b/app/src/main/assets/control.tscn
@@ -196,6 +196,7 @@ unique_name_in_owner = true
visible = false
custom_minimum_size = Vector2(2320, 1520)
layout_mode = 2
+theme_override_constants/margin_bottom = -4
[node name="TextureRect" type="TextureRect" parent="."]
visible = false
diff --git a/app/src/main/assets/godot/editor/Main3DVehicle.gd-folding-16ff2037404ca4837c1f9b37adffd7d1.cfg b/app/src/main/assets/godot/editor/Main3DVehicle.gd-folding-16ff2037404ca4837c1f9b37adffd7d1.cfg
new file mode 100644
index 0000000..e860dd4
--- /dev/null
+++ b/app/src/main/assets/godot/editor/Main3DVehicle.gd-folding-16ff2037404ca4837c1f9b37adffd7d1.cfg
@@ -0,0 +1,3 @@
+[folding]
+
+sections_unfolded=PackedStringArray()
diff --git a/app/src/main/assets/godot/editor/control.tscn-editstate-e66311c87c39ec8c25379305b5ae724b.cfg b/app/src/main/assets/godot/editor/control.tscn-editstate-e66311c87c39ec8c25379305b5ae724b.cfg
new file mode 100644
index 0000000..8e1ba6e
--- /dev/null
+++ b/app/src/main/assets/godot/editor/control.tscn-editstate-e66311c87c39ec8c25379305b5ae724b.cfg
@@ -0,0 +1,178 @@
+[editor_states]
+
+Anim={
+"visible": false
+}
+2D={
+"grid_offset": Vector2(0, 0),
+"grid_snap_active": false,
+"grid_step": Vector2(8, 8),
+"grid_visibility": 1,
+"ofs": Vector2(-98.9725, -27.3074),
+"primary_grid_step": Vector2i(8, 8),
+"show_group_gizmos": true,
+"show_guides": true,
+"show_helpers": false,
+"show_lock_gizmos": true,
+"show_origin": true,
+"show_position_gizmos": true,
+"show_rulers": true,
+"show_transformation_gizmos": true,
+"show_viewport": true,
+"show_zoom_control": true,
+"smart_snap_active": false,
+"snap_guides": true,
+"snap_node_anchors": true,
+"snap_node_center": true,
+"snap_node_parent": true,
+"snap_node_sides": true,
+"snap_other_nodes": true,
+"snap_pixel": true,
+"snap_relative": false,
+"snap_rotation": false,
+"snap_rotation_offset": 0.0,
+"snap_rotation_step": 0.261799,
+"snap_scale": false,
+"snap_scale_step": 0.1,
+"zoom": 0.297302
+}
+3D={
+"fov": 70.01,
+"gizmos_status": {
+"AudioListener3D": 0,
+"AudioStreamPlayer3D": 0,
+"CPUParticles3D": 0,
+"CSGShape3D": 0,
+"Camera3D": 0,
+"CollisionObject3D": 0,
+"CollisionPolygon3D": 0,
+"CollisionShape3D": 0,
+"Decal": 0,
+"FogVolume": 0,
+"GPUParticles3D": 0,
+"GPUParticlesCollision3D": 0,
+"Joint3D": 0,
+"Light3D": 0,
+"LightmapGI": 0,
+"LightmapProbe": 0,
+"Marker3D": 0,
+"MeshInstance3DCustomAABB": 0,
+"NavigationLink3D": 0,
+"NavigationRegion3D": 0,
+"OccluderInstance3D": 0,
+"Path3D": 0,
+"PhysicalBone3D": 0,
+"RayCast3D": 0,
+"ReflectionProbe": 0,
+"ShapeCast3D": 0,
+"Skeleton3D": 0,
+"SoftBody3D": 0,
+"SpringArm3D": 0,
+"VehicleWheel3D": 0,
+"VisibleOnScreenNotifier3D": 0,
+"VoxelGI": 0
+},
+"local_coords": false,
+"preview_sun_env": {
+"environ_ao_enabled": false,
+"environ_enabled": true,
+"environ_energy": 1.0,
+"environ_gi_enabled": false,
+"environ_glow_enabled": true,
+"environ_ground_color": Color(0.2, 0.169, 0.133, 1),
+"environ_sky_color": Color(0.385, 0.454, 0.55, 1),
+"environ_tonemap_enabled": true,
+"sun_color": Color(1, 1, 1, 1),
+"sun_enabled": true,
+"sun_energy": 1.0,
+"sun_max_distance": 100.0,
+"sun_rotation": Vector2(-1.0472, 2.61799)
+},
+"rotate_snap": 15.0,
+"scale_snap": 10.0,
+"show_grid": true,
+"show_origin": true,
+"snap_enabled": false,
+"translate_snap": 1.0,
+"viewport_mode": 1,
+"viewports": [{
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": true,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}],
+"zfar": 4000.01,
+"znear": 0.05
+}
+selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@16894/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@PanelContainer@98/MainScreen/@CanvasItemEditor@9280/@VSplitContainer@9102/@HSplitContainer@9104/@HSplitContainer@9106/@Control@9107/@SubViewportContainer@9108/@SubViewport@9109/Control/MarginContainer/HBoxContainer/MarginContainer/DataPanel")])
diff --git a/app/src/main/assets/godot/editor/control.tscn-folding-e66311c87c39ec8c25379305b5ae724b.cfg b/app/src/main/assets/godot/editor/control.tscn-folding-e66311c87c39ec8c25379305b5ae724b.cfg
new file mode 100644
index 0000000..52d6144
--- /dev/null
+++ b/app/src/main/assets/godot/editor/control.tscn-folding-e66311c87c39ec8c25379305b5ae724b.cfg
@@ -0,0 +1,5 @@
+[folding]
+
+node_unfolds=[NodePath("."), PackedStringArray("Layout"), NodePath("TextureRect2"), PackedStringArray("Visibility", "Layout"), NodePath("MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/HBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/HBoxContainer/Title"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/HBoxContainer/Title/PixLogo"), PackedStringArray("Layout"), NodePath("MarginContainer/HBoxContainer/Title/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/HBoxContainer/Title/VBoxContainer/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/HBoxContainer/Title/VBoxContainer/VBoxContainer/Button"), PackedStringArray("Layout", "Theme Overrides", "BiDi"), NodePath("MarginContainer/HBoxContainer/Title/VBoxContainer/VBoxContainer/Button2"), PackedStringArray("Layout", "Theme Overrides", "BiDi"), NodePath("MarginContainer/HBoxContainer/Title/VBoxContainer/VBoxContainer/Button3"), PackedStringArray("Layout", "Theme Overrides", "BiDi"), NodePath("MarginContainer/HBoxContainer/Title/VBoxContainer/ShutdownIsScale"), PackedStringArray("Layout"), NodePath("MarginContainer/HBoxContainer/Title/Tabs"), PackedStringArray("Layout"), NodePath("MarginContainer/HBoxContainer/MarginContainer"), PackedStringArray("Layout"), NodePath("MarginContainer/HBoxContainer/MarginContainer/DataPanel"), PackedStringArray("Layout"), NodePath("MarginContainer/HBoxContainer/MarginContainer/Main3DVehicle"), PackedStringArray("Visibility", "Layout"), NodePath("MarginContainer/HBoxContainer/MarginContainer/Information"), PackedStringArray("Visibility", "Layout"), NodePath("MarginContainer/HBoxContainer/MarginContainer/Setting"), PackedStringArray("Visibility", "Layout", "Layout/Transform", "Theme Overrides", "Theme Overrides/constants"), NodePath("TextureRect"), PackedStringArray("Visibility", "Layout", "Mouse"), NodePath("Control"), PackedStringArray("Visibility", "Layout", "Mouse")]
+resource_unfolds=["res://control.tscn::StyleBoxFlat_kh08u", PackedStringArray("Resource"), "res://control.tscn::StyleBoxTexture_mkgnk", PackedStringArray("Resource"), "res://control.tscn::StyleBoxFlat_46du7", PackedStringArray("Resource", "Content Margins", "Corner Radius"), "res://control.tscn::StyleBoxFlat_78bhk", PackedStringArray("Resource", "Content Margins", "Corner Radius")]
+nodes_folded=[]
diff --git a/app/src/main/assets/godot/editor/create_recent.Node b/app/src/main/assets/godot/editor/create_recent.Node
new file mode 100644
index 0000000..50606b3
--- /dev/null
+++ b/app/src/main/assets/godot/editor/create_recent.Node
@@ -0,0 +1,2 @@
+CanvasLayer
+Control
diff --git a/app/src/main/assets/godot/editor/data_panel.gd-folding-7135bdf7da988c6f4dcccc095258a154.cfg b/app/src/main/assets/godot/editor/data_panel.gd-folding-7135bdf7da988c6f4dcccc095258a154.cfg
new file mode 100644
index 0000000..e860dd4
--- /dev/null
+++ b/app/src/main/assets/godot/editor/data_panel.gd-folding-7135bdf7da988c6f4dcccc095258a154.cfg
@@ -0,0 +1,3 @@
+[folding]
+
+sections_unfolded=PackedStringArray()
diff --git a/app/src/main/assets/godot/editor/data_panel.tscn-editstate-cde3bcba676ea6f34bed0c4b04d5924b.cfg b/app/src/main/assets/godot/editor/data_panel.tscn-editstate-cde3bcba676ea6f34bed0c4b04d5924b.cfg
new file mode 100644
index 0000000..09d673c
--- /dev/null
+++ b/app/src/main/assets/godot/editor/data_panel.tscn-editstate-cde3bcba676ea6f34bed0c4b04d5924b.cfg
@@ -0,0 +1,178 @@
+[editor_states]
+
+Anim={
+"visible": false
+}
+2D={
+"grid_offset": Vector2(0, 0),
+"grid_snap_active": false,
+"grid_step": Vector2(8, 8),
+"grid_visibility": 1,
+"ofs": Vector2(-359.67, 100.211),
+"primary_grid_step": Vector2i(8, 8),
+"show_group_gizmos": true,
+"show_guides": true,
+"show_helpers": false,
+"show_lock_gizmos": true,
+"show_origin": true,
+"show_position_gizmos": true,
+"show_rulers": true,
+"show_transformation_gizmos": true,
+"show_viewport": true,
+"show_zoom_control": true,
+"smart_snap_active": false,
+"snap_guides": true,
+"snap_node_anchors": true,
+"snap_node_center": true,
+"snap_node_parent": true,
+"snap_node_sides": true,
+"snap_other_nodes": true,
+"snap_pixel": true,
+"snap_relative": false,
+"snap_rotation": false,
+"snap_rotation_offset": 0.0,
+"snap_rotation_step": 0.261799,
+"snap_scale": false,
+"snap_scale_step": 0.1,
+"zoom": 0.420448
+}
+3D={
+"fov": 70.01,
+"gizmos_status": {
+"AudioListener3D": 0,
+"AudioStreamPlayer3D": 0,
+"CPUParticles3D": 0,
+"CSGShape3D": 0,
+"Camera3D": 0,
+"CollisionObject3D": 0,
+"CollisionPolygon3D": 0,
+"CollisionShape3D": 0,
+"Decal": 0,
+"FogVolume": 0,
+"GPUParticles3D": 0,
+"GPUParticlesCollision3D": 0,
+"Joint3D": 0,
+"Light3D": 0,
+"LightmapGI": 0,
+"LightmapProbe": 0,
+"Marker3D": 0,
+"MeshInstance3DCustomAABB": 0,
+"NavigationLink3D": 0,
+"NavigationRegion3D": 0,
+"OccluderInstance3D": 0,
+"Path3D": 0,
+"PhysicalBone3D": 0,
+"RayCast3D": 0,
+"ReflectionProbe": 0,
+"ShapeCast3D": 0,
+"Skeleton3D": 0,
+"SoftBody3D": 0,
+"SpringArm3D": 0,
+"VehicleWheel3D": 0,
+"VisibleOnScreenNotifier3D": 0,
+"VoxelGI": 0
+},
+"local_coords": false,
+"preview_sun_env": {
+"environ_ao_enabled": false,
+"environ_enabled": true,
+"environ_energy": 1.0,
+"environ_gi_enabled": false,
+"environ_glow_enabled": true,
+"environ_ground_color": Color(0.2, 0.169, 0.133, 1),
+"environ_sky_color": Color(0.385, 0.454, 0.55, 1),
+"environ_tonemap_enabled": true,
+"sun_color": Color(1, 1, 1, 1),
+"sun_enabled": true,
+"sun_energy": 1.0,
+"sun_max_distance": 100.0,
+"sun_rotation": Vector2(-1.0472, 2.61799)
+},
+"rotate_snap": 15.0,
+"scale_snap": 10.0,
+"show_grid": true,
+"show_origin": true,
+"snap_enabled": false,
+"translate_snap": 1.0,
+"viewport_mode": 1,
+"viewports": [{
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": true,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}],
+"zfar": 4000.01,
+"znear": 0.05
+}
+selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@16894/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@PanelContainer@98/MainScreen/@CanvasItemEditor@9280/@VSplitContainer@9102/@HSplitContainer@9104/@HSplitContainer@9106/@Control@9107/@SubViewportContainer@9108/@SubViewport@9109/DataPanel/DataPanel/MediumMenu/VBoxContainer/HBoxContainer2/mapTextureRect")])
diff --git a/app/src/main/assets/godot/editor/data_panel.tscn-folding-cde3bcba676ea6f34bed0c4b04d5924b.cfg b/app/src/main/assets/godot/editor/data_panel.tscn-folding-cde3bcba676ea6f34bed0c4b04d5924b.cfg
index 2e8f874..ace510a 100644
--- a/app/src/main/assets/godot/editor/data_panel.tscn-folding-cde3bcba676ea6f34bed0c4b04d5924b.cfg
+++ b/app/src/main/assets/godot/editor/data_panel.tscn-folding-cde3bcba676ea6f34bed0c4b04d5924b.cfg
@@ -1,5 +1,5 @@
[folding]
-node_unfolds=[NodePath("."), PackedStringArray("Layout"), NodePath("DataPanel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle"), PackedStringArray("Layout", "Mouse", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DTextureRect"), PackedStringArray("Material", "Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/TrafficLight"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/TrafficLight/TrafficLight"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer/Steering"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer/Speed"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer/SpeedUnit"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer/SteeringWheel"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1/OnlineStatus"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1/OnlineStatus/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1/OnlineStatus/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1/NDK"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1/control_modeTextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/GearAdjustment"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/GearAdjustment/gearPosition0"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/GearAdjustment/gearPosition2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/GearAdjustment/gearPosition3"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/GearAdjustment/gearPosition4"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/MarginContainer/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/accel_status"), PackedStringArray("Layout", "Textures"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/brake_status"), PackedStringArray("Layout", "Textures"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/BatteryLife"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/BatteryLife/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/BatteryLife/BatteryLifeLabel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/BatteryLife/Label3"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/SmallMileage"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/SmallMileage/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/SmallMileage/SmallMileageLabel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/SmallMileage/Label3"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/Power"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/Power/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/Power/PowerTextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/Power/PowerLabel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/MarginContainer/CarbonDioxideTextureRect"), PackedStringArray("Layout", "Mouse"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/MarginContainer/smokeTextureRect2"), PackedStringArray("Layout", "Mouse"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/MarginContainer/seatbelt"), PackedStringArray("Layout", "Mouse"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/MarginContainer/Vcu_Report1TextureRect4"), PackedStringArray("Layout", "Mouse"), NodePath("DataPanel/MediumMenu/VBoxContainer/HBoxContainer2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/HBoxContainer2/mapTextureRect"), PackedStringArray("Visibility", "Material", "Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/HBoxContainer2/TextureRect2"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/HBoxContainer2/TextureRect2/sideDisplayTextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer/dateTime"), PackedStringArray("Layout", "Theme Overrides", "BiDi"), NodePath("DataPanel/RightMenu/VBoxContainer/VolumeSettings"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer2"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3"), PackedStringArray("Layout", "Mouse", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionTextureRect"), PackedStringArray("Layout", "Mouse"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionTextureRect/Label"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/MarginContainer"), PackedStringArray("Layout", "Mouse", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/MarginContainer/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails"), PackedStringArray("Ordering", "Mouse"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer"), PackedStringArray("Layout", "Mouse", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer"), PackedStringArray("Layout", "Mouse", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"), PackedStringArray("Layout", "Mouse", "Theme", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label2"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label3"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label4"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label5"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label6"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label7"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label8"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label9"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer4"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer4/HBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer4/HBoxContainer/Button"), PackedStringArray("Layout", "Focus", "Theme Overrides", "Icon Behavior", "BiDi"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer4/HBoxContainer/Button2"), PackedStringArray("Layout", "Focus", "Theme Overrides", "Icon Behavior", "BiDi"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer5"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer5/HSlider"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer5/HBoxContainer"), PackedStringArray("Layout", "Mouse", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer5/HBoxContainer/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer5/HBoxContainer/Label2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer/target_distance"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer2/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer2/estimate_time_label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer8"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer8/distanceHScrollBar"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer9"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer9/HBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer9/HBoxContainer/Current_platform_Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer9/HBoxContainer2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer9/HBoxContainer2/Next_platform_Label"), PackedStringArray("Layout", "Theme Overrides")]
-resource_unfolds=["res://Modules/data_panel.tscn::StyleBoxTexture_ia2eh", PackedStringArray("Resource"), "res://Modules/data_panel.tscn::ShaderMaterial_yeotr", PackedStringArray("Resource", "Shader Parameters"), "res://Modules/data_panel.tscn::StyleBoxEmpty_j2i4v", PackedStringArray("Resource", "Content Margins"), "res://Modules/data_panel.tscn::StyleBoxTexture_a74mg", PackedStringArray("Resource", "Texture Margins", "Sub-Region"), "res://Modules/data_panel.tscn::StyleBoxEmpty_bmudn", PackedStringArray("Resource", "Content Margins"), "res://Modules/data_panel.tscn::ShaderMaterial_7qxv8", PackedStringArray("Resource", "Shader Parameters"), "res://Modules/data_panel.tscn::StyleBoxTexture_61ssv", PackedStringArray("Resource"), "res://Modules/data_panel.tscn::FontVariation_frbsn", PackedStringArray("Resource", "Extra Spacing"), "res://Modules/data_panel.tscn::StyleBoxEmpty_dyppf", PackedStringArray("Resource", "Content Margins"), "res://Modules/data_panel.tscn::StyleBoxFlat_m8j1c", PackedStringArray("Resource"), "res://Modules/data_panel.tscn::StyleBoxTexture_p77x8", PackedStringArray("Resource", "Texture Margins", "Sub-Region"), "res://Modules/data_panel.tscn::Theme_f5wb5", PackedStringArray("Resource"), "res://Modules/data_panel.tscn::StyleBoxTexture_v7412", PackedStringArray("Resource", "Expand Margins"), "res://Modules/data_panel.tscn::StyleBoxTexture_gpo2x", PackedStringArray("Resource", "Texture Margins", "Expand Margins")]
-nodes_folded=[]
+node_unfolds=[NodePath("."), PackedStringArray("Layout", "Layout/Transform"), NodePath("DataPanel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle"), PackedStringArray("Layout", "Mouse", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DTextureRect"), PackedStringArray("Material", "Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/TrafficLight"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/TrafficLight/TrafficLight"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer/Steering"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer/Speed"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer/SpeedUnit"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/3DVehicle/3DVehicleInformation/DrivingInformation/MarginContainer/SteeringWheel"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1/OnlineStatus"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1/OnlineStatus/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1/OnlineStatus/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1/NDK"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay1/control_modeTextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/GearAdjustment"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/GearAdjustment/gearPosition0"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/GearAdjustment/gearPosition2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/GearAdjustment/gearPosition3"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/GearAdjustment/gearPosition4"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/MarginContainer/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/accel_status"), PackedStringArray("Layout", "Textures"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/brake_status"), PackedStringArray("Layout", "Textures"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay2/MarginContainer/VBoxContainer/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/BatteryLife"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/BatteryLife/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/BatteryLife/BatteryLifeLabel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/BatteryLife/Label3"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/SmallMileage"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/SmallMileage/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/SmallMileage/SmallMileageLabel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/SmallMileage/Label3"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/Power"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/Power/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/Power/PowerTextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay3/MarginContainer/Power/PowerLabel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/MarginContainer/CarbonDioxideTextureRect"), PackedStringArray("Layout", "Mouse"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/MarginContainer/smokeTextureRect2"), PackedStringArray("Layout", "Mouse"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/MarginContainer/seatbelt"), PackedStringArray("Layout", "Mouse"), NodePath("DataPanel/MediumMenu/VBoxContainer/CarInfoDisplay/VehicleInformation/VBoxContainer/InformationDisplay4/MarginContainer/Vcu_Report1TextureRect4"), PackedStringArray("Layout", "Mouse"), NodePath("DataPanel/MediumMenu/VBoxContainer/HBoxContainer2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/MediumMenu/VBoxContainer/HBoxContainer2/mapTextureRect"), PackedStringArray("Visibility", "Material", "Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/HBoxContainer2/TextureRect2"), PackedStringArray("Layout"), NodePath("DataPanel/MediumMenu/VBoxContainer/HBoxContainer2/TextureRect2/sideDisplayTextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer/dateTime"), PackedStringArray("Layout", "Theme Overrides", "BiDi"), NodePath("DataPanel/RightMenu/VBoxContainer/VolumeSettings"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer2"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3"), PackedStringArray("Layout", "Mouse", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionTextureRect"), PackedStringArray("Layout", "Mouse"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/SiteSelectionTextureRect/Label"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/MarginContainer"), PackedStringArray("Layout", "Mouse", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3/MarginContainer/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer4"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer4/HBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer4/HBoxContainer/Button"), PackedStringArray("Layout", "Focus", "Theme Overrides", "Icon Behavior", "BiDi"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer4/HBoxContainer/Button2"), PackedStringArray("Layout", "Focus", "Theme Overrides", "Icon Behavior", "BiDi"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer5"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer5/HSlider"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer5/HBoxContainer"), PackedStringArray("Layout", "Mouse", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer5/HBoxContainer/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer5/HBoxContainer/Label2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer/target_distance"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer2/TextureRect"), PackedStringArray("Layout"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer7/HBoxContainer2/estimate_time_label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer8"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer8/distanceHScrollBar"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer9"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer9/HBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer9/HBoxContainer/Current_platform_Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer9/HBoxContainer2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer9/HBoxContainer2/Next_platform_Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("CanvasLayer"), PackedStringArray("Layer", "Transform", "Follow Viewport"), NodePath("SiteSelectionDetails"), PackedStringArray("Ordering", "Mouse"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer"), PackedStringArray("Layout", "Mouse", "Theme Overrides", "Layout/Transform", "Theme Overrides/styles"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer"), PackedStringArray("Layout", "Mouse", "Theme Overrides"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer"), PackedStringArray("Layout", "Mouse", "Theme", "Theme Overrides", "Visibility", "Theme Overrides/constants"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label2"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label3"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label4"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label5"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label6"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label7"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label8"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("SiteSelectionDetails/SiteSelectionScrollContainer/MarginContainer/VBoxContainer/Label9"), PackedStringArray("Visibility", "Layout", "Theme Overrides")]
+resource_unfolds=["res://Modules/data_panel.tscn::StyleBoxTexture_ia2eh", PackedStringArray("Resource"), "res://Modules/data_panel.tscn::ShaderMaterial_yeotr", PackedStringArray("Resource", "Shader Parameters"), "res://Modules/data_panel.tscn::StyleBoxEmpty_j2i4v", PackedStringArray("Resource", "Content Margins"), "res://Modules/data_panel.tscn::StyleBoxTexture_a74mg", PackedStringArray("Resource", "Texture Margins", "Sub-Region"), "res://Modules/data_panel.tscn::StyleBoxEmpty_bmudn", PackedStringArray("Resource", "Content Margins"), "res://Modules/data_panel.tscn::ShaderMaterial_7qxv8", PackedStringArray("Resource", "Shader Parameters"), "res://Modules/data_panel.tscn::StyleBoxTexture_61ssv", PackedStringArray("Resource"), "res://Modules/data_panel.tscn::FontVariation_frbsn", PackedStringArray("Resource", "Extra Spacing"), "res://Modules/data_panel.tscn::StyleBoxEmpty_dyppf", PackedStringArray("Resource", "Content Margins"), "res://Modules/data_panel.tscn::StyleBoxTexture_v7412", PackedStringArray("Resource", "Expand Margins"), "res://Modules/data_panel.tscn::StyleBoxTexture_gpo2x", PackedStringArray("Resource", "Texture Margins", "Expand Margins"), "res://Modules/data_panel.tscn::StyleBoxTexture_p77x8", PackedStringArray("Resource", "Texture Margins", "Sub-Region"), "res://Modules/data_panel.tscn::Theme_f5wb5", PackedStringArray("Resource")]
+nodes_folded=[NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer"), NodePath("DataPanel/RightMenu/VBoxContainer/VolumeSettings"), NodePath("DataPanel/RightMenu/VBoxContainer/MarginContainer3")]
diff --git a/app/src/main/assets/godot/editor/editor_layout.cfg b/app/src/main/assets/godot/editor/editor_layout.cfg
index 74e780d..4f832c8 100644
--- a/app/src/main/assets/godot/editor/editor_layout.cfg
+++ b/app/src/main/assets/godot/editor/editor_layout.cfg
@@ -17,7 +17,7 @@ dock_filesystem_v_split_offset=0
dock_filesystem_display_mode=0
dock_filesystem_file_sort=0
dock_filesystem_file_list_display_mode=1
-dock_filesystem_selected_paths=PackedStringArray("res://")
+dock_filesystem_selected_paths=PackedStringArray("res://control.tscn")
dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://")
dock_3="Scene,Import"
dock_4="FileSystem"
@@ -25,17 +25,18 @@ dock_5="Inspector,Node,History"
[EditorNode]
-open_scenes=PackedStringArray("res://Modules/data_panel.tscn")
+open_scenes=PackedStringArray("res://Modules/data_panel.tscn", "res://control.tscn", "res://Modules/main_3d_vehicle.tscn", "res://Modules/setting.tscn")
current_scene="res://Modules/data_panel.tscn"
center_split_offset=0
selected_default_debugger_tab_idx=0
selected_main_editor_idx=0
+selected_bottom_panel_item=0
[ScriptEditor]
-open_scripts=[]
-selected_script=""
-open_help=[]
+open_scripts=["res://common/base/base_control.gd", "res://Modules/data_panel.gd", "res://res3D/ego_vehicle.gd", "res://pad_hmi_ui/Main3DVehicle.gd", "res://code/main.gd", "res://Modules/site_selection_texture_rect.gd"]
+selected_script="res://code/main.gd"
+open_help=["@GlobalScope", "CanvasItem", "InputEventMouseButton"]
script_split_offset=140
list_split_offset=0
zoom_factor=1.0
@@ -46,3 +47,13 @@ open_shaders=[]
split_offset=0
selected_shader=""
text_shader_zoom_factor=1.0
+
+[editor_log]
+
+log_filter_0=true
+log_filter_2=true
+log_filter_1=true
+log_filter_3=true
+log_filter_4=true
+collapse=false
+show_search=true
diff --git a/app/src/main/assets/godot/editor/favorites.Node b/app/src/main/assets/godot/editor/favorites.Node
new file mode 100644
index 0000000..e69de29
diff --git a/app/src/main/assets/godot/editor/filesystem_update4 b/app/src/main/assets/godot/editor/filesystem_update4
new file mode 100644
index 0000000..38dd28e
--- /dev/null
+++ b/app/src/main/assets/godot/editor/filesystem_update4
@@ -0,0 +1,9 @@
+res://Modules/data_panel.tscn
+res://Modules/data_panel.gd
+res://res3D/mainEnvironment.tres
+res://code/main.gd
+res://control.tscn
+res://pad_hmi_ui/Main3DVehicle.gd
+res://Modules/main_3d_vehicle.tscn
+res://Modules/setting.tscn
+res://Modules/site_selection_texture_rect.gd
diff --git a/app/src/main/assets/godot/editor/main.gd-folding-b8eca3dce71e6348dc5bc638047ca330.cfg b/app/src/main/assets/godot/editor/main.gd-folding-b8eca3dce71e6348dc5bc638047ca330.cfg
new file mode 100644
index 0000000..e860dd4
--- /dev/null
+++ b/app/src/main/assets/godot/editor/main.gd-folding-b8eca3dce71e6348dc5bc638047ca330.cfg
@@ -0,0 +1,3 @@
+[folding]
+
+sections_unfolded=PackedStringArray()
diff --git a/app/src/main/assets/godot/editor/mainEnvironment.tres-folding-53f201f1de4dcd0139c24cefd539fd77.cfg b/app/src/main/assets/godot/editor/mainEnvironment.tres-folding-53f201f1de4dcd0139c24cefd539fd77.cfg
new file mode 100644
index 0000000..e860dd4
--- /dev/null
+++ b/app/src/main/assets/godot/editor/mainEnvironment.tres-folding-53f201f1de4dcd0139c24cefd539fd77.cfg
@@ -0,0 +1,3 @@
+[folding]
+
+sections_unfolded=PackedStringArray()
diff --git a/app/src/main/assets/godot/editor/main_3d_vehicle.tscn-editstate-11459265b23279296aec9a1336f6c049.cfg b/app/src/main/assets/godot/editor/main_3d_vehicle.tscn-editstate-11459265b23279296aec9a1336f6c049.cfg
new file mode 100644
index 0000000..69d4c15
--- /dev/null
+++ b/app/src/main/assets/godot/editor/main_3d_vehicle.tscn-editstate-11459265b23279296aec9a1336f6c049.cfg
@@ -0,0 +1,178 @@
+[editor_states]
+
+Anim={
+"visible": false
+}
+2D={
+"grid_offset": Vector2(0, 0),
+"grid_snap_active": false,
+"grid_step": Vector2(8, 8),
+"grid_visibility": 1,
+"ofs": Vector2(-180, -125),
+"primary_grid_step": Vector2i(8, 8),
+"show_group_gizmos": true,
+"show_guides": true,
+"show_helpers": false,
+"show_lock_gizmos": true,
+"show_origin": true,
+"show_position_gizmos": true,
+"show_rulers": true,
+"show_transformation_gizmos": true,
+"show_viewport": true,
+"show_zoom_control": true,
+"smart_snap_active": false,
+"snap_guides": true,
+"snap_node_anchors": true,
+"snap_node_center": true,
+"snap_node_parent": true,
+"snap_node_sides": true,
+"snap_other_nodes": true,
+"snap_pixel": true,
+"snap_relative": false,
+"snap_rotation": false,
+"snap_rotation_offset": 0.0,
+"snap_rotation_step": 0.261799,
+"snap_scale": false,
+"snap_scale_step": 0.1,
+"zoom": 0.25
+}
+3D={
+"fov": 70.01,
+"gizmos_status": {
+"AudioListener3D": 0,
+"AudioStreamPlayer3D": 0,
+"CPUParticles3D": 0,
+"CSGShape3D": 0,
+"Camera3D": 0,
+"CollisionObject3D": 0,
+"CollisionPolygon3D": 0,
+"CollisionShape3D": 0,
+"Decal": 0,
+"FogVolume": 0,
+"GPUParticles3D": 0,
+"GPUParticlesCollision3D": 0,
+"Joint3D": 0,
+"Light3D": 0,
+"LightmapGI": 0,
+"LightmapProbe": 0,
+"Marker3D": 0,
+"MeshInstance3DCustomAABB": 0,
+"NavigationLink3D": 0,
+"NavigationRegion3D": 0,
+"OccluderInstance3D": 0,
+"Path3D": 0,
+"PhysicalBone3D": 0,
+"RayCast3D": 0,
+"ReflectionProbe": 0,
+"ShapeCast3D": 0,
+"Skeleton3D": 0,
+"SoftBody3D": 0,
+"SpringArm3D": 0,
+"VehicleWheel3D": 0,
+"VisibleOnScreenNotifier3D": 0,
+"VoxelGI": 0
+},
+"local_coords": false,
+"preview_sun_env": {
+"environ_ao_enabled": false,
+"environ_enabled": true,
+"environ_energy": 1.0,
+"environ_gi_enabled": false,
+"environ_glow_enabled": true,
+"environ_ground_color": Color(0.2, 0.169, 0.133, 1),
+"environ_sky_color": Color(0.385, 0.454, 0.55, 1),
+"environ_tonemap_enabled": true,
+"sun_color": Color(1, 1, 1, 1),
+"sun_enabled": true,
+"sun_energy": 1.0,
+"sun_max_distance": 100.0,
+"sun_rotation": Vector2(-1.0472, 2.61799)
+},
+"rotate_snap": 15.0,
+"scale_snap": 10.0,
+"show_grid": true,
+"show_origin": true,
+"snap_enabled": false,
+"translate_snap": 1.0,
+"viewport_mode": 1,
+"viewports": [{
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": true,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}],
+"zfar": 4000.01,
+"znear": 0.05
+}
+selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@16894/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@PanelContainer@98/MainScreen/@CanvasItemEditor@9280/@VSplitContainer@9102/@HSplitContainer@9104/@HSplitContainer@9106/@Control@9107/@SubViewportContainer@9108/@SubViewport@9109/Control/MarginContainer/HBoxContainer/MarginContainer/DataPanel")])
diff --git a/app/src/main/assets/godot/editor/main_3d_vehicle.tscn-folding-11459265b23279296aec9a1336f6c049.cfg b/app/src/main/assets/godot/editor/main_3d_vehicle.tscn-folding-11459265b23279296aec9a1336f6c049.cfg
new file mode 100644
index 0000000..515dbc9
--- /dev/null
+++ b/app/src/main/assets/godot/editor/main_3d_vehicle.tscn-folding-11459265b23279296aec9a1336f6c049.cfg
@@ -0,0 +1,5 @@
+[folding]
+
+node_unfolds=[NodePath("."), PackedStringArray("Layout"), NodePath("Main3DVehicleBackground"), PackedStringArray("Layout", "Patch Margin"), NodePath("MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleTexture"), PackedStringArray("Material"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation"), PackedStringArray("Visibility", "Layout", "Mouse"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation/TrafficLight"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation/TrafficLight/TextureRect2"), PackedStringArray("Layout"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation/DrivingInformation"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation/DrivingInformation/TextureRect"), PackedStringArray("Layout"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation/DrivingInformation/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation/DrivingInformation/MarginContainer/Steering"), PackedStringArray("Layout"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer/Speed"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer/SpeedUnit"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleTexture/PretendMain3DVehicleInformation/DrivingInformation/MarginContainer/SteeringWheel"), PackedStringArray("Layout"), NodePath("MarginContainer/Main3DVehicleInformation"), PackedStringArray("Layout", "Mouse"), NodePath("MarginContainer/Main3DVehicleInformation/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleInformation/TrafficLight"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleInformation/TrafficLight/TrafficLight"), PackedStringArray("Layout"), NodePath("MarginContainer/Main3DVehicleInformation/DrivingInformation"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleInformation/DrivingInformation/TextureRect"), PackedStringArray("Layout"), NodePath("MarginContainer/Main3DVehicleInformation/DrivingInformation/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleInformation/DrivingInformation/MarginContainer/Steering"), PackedStringArray("Layout"), NodePath("MarginContainer/Main3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer/Speed"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleInformation/DrivingInformation/MarginContainer/VBoxContainer/SpeedUnit"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MarginContainer/Main3DVehicleInformation/DrivingInformation/MarginContainer/SteeringWheel"), PackedStringArray("Layout")]
+resource_unfolds=["res://Modules/main_3d_vehicle.tscn::ShaderMaterial_8c5rn", PackedStringArray("Resource", "Shader Parameters"), "res://Modules/main_3d_vehicle.tscn::StyleBoxEmpty_j2i4v", PackedStringArray("Resource", "Content Margins")]
+nodes_folded=[]
diff --git a/app/src/main/assets/godot/editor/project_metadata.cfg b/app/src/main/assets/godot/editor/project_metadata.cfg
index 6e407a0..278b4c0 100644
--- a/app/src/main/assets/godot/editor/project_metadata.cfg
+++ b/app/src/main/assets/godot/editor/project_metadata.cfg
@@ -4,4 +4,11 @@ executable_path="/Users/shurongsen/Library/Application Support/Steam/steamapps/c
[recent_files]
-scenes=["res://Modules/data_panel.tscn"]
+scenes=["res://Modules/setting.tscn", "res://Modules/main_3d_vehicle.tscn", "res://control.tscn", "res://Modules/data_panel.tscn"]
+scripts=["CanvasItem", "@GlobalScope", "InputEventMouseButton", "res://Modules/site_selection_texture_rect.gd", "res://common/base/base_control.gd", "res://pad_hmi_ui/Main3DVehicle.gd", "res://code/main.gd", "res://res3D/ego_vehicle.gd", "res://Modules/data_panel.gd"]
+
+[dialog_bounds]
+
+editor_settings=Rect2(900, 4790, 1800, 1400)
+project_settings=Rect2(600, 4790, 2400, 1400)
+create_new_node=Rect2(900, 4790, 1800, 1400)
diff --git a/app/src/main/assets/godot/editor/script_editor_cache.cfg b/app/src/main/assets/godot/editor/script_editor_cache.cfg
index e69de29..9bd2bdb 100644
--- a/app/src/main/assets/godot/editor/script_editor_cache.cfg
+++ b/app/src/main/assets/godot/editor/script_editor_cache.cfg
@@ -0,0 +1,95 @@
+[res://Modules/data_panel.gd]
+
+state={
+"bookmarks": PackedInt32Array(),
+"breakpoints": PackedInt32Array(),
+"column": 18,
+"folded_lines": Array[int]([]),
+"h_scroll_position": 0,
+"row": 188,
+"scroll_position": 1.0,
+"selection": false,
+"syntax_highlighter": "GDScript"
+}
+
+[res://res3D/ego_vehicle.gd]
+
+state={
+"bookmarks": PackedInt32Array(),
+"breakpoints": PackedInt32Array(),
+"column": 0,
+"folded_lines": Array[int]([]),
+"h_scroll_position": 0,
+"row": 0,
+"scroll_position": 0.0,
+"selection": false,
+"syntax_highlighter": "GDScript"
+}
+
+[res://code/main.gd]
+
+state={
+"bookmarks": PackedInt32Array(),
+"breakpoints": PackedInt32Array(),
+"column": 22,
+"folded_lines": Array[int]([]),
+"h_scroll_position": 0,
+"row": 61,
+"scroll_position": 50.0,
+"selection": false,
+"syntax_highlighter": "GDScript"
+}
+
+[res://pad_hmi_ui/Main3DVehicle.gd]
+
+state={
+"bookmarks": PackedInt32Array(),
+"breakpoints": PackedInt32Array(),
+"column": 22,
+"folded_lines": Array[int]([]),
+"h_scroll_position": 0,
+"row": 60,
+"scroll_position": 41.0,
+"selection": true,
+"selection_from_column": 2,
+"selection_from_line": 59,
+"selection_to_column": 22,
+"selection_to_line": 60,
+"syntax_highlighter": "GDScript"
+}
+
+[res://common/base/base_control.gd]
+
+state={
+"bookmarks": PackedInt32Array(),
+"breakpoints": PackedInt32Array(),
+"column": 33,
+"folded_lines": Array[int]([]),
+"h_scroll_position": 0,
+"row": 160,
+"scroll_position": 139.0,
+"selection": true,
+"selection_from_column": 22,
+"selection_from_line": 160,
+"selection_to_column": 33,
+"selection_to_line": 160,
+"syntax_highlighter": "GDScript"
+}
+
+[res://Modules/site_selection_texture_rect.gd]
+
+state={
+"bookmarks": PackedInt32Array(),
+"breakpoints": PackedInt32Array(),
+"column": 13,
+"folded_lines": Array[int]([]),
+"h_scroll_position": 0,
+"row": 2,
+"scroll_position": 0.0,
+"selection": true,
+"selection_from_column": 13,
+"selection_from_line": 2,
+"selection_to_column": 33,
+"selection_to_line": 16,
+"syntax_highlighter": "GDScript"
+}
diff --git a/app/src/main/assets/godot/editor/setting.tscn-editstate-1612a1eed2333395391588d98220aca9.cfg b/app/src/main/assets/godot/editor/setting.tscn-editstate-1612a1eed2333395391588d98220aca9.cfg
new file mode 100644
index 0000000..e72bfd6
--- /dev/null
+++ b/app/src/main/assets/godot/editor/setting.tscn-editstate-1612a1eed2333395391588d98220aca9.cfg
@@ -0,0 +1,178 @@
+[editor_states]
+
+Anim={
+"visible": false
+}
+2D={
+"grid_offset": Vector2(0, 0),
+"grid_snap_active": false,
+"grid_step": Vector2(8, 8),
+"grid_visibility": 1,
+"ofs": Vector2(896.127, 508.867),
+"primary_grid_step": Vector2i(8, 8),
+"show_group_gizmos": true,
+"show_guides": true,
+"show_helpers": false,
+"show_lock_gizmos": true,
+"show_origin": true,
+"show_position_gizmos": true,
+"show_rulers": true,
+"show_transformation_gizmos": true,
+"show_viewport": true,
+"show_zoom_control": true,
+"smart_snap_active": false,
+"snap_guides": true,
+"snap_node_anchors": true,
+"snap_node_center": true,
+"snap_node_parent": true,
+"snap_node_sides": true,
+"snap_other_nodes": true,
+"snap_pixel": true,
+"snap_relative": false,
+"snap_rotation": false,
+"snap_rotation_offset": 0.0,
+"snap_rotation_step": 0.261799,
+"snap_scale": false,
+"snap_scale_step": 0.1,
+"zoom": 0.66742
+}
+3D={
+"fov": 70.01,
+"gizmos_status": {
+"AudioListener3D": 0,
+"AudioStreamPlayer3D": 0,
+"CPUParticles3D": 0,
+"CSGShape3D": 0,
+"Camera3D": 0,
+"CollisionObject3D": 0,
+"CollisionPolygon3D": 0,
+"CollisionShape3D": 0,
+"Decal": 0,
+"FogVolume": 0,
+"GPUParticles3D": 0,
+"GPUParticlesCollision3D": 0,
+"Joint3D": 0,
+"Light3D": 0,
+"LightmapGI": 0,
+"LightmapProbe": 0,
+"Marker3D": 0,
+"MeshInstance3DCustomAABB": 0,
+"NavigationLink3D": 0,
+"NavigationRegion3D": 0,
+"OccluderInstance3D": 0,
+"Path3D": 0,
+"PhysicalBone3D": 0,
+"RayCast3D": 0,
+"ReflectionProbe": 0,
+"ShapeCast3D": 0,
+"Skeleton3D": 0,
+"SoftBody3D": 0,
+"SpringArm3D": 0,
+"VehicleWheel3D": 0,
+"VisibleOnScreenNotifier3D": 0,
+"VoxelGI": 0
+},
+"local_coords": false,
+"preview_sun_env": {
+"environ_ao_enabled": false,
+"environ_enabled": true,
+"environ_energy": 1.0,
+"environ_gi_enabled": false,
+"environ_glow_enabled": true,
+"environ_ground_color": Color(0.2, 0.169, 0.133, 1),
+"environ_sky_color": Color(0.385, 0.454, 0.55, 1),
+"environ_tonemap_enabled": true,
+"sun_color": Color(1, 1, 1, 1),
+"sun_enabled": true,
+"sun_energy": 1.0,
+"sun_max_distance": 100.0,
+"sun_rotation": Vector2(-1.0472, 2.61799)
+},
+"rotate_snap": 15.0,
+"scale_snap": 10.0,
+"show_grid": true,
+"show_origin": true,
+"snap_enabled": false,
+"translate_snap": 1.0,
+"viewport_mode": 1,
+"viewports": [{
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": true,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}, {
+"auto_orthogonal": false,
+"auto_orthogonal_enabled": true,
+"cinematic_preview": false,
+"display_mode": 21,
+"distance": 4.0,
+"doppler": false,
+"frame_time": false,
+"gizmos": true,
+"half_res": false,
+"information": false,
+"listener": false,
+"lock_rotation": false,
+"orthogonal": false,
+"position": Vector3(0, 0, 0),
+"use_environment": false,
+"view_type": 0,
+"x_rotation": 0.5,
+"y_rotation": -0.5
+}],
+"zfar": 4000.01,
+"znear": 0.05
+}
+selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@16894/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@PanelContainer@98/MainScreen/@CanvasItemEditor@9280/@VSplitContainer@9102/@HSplitContainer@9104/@HSplitContainer@9106/@Control@9107/@SubViewportContainer@9108/@SubViewport@9109/Control/MarginContainer/HBoxContainer/MarginContainer/DataPanel")])
diff --git a/app/src/main/assets/godot/editor/setting.tscn-folding-1612a1eed2333395391588d98220aca9.cfg b/app/src/main/assets/godot/editor/setting.tscn-folding-1612a1eed2333395391588d98220aca9.cfg
new file mode 100644
index 0000000..2299c6a
--- /dev/null
+++ b/app/src/main/assets/godot/editor/setting.tscn-folding-1612a1eed2333395391588d98220aca9.cfg
@@ -0,0 +1,5 @@
+[folding]
+
+node_unfolds=[NodePath("."), PackedStringArray("Layout", "Theme Overrides", "Layout/Transform"), NodePath("HBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin"), PackedStringArray("Layout", "Theme Overrides", "Layout/Transform"), NodePath("HBoxContainer/margin/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides", "Theme Overrides/constants"), NodePath("HBoxContainer/margin/VBoxContainer/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/tab"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/Label2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/tab2"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Record"), PackedStringArray("Layout", "Focus", "BiDi"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Record/TextureRect"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Record/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Build"), PackedStringArray("Layout", "Focus", "BiDi"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Build/TextureRect"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Build/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Export"), PackedStringArray("Layout", "Focus", "BiDi"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Export/TextureRect"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Export/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Export/exportTabs"), PackedStringArray("Layout", "Mouse"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Download"), PackedStringArray("Layout", "Focus", "BiDi"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Download/TextureRect"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Download/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Upload"), PackedStringArray("Layout", "Focus", "BiDi"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Upload/TextureRect"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Upload/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/GridContainer/Upload/uploadTabs"), PackedStringArray("Layout", "Mouse"), NodePath("HBoxContainer/margin/VBoxContainer/tab3"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/progressPanel"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/progressPanel/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/progressPanel/MarginContainer/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/progressPanel/MarginContainer/VBoxContainer/HBoxContainer"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/progressPanel/MarginContainer/VBoxContainer/HBoxContainer/progressHead"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/progressPanel/MarginContainer/VBoxContainer/HBoxContainer/progressLabel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/progressPanel/MarginContainer/VBoxContainer/progressBar"), PackedStringArray("Layout", "Textures"), NodePath("HBoxContainer/margin/VBoxContainer/tab4"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/PanelContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/PanelContainer/MarginContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/PanelContainer/MarginContainer/ScrollContainer"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/PanelContainer/MarginContainer/ScrollContainer/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/margin/VBoxContainer/PanelContainer/MarginContainer/ScrollContainer/VBoxContainer/tab"), PackedStringArray("Layout"), NodePath("HBoxContainer/margin/VBoxContainer/PanelContainer/MarginContainer/ScrollContainer/VBoxContainer/infoLabel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides", "Layout/Container Sizing", "Layout/Transform", "Theme Overrides/constants"), NodePath("HBoxContainer/VBoxContainer/margin"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides", "Theme Overrides/constants"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/SystemInformation"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/SystemInformation/HBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/SystemInformation/HBoxContainer/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/SystemInformation/HBoxContainer/Label2"), PackedStringArray("Layout", "Theme Overrides", "BiDi"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/tab"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer2/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer2/VBoxContainer/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer2/VBoxContainer/ColorMode"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer2/VBoxContainer2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer2/VBoxContainer2/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer2/VBoxContainer2/ViewMode"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/tab2"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3/VBoxContainer/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3/VBoxContainer/MarginContainer"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3/VBoxContainer/MarginContainer/LanguageTabs"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3/VBoxContainer2"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3/VBoxContainer2/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3/VBoxContainer2/HBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3/VBoxContainer2/HBoxContainer/WebsocketAddress"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3/VBoxContainer2/HBoxContainer/WebsocketAddress/WebsocketAddressInput"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3/VBoxContainer2/HBoxContainer/WsConnectButton"), PackedStringArray("Layout", "Focus", "BiDi"), NodePath("HBoxContainer/VBoxContainer/margin/VBoxContainer/HBoxContainer3/VBoxContainer2/HBoxContainer/WsConnectButton/TextureRect"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides", "Theme Overrides/constants"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/HBoxContainer"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/HBoxContainer/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/HBoxContainer/VCU_version"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/HBoxContainer/tab"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/HBoxContainer/Label3"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/HBoxContainer/ADAS_version"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/tab"), PackedStringArray("Layout", "Theme"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/HBoxContainer2"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/HBoxContainer2/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/HBoxContainer2/UpdateButton"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/HBoxContainer2/UpdateButton/Label"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/tab2"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/UpdateLog"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/UpdateLog/UpdateMesPanel"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/UpdateLog/UpdateMesPanel/HBoxContainer"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/UpdateLog/UpdateMesPanel/HBoxContainer/updateMessage"), PackedStringArray("Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/UpdateLog/UpdateMesPanel/HBoxContainer/tab"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/UpdateLog/UpdateMesPanel/HBoxContainer/UpdateCancelBtn"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/UpdateLog/UpdateMesPanel/HBoxContainer/tab2"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/UpdateLog/UpdateMesPanel/HBoxContainer/UpdateAcceptBtn"), PackedStringArray("Layout"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/UpdateLog/Updating"), PackedStringArray("Visibility", "Layout", "Theme Overrides"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/UpdateLog/Updating/UpdateProgress"), PackedStringArray("Layout")]
+resource_unfolds=["res://Modules/setting.tscn::StyleBoxTexture_mgevr", PackedStringArray("Resource"), "res://Modules/setting.tscn::StyleBoxTexture_bqmim", PackedStringArray("Resource"), "res://Modules/setting.tscn::StyleBoxTexture_e3m7r", PackedStringArray("Resource"), "res://Modules/setting.tscn::StyleBoxTexture_mho40", PackedStringArray("Resource"), "res://Modules/setting.tscn::StyleBoxTexture_jad8g", PackedStringArray("Resource"), "res://Modules/setting.tscn::StyleBoxEmpty_emjfk", PackedStringArray("Resource"), "res://Modules/setting.tscn::StyleBoxTexture_wbocs", PackedStringArray("Resource")]
+nodes_folded=[NodePath("HBoxContainer/margin/VBoxContainer"), NodePath("HBoxContainer/VBoxContainer/margin"), NodePath("HBoxContainer/VBoxContainer/RightBottonPanel/VBoxContainer/HBoxContainer")]
diff --git a/app/src/main/assets/godot/editor/site_selection_texture_rect.gd-folding-4ce7cd507eab124060966ea0eda36f2b.cfg b/app/src/main/assets/godot/editor/site_selection_texture_rect.gd-folding-4ce7cd507eab124060966ea0eda36f2b.cfg
new file mode 100644
index 0000000..e860dd4
--- /dev/null
+++ b/app/src/main/assets/godot/editor/site_selection_texture_rect.gd-folding-4ce7cd507eab124060966ea0eda36f2b.cfg
@@ -0,0 +1,3 @@
+[folding]
+
+sections_unfolded=PackedStringArray()
diff --git a/app/src/main/assets/godot/shader_cache/SceneForwardMobileShaderRD/dedd72e7c9758fa7626a0f810a5d8b9d7385930aabd6dc9733248c2f67cfd60f/69f37345aac9aa92afb27631a7f0e3c5fae044eb.vulkan.cache b/app/src/main/assets/godot/shader_cache/SceneForwardMobileShaderRD/dedd72e7c9758fa7626a0f810a5d8b9d7385930aabd6dc9733248c2f67cfd60f/69f37345aac9aa92afb27631a7f0e3c5fae044eb.vulkan.cache
new file mode 100644
index 0000000..893209d
Binary files /dev/null and b/app/src/main/assets/godot/shader_cache/SceneForwardMobileShaderRD/dedd72e7c9758fa7626a0f810a5d8b9d7385930aabd6dc9733248c2f67cfd60f/69f37345aac9aa92afb27631a7f0e3c5fae044eb.vulkan.cache differ
diff --git a/app/src/main/assets/godot/shader_cache/SceneForwardMobileShaderRD/dedd72e7c9758fa7626a0f810a5d8b9d7385930aabd6dc9733248c2f67cfd60f/b307b7ebb191114e9728433b1160fe67eea2ba0e.vulkan.cache b/app/src/main/assets/godot/shader_cache/SceneForwardMobileShaderRD/dedd72e7c9758fa7626a0f810a5d8b9d7385930aabd6dc9733248c2f67cfd60f/b307b7ebb191114e9728433b1160fe67eea2ba0e.vulkan.cache
new file mode 100644
index 0000000..1487ff7
Binary files /dev/null and b/app/src/main/assets/godot/shader_cache/SceneForwardMobileShaderRD/dedd72e7c9758fa7626a0f810a5d8b9d7385930aabd6dc9733248c2f67cfd60f/b307b7ebb191114e9728433b1160fe67eea2ba0e.vulkan.cache differ
diff --git a/app/src/main/assets/pad_hmi_ui/Main3DVehicle.gd b/app/src/main/assets/pad_hmi_ui/Main3DVehicle.gd
index 10e43fc..87606ce 100644
--- a/app/src/main/assets/pad_hmi_ui/Main3DVehicle.gd
+++ b/app/src/main/assets/pad_hmi_ui/Main3DVehicle.gd
@@ -41,7 +41,11 @@ func message_received(data:Dictionary):
3:
%TrafficLight.texture = preload("res://pad_hmi_ui/home/signal_icon_green.png")
func _on_main_3d_vehicle_texture_on_click(_node: Variant) -> void:
+
+ print("===------")
if !$"../../..".isVolumeSettings:
+
+
$"../../..".isVolumeSettings = true
main_3d_vehicle_texture.onEnd()
#data_panel.modulate.a = 0
@@ -52,11 +56,15 @@ func _on_main_3d_vehicle_texture_on_click(_node: Variant) -> void:
tween.tween_property(main_3d_vehicle_information, "modulate", Color(1,1,1,0), 0.05)
#tween.tween_property(data_panel, "modulate", Color(1,1,1,1), 0.1)
await get_tree().create_timer(0.3).timeout
+ var appPlugin = Engine.get_singleton("AppPlugin")
+ if appPlugin:
+ appPlugin.showMap()
visible = false
#tween.set_parallel()
#tween.tween_property(main_3d_vehicle_information, "modulate", Color(1,1,1,1), 0.1)
var tween1 = create_tween()
tween1.tween_property(data_panel, "modulate", Color(1,1,1,1), 0.1)
+
pass # Replace with function body.
func Steering_Report():#转向反馈
diff --git a/app/src/main/assets/project.godot b/app/src/main/assets/project.godot
index 4f1aeaa..572a7d6 100644
--- a/app/src/main/assets/project.godot
+++ b/app/src/main/assets/project.godot
@@ -27,6 +27,7 @@ window/size/viewport_width=2560
window/size/viewport_height=1600
window/size/mode=2
window/stretch/mode="canvas_items"
+window/stretch/aspect="ignore"
[input_devices]
diff --git a/app/src/main/java/com/coldmint/gaodemap/AppPlugin.kt b/app/src/main/java/com/coldmint/gaodemap/AppPlugin.kt
index 4c0e611..a1b598d 100644
--- a/app/src/main/java/com/coldmint/gaodemap/AppPlugin.kt
+++ b/app/src/main/java/com/coldmint/gaodemap/AppPlugin.kt
@@ -1,21 +1,46 @@
package com.coldmint.gaodemap
+import android.os.Handler
+import android.os.Looper
+import android.view.View
+import androidx.core.view.isVisible
import org.godotengine.godot.Godot
import org.godotengine.godot.plugin.GodotPlugin
import org.godotengine.godot.plugin.SignalInfo
+import org.godotengine.godot.plugin.UsedByGodot
/**
* 运行时[GodotPlugin]用于与Godot gdscript逻辑进行交互。
*/
class AppPlugin(godot: Godot) : GodotPlugin(godot) {
+ var mapView: View? = null
+ private val handler by lazy {
+ Handler(Looper.getMainLooper())
+ }
+
+
companion object {
- val SHOW_GLTF_SIGNAL = SignalInfo("gaode", String::class.java)
+ val CUSTOM_SIGNAL = SignalInfo("custom_signal", String::class.java)
}
override fun getPluginName() = "AppPlugin"
- override fun getPluginSignals() = setOf(SHOW_GLTF_SIGNAL)
+ override fun getPluginSignals() = setOf(CUSTOM_SIGNAL)
-}
\ No newline at end of file
+ @UsedByGodot
+ fun hideMap() {
+ handler.post {
+ mapView?.isVisible = false
+ }
+ }
+
+ @UsedByGodot
+ fun showMap() {
+ handler.post {
+ mapView?.isVisible = true
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/coldmint/gaodemap/MainActivity.kt b/app/src/main/java/com/coldmint/gaodemap/MainActivity.kt
index e795d4c..9ef701d 100644
--- a/app/src/main/java/com/coldmint/gaodemap/MainActivity.kt
+++ b/app/src/main/java/com/coldmint/gaodemap/MainActivity.kt
@@ -8,6 +8,7 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.isVisible
import com.amap.api.location.AMapLocationClient
import com.amap.api.maps2d.AMap
+import com.amap.api.maps2d.CameraUpdateFactory
import com.amap.api.maps2d.model.MyLocationStyle
import com.coldmint.gaodemap.databinding.ActivityMainBinding
import org.godotengine.godot.Godot
@@ -16,34 +17,38 @@ import org.godotengine.godot.GodotHost
import org.godotengine.godot.plugin.GodotPlugin
+/**
+ * 应用的主窗口
+ */
class MainActivity : AppCompatActivity(), GodotHost {
- private lateinit var binding: ActivityMainBinding
+ private val viewBinding: ActivityMainBinding by lazy {
+ ActivityMainBinding.inflate(layoutInflater)
+ }
private var godotFragment: GodotFragment? = null
private var appPlugin: AppPlugin? = null
private var aMap: AMap? = null
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- binding = ActivityMainBinding.inflate(layoutInflater)
- // 隐藏状态栏
+ private fun fullScreen() {
requestWindowFeature(Window.FEATURE_NO_TITLE)
window.setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN
- );
+ )
+ }
- setContentView(binding.root)
-// hideMap()
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ fullScreen()
+ setContentView(viewBinding.root)
//设置用户已同意高德的隐私政策
AMapLocationClient.updatePrivacyShow(this, true, true)
AMapLocationClient.updatePrivacyAgree(this, true)
-
- binding.mapView.onCreate(savedInstanceState)
+ viewBinding.mapView.onCreate(savedInstanceState)
if (aMap == null) {
- aMap = binding.mapView.map
+ aMap = viewBinding.mapView.map
}
- loadLocateBlueDot()
+ loadMapStyle()
//加载Godot引擎
val currentGodotFragment =
supportFragmentManager.findFragmentById(R.id.godot_fragment_container)
@@ -59,58 +64,44 @@ class MainActivity : AppCompatActivity(), GodotHost {
}
/**
- * 隐藏地图
+ * 加载高德地图的样式
*/
- fun hideMap() {
- binding.cardView.isVisible = false
- }
-
- /**
- * 显示地图
- */
- fun showMap() {
- binding.cardView.isVisible = true
- }
-
- /**
- * 加载定位的小蓝点。
- */
- private fun loadLocateBlueDot() {
- //初始化定位蓝点样式类myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE);
- //连续定位、且将视角移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动。(1秒1次定位)如果不设置myLocationType,默认也会执行此种模式。
+ private fun loadMapStyle() {
+ val finalMap = aMap ?: return
val myLocationStyle = MyLocationStyle()
- //设置连续定位模式下的定位间隔,只在连续定位模式下生效,单次定位模式下不会生效。单位为毫秒。
myLocationStyle.interval(2000)
- //设置定位蓝点的Style
- aMap!!.setMyLocationStyle(myLocationStyle)
- //aMap.getUiSettings().setMyLocationButtonEnabled(true);设置默认定位按钮是否显示,非必需设置。
- aMap!!.isMyLocationEnabled = true // 设置为true表示启动显示定位蓝点,false表示隐藏定位蓝点并不进行定位,默认是false。
+ finalMap.setMyLocationStyle(myLocationStyle)
+ finalMap.uiSettings.isZoomControlsEnabled = false
+ finalMap.isMyLocationEnabled = true
+ finalMap.moveCamera(CameraUpdateFactory.zoomTo(15f))
}
private fun initAppPluginIfNeeded(godot: Godot) {
if (appPlugin == null) {
- appPlugin = AppPlugin(godot)
+ val finalAppPlugin = AppPlugin(godot)
+ appPlugin = finalAppPlugin
+ finalAppPlugin.mapView = viewBinding.cardView
}
}
override fun onDestroy() {
super.onDestroy()
- binding.mapView.onDestroy()
+ viewBinding.mapView.onDestroy()
}
override fun onResume() {
super.onResume()
- binding.mapView.onResume()
+ viewBinding.mapView.onResume()
}
override fun onPause() {
super.onPause()
- binding.mapView.onPause()
+ viewBinding.mapView.onPause()
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
- binding.mapView.onSaveInstanceState(outState)
+ viewBinding.mapView.onSaveInstanceState(outState)
}
override fun getActivity(): Activity {
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 9a60f48..758f5e4 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -7,24 +7,25 @@
android:fitsSystemWindows="true"
tools:context=".MainActivity">
-
+
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="1.0" />
-
-
+ app:layout_constraintGuide_percent="0.60 " />