1#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
5#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
6#[cfg_attr(feature = "serde", serde(rename_all = "snake_case"))]
7#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
8pub enum TextAlignment {
9 #[default]
11 Start,
12 End,
14 Center,
16 Justified,
18}
19
20#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
22#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
23#[cfg_attr(feature = "serde", serde(rename_all = "snake_case"))]
24#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
25pub enum TextSplit {
26 #[default]
28 Characters,
29 Words,
31 Lines,
33}
34
35#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
37#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
38#[cfg_attr(feature = "serde", serde(rename_all = "snake_case"))]
39#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
40pub enum Preset {
41 Sparks,
43 Embers,
45 Dust,
47 Motes,
49 Snow,
51 Rain,
53 Smoke,
55 Fire,
57 Confetti,
59 Fireworks,
61 Fireflies,
63 LogoDissolve,
65 LogoAssemble,
67}
68
69#[derive(Clone, Copy, Debug, PartialEq)]
71#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
72#[cfg_attr(feature = "serde", serde(rename_all = "snake_case"))]
73#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
74pub enum FieldCoordinate {
75 X,
77 Y,
79 Speed,
81}
82
83#[derive(Clone, Copy, Debug, PartialEq)]
85#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
86#[cfg_attr(feature = "serde", serde(deny_unknown_fields))]
87#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
88pub struct CollisionResponse {
89 pub restitution: f32,
91 pub friction: f32,
93 pub kill_on_hit: bool,
95}
96
97impl Default for CollisionResponse {
98 fn default() -> Self {
99 Self {
100 restitution: 1.0,
101 friction: 0.0,
102 kill_on_hit: false,
103 }
104 }
105}
106
107#[derive(Clone, Copy, Debug, PartialEq)]
109#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
110#[cfg_attr(feature = "serde", serde(rename_all = "snake_case"))]
111#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
112pub enum ParticleEventKind {
113 Birth,
115 Death,
117 Collision,
119 AgeReached(f32),
121}
122
123#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
125#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
126#[cfg_attr(feature = "serde", serde(rename_all = "snake_case"))]
127#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
128pub enum Inherit {
129 None,
131 #[default]
133 Position,
134 Velocity,
136 Color,
138 All,
140}