# Endless Terrain Flyover

A procedural Three.js flyover. The world is generated in chunks around the camera from seeded noise (fBm + ridged), with LOD rings, stitched chunk edges, biome colouring (beach / grass / forest / rock / snow), animated water, fog and a day/night cycle. All geometry, noise, textures and sky are generated in code; only three.js (r160) is loaded from a pinned jsDelivr CDN.

## Run

Open `index.html` in a browser (needs internet for the CDN), or serve the folder:

    python3 -m http.server 8000   # then visit http://localhost:8000

## Controls

| Input | Action |
|---|---|
| Left / Right arrow (or A / D) | Steer (the camera banks into turns) |
| Up / Down arrow (or W / S) | Climb / dive (changes flying height above ground) |
| On-screen joystick (touch devices, bottom-left) | Left/right steers, up/down climbs/dives |
| Seed field + **Go** (or Enter) | Regenerate the world from that seed text |
| Dice button | Random seed |
| Time slider | Scrub time of day (turns off Auto) |
| Auto checkbox | Toggle the automatic day/night cycle (4 minute day) |

The camera glides forward on its own and automatically rises over mountains. The seed is kept in the URL (`?seed=...`), so a link reproduces a world.

Resolution adapts automatically to keep the frame rate smooth on slower devices.
