Hey @filipst,
please adhere to our rule for a topic being a singular subject/line of questioning.
I strongly doubt that Current State to Object (CSTO) and Make Editable (ME) were ever the same for splines; and if so, this was probably a bug. There is a fundamental difference between these two operations.
Current State to Object: Collapses the cache of the entity it is being called upon and inserts it into the scene.
Make Editable: Replaces an object with its (direct and uncollapsed) cache.
Aside from the obvious difference that CTSO produces a new object and ME replaces its input, there is a fundamental difference in getting the cache of something (ME) or getting the collapsed cache of something (CSTO). Caches tend to be hierarchical structures in Cinema 4D and can become very complex. A simple example would be to collapse a spline with a bend deformer attached to it.
Input:
735753e6-3276-4ae8-b19a-369d5e9aaf01-image.png
Make Editable output (with deformer disabled for clarity):
c20a09cd-83a4-47c4-bd4c-7dd774733144-image.png
CSTO output:
787e44c3-bb86-4efd-9633-94271266326d-image.png
I went over the topic of caches and our geometry model here. For this hierarchy,
5bb9fe31-178b-4967-821f-ebfccb153e47-image.png
the Circle object will have a cache tree as follows:
+ 1: Circle (BaseObject Generator)
+ 2: Cache of 1: Circle (SplineObject Generator)
+ 3: Cache of 2: Circle (LineObject)
+ 4: Deform Cache of 3: Circle (LineObject)
The Circle object is a BaseObject generator which has a SplineObject as its cache which itself is a generator and has a LineObject as its cache (i.e., the discrete representation of the spline for its current interpolation settings). The bend deformer deforms this terminal node in the cache chain, the LineObject, and not the SplineObject.
CSTO collapses the whole cache of an object, i.e., exhausts it. In this case this means returning 4, which includes deformation and the Bezier spline converted to its linear spline representation. CSTO can also mean joining objects in a cache, which is not represented by this simple example.
ME on the other hand returns 2, i.e., whatever is the direct cache of the entity it has been invoked on. We do not collapse the cache of the cache and therefore neither include the LineObject cache nor its deform cache (they are of course still implicitly generated as the cache for the SplineObject we return because ME replaces its input object).
Cheers,
Ferdinand