Added a dynamic layout system where UI elements can be moved about on a tiled grid.

This commit is contained in:
RedNicStone committed 2026-11-09 18:14:52 +01:00
1 parent ea6ba54666
commit 26c29df4ad
34 files changed
+1269

No files matched your search

+107
View File
@@ -0,0 +1,107 @@
[gd_scene format=3]
[ext_resource type="PackedScene" path="res://components/layout_canvas.tscn" id="canvas"]
[ext_resource type="PackedScene" path="res://components/layout_item.tscn" id="item"]
[ext_resource type="PackedScene" path="res://components/camera_layout_slot.tscn" id="camera"]
[ext_resource type="PackedScene" path="res://components/vehicle_status_panel.tscn" id="vehicle"]
[ext_resource type="PackedScene" path="res://components/motion_panel.tscn" id="motion"]
[ext_resource type="PackedScene" path="res://components/layout_slot.tscn" id="slot"]
[ext_resource type="Script" path="res://scripts/layout_preview.gd" id="preview"]
[ext_resource type="PackedScene" path="res://components/layout_overview.tscn" id="overview"]
[ext_resource type="PackedScene" path="res://components/link_panel.tscn" id="link"]
[node name="LandscapeLayout" type="Control"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("preview")
[node name="Overview" parent="." instance=ExtResource("overview")]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Canvas" parent="Overview/Dashboard" instance=ExtResource("canvas")]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
config_path = "user://layouts/landscape.json"
legacy_config_path = "user://layout_landscape.cfg"
[node name="Camera" parent="Overview/Dashboard/Canvas" instance=ExtResource("item")]
layout_mode = 0
panel_id = "camera"
cell_rect = Rect2i(0, 0, 16, 10)
minimum_cells = Vector2i(8, 5)
reference_size = Vector2(960, 600)
[node name="Content" parent="Overview/Dashboard/Canvas/Camera" instance=ExtResource("camera")]
layout_mode = 0
[node name="Vehicle" parent="Overview/Dashboard/Canvas" instance=ExtResource("item")]
layout_mode = 0
panel_id = "vehicle"
cell_rect = Rect2i(16, 0, 10, 8)
minimum_cells = Vector2i(6, 4)
reference_size = Vector2(600, 440)
[node name="Content" parent="Overview/Dashboard/Canvas/Vehicle" instance=ExtResource("vehicle")]
layout_mode = 0
[node name="Motion" parent="Overview/Dashboard/Canvas" instance=ExtResource("item")]
layout_mode = 0
panel_id = "motion"
cell_rect = Rect2i(16, 8, 10, 7)
minimum_cells = Vector2i(6, 4)
reference_size = Vector2(600, 410)
background_path = NodePath("Content/Background")
[node name="Content" parent="Overview/Dashboard/Canvas/Motion" instance=ExtResource("motion")]
layout_mode = 0
[node name="Environment" parent="Overview/Dashboard/Canvas" instance=ExtResource("item")]
layout_mode = 0
panel_id = "environment"
cell_rect = Rect2i(26, 0, 6, 8)
minimum_cells = Vector2i(4, 3)
reference_size = Vector2(360, 240)
fill_allocation = true
[node name="Content" parent="Overview/Dashboard/Canvas/Environment" instance=ExtResource("slot")]
layout_mode = 0
title = "ENVIRONMENT"
description = "Depth · pressure · water temperature"
[node name="VideoVR" parent="Overview/Dashboard/Canvas" instance=ExtResource("item")]
layout_mode = 0
panel_id = "videovr"
cell_rect = Rect2i(0, 10, 16, 8)
minimum_cells = Vector2i(6, 4)
reference_size = Vector2(600, 400)
fill_allocation = true
[node name="Content" parent="Overview/Dashboard/Canvas/VideoVR" instance=ExtResource("slot")]
layout_mode = 0
title = "VIDEO / VR"
description = "Latency breakdown · headset · resolution"
[node name="Link" parent="Overview/Dashboard/Canvas" instance=ExtResource("item")]
layout_mode = 0
panel_id = "link"
cell_rect = Rect2i(26, 8, 6, 4)
minimum_cells = Vector2i(4, 3)
reference_size = Vector2(360, 240)
[node name="Content" parent="Overview/Dashboard/Canvas/Link" instance=ExtResource("link")]
layout_mode = 0