Freestyle has a complicated management of ridges, valleys and suggestive contours.
To obtain a pretty result, you have to tweak advanced options like Sphere Radius and Kr derivative epsilon values and split chains according to angle or length limits.
Clamping in Snake is a lot more intuitive.
In Freestyle, we can create dashed lines, variations of thickness of the strokes through many modifiers, variations of lines positions. We have different types of caps, ability to extend or to shorten lines by Backbone Stretcher and Tip Remover modifiers. And with management of color and alpha, all these settings are defining a linestyle.
And this linestyle can be applied to a chosen set of lines : the lineset.
Lines are selected according to their visibility, their types, their marks or belonging to an object included in a collection.
We are not expecting realtime NPR renderer to handle all combinations available with Freestyle or texture patterns.
But I think that assigning differents styles per set of lines is wanted by everybody.
To create regular lines for front lines and dashed lines for hidden lines.
To create different thickness variations for contour lines and crease lines.
To create different colors for different objects or parts of an object.
And ideally, we should be able to combine these properties of a set to satisfy most of situations.
For example, hidden lines on creases of objects inside this collection should have this style made of such color, such thickness variation and such geometry.
If it is not possible to have a lineset in a realtime render, an easy way to make such distinction by compositing should be provided. I mean IDmask passes going more in depth than just object geometry, IDmask passes corresponding to lines thickness.