I noticed that I was mistaken about D8431
We need to have transforms from passive objects if they are animated or driven by parent relations.
This is not immediately obvious as the object transform matrix will still be available, it is just one frame behind in some cases.
I also removed dependency cycles if there is a constraint between two rigid bodies.
This is because bullet keeps track of its simulated bodies. So we do not need to supply objects transforms bullet should already have them.
I need combine these two fixes because otherwise we will get depsgraph warnings that nodes are missing that it expect to be there.
I checked that there were no regression so there is still no cycles after essentially reverting D8431:
@Jacques Lucke (JacquesLucke) does this look good to you?