1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use std::rc::Rc;

use crate::{
    environment::Environment, kernel::Kernel, render::graph::RenderGraph, schedule::Schedule,
    tcs::world::World,
};

pub trait Plugin<E: Environment> {
    fn build(
        &self,
        schedule: &mut Schedule,
        kernel: Rc<Kernel<E>>,
        world: &mut World,
        graph: &mut RenderGraph,
    );
}