I’m not sure what you mean by kinks. The input is a control polygon, so it’s all degree 1. The input sorting is literally the exact same as with _Join. If G0 then join, else don’t. The only thing needed for this feature request is to use the existing _Join command to prefilter the input when the option is selected.
I’m not sure if this make history replays more complicated, but you would again send the input through the _Join prefilter and run _CurveThroughPolyline as it already exists.
not exactly the same but by doing this with point objects instead of polylines you can at least get partly what you want, see example curvethroughpt_with_history.3dm (96.5 KB)
Maybe the attached gh scripts can help as a workaround. It uses grasshopper geometry pipeline, so whenever you draw a curve in top view it should work automatically. The linear array assumes you draw half of the curve from left to right up to the Y-axis. After that you can rebuild or insert control points as you like. The polar array assumes you draw the curve in clockwise order. curvethroughpt_linear_array.gh (7.1 KB) curvethroughpt_polar_array.gh (6.0 KB)