forked from katzen-cafe/iowo
41 lines
751 B
Rust
41 lines
751 B
Rust
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,
|
|
}
|