iowo/crates/executor/src/debug/mod.rs

31 lines
1 KiB
Rust
Raw Normal View History

2024-01-01 06:30:04 +00:00
use crate::{value::DynamicValue, Executor};
mod instructions;
pub struct DebugExecutor;
impl Executor for DebugExecutor {
fn execute(
instruction: rpl::instructions::Instruction,
input: Option<DynamicValue>,
) -> Option<DynamicValue> {
match instruction {
rpl::instructions::Instruction::Read(read_instruction) => Some(DynamicValue::Image(
instructions::Read::read(read_instruction),
)),
rpl::instructions::Instruction::Write(write_instruction) => {
instructions::Write::write(
write_instruction,
match input {
Some(DynamicValue::Image(img)) => img,
_ => panic!("awawwawwa"),
},
);
None
}
rpl::instructions::Instruction::Math(_) => todo!(),
rpl::instructions::Instruction::Blend(_) => todo!(),
rpl::instructions::Instruction::Noise(_) => todo!(),
}
}
}