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
//! Mini-playwright test driver for rlvgl.
//!
//! `rlvgl-playit` provides input injection, widget queries by tag, and
//! framebuffer pixel inspection over a pluggable transport (serial, in-process,
//! etc.).
//!
//! # Architecture
//!
//! ```text
//! test host target / simulator
//! ────────── ──────────────────
//! "T100,200\n" ──► transport ──► PlayitExecutor::poll()
//! ├─ parse_command()
//! ├─ EventSpec → Event
//! ├─ WidgetNode::dispatch_event()
//! └─► "OK\r\n" ──► transport ──► host
//! ```
//!
//! # Modules
//!
//! | Module | Purpose |
//! |--------|---------|
//! | [`command`] | Command, EventSpec, KeySpec, QuerySpec, DumpSpec, TouchPointSpec |
//! | [`response`] | Response, StatusData |
//! | [`protocol`] | Text wire codec (parse / format) |
//! | [`transport`] | `PlayitTransport` byte-level I/O trait |
//! | [`executor`] | `PlayitExecutor`, `EventPipeline` — main poll loop + gesture routing |
//! | [`recorder`] | `EventRecorder` — timed input capture for replay |
//! | [`tag`] | `find_by_tag` / `find_by_tag_mut` tree walkers |
//! | [`framebuffer`] | `FramebufferReader` pixel inspection trait |
//! | [`tcp`] | Loopback TCP transport for simulator / host automation (`std`) |
//!
//! # `no_std` support
//!
//! The crate is `no_std`-compatible by default with no allocator required.
//! Enable `alloc` for heap-backed helpers or `std` for standard-library
//! integrations.
pub use ;
pub use ;
pub use FramebufferReader;
pub use ;
pub use ;
pub use ;
pub use TcpServerTransport;
pub use PlayitTransport;