code: def _update_yaw_and_pitch(self):
          
          front = Vector3([0.0, 0.0, 0.0])
          front.x = cos(radians(self.yaw)) * cos(radians(self.pitch))
          front.y = sin(radians(self.pitch))
          front.z = sin(radians(self.yaw)) * cos(radians(self.pitch))
  
          self.dir = vector.normalise(front)
          self.right = vector.normalise(vector3.cross(self.dir, self._up))
          self.up = vector.normalise(vector3.cross(self.right, self.dir))
docs: Updates the camera vectors based on the current yaw and pitch