Restructure project into boot/autoload/world/player folders

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.
This commit is contained in:
Jonas Reith 2026-08-27 09:18:17 +02:00
parent 865b91cdef
commit c6d7e6c84e
22 changed files with 3 additions and 35 deletions

View File

@ -1,16 +0,0 @@
[gd_scene format=3 uid="uid://e8b1otd57xce"]
[ext_resource type="Script" uid="uid://dehw4udbgwx4f" path="res://hightmap_gen.gd" id="1_regv8"]
[ext_resource type="Script" uid="uid://db1kymxglg8m1" path="res://preview_camera.gd" id="2_ji7iu"]
[node name="PreviewScene" type="Node2D" unique_id=887284748]
[node name="HightmapGen" type="Node" parent="." unique_id=1525090931]
script = ExtResource("1_regv8")
[node name="preview_camera" type="Camera2D" parent="." unique_id=1468922324]
script = ExtResource("2_ji7iu")
[node name="TextureRect" type="TextureRect" parent="." unique_id=1360046958]
offset_right = 40.0
offset_bottom = 40.0

View File

@ -1,16 +0,0 @@
[gd_scene format=3 uid="uid://e8b1otd57xce"]
[ext_resource type="Script" uid="uid://dehw4udbgwx4f" path="res://hightmap_gen.gd" id="1_regv8"]
[ext_resource type="Script" uid="uid://db1kymxglg8m1" path="res://preview_camera.gd" id="2_ji7iu"]
[node name="PreviewScene" type="Node2D" unique_id=887284748]
[node name="HightmapGen" type="Node" parent="." unique_id=1525090931]
script = ExtResource("1_regv8")
[node name="preview_camera" type="Camera2D" parent="." unique_id=1468922324]
script = ExtResource("2_ji7iu")
[node name="TextureRect" type="TextureRect" parent="." unique_id=1360046958]
offset_right = 40.0
offset_bottom = 40.0

View File

@ -5,7 +5,7 @@
[ext_resource type="Texture2D" uid="uid://epcqli428yem" path="res://assets/sprites/player/debug_player.png" id="2_h2yge"]
[ext_resource type="Script" uid="uid://b0y06y7c0bihj" path="res://camera_rig.gd" id="3_h2yge"]
[ext_resource type="PackedScene" uid="uid://be6ufrc3dsjge" path="res://poi.tscn" id="5_lquwl"]
[ext_resource type="PackedScene" path="res://poi_gate.tscn" id="5_gate"]
[ext_resource type="PackedScene" path="res://world/poi/poi_gate.tscn" id="5_gate"]
[ext_resource type="PackedScene" uid="uid://dmhs1oy1kh6hi" path="res://assets/models/mountain.glb" id="6_7mycd"]
[ext_resource type="PackedScene" uid="uid://gl4qpk4wto1e" path="res://assets/models/mountain2v5.glb" id="7_272bh"]
[ext_resource type="PackedScene" uid="uid://be2uq7ixlbv6b" path="res://assets/models/forest.glb" id="8_5vw27"]

View File

@ -1,6 +1,6 @@
[gd_scene format=3]
[ext_resource type="Script" path="res://poi_gate.gd" id="1_gate"]
[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"]

View File

@ -22,7 +22,7 @@ const COLOR_FACET_A := Color(0.55, 0.55, 0.48)
const COLOR_FACET_B := Color(0.49, 0.49, 0.43)
const COLOR_PAVILION := Color(0.30, 0.28, 0.26)
# Grenz-Props: gleiche Modelle + Skalierung + Hitbox-Maße wie in main.tscn.
# Grenz-Props: gleiche Modelle + Skalierung + Hitbox-Maße wie in world/island.tscn.
# "radius"/"height" sind die Shape-Maße VOR der Skalierung (wie im Original);
# der reale Welt-Radius (für die Überlappungsprüfung) ist radius * scale.
const BORDER_KINDS := [