pulse-pixelstream-types 0.14.1

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

/// Durable, GLOBAL camera-control settings for the operator. Unlike `Viewer` /
/// `ControlLock`, this is NOT a child of `Client`, so it is NOT cascade-deleted on
/// disconnect — it persists across tab closes and previs relaunches (the previs pawn
/// resets to level defaults each launch, so the client re-applies these on connect).
/// One row, id `"global"`: the operator's tuning is shared across every stream.
#[myko_item]
pub struct CamPref {
    pub focal: f32,
    pub aperture: f32,
    pub focus_method: String,
    pub focus_dist: f32,
    pub base_speed: f32,
    pub look_scale: f32,
    pub invert: bool,
    pub glide: bool,
    pub glide_secs: f32,
    pub motion_blur: f32,
    pub rail_speed: f32,
}

impl CamPref {
    /// The single global row id.
    pub fn row_id() -> CamPrefId {
        "global".to_string().into()
    }
}