ramp2 1.0.1

RAMP is the glue for Maverick OS, Air Servers, And Prisms UI abstraction
use maverick_os::Window;
use prism::drawable::Instruction;

pub struct Renderer {window: Window, renderer: wgpu_prism::Renderer<'static>}
impl maverick_os::Renderer for Renderer {
    type Instructions = Vec<Instruction>;

    fn new(window: Window) -> Self {
        let size = window.physical();
        let renderer = futures::executor::block_on(wgpu_prism::Renderer::new(
            window.clone(), size.width, size.height
        ));
        Self {window, renderer}
    }
    fn resize(&mut self) {
        let size = self.window.physical();
        self.renderer.resize(size.width, size.height);
    }
    fn draw(&mut self, instructions: Vec<Instruction>) {
        let size = self.window.physical();
        if size.width == 0 || size.height == 0 {return}
        self.renderer.draw(instructions, size.scale_factor as f32);
    }
}