roplat 0.2.0

roplat: just a robot operation system
Documentation
//! roplat core runtime and macro entry points.
//!
//! This crate exposes three core abstractions:
//! - [`node::Node`]: computation unit.
//! - [`rhythm::Rhythm`]: scheduling cadence.
//! - `#[roplat::system]`: compiles connections into an execution graph.
//!
//! # Quick Example
//! ```rust
//! use roplat::node::io::DisplayWriterNode;
//! use roplat::Node;
//!
//! let mut node = DisplayWriterNode::new();
//! let _ = futures::executor::block_on(node.process("hello".to_string()));
//! ```

/// Communication primitives (ring buffer, triple buffer, IPC backends).
pub mod comm;
mod error;
/// Built-in nodes and the [`Node`] trait.
pub mod node;
/// Python interop bridge (PyO3 opaque transport).
pub mod py_bridge;
/// Legacy recording API (kept for compatibility).
pub mod recoder;
// pub mod resource;
/// Rhythm and replay subsystem.
pub mod rhythm;
/// Cross-language type binding abstraction.
pub mod type_binding;

/// Unified error type and result alias.
pub use error::{RoplatError, RoplatResult};
/// Node trait.
pub use node::Node;
/// Common logic nodes and compatibility type aliases.
pub use node::logic;

/// `#[interface]` proc macro.
pub use roplat_macros::interface;
/// `#[node]` proc macro.
pub use roplat_macros::node;
/// `#[replay]` proc macro.
pub use roplat_macros::replay;
/// `#[roplat_msg]` proc macro.
pub use roplat_macros::roplat_msg;
/// `#[system]` proc macro.
pub use roplat_macros::system;
/// `system_item!` function-like macro.
pub use roplat_macros::system_item;

/// Re-export for compatibility: `async_trait`.
pub use async_trait;
/// Re-export for compatibility: `pyo3`.
pub use pyo3;
/// Launch/config sub-crate re-export.
pub use roplat_launch;
/// Re-export for compatibility: `serde`.
pub use serde;
/// Re-export for compatibility: `serde_json`.
pub use serde_json;
/// Re-export for compatibility: `serde_yaml`.
pub use serde_yaml;