/// Cursor motion identity carried by the host keymap path.
///
/// Phase 3a introduces this enum so the `hjkl-vim` keymap can name motions
/// without depending on engine internals. The host converts a `MotionKind` to
/// the appropriate `Editor::apply_motion` call.
///
/// Designed for extensibility: Phases 3b–3g will add further variants
/// (word motions, line-boundary motions, jump motions, scroll motions, …)
/// without breaking any existing match arms — callers must use `..` or
/// add the new arms when they bump the hjkl-vim minor version.