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