I made some more progress with infinite procedural generation. Rivers are now generated more natural looking and I was able to create paths using the same code (basically very narrow rivers).
Paths use a Manhattan noise function combined with basic Perlin noise so that all path's connect in a sort of grid shape while also still looking like convincing hiking trails. I'd eventually like to figure out a way to account for steep terrain using slope derivatives somehow but it will come at a cost to performance/generation time.
I was able to divide the land into biomes and create convincing paths to travel through. The concept was to travel to different biomes and the further out from the starting location you go to, the more difficult the enemies. The difficulty would be indicative of the distinct biome you're in.
I got foliage and clustering to work well.
The river rocks look just as good as they do on my handmade landscapes.
I'm a bit concerned with how long it's taking to make any progress with procedural generation. It's been coming down to a lot of trial and error with combining noise functions and trying to tweak the code to get exactly the results I want.
There will be no beta tests available yet. The procedural generation experiment I've been doing hasn't produced results I'm satisfied with and it will take time to put it in a deliverable state.