mod helpers;
mod mcp;
mod overlays;
mod server;
mod service;
mod types;
use std::sync::{
Arc, OnceLock,
atomic::{AtomicBool, Ordering},
};
pub(crate) use overlays::paint_debug_overlays;
pub use overlays::{clear_overlays, set_overlay_hex};
use ribir_painter::PixelImage;
pub use server::start_debug_server;
use tokio::sync::mpsc;
pub use types::*;
use crate::window::WindowId;
#[derive(Clone, Debug)]
pub struct FramePacket {
pub wnd_id: WindowId,
pub ts_unix_ms: u64,
pub seq: u64,
pub image: Arc<PixelImage>,
}
pub static FRAME_TX: OnceLock<mpsc::UnboundedSender<FramePacket>> = OnceLock::new();
pub static RECORDING: AtomicBool = AtomicBool::new(false);
pub fn is_recording() -> bool { RECORDING.load(Ordering::Relaxed) }