//! Wire format types from the server.
//!
//! These types represent data as received from the server via gRPC.
//! They are logical/semantic (buffer positions, layout structure) rather
//! than physical (screen coordinates). Clients interpret these types
//! into rendered state appropriate for their platform.

pub mod category;
pub mod client;
pub mod layout;
pub mod origin;
pub mod overlay;
pub mod presence;
pub mod viewport;

pub use {
    category::ExtensionCategory,
    client::{ClientInfo, ClientMetadata, ClientRelation, ClientViewState},
    layout::LogicalLayout,
    origin::SemanticOrigin,
    overlay::{LogicalOverlay, OverlayState},
    // DEPRECATED: Use client module types instead
    presence::{ClientPresence, SyncMode},
    viewport::{ViewportState, ViewportUpdate},
};
