/// the magnitude (clamped to [0..1]) can be used to attenuate target velocity
void SetMovement(const glm::vec3 &) noexcept;
const glm::vec3 &GetMovement() const noexcept { return move_dir; }
/// the magnitude (clamped to [0..1]) can be used to attenuate target velocity
void SetMovement(const glm::vec3 &) noexcept;
const glm::vec3 &GetMovement() const noexcept { return move_dir; }