pulse-pixelstream-types 0.13.10

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

/// Durable Home camera configuration for one Pixel Streaming stream.
///
/// This is intentionally separate from the operator's global control preferences:
/// Home is part of a stream's authored camera configuration and must not leak from
/// one previs instance to another. Updating it changes only the saved reset target;
/// it never moves the live camera until the operator explicitly invokes Home.
#[myko_item]
pub struct CameraHome {
    pub stream_id: String,
    pub location_x: f32,
    pub location_y: f32,
    pub location_z: f32,
    pub rotation_pitch: f32,
    pub rotation_yaw: f32,
    pub rotation_roll: f32,
    pub focal_length: f32,
}

impl CameraHome {
    pub fn row_id(stream_id: &str) -> CameraHomeId {
        stream_id.to_owned().into()
    }
}