really basic implementation of rpl types

This commit is contained in:
Schrottkatze 2023-12-14 08:42:49 +01:00
commit f046393af8
6 changed files with 201 additions and 10 deletions

View file

@ -0,0 +1,41 @@
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,
}