✨ feat(native-planning): 添加 Rust ICSP 原生规划核心及 C# 互操作集成
* 新增 Rust 原生 ICSP 规划库 (Cargo 项目, CubicSpline 算法, FFI 接口) * 新增 Flyshot.Native.Planning C# 互操作项目 (P/Invoke 封装) * 更新 ControllerClientCompat 适配新的规划接口 * 添加构建脚本 (Copy-NativePlanningArtifacts.ps1) * 新增互操作测试及一致性对比测试 * 更新解决方案文件和设计文档
This commit is contained in:
24
src/Flyshot.Native.Planning/NativeIcspPlannerOptions.cs
Normal file
24
src/Flyshot.Native.Planning/NativeIcspPlannerOptions.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
namespace Flyshot.Native.Planning;
|
||||
|
||||
/// <summary>
|
||||
/// 描述 Rust ICSP 规划器使用的收敛和最终约束选项。
|
||||
/// </summary>
|
||||
/// <param name="Threshold">收敛指标 <c>sum(abs(scale - 1))</c> 的停止阈值。</param>
|
||||
/// <param name="MaxIterations">最大迭代索引;执行范围包含该索引对应轮次。</param>
|
||||
/// <param name="EnforceFinalScale">是否拒绝历史最优结果中仍然超限的段。</param>
|
||||
/// <param name="FinalScaleTolerance">最终段缩放因子相对 1.0 的非负容差。</param>
|
||||
public sealed record NativeIcspPlannerOptions(
|
||||
double Threshold,
|
||||
int MaxIterations,
|
||||
bool EnforceFinalScale,
|
||||
double FinalScaleTolerance)
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取与现有托管 <c>ICspPlanner</c> 一致的默认选项。
|
||||
/// </summary>
|
||||
public static NativeIcspPlannerOptions Default { get; } = new(
|
||||
Threshold: 1e-3,
|
||||
MaxIterations: 1000,
|
||||
EnforceFinalScale: true,
|
||||
FinalScaleTolerance: 1e-2);
|
||||
}
|
||||
Reference in New Issue
Block a user