What? 
This applet visualizes construction of the "kth homotopic shortest path map" in a polygonal domain P with holes. Technical details about the applet are in this 2pager. Formal details about the map can be found in this paper. Below is a brief selfcontained explanation. 
Shortest path map 
All paths are assumed to start from a fixed point s in P (the green dot). Two paths to a point q are homotopically different (or have different homotopy types) if one cannot be continuously deformed to the other without intersecting holes. The 1st shortest path (or the 1path) to q is just the shortest path from s to q. Say that q is on a 1wall (depicted in red) if there exist two (necessarily homotopically different) 1paths to it. The homotopic shortest path map of P (or 1map) is P cut along 1walls (the map is a simple polygon since there is a unique 1path to every point in it).


kpaths 
The following notions are formally defined in this paper: The 2nd shortest path (or the 2path) is the shortest path homotopically different from the 1path. The kth shortest path (the kpath) is defined recursively.
The figure shows kpaths (p_{1}, p_{2}, p_{3}, p_{4}, p_{5}) for k=1...5 (the 5path is nonsimple  it is equal to the 4path plus the loop around the hole). 

Continuous Dijkstra 
Imagine that a wave starts propagating from s at unit speed. At any time t the wavefront consists of the points at geodesic distance t from s. The wavefront is composed from circulararc wavelets. When wavelets collide their intersection point traces a 1wall. The wavelets do not propagate over the walls; i.e., the part of any wavelet on the other side of the wall dies.
The figure shows a snapshot of the propagation; the area claimed by the wave is gray. 

2garage and wavelet parts resurrection 
Let's allow wavelets to propagate over the walls; the propagation, however, will continue not in the domain P but on the "next floor". Specifically, we define "parking garages" as follows: The 1garage is just P. Recall that 1map is P sliced along 1walls. The 1map will be the 1st floor (or 1floor) of the 2garage. Take a copy of the 1floor and put it on top of itself; the copy will be the 2floor  the last floor of the 2garage. The 1 and the 2floors are glued along 1walls; each side of any wall on the 1floor is glued to the opposite side of the wall on the 2floor. This way, when two wavelets meet at the 1wall on the 1floor, each continues propagating on the 2floor (where the wavelets actually diverge since they propagate into different sides of the wall). When wavelets collide on the 2floor, their meeting point traces a 2wall.
The next figure shows wavelets on the 2floor in the instance from the previous figure (the shown parts of the wavelets would die if there were no 2floor). The 1walls are now blue, and the 2walls are red. 

kgarage 
The kgarage for arbitrary k is defined recursively: Take the top floor (the (k1)floor) of the (k1)garage, slice it along (k1)walls, put a copy of the sliced floor on top of the (k1)garage, and glue the copy to the (k1)floor along (k1)walls, identifying the opposite sides of every wall. The copy is the kfloor  the top floor of the kgarage. This way, when two wavelets meet at a (k1)wall on the (k1)floor, both wavelets continue propagating on the kfloor. When wavelets collide on the kfloor, their meeting point traces a kwall.
The next figure shows a snapshot of wave propagation on 3 floors. On a kfloor, the kwalls are red and the (k1)walls are blue. 

kfloor as kth homotopic shortest path map 
It turns out that kwalls and (k1)walls are comprised of the points that have two homotopically different kpaths. In other words, if we cut P along the walls into cells, then kpaths to any point within one cell will "have the same homotopy type" (we use quotes here since homotopy types are defined only for paths with the same endpoint, but the definition can be extended to compare homotopy types also for paths ending at different points; see the paper for details). In this sense the cells define the homotopic kth shortest paths map (or kSPM)  a generalization of the 1SPM from 1paths to kpaths for arbitrary k>1.
The figure below shows kpaths, for k=1,2,3, to a point: 

The next figure shows the kpaths to a point on the other side of the 1wall; it can be seen that 1path and 2path have "changed" their homotopy types: 

The next figure shows the kpaths to a point on the other side of the 2wall; it can be seen that 2path and 3path have "changed" their homotopy types: 

kpath as 1path in the garage 
By construction, no wavelet collision happens in the garage until the top floor; the wavelets collide and trace walls only at the kfloor (these walls are 1walls for the garage and kwalls for P). Hence, the shortest path map (1map) in the garage is obtained by simply slicing the top floor along the kwalls. The most interesting structural property of the kpaths and the garage is as follows: Let q be a point in P, let q' be the copy of q on the kfloor and let p' be the shortest path from q' to s in the garage; then the kpath to q in P is obtained by dropping down p' onto the base sheet, P. That is, the path from q to s starts on the kfloor, goes to a (k1)wall, uses it to get down to (k1)floor, then uses (k1)floor to reach a (k2)wall, uses it as a ramp down to the (k3)floor, and so on, until crossing a 1wall to get on the 1floor, on which the path goes to s.
The first canvas in the figure below shows the 3floor and a 3path; the path crosses a 2wall (blue) on the 3floor. The subpath after the crossing point is a 2path, and the next canvas shows the 2floor and the subpath; the subpath crosses a 1wall (blue) on the 2floor and gets down to the 1floor. The rest of the path (shown in the last canvas) is just the shortest path (1path) to s. 

The applet 
 The applet visualizes how the wave propagates in the floors of the garage (8 floors are shown).
 Each canvas is a floor. The 1st canvas shows wave propagation on the 1st floor of the garage (equivalently  wave propagation in P), the 2nd  on the 2nd floor, etc.
 On a kfloor, the kwalls are red and the (k1)walls are blue.
 Hover the mouse over a point to see the kpaths to it (green); a white worm moves along the path to signify how the path loops around holes (the worm is useful if a kpath loops around a hole multiple times  try an instance with only one small hole).
 Use the slider to go back and forth in the wave propagation.
