vision_core/lib.rs
1//! Framework-agnostic vision interfaces for CortenForge detection pipelines.
2//!
3//! This crate defines the core abstractions for detection, capture, and recording:
4//! - `Detector`: Trait for running inference on frames.
5//! - `Recorder`: Trait for persisting frame records and labels.
6//! - `Frame`, `FrameRecord`, `Label`: Core data types for vision pipelines.
7//! - Capture resources and overlay utilities.
8//!
9//! ## Design Philosophy
10//! `vision_core` is intentionally framework-agnostic. It has no Bevy dependencies and can be
11//! used in CLI tools, web services, or any Rust application. The `vision_runtime` crate
12//! provides Bevy-specific integration on top of these interfaces.
13//!
14//! ## Stability
15//!
16//! The core interfaces (`Detector`, `Recorder`, `FrameSource`) and data types (`Frame`, `Label`,
17//! `DetectionResult`) are **stable** and follow semantic versioning. Breaking changes to these
18//! types will result in a major version bump.
19
20pub mod capture;
21pub mod interfaces;
22pub mod overlay;
23
24pub mod prelude {
25 pub use crate::capture::{
26 CaptureLimit, PrimaryCaptureCamera, PrimaryCaptureReadback, PrimaryCaptureTarget,
27 };
28 pub use crate::interfaces::*;
29 pub use crate::overlay::*;
30}