use arora_types::{value::Value, AroraType};
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000100", version = "1.2.0")]
pub struct AnimationClip {
#[arora(id = "76697a69-6a00-0000-0100-000000000001")]
pub name: String,
#[arora(id = "76697a69-6a00-0000-0100-000000000002")]
pub duration: u32,
#[arora(id = "76697a69-6a00-0000-0100-000000000003")]
pub tracks: Vec<AnimTrack>,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000101", version = "1.2.0")]
pub struct AnimTrack {
#[arora(id = "76697a69-6a00-0000-0101-000000000001")]
pub id: String,
#[arora(id = "76697a69-6a00-0000-0101-000000000002")]
pub name: String,
#[arora(id = "76697a69-6a00-0000-0101-000000000003")]
pub animatable_id: String,
#[arora(id = "76697a69-6a00-0000-0101-000000000004")]
pub points: Vec<Keypoint>,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000102", version = "1.2.0")]
pub struct Keypoint {
#[arora(id = "76697a69-6a00-0000-0102-000000000001")]
pub id: String,
#[arora(id = "76697a69-6a00-0000-0102-000000000002")]
pub stamp: f32,
#[arora(id = "76697a69-6a00-0000-0102-000000000003", keyvalue)]
pub value: Value,
#[arora(id = "76697a69-6a00-0000-0102-000000000004")]
pub transitions_in: Vec<TransitionHandle>,
#[arora(id = "76697a69-6a00-0000-0102-000000000005")]
pub transitions_out: Vec<TransitionHandle>,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000103", version = "1.1.0")]
pub struct TransitionHandle {
#[arora(id = "76697a69-6a00-0000-0103-000000000001")]
pub x: f32,
#[arora(id = "76697a69-6a00-0000-0103-000000000002")]
pub y: f32,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000110", version = "1.1.0")]
pub struct TrackOutput {
#[arora(id = "76697a69-6a00-0000-0110-000000000001")]
pub track_id: String,
#[arora(id = "76697a69-6a00-0000-0110-000000000002")]
pub default_key: String,
#[arora(id = "76697a69-6a00-0000-0110-000000000003", keyvalue)]
pub value: Value,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000113", version = "1.1.0")]
pub struct StepValues {
#[arora(id = "76697a69-6a00-0000-0113-000000000001")]
pub revision: u32,
#[arora(id = "76697a69-6a00-0000-0113-000000000002", keyvalue)]
pub values: Value,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000114", version = "1.1.0")]
pub struct OutputKeys {
#[arora(id = "76697a69-6a00-0000-0114-000000000001")]
pub revision: u32,
#[arora(id = "76697a69-6a00-0000-0114-000000000002")]
pub keys: Vec<String>,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000111", version = "1.3.0")]
pub struct PlayerState {
#[arora(id = "76697a69-6a00-0000-0111-000000000001")]
pub player: u32,
#[arora(id = "76697a69-6a00-0000-0111-000000000002")]
pub state: String,
#[arora(id = "76697a69-6a00-0000-0111-000000000003")]
pub time_ns: u64,
#[arora(id = "76697a69-6a00-0000-0111-000000000004")]
pub duration_ns: u64,
#[arora(id = "76697a69-6a00-0000-0111-000000000005")]
pub speed: f32,
#[arora(id = "76697a69-6a00-0000-0111-000000000006")]
pub name: String,
#[arora(id = "76697a69-6a00-0000-0111-000000000007")]
pub instances: Vec<InstanceState>,
#[arora(id = "76697a69-6a00-0000-0111-000000000008")]
pub loop_mode: String,
#[arora(id = "76697a69-6a00-0000-0111-000000000009")]
pub ended: bool,
#[arora(id = "76697a69-6a00-0000-0111-00000000000a")]
pub window_start_ns: u64,
#[arora(id = "76697a69-6a00-0000-0111-00000000000b")]
pub window_end_ns: Option<u64>,
#[arora(id = "76697a69-6a00-0000-0111-00000000000c")]
pub reversed: bool,
#[arora(id = "76697a69-6a00-0000-0111-00000000000d")]
pub waiting: bool,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000112", version = "1.2.0")]
pub struct InstanceState {
#[arora(id = "76697a69-6a00-0000-0112-000000000001")]
pub instance: u32,
#[arora(id = "76697a69-6a00-0000-0112-000000000002")]
pub anim: u32,
#[arora(id = "76697a69-6a00-0000-0112-000000000003")]
pub weight: f32,
#[arora(id = "76697a69-6a00-0000-0112-000000000004")]
pub start_offset_ns: i64,
#[arora(id = "76697a69-6a00-0000-0112-000000000005")]
pub time_scale: f32,
#[arora(id = "76697a69-6a00-0000-0112-000000000006")]
pub rate: f64,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000120", version = "1.1.0")]
pub struct BakedAnimation {
#[arora(id = "76697a69-6a00-0000-0120-000000000001")]
pub frame_rate: f32,
#[arora(id = "76697a69-6a00-0000-0120-000000000002")]
pub start_ns: u64,
#[arora(id = "76697a69-6a00-0000-0120-000000000003")]
pub end_ns: u64,
#[arora(id = "76697a69-6a00-0000-0120-000000000004")]
pub tracks: Vec<BakedTrack>,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000121", version = "1.1.0")]
pub struct BakedTrack {
#[arora(id = "76697a69-6a00-0000-0121-000000000001")]
pub animatable_id: String,
#[arora(id = "76697a69-6a00-0000-0121-000000000002", keyvalue)]
pub values: Value,
#[arora(id = "76697a69-6a00-0000-0121-000000000003", keyvalue)]
pub derivatives: Value,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000200", version = "2.0.0")]
pub struct Clip {
#[arora(id = "76697a69-6a00-0000-0200-000000000001")]
pub name: String,
#[arora(id = "76697a69-6a00-0000-0200-000000000002")]
pub length_ns: Option<i64>,
#[arora(id = "76697a69-6a00-0000-0200-000000000003")]
pub tracks: Vec<ClipTrack>,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000201", version = "2.0.0")]
pub struct ClipTrack {
#[arora(id = "76697a69-6a00-0000-0201-000000000001")]
pub id: String,
#[arora(id = "76697a69-6a00-0000-0201-000000000002")]
pub name: String,
#[arora(id = "76697a69-6a00-0000-0201-000000000003")]
pub target: String,
#[arora(id = "76697a69-6a00-0000-0201-000000000004")]
pub keypoints: Vec<ClipKeypoint>,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000202", version = "2.0.0")]
pub struct ClipKeypoint {
#[arora(id = "76697a69-6a00-0000-0202-000000000001")]
pub id: String,
#[arora(id = "76697a69-6a00-0000-0202-000000000002")]
pub time_ns: i64,
#[arora(id = "76697a69-6a00-0000-0202-000000000003", keyvalue)]
pub value: Value,
#[arora(id = "76697a69-6a00-0000-0202-000000000004")]
pub arrive: Vec<ClipTransition>,
#[arora(id = "76697a69-6a00-0000-0202-000000000005")]
pub leave: Vec<ClipTransition>,
#[arora(id = "76697a69-6a00-0000-0202-000000000006")]
pub pairing: String,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000203", version = "2.0.0")]
pub struct ClipTransition {
#[arora(id = "76697a69-6a00-0000-0203-000000000001")]
pub kind: String,
#[arora(id = "76697a69-6a00-0000-0203-000000000002")]
pub dt_ns: f64,
#[arora(id = "76697a69-6a00-0000-0203-000000000003")]
pub dv: f64,
}
#[derive(Debug, Clone, PartialEq, AroraType)]
#[arora(id = "76697a69-6a00-0000-0000-000000000115")]
pub struct StepSamples {
#[arora(id = "76697a69-6a00-0000-0115-000000000001")]
pub revision: u32,
#[arora(id = "76697a69-6a00-0000-0115-000000000002", keyvalue)]
pub values: Value,
#[arora(id = "76697a69-6a00-0000-0115-000000000003", keyvalue)]
pub velocities: Value,
}