Commit Graph

27 Commits

Author SHA1 Message Date
537671ab3a DroneProfile→ScenarioDrone / EquipmentDeployment→ScenarioUnit 重命名
- 模型表: ScenarioDrone(原DroneProfile) / ScenarioUnit(原EquipmentDeployment)
- ScenarioConfig.Equipment→Units
- 数据库旧表清理 + scenariosVersion 4→5
- 238 测试全过
2026-06-18 16:36:25 +08:00
7413077514 修复 StreamingAssets/planner_config.json 残留 Piston/Electric 枚举值 2026-06-18 16:02:50 +08:00
9f682c9b91 SaveTarget→SaveDroneProfile + 测试方法名同步 2026-06-18 15:55:37 +08:00
ff6db2786e VERSION 0.10.0 — 模型重命名、属性完善、文档同步
- VERSION: 0.9.0 → 0.10.0
- CHANGELOG: 新增 0.10.0 条目
- 架构设计 V15: DroneType 枚举清理、表结构加 Model/Description
- 对接文档 V1.6: 去历史对照,只写现状核心模型表
- 数据库迁移: 删旧表 SimTask/TargetConfig/SimulationReport
- 238 测试全过
2026-06-18 15:24:14 +08:00
ad0eaf47da 完善模型属性:加 Model/Description 字段,TaskNumber→ScenarioNumber,Task→Info,Task→Scenario 方法名
- DroneProfile/DroneSpec: 加 Model、Description
- Scenario: 加 Description,TaskNumber→ScenarioNumber
- EquipmentDeployment/FireUnitSpec: 加 Description
- ScenarioConfig: Task→Info
- ScenarioService: CreateTask→CreateScenario 等方法名统一
- 238 单元测试通过
2026-06-18 15:15:41 +08:00
ca0ce8aa52 重命名核心模型:TargetConfig→DroneProfile, SimTask→Scenario, TaskFullConfig→ScenarioConfig, TaskId→ScenarioId
- DroneType 枚举清理:移除 Electric/Piston,重编号 HighSpeed=2
- planner_config.json / defaults.json 同步迁移
- 238 单元测试全部通过
2026-06-18 15:02:58 +08:00
0b531de794 docs: 同步设计文档 — 空基固定阵位发射、实体属性更新、基础数据 CRUD 架构 2026-06-17 16:10:54 +08:00
bc8b401ef6 docs: 总体架构 V14 — FrameDataStore 内存回放双层存储设计 2026-06-17 16:08:58 +08:00
ae47899080 docs: 更新想定参数表、任务跟踪、实体事件映射至 Phase 10 完成状态 2026-06-16 17:33:23 +08:00
e0b80a39de docs: 默认想定参数对照表(探测范围/部署位置/航路对比) 2026-06-16 14:14:55 +08:00
d8470bad30 Phase 10: 探测实时链路开发 + planner 诊断 + 硬编码消除
- 3D球冠探测: IsInCoverage, DetectionEntity, Tick 第5步扫描
- 探测融合: EarliestDetection 采样法, break 修复
- planner 诊断: HasInterceptWindow 拦截窗口检查
- TryGenerateFireEvents 返回拒绝原因
- Summary 含失败原因+建议值(探测范围/弧长)
- PlanningFailed 事件: 引擎在规划失败时发出事件
- 硬编码消除: Phase2Duration→AmmunitionSpec
  ExpansionFactor/TimingSafetyMargin→PlannerConfig
  速度从 waypoint.Speed 读取(不用 TypicalSpeed)
- TestData 改为从 seeded 数据库读取(不再内嵌 JSON)
- 默认数据加 3D球冠参数,巡航导弹速度300→200
  空基航路10km→20km, 位置调整
- 222 测试全通过
2026-06-16 14:10:23 +08:00
6b005cf9cc docs: 跟踪文档更新至 V1.5 + 探测统一原则定性纠正
1. 实施计划与任务跟踪 V1.4 -> V1.5:
   - 阶段总览补 Phase 9(完成)/Phase 10(待开发)
   - 校准现状:7.1 性能优化 (<20->200+ FPS)、8.1.1 探测设计完成
   - 测试数 191 -> 204,执行时间 41s -> 7s
   - Phase 8 标题去掉误导性 ,未完成项(蜂群/PDF/Word/第三方)补 
   - 新增 Phase 9:性能优化 5 项 + 文档校准 3 项(均 )
   - 新增 Phase 10:探测实时链路任务拆解(T1-T5, 依赖图, 总预估 11h)
   - 里程碑补 M8/M9/M10

2. 探测统一原则定性纠正(总体架构设计 14.2/14.2.1/14.7):
   - 原表述"统一原则"被弱化为"好看的对称",且有"planner 可保留 2D"备选方案
   - 纠正:仿真是按 planner 规划执行的,planner 探测判定 = 仿真事实依据
   - planner 若用 2D 判定"能发现"但目标高度超出 3D 球冠范围,会导致
     "未探测却拦截并摧毁"的物理错误结局
   - 统一原则是正确性硬约束,T3 不可砍、不可降级为 2D
   - 澄清两个独立问题:采样误差(<=1.5s)不影响火力计划(正确);
     2D->3D 几何升级不可省略(我之前漏了)
2026-06-16 11:27:13 +08:00
68b7434ddc docs: 总体架构设计校准与探测设备设计补全(V10→V13)
文档与代码对齐 + 探测设备行为设计固化。

