use crate::motif::Motif;
use crate::provenance::ProvenanceTag;
#[derive(Debug, Clone)]
pub struct Episode {
pub motif: Motif,
pub provenance: ProvenanceTag,
}
impl Episode {
pub fn new(motif: Motif, provenance: ProvenanceTag) -> Self {
Self { motif, provenance }
}
pub fn is_unknown(&self) -> bool { self.motif.is_unknown() }
}
impl std::fmt::Display for Episode {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "Episode({}, steps {}–{})",
self.motif,
self.provenance.step_range.0,
self.provenance.step_range.1)
}
}