This commit replaces the temporary conversion to `CurveEval` with use
of the new curves data-block. The end result is that the process looks
more like the other components-- somewhere in between meshes and
point clouds in terms of complexity.
This similarity with the other components makes the duplicate logic inThe final result is that the logic between meshes and curves is very similar.
this file much more obvious.There are a few different strategies to reduce duplication here, I'd like to do a separate pass on that inso I'll
a next stepinvestigate that separately.
The least "beautiful" thing in this patch is theThere is some special behavior for the radius and handling of the handlee position attributes.
positionI used the attributes. The new curve class doesn't have cached access API to store spans of these attributes temporarily.
to those attributes, so I kept around temporary spans for nowUsing access methods on `CurvesGeometry` would be reasonable to,
storing spans separately feels a bit more predictable for now though.
There should be significant performance improvements in some cases,
but I haven't measurtested that yet. I also need to do more complete testingt specifically though.