There are a large number of algorithms that I would eventually like to implement in the mapper. I would like to simulate civilizations, raise mountains from base principles, and grasp God in the palm of my hand.
Unfortunately, life and ambition are both finite. Thus, I will (for now) mostly talk about the most pressing and immediate key algorithms that are necessary to see forward progress and some measure of instant gratification/success.
Many maps care squat about topological information of the continent's interior, but nearly every map cares about coastlines. Thus, we need to be able to calculate the coastline of a world from its topological information, and very quickly, too. The shape of a coastline is important.
If we have (basically) a grid of height data, then this is relatively easy to calculate. On the line segment containing two points, if one point is below sealevel and one is above, then the coastline intersects this line. Continue, and connect the dots. It's basically a big contour line.
More generally, the coastline consists of line segments defined as follows. Take four adjacent points from some square. If any of these points is below sea level, draw a line segment in this square between the two edges adjacent to a below sea level point to an above sea level point.
If a point is on the sea level, the line segment intersects that point.
If two points are on sea level, the line segment is between those two points.
If three or more points are on sea level, then things get really wierd, and we have to think harder about this.
Take a look at this map. This is the sort of thing I would one day like to render.
One feature of this style of map is that the mountains are drawn in quasi-3d relief. This is cool, and I think it would be fun to render this sort of imagery from topological data, if this works out.
It would be similar to a 3d rendering, except only edges would be drawn, and only edges with a relatively steep vertical angle would be drawn. Corners would be rounded according to their angle -- the more acute the angle, the less rounding would occur.
This is important. I would, in fact, like this rendering to take place in real time, because I would like the editor to operate in this mode if possible.