Sorry about the delayed response. I do still watch this thread and repository, just been a busy couple of weeks.
You absolutely could generate a presumably top down minimap view of the voxel world. The voxels are accessed in what appears to the programmer like an infinitely sized 3D array. So for each pixel you want to fill in on the minimap you could check the corresponding voxel index in the 3D array to see what’s there (assuming 1 minimap pixel equals 1 voxel for simplicity). Each voxel type has a definition for what color/texture it is so you could use that to determine what color to fill in the minimap pixel with. The height of the voxel index could be used to lighten or darker the minimap pixel to give a sense of elevation in the map.
One complication is that the voxels are 3D and ‘infinitely’ tall and you don’t know immediately where the ground level is in the voxels. If you’re making a game with a static premade world or a sandbox with a maximum build height you could start from that ceiling height and check downwards, moving 1 voxel at a time until you find something that’s not an empty air voxel and then assume that’s the ground to fill in the minimap with. For a more dynamic/limitless game you could pick some arbitrary height above the player’s current position and starting checking from there. Alternatively, you could start from the player’s feet since they’re likely on the ground and start checking from there. Each approach has different limitations and tradeoffs in terms of fringe case oddities and performance.
Or you could skip past the voxels entirely and use the heightmaps, at least in the case of this particular world generator. My previous post mentions that the sky islands are generated using a set of 2D height maps. While these height maps don’t tell you exactly what the shapes of islands are because there is other 3D noise added in to make it more varied, the height maps do give you a pretty good approximation of the shape and they’re already 2D just like the minimap. No more need to search for the ground height in the 3D voxel data. This only works because this generation algorithm uses height maps and even keeps them loaded into memory. But if the game world can change over time, for instance by the player creating and destroying terrain, the heightmaps don’t ever update to reflect that and the minimap wouldn’t either.
I hope this has provided some interesting insight to the possibilities and the way the engine works.