I would like to recreate the same style that OSM uses when editing polygons. I call this the "inner stroke" or the "inner buffer".
OSM example:

I know that I can use an array ol.style.Style, with one send back geometryfor the internal buffer. However, to create new geometries, it seems that really resource-intensive simply represent the original geometry with a buffer. Is this the recommended way? Can I use in ol.style.Strokesome advanced way?
An additional feature is that the pixel width of the inner stroke screen is a constant value, regardless of the zoom level. For example, here the polygon is reduced to:

source
share