//! Host UI for `xenia-rs exec --ui`.
//!
//! Opens a winit window, drives a wgpu swapchain, polls gilrs for gamepad
//! input, and presents the guest frontbuffer whenever `VdSwap` fires on the
//! CPU thread. See the crate-level diagram in `app.rs`.
//!
//! Entry point is [`run`], which is called on the main thread by `xenia-app`.
//! The caller gets a matching [`UiHandles`] to install on the kernel state
//! before spawning the CPU worker thread — see [`build`].

mod app;
pub mod bridge;
mod font;
mod input;
mod render;
mod texture_cache_host;
mod xenos_pipeline;

pub use app::run;
pub use bridge::{SwapEvent, UiHandles, build};
pub use xenos_pipeline::{DrawRequest, XenosPipeline};
