GSoC 2021: Curve Improvements: Weekly Reports

Thank you for your in-depth reply!
I learned a lot about the internal discussions which is great.

"filleting creates new vertices and the parameter wouldn’t make sense on the new vertices"

I see now. This does makes sense in GN though as that’s parametric until applied.
Yeah in my mind (coming from 2D vector software) edit mode could also be parametric. Some software (like Affinity Designer) treat the new points conceptual and not selectable until applied (similar to GN) and some (like Illustrator) keeps it procedural just until you grab any point of the newly created ones (I believe this the dumb way of doing it and would make zero sense to Blender)

What do you think about this:
I think a possible way to port this to Edit mode would be a separate parameter but the moment you use it, Blender creates a GN modifier and updates it with everything you do in edit mode. It should be that simple. (similarly to for example how a new particle sim creates the corresponding modifier) Then you can apply it and get to the new points if you want.
Ah this would be a dream scenario!

I hope for the best for every topic you mentioned :slight_smile:

No problem!

Right, I could see this working. But adding a new parameter just to add a GN modifier feels a bit unnecessary to me (unless I misunderstood what you meant), especially since the same can be achieved with a few extra steps by adding a GN modifier manually. What do you think?
I think once ported, the tool would work a bit like the bevel tool (for meshes) where there’s a handle to adjust the radius. At least that’s how I imagine it would be.

Thank you! :slight_smile:

Well if you keep using the - currently available - radius parameter for it then what happens if a curve has thickness to it AND then I’d like to fillet some points in it?
Both very different options will be controlled by the same value?

I think it’s perfectly fine to have a new parameter for a new feature. The fact that GN works in the background shouldn’t mean it can’t be treated like a real feature.
Filleting curves was simply not a thing before in Blender. You made it. It deserves a parameter :smiley:

If GN is as fast and reliable as the devs currently think then imho this is true to other features (which could be exposed in the UI) as well.

The real problem is that curves don’t support generic attributes in edit mode. They have radius, tilt, and “Soft-body Goal Weight” that are sometimes interpolated correctly when making changes to the curve. But that’s it. If you want to store another value you have to add it everywhere in the code, it’s just not feasible. We can’t keep adding a new value to every curve control point every time we add some useful procedural feature.

That’s basically the reasoning behind the rewrite of curves for geometry nodes. Storing generic data per point is essential for a procedural data type.

So the way forward is to continue that transition until we can edit generic attributes in curve edit mode. This was also the reason why I suggested making curve fillet as a node instead-- it’s more future proof, and the same code can be used for edit mode when that’s possible.

14 Likes