plozone 0.1.0

3D spatial zone engine: geofencing, octree hole-scanning, realtime sync (WebSocket + QUIC + io_uring), voxel pathfinding, and AV sensor fusion.
Documentation
//! RPLidar serial driver stub (feature `lidar`).
//!
//! Requires `serialport` and `rplidar-rs` crates + real hardware.
//! The functions below are stubs matching the §9.2 spec — they compile
//! but panic at runtime with [`todo!`].

/// Open an RPLidar device on the given serial port path.
///
/// **Stub** — needs `serialport` + `rplidar-rs`.
pub fn open_rplidar(_path: &str) {
    todo!("open_rplidar: requires serialport + rplidar-rs crates + hardware");
}

/// Grab a single 360° scan from an open RPLidar device.
///
/// Returns points in polar→Cartesian form `[x, y, 0.0]` (2D scan, z = 0).
///
/// **Stub** — needs `serialport` + `rplidar-rs`.
pub fn grab_scan() -> Vec<[f32; 3]> {
    todo!("grab_scan: requires serialport + rplidar-rs crates + hardware");
}

#[cfg(test)]
mod tests {
    #[test]
    #[should_panic(expected = "requires serialport")]
    fn open_rplidar_panics() {
        super::open_rplidar("/dev/ttyUSB0");
    }

    #[test]
    #[should_panic(expected = "requires serialport")]
    fn grab_scan_panics() {
        let _ = super::grab_scan();
    }
}