# use-ui-motion
Motion semantics primitives for RustUse UI.
## Purpose
`use-ui-motion` describes durations, curves, motion preferences, easing metadata, transition kinds, and animation states. It does not depend on animation libraries or run animations.
## Example
```rust
use use_ui_motion::{AnimationState, Easing, MotionCurve, MotionDuration, MotionPreference};
let duration = MotionDuration::from_millis(150);
let easing = Easing::new(MotionCurve::EaseOut, duration);
assert_eq!(easing.duration().millis(), 150);
assert!(MotionPreference::NoPreference.allows_motion());
assert!(AnimationState::Finished.is_terminal());
```
## Main types
- `MotionDuration`
- `MotionCurve`
- `MotionPreference`
- `Easing`
- `TransitionKind`
- `AnimationState`
## Facade relationship
The `use-ui` facade exposes this crate as `use_ui::motion` when the `motion` or `full` feature is enabled.