Flow restructure makes sure that each cell naturally drains into another cell until it is off-map. That means that rivers will automatically take natural paths, and devices that accumulate flow volume will calculate correctly.
There are two reasons why the center gets raised:
- In the most recent flow restructure version, there is no support for ridge-cutting, only filling of valleys. Depending on the map, that could mean that the overall height needs to be significantly raised to get a good drainage. Parallel ridge cutting was algorithmically significantly more complicated than filling; I had to hold out the parallel version of ridge cutting from Hurricane Ridge for time reasons. It should hopefully appear in Dragontail during the next releases!
- Complicating the issue above, is that there is a minimum-legible elevation step from one cell to the next. This is less of an issue with pure 32bit float outputs, but a significant amount of exports are done with 16 bit heightfield formats. That gives you only 65535 different elevation values (scaled between 0 and your max elevation) across the entire terrain. If you have an 8k world, and a max vertical height of, say, 3km, that means that each cell will differ by a minimum of 0.04m, and so there must be an elevation difference of at least 187m between the edge and center of the map (where it has the furthest to drain). Small, but noticible.