openconfiguration 1.5.0

OpenConfiguration (OC) is a modular, efficient and flexible approach for the uni-directional exchange of visual e-commerce configurations.
Documentation
use serde::{Deserialize, Serialize};

use crate::Vector3;

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
#[cfg_attr(feature = "schema", schemars(deny_unknown_fields))]
#[serde(rename_all = "camelCase")]
/// Description of a three-dimensional rotation.
/// All attributes are mandatory.
pub struct Quaternion {
    #[serde(flatten)]
    pub vector: Vector3,

    pub w: f64,
}

impl Default for Quaternion {
    fn default() -> Self {
        Self {
            vector: Default::default(),
            w: 1.0,
        }
    }
}