1. 文档校准(修正与实现不符的错误):
   - AlgorithmFactory 实际为 Func<object> 工厂委托(非 Type+Activator)
   - IDefensePlanner.Plan 为 4 参数(含 detectionSources)
   - IDamageModel 补 RequiredExposureSeconds
   - FrameDataStore 是类非 IFrameDataStore 接口;删除不存在的 IRecordService
   - DroneEntity 运动模型为弧长驱动(不受风偏);Tick 流程顺序对齐
   - StateData 改为强类型字段+入库时序列化的双轨说明

2. 新增第十三章 性能设计(Tick 热路径优化,实测 <20 到 200+ FPS):
   - 航路几何缓存、仿真期零字符串分配、多边形顶点缓存
   - 帧数据内存缓存+批量落库、毁伤快速排斥、移除索引复用

3. 新增第十四章 探测设备设计(统一信息网络):
   - 区分事前静态规划(已实现)与运行时实时探测(待实现)双链路
   - 三维球冠探测几何(俯仰角+高度门限,IsInCoverage)
   - 5 项行为决策确认:回退 Undetected / 融合取最早-同刻取精度高 /
     不影响 FireSchedule / 盲区仅可视化 / 支持 3D 球冠
   - EquipmentDeployment 加 4 个 3D 探测字段 + 数据模型变更清单

4. 附带:技术要求终版.txt 错别字修正(晕图案 改 云团)
2026-06-16 10:59:32 +08:00
56d345189e refactor: 编组概念拆分为批次(WaveId)+火力单元(FireUnit)
Breaking: Group表/枚举/Service/Repository移除; GroupId->WaveId; DroneGroup->DroneWave; DroneGroupId->DroneWaveId; GroupManager删除

Docs: CHANGELOG 0.7.0; 总体架构 V10; DefensePlanner V4; 实施计划 V1.4; 对接文档 V1.2

Tests: 204/204 pass
2026-06-15 15:13:48 +08:00
8515f7821a feat(v0.5.0): weather into planner + unified physics model
Planner no longer writes local physics formulas. All kinematics/geometry/damage go through shared utility classes (Kinematics/RouteGeometry/CloudExpansionModel/DamageAssessment).

Core: RouteGeometry (route geometry), PlannerConfig + planner_config.json (config externalization). Planner route-aware layout (offset along tangent), cloud overlap 20pct. DroneEntity arc-length driven.

Fixes: PathInSphere cloud-frame correction (root cause), GaussianPuffDispersion hardcoded Sunny, ComputeEffectiveRadius cloud age, planner wind offset, remove drone wind bias.

Tests 167 to 191, 41s. Windy scenarios pass.
2026-06-14 14:49:53 +08:00
67223cd392 docs: 仿真器实体与事件映射 — 补充空基流程/Planner/状态机 2026-06-13 12:41:51 +08:00
4e157834f7 docs: 总体架构V9 + DefensePlanner V3 同步当前实现
- 架构文档: IDefenseAdvisor→IDefensePlanner 全量替换,架构图更新
- DefensePlanner: FireUnit模型补全通道/检测字段,数据流改为引擎内部调用
- 旧接口迁移表标记完成,实现状态分已实现/已删除/不变
2026-06-13 12:40:54 +08:00
1e07bcc535 docs: DefensePlanner 技术方案定稿
- 五步流水线:威胁排序→弹药匹配→候选生成→贪心分配→时序生成
- 统一输入:List<FireUnit> + List<DroneGroup> + CombatScene
- 输出:PlannerResult { Best, Critical }
- 威胁排序:类型系数×速度系数 / 到达时间
- 临界方案:刚好≥50%概率的最小配置
- 弹药精确匹配,不降级;贪心 v1,后续可升级
2026-06-12 18:12:41 +08:00
42b390a264 复用判定: AmmoChangeTime替代固定10分钟; 同种弹秒级复用, 异种弹检查间隔 2026-06-12 15:26:09 +08:00
44d88ad383 多批次设计: 算法自动匹配火力单元→编队, 不写死一对一, 引擎无感知 2026-06-12 15:23:21 +08:00
a0d8afb42a 设计文档: 多批次多编队支持 — RoutePlan改复合PK + 独立拦截方案 + 报告汇总 2026-06-12 15:08:47 +08:00
523703be2f 架构文档引擎流程更新: 8阶段改FireSchedule+事件驱动, 去掉EventQueue/第三方DLL描述 2026-06-12 14:55:09 +08:00
31291004ae 架构文档修正: EventQueue→FireSchedule, IRecordWriter→FrameDataStore, PDF→Markdown 2026-06-12 14:53:39 +08:00
b77c308517 补充GroupManager + 架构文档V8(事件驱动/FireSchedule/三阶段扩散) 2026-06-12 14:52:07 +08:00
a35fd4b545 设计文档:仿真器实体与事件映射表 2026-06-12 11:25:07 +08:00
c060030e0a 默认弹药参数校准:爆发药1.5kg(发烟罐典型值) + 三阶段扩散模型 + 集成测试流程验证, 129测试通过 2026-06-12 10:47:54 +08:00
b23291c5bf Phase 1: 核心基础 — 项目骨架、数据模型、Repository、ModelService/GroupService,27个单元测试全部通过 2026-06-11 14:08:37 +08:00