# Planet Sim - World Creation Fixed icosphere geometry; properties (elevation, plate, age, climate, biome) flow over it. World creation runs as continuous, overlapping stages on a geological clock: tectonics (boundary stress forms mountains/trenches) → continental drift & erosion → hydrology (rivers/lakes) → climate (temperature/precipitation) → biomes → biota (flora/fauna/funga). Initial terrain forming is a generator (a couple hundred paced ticks, ~3 s, auto-pauses at equilibrium), then drift/erosion/etc. continue. Press R to reseed, SPACE to pause. (The eventual goal is a separate slow real-time "Live World" weather/life mode.) ## Build (Nobara / Linux) Dependencies (raylib build needs these dev headers): sudo dnf install cmake gcc-c++ mesa-libGL-devel libX11-devel \ libXrandr-devel libXinerama-devel libXcursor-devel libXi-devel \ wayland-devel libxkbcommon-devel Then: cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --build build -j ./build/planetsim raylib 5.5 is fetched automatically via CMake FetchContent. OpenMP parallelizes the tectonic step (auto-detected by CMake; ships with gcc, no extra package needed). It's optional -- without it the sim still runs, serial. The step is memory-bandwidth-bound, so `OMP_NUM_THREADS=4` to `8` gives the full ~2.8x speedup; the default uses all cores for no extra gain: OMP_NUM_THREADS=6 ./build/planetsim ## Controls LMB drag orbit camera (in the 3D view) wheel zoom hover show cell info (works in the 3D globe and the 2D map) click open tile detail panel (subtiles grid, hoverable) + overlay C close the detail panel 1 .. 7 color by elevation / plate / age / crust type / biome / temperature / precipitation 8 / 9 / 0 color by biota density: flora / fauna / funga B toggle plate borders (on by default) D toggle per-plate drift arrows + P labels (on by default) G toggle lat/lon graticule (+ degree numbers on the 2D map edges) J toggle rivers (Phase 2.5 hydrology) H start/stop Phase 2.5 (hydrology: rivers, lakes, fluvial erosion) L generate biota population (flora/fauna/funga; settled world; re-press regenerates) W enter / leave Live World (slow real-time clock; settled world) N toggle the day/night terminator (Live World) T toggle the tide-coloured coastline (Live World) O toggle ocean-current arrows (warm = poleward/red, cold = equatorward/blue) K toggle weather clouds/rain cover (Live World) V toggle volcano markers (Live World; cones + eruption glow, build into islands) M toggle place-name labels (names continents/oceans/ranges/rivers/lakes; Atlas tab) E ecoregions colour view (names ecological provinces on first use; Eco tab) I habitability heat map (where civilization can thrive) U settlements: the dawn of civilization on first press, then toggle markers (Civ tab) P territory / realms view + borders + war fronts + realm-name labels (Realms tab) A toggle alliance/rivalry diplomacy arcs on the Territory view (on by default) Q realm borders + realm-name/culture labels over any colour mode (off by default) X culture / faiths view + cultural borders (peoples/ethos/religion in the Cultures tab) Z wealth / trade view + trade routes (sea/river/overland; prosperity feeds city growth) Y follow-cam: cycle the 3D camera through active storms (Live World; off after last) . / , step the live clock forward / back by one rate-unit (auto-pauses; back also rewinds weather + storms via an undo history) wheel over the 2D map: zoom toward cursor (1-8x); drag pans when zoomed SPACE pause while forming / re-evolve once settled (or the on-screen button) [ / ] drift speed (My/s) -- in Live World: live clock rate (hours/s -> up to ~20 years/s) S single tectonic tick (in Live World: step the clock forward, like '.') F fast-forward Phase-1 forming to settled (instant) R reseed planet (restart forming) + / - subdivision level (detail), 1..7 F5 / F9 save / load full state (writes/reads a timestamped world_