Complete World Generation System #14

Open
opened 2026-03-14 23:51:44 +00:00 by freemo · 0 comments
Owner

Background and Context

The WorldCoverGenerator was introduced in commits 920645f9 and 98a549ea (May-June 2025) to generate real-world terrain from ESA WorldCover satellite data. The core pipeline (download, process, create rooms, connect rooms) works, but the generated world has significant gaps.

Current state: 825-line generator with 5-stage concurrent pipeline, 196 cached GeoTIFF tiles, unit tests. However: only 3 of 8 needed terrain types are mapped, MAX_TILES=1 hard-coded, no cross-tile connectivity (world is fragmented), identical room descriptions per terrain per thread, no runtime regeneration commands, no configurable parameters.

Expected Behavior (End State)

The world generator produces a seamless, diverse, connected world with:

  • 8 terrain types properly mapped from ESA land-cover codes
  • Cross-tile room connectivity so the world is not fragmented into islands
  • Unique room descriptions per room (not per-thread memoization)
  • Configurable parameters in config.yaml (resolution, tile limits, lat/lon range, threads)
  • Runtime admin commands for incremental generation and world statistics

Acceptance Criteria

  • All 8 terrain types (GRASSLAND, FOREST, CITY, TOWN, TUNDRA, OCEAN, DESERT, UNDERGROUND) defined and mapped
  • Cross-tile boundary stitching produces a connected world
  • Each room has a unique description sampled from its terrain pool
  • World generation parameters are configurable via config.yaml
  • Admin commands aworldgen and aworldstats are functional
  • All changes covered by unit tests at 85%+ coverage
## Background and Context The WorldCoverGenerator was introduced in commits 920645f9 and 98a549ea (May-June 2025) to generate real-world terrain from ESA WorldCover satellite data. The core pipeline (download, process, create rooms, connect rooms) works, but the generated world has significant gaps. **Current state:** 825-line generator with 5-stage concurrent pipeline, 196 cached GeoTIFF tiles, unit tests. However: only 3 of 8 needed terrain types are mapped, MAX_TILES=1 hard-coded, no cross-tile connectivity (world is fragmented), identical room descriptions per terrain per thread, no runtime regeneration commands, no configurable parameters. ## Expected Behavior (End State) The world generator produces a seamless, diverse, connected world with: - 8 terrain types properly mapped from ESA land-cover codes - Cross-tile room connectivity so the world is not fragmented into islands - Unique room descriptions per room (not per-thread memoization) - Configurable parameters in config.yaml (resolution, tile limits, lat/lon range, threads) - Runtime admin commands for incremental generation and world statistics ## Acceptance Criteria - [ ] All 8 terrain types (GRASSLAND, FOREST, CITY, TOWN, TUNDRA, OCEAN, DESERT, UNDERGROUND) defined and mapped - [ ] Cross-tile boundary stitching produces a connected world - [ ] Each room has a unique description sampled from its terrain pool - [ ] World generation parameters are configurable via config.yaml - [ ] Admin commands `aworldgen` and `aworldstats` are functional - [ ] All changes covered by unit tests at 85%+ coverage
freemo self-assigned this 2026-03-15 04:25:21 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: aethyr/Aethyr#14
No description provided.