zenith_core/ast/node/
effect.rs1use std::collections::BTreeMap;
8
9use crate::ast::Span;
10use crate::ast::value::{Dimension, PropertyValue};
11
12use super::common::UnknownProperty;
13
14#[derive(Debug, Clone, PartialEq)]
16pub struct LightNode {
17 pub id: String,
18 pub name: Option<String>,
19 pub role: Option<String>,
20 pub kind: Option<String>,
23 pub x: Option<PropertyValue>,
25 pub y: Option<PropertyValue>,
27 pub radius: Option<PropertyValue>,
29 pub color: Option<PropertyValue>,
31 pub opacity: Option<f64>,
32 pub visible: Option<bool>,
33 pub locked: Option<bool>,
34 pub source_span: Option<Span>,
36 pub unknown_props: BTreeMap<String, UnknownProperty>,
38 pub angle: Option<Dimension>,
40}
41
42#[derive(Debug, Clone, PartialEq)]
44pub struct MeshNode {
45 pub id: String,
46 pub name: Option<String>,
47 pub role: Option<String>,
48 pub kind: Option<String>,
50 pub x: Option<PropertyValue>,
51 pub y: Option<PropertyValue>,
52 pub w: Option<PropertyValue>,
53 pub h: Option<PropertyValue>,
54 pub columns: Option<u32>,
56 pub rows: Option<u32>,
58 pub vanishing_x: Option<PropertyValue>,
60 pub vanishing_y: Option<PropertyValue>,
62 pub extend: Option<PropertyValue>,
64 pub stroke: Option<PropertyValue>,
65 pub stroke_width: Option<PropertyValue>,
66 pub stroke_dash: Option<PropertyValue>,
67 pub stroke_gap: Option<PropertyValue>,
68 pub stroke_linecap: Option<String>,
69 pub opacity: Option<f64>,
70 pub visible: Option<bool>,
71 pub locked: Option<bool>,
72 pub source_span: Option<Span>,
73 pub unknown_props: BTreeMap<String, UnknownProperty>,
74}