use sim_lib_view_device::{AdapterLoop, DeviceProfile, FrameClock, GlanceAdapter, StalePolicy};
use crate::{ClampedReprojector, halo_glance_config};
pub type VitureReprojectLoop = AdapterLoop<ClampedReprojector>;
pub type HaloGlanceLoop = AdapterLoop<GlanceAdapter>;
pub fn viture_loop(
profile: &DeviceProfile,
max_predict_ms: u64,
) -> (VitureReprojectLoop, FrameClock) {
(
AdapterLoop::new(
ClampedReprojector::new(max_predict_ms),
StalePolicy::Predict,
),
FrameClock::at_zero(profile.rate),
)
}
pub fn halo_loop(profile: &DeviceProfile) -> (HaloGlanceLoop, FrameClock) {
(
AdapterLoop::new(halo_glance_config(), StalePolicy::HoldLast),
FrameClock::at_zero(profile.rate),
)
}