Heading of the camera axis in degrees from true north, in [0, 360).
[0, 360)
static double heading(List<double> m) { final f = cameraForward(m); return (atan2(f[0], f[1]).toDegrees + 360) % 360; }