Flat root layout replaced with a domain-based structure:
- autoload/ the two existing singleton scripts (InteractionManager,
InteractionUI) — grouped by role, matching project.godot's
[autoload] section
- world/ the flying island: terrain.gd, and world/poi/ for the POI
marker + gate scripts/scenes
- player/ everything about the player as a character: player.gd/.tscn,
camera_rig.gd (it only exists to follow the player)
- boot/ created empty for now, will hold the opening/menu screens
main.tscn renamed to world/island.tscn — "main" stops making sense once
the actual run/main_scene becomes a boot screen (next commit). Verified
via grep that main.tscn was referenced nowhere else by path (only by UID
elsewhere, which self-heals).
Every .gd got its .uid sidecar moved alongside it. Two ext_resource
entries had no UID (poi_gate.tscn's own script ref, and island.tscn's
ref to poi_gate.tscn) and needed their path= fixed by hand; everything
else is UID-based and resolved itself after a project reimport.
Also removed two untracked-looking but actually committed editor temp
files (preview_scene.tscn*.tmp, leftovers from the unused hterrain
addon, referenced nowhere).
Verified headless: all 8 affected scenes (island, poi, poi_gate,
player, interaction_ui, and the three debug prototypes that reference
moved files) load with exit code 0. No behavior change, pure move.
53 lines
1.6 KiB
Plaintext
53 lines
1.6 KiB
Plaintext
[gd_scene format=3]
|
|
|
|
[ext_resource type="Script" uid="uid://d34t6agm5pxgt" path="res://world/poi/poi_gate.gd" id="1_gate"]
|
|
[ext_resource type="Texture2D" uid="uid://c3ajv7vb8c4fb" path="res://assets/debug/checkerboard.png" id="2_gate"]
|
|
|
|
[sub_resource type="SphereShape3D" id="SphereShape3D_gate"]
|
|
radius = 0.8699188
|
|
|
|
[sub_resource type="SpriteFrames" id="SpriteFrames_gate"]
|
|
animations = [{
|
|
"frames": [{
|
|
"duration": 1.0,
|
|
"texture": ExtResource("2_gate")
|
|
}],
|
|
"loop": true,
|
|
"name": &"default",
|
|
"speed": 5.0
|
|
}]
|
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape3D_gate"]
|
|
size = Vector3(0.8, 2.132, 2.333828)
|
|
|
|
[node name="POIGate" type="Area3D"]
|
|
script = ExtResource("1_gate")
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.6096671)
|
|
shape = SubResource("SphereShape3D_gate")
|
|
|
|
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
|
billboard = 2
|
|
sprite_frames = SubResource("SpriteFrames_gate")
|
|
|
|
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
|
transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, 0, 0, -0.69380605)
|
|
shape = SubResource("BoxShape3D_gate")
|
|
|
|
[node name="Billboard" type="Node3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
|
|
|
[node name="NameLabel" type="Label3D" parent="Billboard"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
|
billboard = 1
|
|
text = "Tor zur Mitte"
|
|
font_size = 16
|
|
|
|
[node name="InteractionPrompt" type="Label3D" parent="Billboard"]
|
|
visible = false
|
|
billboard = 1
|
|
font_size = 12
|