# /Scenes — the runtime scenes Unlike `/Tools`, these are what actually runs the game. They **do not generate the world** — they load and interpret an existing `.dat` blueprint. ## `Main.tscn` — the 3D world | Node | What it is | |---|---| | `World` (`Node3D`) | Root. Carries `ServerChunkManager.cs` — this is what builds the world. | | `Camera3D` | Child of `World`. The server teleports it above the Capitol at startup. | | `DirectionalLight3D` | Sunlight. | | `WorldEnvironment` | Ambient light. | ### Running it **Open this scene and press F6** (*Run Current Scene*). ⚠ **Do not press F5.** The project's main scene is the 2D map generator, not this — F5 regenerates the whole world and overwrites your `.dat`. At boot the manager reads `ServerConfig.json`, loads `MapData_Seed_.dat` from `user://`, finds the Capitol, and builds a `(2 × ChunkRadius)²` grid of chunks around it. **Set `ChunkRadius` to 4–8 first** unless you specifically want the full 4,096-chunk, ~3.6 GB boot. If the seed in `ServerConfig.json` doesn't match an existing `.dat`, the load fails and you get an empty scene. ### Two things that will confuse you - **The camera cannot be moved at runtime.** There is no camera controller and no input handling anywhere in the codebase. The server overrides whatever transform you save here, placing the camera above the Capitol looking straight down — which is also a degenerate `LookAt`, so its roll is arbitrary and Godot logs a warning. To view from elsewhere you have to edit the teleport code. - **Moving the `World` node moves the entire world.** Chunks are added as its children, so a stray drag in the editor offsets all rendered terrain. If everything looks displaced, check `World`'s transform is zeroed. ## `MapCaptureTool.tscn` A `SubViewportContainer` wrapping `Tools/Scenes/MapPreview.tscn` at 4096×4096. It exists so the map can be rendered offscreen at full resolution regardless of monitor size. Only needed for the PNG snapshot path — `MapPreview.tscn` generates the `.dat` on its own. ## Not here yet No player scene, no UI, no menu. `Main.tscn` is currently a viewer, not a game.