* Apply a factor between 0.25 and 2.5 times the characteristic cell size
* Make the offset from the pipe scale with the plane width up to a maximum offset.
* Organise the CurveCollection settings into two groups.
* Make it possible to interpolate any vector along the well path,
not just the well path points. This way it can be used for normals.
* The interpolation line needs to be a weighted sum of vectors from
the two closest points rather than the previous point + a segment,
which only works for points.
* If used for normals, the end result *has to be normalized*
* Also create a closed LINES_LOOP out of the mesh border.
* This will facilitate using different effects on the different parts.
i.e. solid border and white surface background.
* Always generate in up-direction and rotate to left/right/down
* Generate a "dominant direction" by interrogating the whole curve, not
just the first and last item.
* Improve maths:
- Generate a projection plane spanned by UP and the dominant direction.
- Project the tangent onto this projection plane.
- Generate normal as the cross product between the projected tangent and
the normal to the projection plane.
- Rotate the normal into left/right/down if required.
* Calculate the minimum width to fit the content before the render pass.
* Set the actual width of all the legends to the largest of the minimum widths.
* This resizes the legends to always be the same size and reduces the size of you remove
the widest legend.