Extrude edge loop along the 'average edge normal' direction I have a following setup: a curve aligned to one of the main axes (e.g. z), so every vertex of that curve has z = same value. I want to extrude and offset the new vertices along the direction locally given by the average normal vector of the two adjacent edges projected onto the plane of the curve (gives two options, I want to be able to choose the direction) by the same constant offset so the resulting thickness is the same. I know this must be possible mathematically, because when I choose two adjacent edges, change the transform orientation from global to normal and move in 'z' direction, it moves exactly according to the average normal of those two edges. I hope this would be possible for individual vertices and their two shared edges.

I hope this picture demonstrates what I want...



Here is how it works for two adjacent edges...note that the vertex in the middle gets displaced along the exactly correct direction, which is the average direction of the normals of the two edges next to it. However, the vertices on either end are in slightly wrong direction...



Is this even possible? Did I miss something obvious in the "Extrude region and move" menu? I also tried solidify (which also warns the user that faces are needed for useful output) and bevel, none of which produced the desired effect. Thanks.
Two possible workflows I can quickly think of.


Select all edges in Edit Mode, press F to make a face then inset it with i. Deal with the leftover "closing loop" in the end manually.





Just convert the edges into an actual Bezier Curve object with Alt + C > Curve from Mesh, then from the Properties Window > Curve Object Data Geometry > Bevel add a second curve as Bevel Object comprised of a single edge in $XY$ direction.
Make sure the main curve is set to 2D to get consistent width, and control width with either Curve Radius, directly adjust the bevel object, or with a Taper Object.