use crate::threader::FrameCtx;
pub fn run_frame(
ctx: &mut FrameCtx,
encoder: Option<&mut wgpu::CommandEncoder>,
view: Option<&wgpu::TextureView>,
) {
crate::logic::check_messages(ctx);
ctx.frame.input.poll_gamepad();
crate::logic::tick_dt(ctx);
ctx.frame.scene.clear();
crate::logic::draw_background(ctx);
crate::logic::clear_nav_on_mouse(ctx);
crate::logic::resolve_edges(ctx);
crate::logic::tick_all(ctx);
crate::keyboard::tick_osk(ctx);
crate::logic::resolve_nav(ctx);
ctx.frame.input.begin_frame(ctx.frame.dt);
crate::logic::present(ctx, encoder, view);
}