Terrain generation should be async and completely independent from Godot.
It uses Grid and Tile
It should take consideration of possible tribe modifiers such as how many tiles are guaranteed to be of a specific type, how many modifiers are guaranteed, etc...