I think you have a valid point of view there, that is a good logic, but at the end you are talking about an “assumption”, literally a point of view, an opinion, and the problem is that here we are talking about 2 (or more) equally valid “assumptions” .
for example: you talk about this being more “straightfoward” but in your examples you are literally connecting a SubD container to components that expect a mesh as input (it doesn’t gets any more confusing for a new user), so for me it makes a lot of sense that I have to convert that SubD into a Mesh before, and I want to do it in a controlled and predictable way, therefore I should use the “MeshSubD” component and that was the logic before SR11, I also consider the default mesh conversion chosen for SR11 way too dense, unpredictable and randomly picked, which is the complete opposite to the control mesh/polygon , we all know how a control mesh/polygon of a SubD looks like so switching between “mesh/smooth” is totally natural for us at this point, so having GH behave like it’s been doing until SR10 was completely fine and natural for me and at no point I consider a bug that a mesh of a subd was the control polygon, totally predictable, like using the “SubDDisplayToggle”, I thought .
so we can argue all day on which logic is better which one makes more sense, which one is the “common assumption”, , the more traditional, and so on, and the whole debate can turn quite philosophical very quickly especially when you add to the mix the fact that a SubD is not a Mesh nor a Nurbs but is both at the same time, is almost like a geometry with an existential problem but it has some of the best things of both worlds.
so we are talking about a 3rd kind of geometries, and that can lead to even more questions, should we treat it always as a mesh in a way that “a Mesh of a SubD is always the control mesh / polygon” (SR10)?. always like a Nurbs/brep that ignores the control Polygon unless it is specifically extracted from it (SR11)? should every component that expects a mesh or a Brep fail when connected with a SubD, forcing a conversion to happen before that for both cases, leading to a whole new treatment specifically for SubD’s (this is a third safer logic)?.
and even if we find the perfect solution to the philosifical questions, the real problem is that we are talking about a commercial software that is used in very serious business today , and was working perfectly fine (in this regard) with a logic that wasn’t necessarily wrong but different and even if I agree that the new logic might be “better” and stronger, that won’t change the fact that the update that was pushed with SR11 is suddenly making for me in particular hundreds of files totally unusable unless they get updated with the new logic, and we are not talking about a change implemented between versions, let’s say R7 to R8. which to some degree can be more understandable and expected in a way that some files won’t work between versions?, and McNeel does a great job with legacy support that allows us to run old files that might only work with some specific versions, but as far as I am aware that legacy support is not extended to Service Releases, only to main versions working with the latest SR.
so as I see it from a very practical point of view this is an update that won’t fix a single existing definition, is doing the complete opposite breaking many definitions that were working perfectly fine until SR11, and is also not solving any major bug because all your examples here can run perfectly fine on SR10 (and older) by adding one single component after the SubD container, “MeshSubD”, a component that actually does a better job than the default mesh conversion that was just introduced, and this is exactly how all definitions have been designed for years now, and to make things worst broken definitions will be VERY difficult to troubleshoot because in many cases they will crash most PC’s almost instantly when you try to run /test them after a supoused fix, the output / input is still a mesh but a completely different one and that makes thing harder to detect and troubleshoot, is not a single 1:1 component replacement that you can tackle using the “find tool”.
Finally, please consider that reversing this change in the next SR12 is not going to break any definition, not even one created after SR11, instead it will bring back to life all old definitions that are currently broken, everything will still work. (I’m not 100%sure on this one).
At the end I’m just a user extremely frustrated because of the last update and you are the developer, so I have no other option than accept the change and hope for the best, but your message really leaves me with more questions than answers.
Note: is that a SubD edited with a cage? why ?