# Changelog

---

## [0.3.0] - 2026-06-13

### Added

- DefensePlanner 防御规划引擎：五步流水线（威胁排序 → 弹药匹配 → 候选生成 → 贪心分配 → 时序生成）
- 空基平台飞行与投弹：状态机（Idle → FlyingToTarget → ReadyToRelease），载机速度继承，弹药抛物线下落
- 火力单元通道模型：GunCount × ChannelsPerGun，ChannelInterval 物理间隔，Cooldown 冷却
- 默认火力单元配置：4 种模板（轻型/标准/重地基 + 标准空基 8 通道）
- 推荐算法统一处理空基/地基平台类型
- 物理间隔错开发射：发射间隔 = 云团直径 / 无人机速度
- 每发弹按目标点位置独立计算到达时间
- 报告显示 per-unit 发射数 + 事件标注火力单元

### Changed

- IDefenseAdvisor → IDefensePlanner：统一输入 `List<FireUnit>` + `List<DroneGroup>`
- FireUnit 重构：统一表达空基/地基平台（Type/Position/GunCount/ChannelsPerGun）
- SimulationEngine 内部调用 Planner 自动生成发射计划
- MunitionEntity 空投使用 Kinematics.AirDropPosition（继承载机速度 + 重力）
- PlatformEntity 加入 CurrentVelocity 属性

### Fixed

- 同平台多弹 FireTime 相同导致冷却跳过：FireTime += i × Cooldown
- 同平台弹药飞行时间按目标位置变化被吃掉：统一用中心点飞行时间
- recommendedTiming 按每发目标点独立计算（非中点）
- 空基 FireEvent.MuzzleVelocity 错误写 800
- SQLite domain reload 崩溃：SqliteConnectionTracker + AssemblyReloadEvents.beforeAssemblyReload

### Removed

- IDefenseAdvisor / DefaultDefenseAdvisor / RecommendMultiGroup
- SimulationRunner.BuildFireSchedule fallback
- 所有硬编码默认值（55f/800f/1000f/+500f/0.1f clamp）
- 所有静默 fallback（null return/empty events）
- Models.SimEvent 死代码

---

## [0.2.0] - 2026-06-12

### Added

- 三阶段气溶胶扩散模型（爆轰膨胀 → 湍流扩散 → 高斯扩散）
- 防御推荐算法：根据弹药规格自动计算齐射数、间距、拦截概率
- 仿真引擎事件驱动：OnMunitionLaunched / OnCloudGenerated / OnDroneDestroyed 等 6 个事件
- FireSchedule 发射计划：推荐方案直接生成，引擎执行
- 多编队多批次支持：RoutePlan 多航路、RecommendMultiGroup 火力分配
- 仿真报告：七章结构（结果/环境/目标/推荐/部署/时序/时间线），自动导出 Markdown
- 数据库种子：首次建表自动从 JSON 导入弹药规格
- 帧数据 TTL 清理（6 个月过期自动删除）
- 仿真加速：TimeScale 支持
- Unity Manager 桥接层：ModelManager / ScenarioManager / SimulationRunner / ReportManager / ReplayController / GroupManager
- Unity 全流程验证：一键菜单验证 7 个模块
- 边界测试：空部署 / 强风 / 超长航路 / 空基弹药

### Changed

- 仿真引擎重构为纯执行器，不包含决策逻辑
- RoutePlan 主键改为 Id，支持多编队
- 弹药参数改为 JSON 文件配置
- 报告结构重组，结果前置

### Fixed

- 弹药飞行时间用真实弹道计算
- 云团生成位置使用目标坐标
- 编队偏移应用到初始位置
- Edit 模式下 AddComponent 不触发 Awake

---

## [0.1.0] - 2026-06-11

### Added

- 项目初始化：.NET Standard 2.1 类库 + xUnit 测试框架
- 数据模型（11 张业务表 + 2 张运行时表）
- SQLite 持久化 + 任务分库架构
- 想定管理（5 步配置 CRUD）
- 仿真引擎基础框架
