Currently the line rendering expands out in both directions from the calculated line normal but you should be able to have the lines expand out in either direction separately. This also means we need to take more care with the winding order (clockwise vs counter-clockwise). While expanding inward for an inset, the line expanding inward shouldn't clip through the outside border where the area features become narrow. Insets like that (perhaps they could have a separate term) could possibly be calculated in the fill fragment shader using some extra attribute calculated to know the distance to the nearest edge.
Currently the line rendering expands out in both directions from the calculated line normal but you should be able to have the lines expand out in either direction separately. This also means we need to take more care with the winding order (clockwise vs counter-clockwise). While expanding inward for an inset, the line expanding inward shouldn't clip through the outside border where the area features become narrow. Insets like that (perhaps they could have a separate term) could possibly be calculated in the fill fragment shader using some extra attribute calculated to know the distance to the nearest edge.