namespace MultiWheelC.TrajectoryPlanning.CoarsePath.Facade;

/// <summary>
/// 一次粗路径编排的可选调试旁路配置。
/// 调试开关和接收器不参与地图输入指纹、缓存键、搜索状态或路径结果。
/// </summary>
public sealed class PlanningDebugOptions
{
    /// <summary>创建默认关闭并使用空接收器的调试配置。</summary>
    public PlanningDebugOptions()
    {
        Enabled = false;
        Sink = NullPlanningDebugSink.Instance;
    }

    /// <summary>是否在本次编排结束后向 <see cref="Sink"/> 发布旁路数据；默认值为 false。</summary>
    public bool Enabled { get; set; }

    /// <summary>
    /// 接收地图和规划结果的旁路对象；默认为空实现。赋值为 null 时服务仍会使用空实现，且不会影响主流程。
    /// </summary>
    public IPlanningDebugSink Sink { get; set; }
}
