Panda Bullet

Hmm, I was expecting a bit more to work with. Anyway, let’s see.

I don’t get this one. A matrix is a list of lists. But this is not important. what matters is what you want to put into these lists/arrays/matrices.

I guess what you wanted to say is that collision filtering is not done based on masks or groups, but by explicitly specifying which objects collide with which other objects. This means we have to manage and store information wether or not a pair of objects should collide or not. Can be done in (at least) two ways:
(1) on the world we store pairs of objects which should collide.
(2) on each object we store which other objects should collide with the object.

Both are management nightmares when objects get removed or destroyed. However, do you want to pick up from here, maybe specify methods suited for management of the required data in both cases?