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(MathInstruction), Blend(BlendInstruction), Noise(NoiseInstruction), } #[derive(Serialize, Deserialize, PartialEq, Eq, Debug)] pub enum MathInstruction { Add, Subtract, Multiply, Divide, } #[derive(Serialize, Deserialize, PartialEq, Eq, Debug)] pub enum BlendInstruction { Normal, Multiply, Additive, Overlay, Screen, Subtractive, Difference, Darken, Lighten, } #[derive(Serialize, Deserialize, PartialEq, Eq, Debug)] pub enum NoiseInstruction { Perlin, Simplex, Voronoi, }