docs: document trajectory execution contracts

This commit is contained in:
梁薄云
2026-08-04 14:21:13 +08:00
parent fda84ce148
commit 4a7dd875a4
14 changed files with 149 additions and 18 deletions
@@ -2,9 +2,15 @@ using System;
namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
/// <summary>Immutable completion record for one rolling planning cycle.</summary>
/// <summary>一次滚动规划周期的不可变完成记录,区分规划结果与是否获准发布。</summary>
public sealed class PlanningCycleResult
{
/// <summary>创建周期完成记录。</summary>
/// <param name="version">协调器分配的正数单调周期版本。</param>
/// <param name="identity">本周期绑定的地图、路径、状态、上一轨迹和方向段身份。</param>
/// <param name="result">纯规划服务返回的结果,可能为 Superseded、取消或失败。</param>
/// <param name="published">仅当完整成功轨迹仍为当前身份时为 <see langword="true"/>。</param>
/// <param name="diagnostic">附加的周期或观察器诊断文本。</param>
public PlanningCycleResult(long version, PlanningCycleIdentity identity, EmPlanningResult result, bool published,
string diagnostic)
{
@@ -17,14 +23,19 @@ public sealed class PlanningCycleResult
Diagnostic = diagnostic ?? string.Empty;
}
/// <summary>本周期的单调递增版本号。</summary>
public long Version { get; }
/// <summary>决定该结果是否仍可发布的完整不可变身份。</summary>
public PlanningCycleIdentity Identity { get; }
/// <summary>纯 EM 规划结果;失败结果不携带可执行轨迹。</summary>
public EmPlanningResult Result { get; }
/// <summary>该结果是否已原子替换协调器的已发布轨迹。</summary>
public bool Published { get; }
/// <summary>周期处理或可选观察器产生的诊断文本。</summary>
public string Diagnostic { get; }
internal PlanningCycleResult WithDiagnostic(string diagnostic)