rawshift-core 0.1.1

Shared core types for rawshift (geometry, pixel samples, metadata model)
Documentation
# rawshift-core

Shared core types for [rawshift](https://github.com/justin13888/rawshift) —
geometry, pixel samples, and the format-agnostic metadata model.

This crate holds pure, stateless data structures with **no decoding logic**. It
is depended on by both `rawshift-image` and `rawshift-video` so they share one
vocabulary of types without either pulling in the other. Most consumers should
depend on the [`rawshift`](https://crates.io/crates/rawshift) facade rather than
this crate directly.

## What's here

- **Geometry**`Size`, `Point`, `Rect`.
- **Pixel samples**`Sample`, `Rgb`/`Rgba` (8-bit, 16-bit, and f32 variants),
  and the `FromF32` conversion trait.
- **Image containers** — raw/RGB image types and CFA descriptors
  (`XTransPattern`).
- **Color**`BitDepth`, `ColorSpace`.
- **Codec descriptors**`CodecId`, `CodecInfo`, `CodecDirection`,
  `MetadataEmbedOptions`.
- **Metadata model**`ImageMetadata`, `MetadataEntry`, `MetadataKey`,
  `MetadataValue`, `MetadataNamespace`, and the `MetadataExtractor` trait.

## Feature Flags

- `serde` — derive `Serialize`/`Deserialize` for the metadata and option types.

## License

Licensed under [MPL-2.0](../../LICENSE).