This should serve as a foundation for WorldGen since it can be easily extended and Nujel could provide a predicate for checking the constraints and another one that does the final generation (might just copy some static data in or do something more intricate). Would be great if we could then do WorldGen chunk by chunk which should reduce latency.
We should also look into using different shapes instead of cubes, might be useful for positioning Trees or something.