1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
//! Common Client Model for Reovim
//!
//! This crate provides platform-agnostic abstractions for Reovim clients.
//! It separates **wire format** (data from server) from **rendered state**
//! (client-side interpretation), enabling each platform to adapt server
//! data to its specific rendering needs.
//!
//! # Architecture
//!
//! ```text
//! ┌─────────────────────────────────────────────────────────────┐
//! │ Server (gRPC) │
//! │ • Raw buffer content │
//! │ • Cursor position, mode │
//! │ • Logical layout, overlays │
//! └─────────────────────────────────────────────────────────────┘
//! │
//! ▼ Wire Format (this crate)
//! ┌─────────────────────────────────────────────────────────────┐
//! │ Common Client Model │
//! │ • LogicalLayout, LogicalOverlay (from server) │
//! │ • WindowTree, RenderedOverlay (client interpretation) │
//! │ • Panel, Layout traits │
//! └─────────────────────────────────────────────────────────────┘
//! │
//! ▼ Platform implements traits
//! ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
//! │ TUI │ │ Web │ │ Android │
//! │ (Terminal) │ │ (DOM) │ │ (Compose) │
//! └─────────────┘ └─────────────┘ └─────────────┘
//! ```
//!
//! # Modules
//!
//! - [`geometry`]: Screen positions, sizes, and rectangles
//! - [`direction`]: Navigation and split directions
//! - [`wire`]: Wire format types from the server
// Foundation types (Phase 10A)
// Wire format types (Phase 10B)
// Rendered state types (Phase 10C)
// Interaction types (Phase 10D)
// Core traits (Phase 10E)
// Sync types (Phase 10F)
// Re-export commonly used types
pub use ;
// Re-export wire format types
pub use ;
// Re-export rendered state types
pub use ;
// Re-export interaction types
pub use ;
// Re-export core traits
pub use ;
// Re-export sync types
pub use ;
// WASM bindings (feature-gated)