unitscale 0.2.0

Facade crate for statically-scaled unit macros and traits.
Documentation
# unitscale

## Overview

This is the public-facing facade crate that re-exports the traits and macros from [unitscale_core](https://docs.rs/unitscale_core/latest/unitscale_core/index.html) and [unitscale_macros](https://docs.rs/unitscale_macros/latest/unitscale_macros/index.html). It is designed to be ergonomic and beginner-friendly.

## Modules

- core: Exposes all traits and types from *unitscale_core*.
- macros: Exposes macros from *unitscale_macros*.
  - Can set types and scalars as `f32` or `f64` with the marco argument `with`
- prelude: Contains common re-exports for quick onboarding.

## Example

You will need to add `unitscale_core` and `num_traits` to your dependancies.

```rust
use unitscale::prelude::*;

// Default is `f32`. If you want f64 then you can add `with = "f64"`.

// #[unit_scale(to = 0.1, with = "f64")]
#[unit_scale(to = 0.5)]
struct HalfUnit;

// #[unit_type(with = "f64")]
#[unit_type]
struct Percent;

let p = Percent::<HalfUnit, u8>::try_from(30.0).unwrap();
// v.to_f32() gives back 30.0 within the precision limit of the type (e.g. u8)
assert_eq!(p.scaled_value(), 60);

```

## Use Cases

This crate is ideal for anyone working with embedded systems, battery management protocols, or anywhere you need strongly typed unit data tied to fixed encoding scales.

## Licensing

For licensing information, please refer to the LICENSE file in each crate.