pub fn compose_3d(a: &Mat4, b: &Mat4) -> Mat4
Compose two 3D transforms: result = a * b (b applied first)