common/lib.rs
1//! # Common Crate
2//!
3//! This crate serves as the shared foundation for the Rektal lighting control system,
4//! providing the core data structures, protocols, and utilities utilized by both the
5//! server engine and connected clients. By centralizing these definitions, it ensures
6//! strict synchronization and compatibility across the entire application ecosystem.
7//!
8//! Additionally, this crate compiles into a lightweight Test-Client binary (`main.rs`)
9//! used for debugging network connections, protocol validations, and raw server interactions.
10//!
11//! **Core Modules:**
12//!
13//! * **`cli_actions`**: Defines the structured representations of user commands and their expected responses, bridging
14//! raw input to actionable engine logic.
15//! * **`fixture`**: Contains the foundational lighting models, including DMX channel mappings, fixture profiles
16//! (`fixture_type`), and color management structures.
17//! * **`logging`**: Provides a robust, thread-safe, and asynchronous logging infrastructure with customizable sinks
18//! (e.g., terminal and file output) and distinct severity levels.
19//! * **`networking`**: Outlines the comprehensive TCP communication protocol. This includes session management,
20//! client/server message definitions, and the real-time data subscription system.
21#[macro_use]
22pub mod logging;
23
24pub mod fixture;
25pub mod networking;
26pub mod cli_actions;