5.1 KiB
5.1 KiB
Changelog
[0.4.0] - 2026-06-13
Added
- 路径积分毁伤判定:
DamageAssessment.PathInSphere替代离散ContainsPoint,无人机穿云暴露精确计算 - 损伤模型暴露所需暴露时间:
IDamageModel.RequiredExposureSeconds,Planner 从损伤模型读取所需覆盖时长 - 云团膨胀独立模块:
CloudExpansionModel,封装RadiusAt/DensityAt/TimeToReach/TimeToDensity/RoundsNeeded - 单元测试:
DamageAssessment5 项 (穿心/相邻/间隙/9 链/跨云)、Kinematics抛物线 4 项 (45°标准公式验证) - 密度阈值统一:引擎处
cloudDensity >= ammo.EffectiveConcentration统一检查,三个损伤模型去掉各自硬编码阈值
Changed
- Planner
CalcRoundsNeeded从硬编码2:6s改为_damageModel.RequiredExposureSeconds CloudExpansionModel.RoundsNeeded间距= 2R(消除1.5f魔法数字)FireUnit= 物理单元(不拆通道),Planner 一辆车发一条线MunitionEntity.HasArrived上升段触发(不再要求下行),附带精确插值- 空基平台投放逻辑:飞向云位、距目标
driftDist释放、位置插值保留 - 仿真场景缩短:Piston 5km/150km/h、Jet 5km/200km/h、AirBased 10km/150km/h,全量 22s
Fixed
- 抛物线弹道精确求解:
CalculateLaunchAngle/ParabolicShellTime解 tan(θ) 二次方程取平射解 - 空基
PlatformEntity投放时不再传送到终点 - 缺失
else导致空基走地基分支 Event.OccurredAt使用精确FireEvent.FireTime/m.ArrivalTime_frameDb.Commit批量 50 帧- 报告火力单元计数(
_entityCounter重置)
Removed
ComputeEffectiveRadius公式转移到CloudExpansionModel- 损伤模型内部浓度阈值(
TriggerThreshold/EffectiveThreshold) CalcRoundsNeeded/2魔法加 1
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)
- 仿真引擎基础框架