chore: add workspace metadata and crate READMEs for publishing
Add license, authors, repository, documentation, keywords, categories, and readme fields to all crate Cargo.toml files. Add crate-level README files for documentation. Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
# wifi-densepose-core
|
||||
|
||||
[](https://crates.io/crates/wifi-densepose-core)
|
||||
[](https://docs.rs/wifi-densepose-core)
|
||||
[](LICENSE)
|
||||
|
||||
Core types, traits, and utilities for the WiFi-DensePose pose estimation system.
|
||||
|
||||
## Overview
|
||||
|
||||
`wifi-densepose-core` is the foundation crate for the WiFi-DensePose workspace. It defines the
|
||||
shared data structures, error types, and trait contracts used by every other crate in the
|
||||
ecosystem. The crate is `no_std`-compatible (with the `std` feature disabled) and forbids all
|
||||
unsafe code.
|
||||
|
||||
## Features
|
||||
|
||||
- **Core data types** -- `CsiFrame`, `ProcessedSignal`, `PoseEstimate`, `PersonPose`, `Keypoint`,
|
||||
`KeypointType`, `BoundingBox`, `Confidence`, `Timestamp`, and more.
|
||||
- **Trait abstractions** -- `SignalProcessor`, `NeuralInference`, and `DataStore` define the
|
||||
contracts for signal processing, neural network inference, and data persistence respectively.
|
||||
- **Error hierarchy** -- `CoreError`, `SignalError`, `InferenceError`, and `StorageError` provide
|
||||
typed error handling across subsystem boundaries.
|
||||
- **`no_std` support** -- Disable the default `std` feature for embedded or WASM targets.
|
||||
- **Constants** -- `MAX_KEYPOINTS` (17, COCO format), `MAX_SUBCARRIERS` (256),
|
||||
`DEFAULT_CONFIDENCE_THRESHOLD` (0.5).
|
||||
|
||||
### Feature flags
|
||||
|
||||
| Flag | Default | Description |
|
||||
|---------|---------|--------------------------------------------|
|
||||
| `std` | yes | Enable standard library support |
|
||||
| `serde` | no | Serialization via serde (+ ndarray serde) |
|
||||
| `async` | no | Async trait definitions via `async-trait` |
|
||||
|
||||
## Quick Start
|
||||
|
||||
```rust
|
||||
use wifi_densepose_core::{CsiFrame, Keypoint, KeypointType, Confidence};
|
||||
|
||||
// Create a keypoint with high confidence
|
||||
let keypoint = Keypoint::new(
|
||||
KeypointType::Nose,
|
||||
0.5,
|
||||
0.3,
|
||||
Confidence::new(0.95).unwrap(),
|
||||
);
|
||||
|
||||
assert!(keypoint.is_visible());
|
||||
```
|
||||
|
||||
Or use the prelude for convenient bulk imports:
|
||||
|
||||
```rust
|
||||
use wifi_densepose_core::prelude::*;
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
```text
|
||||
wifi-densepose-core/src/
|
||||
lib.rs -- Re-exports, constants, prelude
|
||||
types.rs -- CsiFrame, PoseEstimate, Keypoint, etc.
|
||||
traits.rs -- SignalProcessor, NeuralInference, DataStore
|
||||
error.rs -- CoreError, SignalError, InferenceError, StorageError
|
||||
utils.rs -- Shared helper functions
|
||||
```
|
||||
|
||||
## Related Crates
|
||||
|
||||
| Crate | Role |
|
||||
|-------|------|
|
||||
| [`wifi-densepose-signal`](../wifi-densepose-signal) | CSI signal processing algorithms |
|
||||
| [`wifi-densepose-nn`](../wifi-densepose-nn) | Neural network inference backends |
|
||||
| [`wifi-densepose-train`](../wifi-densepose-train) | Training pipeline with ruvector |
|
||||
| [`wifi-densepose-mat`](../wifi-densepose-mat) | Disaster detection (MAT) |
|
||||
| [`wifi-densepose-hardware`](../wifi-densepose-hardware) | Hardware sensor interfaces |
|
||||
| [`wifi-densepose-vitals`](../wifi-densepose-vitals) | Vital sign extraction |
|
||||
| [`wifi-densepose-wifiscan`](../wifi-densepose-wifiscan) | Multi-BSSID WiFi scanning |
|
||||
|
||||
## License
|
||||
|
||||
MIT OR Apache-2.0
|
||||
Reference in New Issue
Block a user