nv_core/lib.rs
1//! # nv-core
2//!
3//! Foundational types for the NextVision video perception runtime.
4//!
5//! This crate provides the shared vocabulary used by all other NextVision crates:
6//!
7//! - **IDs** — [`FeedId`], [`TrackId`], [`DetectionId`], [`StageId`]
8//! - **Timestamps** — [`MonotonicTs`], [`WallTs`], [`Duration`]
9//! - **Geometry** — [`BBox`], [`Point2`], [`Polygon`], [`AffineTransform2D`]
10//! - **Errors** — [`NvError`] and its sub-enums
11//! - **Metadata** — [`TypedMetadata`] type-map pattern
12//! - **Health** — [`HealthEvent`], [`StopReason`]
13//! - **Metrics** — [`FeedMetrics`], [`StageMetrics`]
14//! - **Source** — [`SourceSpec`], [`RtspTransport`], [`ReconnectPolicy`]
15//! - **Config** — [`CameraMode`], [`BackoffKind`]
16//!
17//! All types are domain-agnostic. No GStreamer types appear here.
18
19pub mod config;
20pub mod error;
21pub mod geom;
22pub mod health;
23pub mod id;
24pub mod metadata;
25pub mod metrics;
26pub mod security;
27pub mod timestamp;
28
29// Re-export key types at crate root for ergonomic imports.
30pub use config::*;
31pub use error::*;
32pub use geom::*;
33pub use health::*;
34pub use id::*;
35pub use metadata::TypedMetadata;
36pub use metrics::*;
37pub use security::*;
38pub use timestamp::*;