I think it’s about a misunderstanding of terminology.
The first issue here is that developers were asking for scaling, and the problem of scaling isn’t that simple.
The most basic no-go case is scaling a circle, like so:
local scale = vmath.vector3(2, 3, 0);
This is still impossible to do, because physics can’t work with ellipse.
However, having this new feature makes these limitations clearer than simply scaling.
The second issue is that there is no such concept as scale for a physics shape in Box2D, for example. The only thing you can do is to remove one shape and create another one with the needed parameters. That’s what this new function does.
The third issue concerns applying transforms from the game world to the physics world for Dynamic objects. We partially solved this by adding Allow Dynamic Transforms. However, it’s important to understand that there is a special type of objects that exist, which users can change dynamically: Kinematic objects. Doing such things with dynamic objects may disrupt the physics simulation in strange ways.
For example, consider this case like the freshest one: Defold Physics Hinge Bug? - #9 by super_kimono
This happens because of bidirectional communication between the game world and the physics world for the exact same object (first, you apply an object’s transform to a physics collision object and then read values from the physics world for the same object transform)
So, in conclusion, there is no controversy between what we said before and the fact that we added this feature (and also Allow Dynamic Transforms feature a long time ago).