/// The VRPose struct represents a sensor’s state at a given timestamp.
#[derive(Debug, Clone, Copy, Default)]
#[cfg_attr(feature = "serde-serialization", derive(Deserialize, Serialize))]
pub struct VRPose {
/// Position of the VRDisplay as a 3D vector.
/// May be None if the sensor is incapable of providing positional data.
pub position: Option<[f32; 3]>,
/// Linear velocity of the sensor given in meters per second.
/// May be None if the sensor is incapable of providing linear velocity data.
pub linear_velocity: Option<[f32; 3]>,
/// Linear acceleration of the sensor given in meters per second squared.
/// May be None if the sensor is incapable of providing linear acceleration data.
pub linear_acceleration: Option<[f32; 3]>,
/// Orientation of the sensor as a quaternion.
/// May be None if the sensor is incapable of providing orientation.
pub orientation: Option<[f32; 4]>,
/// Angular velocity of the sensor given in radians per second.
/// May be None if the sensor is incapable of providing angular velocity data.
pub angular_velocity: Option<[f32; 3]>,
/// Linear acceleration of the sensor given in radians per second squared.
/// May be None if the sensor is incapable of providing angular acceleration data.
pub angular_acceleration: Option<[f32; 3]>,
}