This
NewtonMeshApproximateConvexDecomposition (mesh, 0.01f, 0.2f, 256, 100, nullptr, nullptr);
set a limited to 256 convex shapes, after that the algorithm try to reduced the hierarchy until is formn the number of specified faces.
if you pass a large convex count say 512 or higher, then it will generate a better approximation for the same concavity.
The give a way is when you see same shape that closely approximate the feces they cover and some other with a large concavity errors.
try passing
NewtonMeshApproximateConvexDecomposition (mesh, 0.01f, 0.2f, 500, 100, nullptr, nullptr);
Maybe is will be good to add a function what their the result is the hierarchy, and the another function that will give to the number of faces,
This will let the user to make a slider what you can move up or down to the desired decomposition for the given concavity. do you think that will be useful?
all in all as you can see the quality are very similar, with newton's being a little faster, but Khaled generation a more elegant decomposition because of the splitting.
One good effect of Khale is that the solution has fewer seem to have fewer overlapping, and perhaps even fewer shapes because of the cutting, and that could be very useful.
I could add a preprocessing precutting stage base on the few first partitions. but in any case Khaled can be very useful.