namespace MultiWheelC.Control.Abstractions
{
    /// <summary>
    /// 定义Stanley、LQR和MPC等车体中心横向控制器的统一接口。
    /// </summary>
    public interface ILateralController
    {
        /// <summary>
        /// 根据本周期车辆状态和轨迹误差计算车体中心目标曲率。
        /// </summary>
        LateralControlCommand Compute(
            PathTrackingContext context);

        /// <summary>
        /// 清除控制器跨周期状态，以便开始新轨迹或异常恢复后重新运行。
        /// </summary>
        void Reset();
    }
}
