Skip to main content

Valenar Location And Feature Generation

Valenar's production world generation pipeline is not locked here. The current live map is a stepping-in prototype fixture: a once-only SECS map system plus server-side Voronoi geometry, low Location density, mostly-placeholder geography facts, and random inert Features. Keep prototype behavior clearly separated from future world-scale design: the current example map is not the final world extent, and later maps may be much larger with larger/variable Locations.

Before changing generation docs or related map/location/feature code, read:

  • examples/valenar/docs/world-generation-contract.md
  • examples/valenar/docs/location-generation-contract.md
  • examples/valenar/docs/feature-generation-contract.md
  • examples/valenar/docs/location-model.md
  • examples/valenar/docs/location-dossier-feature-ux.md
  • examples/valenar/docs/world-pressure-nexus.md

Core Rules

  • Future world data is the physical source of truth. Valenar imports generated facts through an explicit adapter contract; UI, renderer, and SECS systems do not infer missing geography.
  • Generated Location facts are host-owned fields. SECS channels are resolved effective gameplay values. Stats are the player-facing labels for these channels. Do not write channel results directly from the host.
  • Location classes and tags are derived summaries. Numeric facts are the truth.
  • Land and water Locations remain distinct. Large water bodies are water Locations; tiny water features inside land Locations are Location facts or Features.
  • Features are real generated entities inside Locations. Feature existence is world state; discovery state controls UI visibility.
  • Do not place Features with flat per-Location random rolls at production scale. Use suitability scoring, density budgets, spacing, conflicts, and story rules.
  • The starting Nexus is a constrained story Feature. Generic settlement suitability must never unlock founding by itself.
  • Generation without validation is incomplete.

Documentation Boundaries

  • world-generation-contract.md owns the top-level world-data import and validation boundary.
  • location-generation-contract.md owns Location records, numeric facts, terrain composition, topology, knowledge, control, and settlement inputs.
  • feature-generation-contract.md owns Feature placement, discovery, actions, causal rewards, site conversion, and Feature validation.
  • UX docs consume generated truth. They do not define spawning rules.