diff --git a/docs/implementation/tasks/实施计划与任务跟踪.md b/docs/implementation/tasks/实施计划与任务跟踪.md index ee2937e..58c5311 100644 --- a/docs/implementation/tasks/实施计划与任务跟踪.md +++ b/docs/implementation/tasks/实施计划与任务跟踪.md @@ -19,8 +19,10 @@ Phase 7 ✅ 打磨收尾 Phase 8 ✅ 天气/物理模型统一 Phase 9 ✅ 性能优化 + 架构文档校准 Phase 10 ✅ 探测实时链路(已完成) +Phase 11 ✅ 运动学重构 + 实体暴露 + 基础数据 CRUD +Phase 12 ✅ 空基/地基统一规划 + 编队轴 + LaneDivider ──────────────────────── -已完成 P1-P9 +已完成 P1-P12 ``` --- @@ -141,10 +143,10 @@ Phase 10 ✅ 探测实时链路(已完成) | 指标 | 值 | |------|------| -| 测试总数 | **231**(通过 229,跳过 2) | -| 行覆盖率 | **95.4%**(待重测) | -| 分支覆盖率 | **80.5%**(待重测) | -| 执行时间 | ~7 秒 | +| 测试总数 | **237**(全部通过,1 跳过-Jet高弹道) | +| 行覆盖率 | **95%+** | +| 分支覆盖率 | **80%+** | +| 执行时间 | ~11 秒 | | Core 程序集 | `CounterDrone.Core.dll` (.NET Standard 2.1) | | 共享物理工具类 | `Kinematics` / `RouteGeometry` / `CloudExpansionModel` / `DamageAssessment` | | 全局配置 | `data/planner_config.json`(planner 策略参数,代码零默认值) | @@ -348,6 +350,51 @@ T1(数据层)→ T2(算法层 IsInCoverage) --- +## 十二、Phase 12:空基/地基统一规划 + 编队轴 + LaneDivider ✅ + +**目标**:碰撞点后统一流程,编队支持 XYZ 任意轴展开,lane 划分策略可替换。 + +### 12.1 运动学修复 + +| # | 任务 | 说明 | +|---|------|------| +| 12.1.1 | ComputeParabolicRange 重写 | 从 tanθ 二次改为垂直运动直接算时间,消除与 CalculateLaunchAngle 的不互逆 | +| 12.1.2 | 风偏纳入角度 | cloudGen 先于 launchAngle 计算,消除风偏导致的 range≠targetDist | +| 12.1.3 | 弹道可达验证 | 每发 PlanUnitLane 验证 ComputeParabolicRange 不抛异常 | + +### 12.2 空基/地基统一 + +| # | 任务 | 说明 | +|---|------|------| +| 12.2.1 | 碰撞点后无分支 | cloudGen/deliveryTime/fireTime 统一公式,mv 和 launchAngle 按类型取不同值 | +| 12.2.2 | 每发独立角度 | launchAngle 对每个目标点重新计算,不共用 InterceptCalculator 的统一值 | +| 12.2.3 | 3机空基全灭 | 修复后三机编队全部击毁 | + +### 12.3 编队轴 + LaneDivider + +| # | 任务 | 说明 | +|---|------|------| +| 12.3.1 | LateralAxis/LongitudinalAxis | RoutePlan + FormationTemplate + DroneEntity 支持 0=X/1=Y/2=Z | +| 12.3.2 | ILaneDivider 接口 | 车道划分策略抽象 | +| 12.3.3 | DefaultLaneDivider | 宽+深双维度判断,任一超云团半径则拆分 | +| 12.3.4 | PlanUnitLane 读轴 | 按 LateralAxis 决定 X/Y/Z 偏移方向 | + +### 12.4 探测门控 + +| # | 任务 | 说明 | +|---|------|------| +| 12.4.1 | _anyThreatDetected | 引擎等首次探测后才执行发射 | +| 12.4.2 | _detectionTime | 发射时间 = fe.FireTime(偏移) + 探测时刻 | + +### 12.5 测试 + +| # | 任务 | 说明 | +|---|------|------| +| 12.5.1 | Kinematics 俯射往返 | CalculateLaunchAngle→ComputeParabolicRange 往返一致 | +| 12.5.2 | 3机空基 | 平台 X 轴分布、无人机 Z 轴分布,交叉维度全覆盖 | + +--- + ## 七、里程碑 | 里程碑 | 状态 | @@ -363,6 +410,15 @@ T1(数据层)→ T2(算法层 IsInCoverage) | M9 — 性能优化 + 文档校准 | ✅ | | M10 — 探测实时链路 | ✅ | | M11 — 运动学重构 + 实体暴露 + 基础数据 CRUD | ✅ | +| M12 — 空基/地基统一规划 + 编队轴 + LaneDivider | ✅ | + +--- + +## 九、待解决问题 + +| # | 问题 | 说明 | 状态 | +|---|------|------|------| +| 1 | **高弹道支持** | 当前只支持低弹道。喷气式(ground-standard, 18000m 航线)需要高弹道才能命中。低弹道取上升段时间 t1,弹在 6.5s/5199m 就触发了到达判定,实际应 15.5s/12318m 在下行段命中。需要修改 MunitionEntity 的到达判定逻辑 | 🔴 待解决 | ---