use std::collections::BTreeMap;
use crate::ast::Span;
use crate::ast::value::{Dimension, PropertyValue};
use super::common::UnknownProperty;
#[derive(Debug, Clone, PartialEq)]
pub struct LightNode {
pub id: String,
pub name: Option<String>,
pub role: Option<String>,
pub kind: Option<String>,
pub x: Option<PropertyValue>,
pub y: Option<PropertyValue>,
pub radius: Option<PropertyValue>,
pub color: Option<PropertyValue>,
pub opacity: Option<f64>,
pub visible: Option<bool>,
pub locked: Option<bool>,
pub source_span: Option<Span>,
pub unknown_props: BTreeMap<String, UnknownProperty>,
pub angle: Option<Dimension>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MeshNode {
pub id: String,
pub name: Option<String>,
pub role: Option<String>,
pub kind: Option<String>,
pub x: Option<PropertyValue>,
pub y: Option<PropertyValue>,
pub w: Option<PropertyValue>,
pub h: Option<PropertyValue>,
pub columns: Option<u32>,
pub rows: Option<u32>,
pub vanishing_x: Option<PropertyValue>,
pub vanishing_y: Option<PropertyValue>,
pub extend: Option<PropertyValue>,
pub stroke: Option<PropertyValue>,
pub stroke_width: Option<PropertyValue>,
pub stroke_dash: Option<PropertyValue>,
pub stroke_gap: Option<PropertyValue>,
pub stroke_linecap: Option<String>,
pub opacity: Option<f64>,
pub visible: Option<bool>,
pub locked: Option<bool>,
pub source_span: Option<Span>,
pub unknown_props: BTreeMap<String, UnknownProperty>,
}