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:
ruv
2026-03-01 01:39:36 -05:00
parent aa1059d9e2
commit 7092f83b34
29 changed files with 1750 additions and 21 deletions

View File

@@ -0,0 +1,83 @@
# wifi-densepose-core
[![Crates.io](https://img.shields.io/crates/v/wifi-densepose-core.svg)](https://crates.io/crates/wifi-densepose-core)
[![Documentation](https://docs.rs/wifi-densepose-core/badge.svg)](https://docs.rs/wifi-densepose-core)
[![License](https://img.shields.io/crates/l/wifi-densepose-core.svg)](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