beetry-editor-types 0.2.0

Internal beetry crate. For the public API, check the beetry crate.
Documentation
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};

#[derive(Debug, Default, Clone, Serialize, Deserialize, JsonSchema)]
pub struct NodeUiData {
    pub position: Point,
}

#[derive(Debug, Default, Clone, Serialize, Deserialize, JsonSchema)]
pub struct ChannelUiData {
    pub position: Point,
}

#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub struct PortConnectionUiData {
    visibility: VisibilityKind,
}

impl PortConnectionUiData {
    pub fn new(visibility: VisibilityKind) -> Self {
        Self { visibility }
    }

    pub fn visibility(&self) -> &VisibilityKind {
        &self.visibility
    }
}

#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub enum VisibilityKind {
    Visible,
    Hidden,
}

#[derive(Debug, Default, Clone, Copy, PartialEq, Serialize, Deserialize, JsonSchema)]
pub struct Point {
    pub x: f64,
    pub y: f64,
}