# `gemath` developer docs
This folder is the “source of truth” for contributors and maintainers.
If you’re evaluating the crate as a user, start with the top-level `README.md`.
## Start here
- **Feature flags & minimal builds**: `FEATURES.md`
- **Build + test matrix (supported feature sets)**: `DEVELOPMENT.md`
- **Cookbook (copy/paste snippets)**: `COOKBOOK.md`
## API and design
- **API conventions (naming, `try_*`, legacy aliases)**: `API_CONVENTIONS.md`
- **Fallible operations policy**: `DESIGN_FALLIBLE_OPS.md`
- **Scalar / precision policy**: `DESIGN_SCALAR.md`
## Subsystems
- **Spatial structures (prototype notes)**: `SPATIAL.md`
## What makes `gemath` different (for contributors)
If you’re contributing features or reviewing PRs, this is the guiding idea:
- **Type-level tags**: units (`Meters`/`Pixels`) and coordinate spaces (`World`/`Local`/`Screen`) are part of the public type surface.
- **Typed angles**: avoid “mystery `f32` radians”; prefer `Radians` / `Degrees`.
- **Explicit fallibility**: APIs that can fail should be obvious at the call site (`Option` + `try_*` / `checked_*` naming).
Those choices are what keep `gemath` from being “just another glam clone”.
For a slightly longer, contributor-oriented rationale, see `WHY_GEMATH.md`.