pulse-pixelstream-types 0.14.0

Shared Myko entity and command types for the Pulse Pixelstream recording cell.
Documentation
use myko::prelude::*;
use myko_macros::myko_item;

/// Many-to-many placement of one reusable timeline in one organizational bin.
/// A timeline may appear in several collections without duplicating its definition.
#[myko_item]
pub struct CollectionMembership {
    pub collection_id: String,
    #[serde(alias = "shotListId")]
    pub timeline_id: String,
    #[serde(default)]
    pub sort_order: u32,
}

impl CollectionMembership {
    pub fn stable_id(collection_id: &str, timeline_id: &str) -> String {
        format!("{collection_id}:timeline:{timeline_id}")
    }
}