#![allow(clippy::expect_used)]
use meerkat_machine_schema::identity::{
CompositionId, EffectVariantId, FieldId, InputVariantId, MachineId, MachineInstanceId, RouteId,
SignalVariantId,
};
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct TypedRoutedInput {
pub route_id: RouteId,
pub instance_id: MachineInstanceId,
pub variant: InputVariantId,
pub bindings: Vec<(FieldId, FieldId)>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct TypedRoutedSignal {
pub route_id: RouteId,
pub instance_id: MachineInstanceId,
pub variant: SignalVariantId,
pub bindings: Vec<(FieldId, FieldId)>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ProducerFacts {
pub instance_id: MachineInstanceId,
pub machine: MachineId,
}
pub fn composition_id() -> CompositionId {
CompositionId::parse("adaptive_mob_bundle").expect("composition slug")
}
pub mod producers {
use super::*;
pub fn control_mob() -> ProducerFacts {
ProducerFacts {
instance_id: control_mob_instance_id(),
machine: control_mob_machine_id(),
}
}
pub fn control_mob_instance_id() -> MachineInstanceId {
MachineInstanceId::parse("control_mob").expect("producer instance slug")
}
pub fn control_mob_machine_id() -> MachineId {
MachineId::parse("MobMachine").expect("producer machine slug")
}
pub fn layer_mob() -> ProducerFacts {
ProducerFacts {
instance_id: layer_mob_instance_id(),
machine: layer_mob_machine_id(),
}
}
pub fn layer_mob_instance_id() -> MachineInstanceId {
MachineInstanceId::parse("layer_mob").expect("producer instance slug")
}
pub fn layer_mob_machine_id() -> MachineId {
MachineId::parse("MobMachine").expect("producer machine slug")
}
}
pub mod effects {
pub mod control_mob {
use super::super::*;
}
pub mod layer_mob {
use super::super::*;
}
}
pub mod inputs {
use super::*;
}
pub mod signals {
use super::*;
}
pub mod fields {
use super::*;
}
pub fn route_to_input(
producer_instance: &MachineInstanceId,
effect_variant: &EffectVariantId,
) -> Option<TypedRoutedInput> {
None
}
pub fn route_to_signal(
producer_instance: &MachineInstanceId,
effect_variant: &EffectVariantId,
) -> Option<TypedRoutedSignal> {
None
}