use crate::schema::animated_properties::value::FloatValue;
use crate::schema::constants::star_type::StarType;
use crate::schema::{animated_properties::position::Position, shapes::shape::Shape};
use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub struct PolyStarShape {
#[serde(flatten)]
pub shape: Shape,
#[serde(rename = "p")]
pub position: Position,
#[serde(rename = "or")]
pub outer_radius: FloatValue,
#[serde(rename = "os")]
pub outer_roundness: FloatValue,
#[serde(rename = "r")]
pub rotation: FloatValue,
#[serde(rename = "pt")]
pub points: FloatValue,
#[serde(rename = "sy")]
pub star_type: StarType,
#[serde(rename = "ir")]
pub inner_radius: Option<FloatValue>,
#[serde(rename = "is")]
pub inner_roundness: Option<FloatValue>,
}