release: 0.9.0 — CHANGELOG + VERSION + 任务跟踪 Phase 11

This commit is contained in:
tian 2026-06-17 16:13:05 +08:00
parent 0b531de794
commit 79256d56f4
3 changed files with 106 additions and 1 deletions

View File

@ -2,6 +2,56 @@
---
## [0.9.0] - 2026-06-17
### Breaking — 运动学前向计算 + 基础数据 CRUD
- **Kinematics 前向计算**:新增 `ComputeParabolicRange(v₀, θ, Δy)``ParabolicApex(v₀, θ)`,正问题直接由角度算射程和时间
- **Math.Max 回退全部移除**`CalculateLaunchAngle`/`ParabolicShellTime`/`ParabolicTimeOfFlight` 不再静默钳位或 45° 回退,非法输入直接抛异常
- **GaussianPuffDispersion / CloudExpansionModel / DetectionCalculator**BurstChargeKg≤0 抛异常,不再用 `Math.Max(0.01, ...)` 掩护Phase3 `x≤0` 显式跳过
### Changed — 空基固定阵位发射
- **空基不再「飞向投放点」**:改为固定阵位水平发射(θ=0°`ComputeParabolicRange` 前向计算飞行时间
- **DefensePlanner 空基**`ComputeHorizontal` 使用 `platform.PosY`(非 `ReleaseAltitude`);云团位置 = 炮弹实际到达位置
- **MunitionEntity 下落修正**`_arrivesDescending` 区分上升/下落到达;`Math.Max(0.01, ...)` 除零回退移除
- **死代码删除**`CommandFlyTo`/`FlyingToTarget`/`ReadyToRelease` 状态 + SimulationEngine "1b. 到达投放点" 块
### Added — 实体属性全面暴露
- **EntitySnapshot +VelX/Y/Z**:所有实体帧快照带瞬时速度
- **引擎 Platforms 列表公开**`SimulationEngine.Platforms`
- **CloudEntity**Pos/Radius/Density/Phase/Elapsed 便捷属性(不再穿透 Dispersion
- **MunitionEntity**LaunchAngle/Azimuth/MuzzleVelocity/FlightDuration/Start/LaunchTime/ElapsedTime/Velocity 全部 public
- **DroneEntity**TraveledArc/TotalArc/Progress
- **PlatformEntity**Target/FlightDistance/FlownDistance
- **DetectionEntity**PosX/Y/Z
### Added — 基础数据 CRUDDataService
- **7 类规格入库**FireUnitSpec / DroneSpec / SensorSpec / EnvironmentSpec / FormationTemplate / RouteTemplate / AmmunitionSpec
- **类名规范化**TargetPreset→DroneSpec, DetectionPreset→SensorSpec, WeatherPreset→EnvironmentSpec, FireUnitTemplate→FireUnitSpec, RoutePreset→RouteTemplate
- **IDataService + DataService**:全 CRUDGetAll/Save/Delete
- **Unity Manager 接入**ScenarioManager.DataService + SimulationRunner.DataService
### Added — FrameDataStore LiveFrames 内存回放
- **Flush 后保留 LiveFrames 副本**:仿真刚结束可内存回放,零磁盘 IO
- **ReplayController 双路径**`LoadReplay(taskId, frameStore)` 优先内存,回退 SQLite
- **LiveFrames 生命周期**BeginRecording/Discard 清除
### Changed — 3机空基编队测试启用
- `Seed3DronesAirBased` 参数对齐单机(风速/航速),平台沿 X 轴间隔 300m
- `Scenario_3DronesAirBased_AllDestroyed` 移除 Skip全部通过
- `Scenario_DetectionDriven_PlanningDelayedByDetectionBoundary` 移除 Skip
### Metrics
- 测试 **243**+12跳过 0全量通过 11s
---
## [0.8.0] - 2026-06-16
### Added — 探测实时链路Phase 10

View File

@ -1 +1 @@
0.8.0
0.9.0

View File

@ -294,6 +294,60 @@ T1数据层→ T2算法层 IsInCoverage
---
## 六、Phase 11运动学重构 + 实体暴露 + 基础数据 CRUD ✅
**目标**抛物线前向计算、空基固定阵位发射、全部实体属性公开、DataService 全 CRUD、LiveFrames 内存回放。
### 11.1 运动学重构
| # | 任务 | 说明 |
|---|------|------|
| 11.1.1 | ComputeParabolicRange / ParabolicApex | 正问题:给定 v₀+θ → (射程, 飞行时间) + 顶点参数 |
| 11.1.2 | Math.Max 回退全部移除 | CalculateLaunchAngle/ParabolicShellTime/ParabolicTimeOfFlight 非法输入抛异常GaussianPuffDispersion/CloudExpansionModel Pow 输入验证 |
| 11.1.3 | MunitionEntity 前向到达 | launchAngle 必须由方案提供_arrivesDescending 区分上升/下落Math.Max 除零移除 |
### 11.2 空基固定阵位
| # | 任务 | 说明 |
|---|------|------|
| 11.2.1 | DefensePlanner 空基 | ComputeHorizontal 用 platform.PosYComputeParabolicRange 前向算时间;云团=到达位置 |
| 11.2.2 | 死代码清理 | CommandFlyTo/FlyingToTarget/ReadyToRelease + "到达投放点" 块删除 |
### 11.3 实体属性暴露
| # | 任务 | 说明 |
|---|------|------|
| 11.3.1 | EntitySnapshot + 速度 | 所有实体帧快照带 VelX/Y/ZCollectSnapshots 覆盖全部 5 类实体 |
| 11.3.2 | CloudEntity | Pos/Radius/Density/Phase/Elapsed 直接属性 |
| 11.3.3 | MunitionEntity | LaunchAngle/Azimuth/MuzzleVelocity/FlightDuration/Start/LaunchTime/ElapsedTime/Velocity 全部 public |
| 11.3.4 | DroneEntity/PlatformEntity/DetectionEntity | TraveledArc/Progress; Target/FlightDistance; PosX/Y/Z |
### 11.4 基础数据 CRUD
| # | 任务 | 说明 |
|---|------|------|
| 11.4.1 | 类名规范化 | 7 类模板统一命名(*Spec/*TemplateSQLite Table+PrimaryKey |
| 11.4.2 | 6 个 Repository | SpecRepositories.cs |
| 11.4.3 | IDataService + DataService | 全 CRUD构造注入 |
| 11.4.4 | DatabaseManager 建表+种子 | 自动建表 + InsertOrReplace 种子 |
| 11.4.5 | Unity 接入 | ScenarioManager.DataService + SimulationRunner.DataService |
### 11.5 回放LiveFrames
| # | 任务 | 说明 |
|---|------|------|
| 11.5.1 | FrameDataStore.LiveFrames | Flush 后保留副本BeginRecording/Discard 清除 |
| 11.5.2 | ReplayController 双路径 | LoadReplay(taskId, frameStore) 优先内存,回退 SQLite |
### 11.6 测试启用
| # | 任务 | 说明 |
|---|------|------|
| 11.6.1 | Scenario_3DronesAirBased | 参数对齐,平台间隔 300m移除 Skip |
| 11.6.2 | Scenario_DetectionDriven | 移除 Skip |
---
## 七、里程碑
| 里程碑 | 状态 |
@ -308,6 +362,7 @@ T1数据层→ T2算法层 IsInCoverage
| M8 — 天气/物理模型统一 | ✅ |
| M9 — 性能优化 + 文档校准 | ✅ |
| M10 — 探测实时链路 | ✅ |
| M11 — 运动学重构 + 实体暴露 + 基础数据 CRUD | ✅ |
---