#![forbid(unsafe_code)]
#![warn(missing_docs)]
pub mod client;
pub mod debug;
pub mod diffing;
pub mod error;
pub mod framing;
pub mod limits;
pub mod logs;
pub mod marker;
pub mod messages;
pub mod roles;
#[cfg(feature = "tracing")]
pub mod tracing_layer;
pub mod tree;
pub mod validate;
pub use client::{Client, Options, DIAL_TIMEOUT, ENV_ENDPOINT, ENV_PROTOCOL, ENV_TOKEN};
pub use debug::{debug_path, Category, DebugLog, ENV_DEBUG, ENV_DEBUG_FILE};
pub use diffing::{build_delta, diff_trees, DELTA_SHARE_CEILING};
pub use error::{Error, ParseError, ValidationError, Violation};
pub use framing::{encode_frame, project_dto, Frame, FrameDecoder, FRAME_HEADER_BYTES};
pub use limits::{Limits, ABSOLUTE_LIMITS, DEFAULT_LIMITS, DEFAULT_NEGOTIATION_MS};
pub use logs::{validate_log_record, AttrValue, LogLevel, LogRecord, LOG_LEVELS, MAX_LOG_ATTRS};
pub use marker::{
compute_mac, encode_marker, verify_marker_payload, RenderMarker, MARKER_MAC_BYTES,
MARKER_OSC_CODE, MARKER_OSC_PREFIX,
};
pub use messages::{
parse_adapter_message, parse_driver_message, ProbeIdentityKind, ProbeInfo, PROTOCOL_ID,
PROTOCOL_V2_ID, PROTOCOL_VERSION,
};
pub use roles::{Action, Capability, Role};
pub use tree::{
Cursor, CursorShape, Node, NodeGeometryObservations, Observation, Occlusion, Orientation,
PointerHitGrid, PointerHitRegion, Provenance, Rect, Snapshot, State, TextRange,
};
pub use validate::{apply_tree_delta, validate_snapshot, validate_tree_delta};
pub mod schema_keys {
pub use crate::validate::{NODE_KEYS, STATE_KEYS};
}