i don’t find any option to apply offset for normal edge/polygon, yr tool is only appear for bezier curves.
Although, it is somewhat counter intuitive, there is a “polygon” mode for curves / splines in blender. So, you take your mesh, convert it (Object > Convert to > Curve from Mesh/Text), then take that polygon spline and apply the offset operator as if it were a bezier curve.
my suggestion is to keep some option
Yes, I thought about that as well, but my heuristic is so simple, there is not much room for options: It just iteratively searches for self-intersections (each intersections splits the polygon in two sub-polygons) and uses the signed area to decide which one to keep and which one to discard, until there is only one self-intersection-free polygon. This however is incorrect as there could be multiple islands like the two circles in a 8-shaped polygon. I will address this when I come up with a better algorithm.