This bug was brought about after testing sorting but wasn't necessarily caused by sorting. Basically the bug was not being able to reliably redraw the z-index order when changing scale, changing basemaps, and changing visibility. This commit is a first pass at fixing that. It currently seems to function as expected.
The big thing I was missing was in how map.moveLayer(layerId, beforeId) was behaving. I was moving the least visible layers first "before" more visible layers. However, those more "visible" layers could be anywhere in the layering order, causing unexpected behavior. Thus, moving / setting the most visible layers first provided a stable way to get expected layering order.
This bug was brought about after testing sorting but wasn't necessarily caused by sorting. Basically the bug was not being able to reliably redraw the z-index order when changing scale, changing basemaps, and changing visibility. This commit is a first pass at fixing that. It currently seems to function as expected.
The big thing I was missing was in how
map.moveLayer(layerId, beforeId)
was behaving. I was moving the least visible layers first "before" more visible layers. However, those more "visible" layers could be anywhere in the layering order, causing unexpected behavior. Thus, moving / setting the most visible layers first provided a stable way to get expected layering order.