From the issue in https://github.com/qgis/QGIS/issues/53165 it appears that using Quadrant Segments = 0 (or any small value) causes artifacts to appear. The QuadrantSegments value should be forced to be >= 8 when building offset curves. (Even better would be an ability to specify the End Cap Quadrant Segments independently of the Join QS).
The cause of the problem is that an end cap generated using a small QS value can expose "closing arc" linework at internal corners. This is a problem with generating buffers as well.
It also might be possible to detect and remove unwanted end cap segments when the QuadrantSegments value is small (at the ends of the offset curve, via a distance check).
Work-Around
Specify the Quadrant Segments value to be at least 8
From the issue in https://github.com/qgis/QGIS/issues/53165 it appears that using Quadrant Segments = 0 (or any small value) causes artifacts to appear. The QuadrantSegments value should be forced to be >= 8 when building offset curves. (Even better would be an ability to specify the End Cap Quadrant Segments independently of the Join QS).
The cause of the problem is that an end cap generated using a small QS value can expose "closing arc" linework at internal corners. This is a problem with generating buffers as well.
It also might be possible to detect and remove unwanted end cap segments when the QuadrantSegments value is small (at the ends of the offset curve, via a distance check).
Work-Around
Specify the Quadrant Segments value to be at least 8
Example 1
Input:
Offset Curve ( Distance = -11, QuadSegs = 0, Join = Mitre) :
With QuadSegs = 8 result is reasonable:
Example 2 - from https://github.com/qgis/QGIS/issues/53165#issuecomment-1563214857
Input:
Offset Curve ( Distance = 133, QuadSegs = 0, Join = Mitre) :
With QuadSegs = 8 result is reasonable: