use serde::{Deserialize, Serialize}; pub mod read; pub mod write; #[derive(Serialize, Deserialize, PartialEq, Eq, Debug)] pub enum Instruction { Read(read::Read), Write(write::Write), Math(Math), Blend(Blend), Noise(Noise), Filter(Filter), } #[derive(Serialize, Deserialize, PartialEq, Eq, Debug)] pub enum Math { Add, Subtract, Multiply, Divide, } #[derive(Serialize, Deserialize, PartialEq, Eq, Debug)] pub enum Blend { Normal, Multiply, Additive, Overlay, Screen, Subtractive, Difference, Darken, Lighten, } #[derive(Serialize, Deserialize, PartialEq, Eq, Debug)] pub enum Noise { Perlin, Simplex, Voronoi, } #[derive(Serialize, Deserialize, PartialEq, Eq, Debug)] pub enum Filter { Invert, }