9d81ba0b28
新增 GetDefenseRecommendation 防御推荐方案 + 去掉 Critical
...
- IScenarioService 新增 GetDefenseRecommendation(scenarioId)
- ScenarioService 构造函数加可选 IPathProvider + IDefensePlanner
- DefenseRecommendation / RecommendOption 返回类型
- 前端调用获取最佳抛撒参数 → 用户一键应用写入 CloudDispersal
- 去掉 Critical(省弹药到 50% 概率,无决策价值)
- Unity ScenarioManager 桥接 + 构造注入 planner
- 对接文档加推荐用法示例
- 265 测试通过(+3 推荐),Unity 编译通过
2026-06-22 08:05:09 +08:00
0002e7efbe
SensorSpec +HasRadar/HasEO/HasIR 显式类型字段
...
- SensorSpec 新增三个 bool 字段,前端直接读取探测设备类型,无需推断
- DefaultData.Load 后由 Range 字段派生填充
- 支持复合传感器(如光电+红外 eo-station)
- 对接文档同步更新
- 262 测试通过,Unity 编译通过
2026-06-21 10:39:14 +08:00
a6ad8a348e
GetEnums() +SensorType 枚举(雷达/光电/红外)
...
- 新增 SensorType 枚举(Radar=0, EO=1, IR=2)供前端探测设备 UI 分类
- EnumMetadata + GetEnums() 加入 SensorType(含中文翻译)
- 对接文档同步更新
- 262 测试通过,Unity 编译通过
2026-06-21 10:33:57 +08:00
fb3c6fd2eb
EnumMetadata +EntityType + ScenarioUnit +AmmunitionSpecId
...
- GetEnums() 新增 EntityType 枚举(模型管理 UI 区分 Drone/Platform/DetectionEquip)
- ScenarioUnit 新增 AmmunitionSpecId 字段(FK → AmmunitionSpec,前端弹药配置用)
- 对接文档同步更新
- 262 测试通过,Unity 编译通过
2026-06-20 22:33:12 +08:00
6f83cfb105
对接文档:GetEnums +EntityType(12 个枚举)
2026-06-20 12:10:36 +08:00
8bcf4cf675
VERSION 0.12.0 — PDF 导出 + 报告模板架构 + 对接文档 V2.0
...
- PdfSharpCore 1.3.64 引入(纯托管,Unity IL2CPP 兼容,+9 DLL)
- ReportData 结构化模型 + MarkdownRenderer + StandardPdfTemplate
- IReportService.ExportReport(id, format) 按需导出 PDF/MD
- 仿真后自动生成 MD 到 reports 目录,PDF 按需调用
- CJK 字体嵌入(SimHei),IPathProvider + GetFontPath
- ReportGenerator 重构为构建 ReportData,去掉 emoji
- check_unity_build.ps1 修复 -quit 参数缺失导致超时
- 对接文档 V2.0:坐标系/3D 可视化/完整枚举/Manager 签名/模型字段
- 262 测试全部通过
2026-06-20 11:57:38 +08:00
3dc56e4a6e
实施文档 +Phase 13:模型重构/LaunchPlatformSpec/代码审查
2026-06-19 21:55:28 +08:00
1db632676d
架构设计文档:核心作战概念更新(发射平台/探测设备分离)
2026-06-19 21:54:26 +08:00
bebc03ee43
对接文档更新:LaunchPlatformSpec 替换 FireUnitSpec
2026-06-19 21:53:02 +08:00
8abaf0bf87
对接文档:GetEnums 返回 List<EnumItem> 中英文对照
2026-06-19 21:28:40 +08:00
7383b67fca
对接文档:ModelId/EntityType/FilePath 补充 + Model 注释说明
2026-06-19 10:07:01 +08:00
efdd5ec94f
对接文档 V1.8:GetEnums API + Manager 完整方法列表
2026-06-18 19:46:53 +08:00
178923c007
对接文档同步:完整 CRUD API 列表
2026-06-18 19:44:53 +08:00
184213b3c5
对接文档 V1.7:数据分层架构 + ScenarioDrone/ScenarioUnit 外键引用
2026-06-18 17:28:29 +08:00
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
edea5eaaf0
docs: 实施跟踪 V1.7 — Phase 12 + 高弹道待解决问题
2026-06-17 20:22:35 +08:00
79256d56f4
release: 0.9.0 — CHANGELOG + VERSION + 任务跟踪 Phase 11
2026-06-17 16:13:05 +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
4c2c18cfcc
docs: 重写对接文档 — 五步完整工作流(基础数据→想定→仿真→报告→回放)
2026-06-17 15:57:41 +08:00
6f28704368
docs: 对接文档 V1.5 — 新增 DataService 基础数据 CRUD 章节
2026-06-17 15:50:48 +08:00
e250093a16
docs: 更新对接文档 V1.4,同步实体属性变更
...
- 事件示例:cloud.Dispersion.Center → cloud.PosX/Y/Z, cloud.Radius
- API 列表:新增 Platforms 访问
- 新增 EntitySnapshot 字段文档(VelX/Y/Z)
- 新增实体属性速查表(所有 5 种实体)
- 测试状态更新:243 测试 9 秒全部通过
- Unity 脚本同步更新
2026-06-17 12:20:55 +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
c379e849f0
fix: DefaultScenarios.Seed 幂等检查修复(SQL LIKE 中 [] 是通配符)
...
搜索关键字 [Demo]→Demo(避免 SQL LIKE 字符类误匹配)
版本升级时删除旧 Demo 任务后重建(而非跳过)
2026-06-15 17:19:43 +08:00
5f589c9644
refactor: SimulationBootstrap 更新为前端参考模板
...
两种模式: 预设(选[Demo]想定) / 自定义(DefaultData预设组装)
移除手动插弹药(已自动种子), 使用 DefaultData 天气/目标/航线/火力单元预设
UnityPathProvider 从 StreamingAssets 自动复制数据文件
前端文档: 快速开始改为挂 SimulationBootstrap 即运行
2026-06-15 16:27:45 +08:00
18f7b79401
fix: UnityPathProvider 首次运行自动复制数据文件
...
从 StreamingAssets 自动拷贝 defaults.json + planner_config.json 到 persistentDataPath
前端文档更新: 文件放 Assets/StreamingAssets/ 即可,无需手动放 persistentDataPath
2026-06-15 16:25:05 +08:00
5b6ccccba6
docs: 前端对接文档更新到 V1.3(预设想定一键运行)
...
交付物简化: defaults.json + planner_config.json(替代 default_ammo.json)
核心流程: 列出[Demo]想定→LoadAndStart→订阅事件,无需手写配置或调用Planner
新增: 自定义想定示例(使用 DefaultData 预设快速组装)
默认数据表: 弹药/编队/航线/火力单元/无人机/探测/天气/预设想定 8类
2026-06-15 16:21:02 +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
11f8cb2c79
feat: detection-driven planning (v0.6.0)
...
Planner no longer has god-view. It assumes threats enter from detection boundary (unified info network earliest detection point), not route start.
Core: DetectionCalculator (EO attenuated by Visibility, radar/IR unaffected; earliest detection via segment-circle intersection). EquipmentDeployment: drop DetectionRadius, add RadarRange/EORange/IRange/DetectionAccuracy. FireUnit detection fields activated in BuildFireUnits. IDefensePlanner.Plan adds 4th param detectionSources.
Engine: BuildDetectionSources merges standalone detectors + fire-unit self-detection into unified list, passed to planner.
Fix: Solve robustness when GenerateFireEventsAt returns empty (detection boundary too late to intercept).
Tests 193 to 208 (+15). 0 warnings.
2026-06-15 12:52:57 +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
53ac665a0e
chore: VERSION→0.4.0, CHANGELOG 更新, 任务跟踪文档同步
2026-06-13 19:39:15 +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
76d845f91b
docs: 同步 0.3.0 版本 — VERSION/CHANGELOG/实施计划更新
...
- VERSION: 0.2.0 → 0.3.0
- CHANGELOG: 新增 0.3.0 条目(DefensePlanner/空基/通道模型/fallback清理)
- 实施计划: 更新 8.1.3/8.1.6 为完成,指标同步
2026-06-13 12:37:25 +08:00
1e07bcc535
docs: DefensePlanner 技术方案定稿
...
- 五步流水线:威胁排序→弹药匹配→候选生成→贪心分配→时序生成
- 统一输入:List<FireUnit> + List<DroneGroup> + CombatScene
- 输出:PlannerResult { Best, Critical }
- 威胁排序:类型系数×速度系数 / 到达时间
- 临界方案:刚好≥50%概率的最小配置
- 弹药精确匹配,不降级;贪心 v1,后续可升级
2026-06-12 18:12:41 +08:00
0a3c444a4b
refactor: 推荐算法统一处理空基/地基平台类型
...
- ThreatProfile 新增 PreferredPlatformType 字段
- DefaultDefenseAdvisor 根据平台类型正确计算 FireTime/CruiseSpeed/ReleaseAltitude
- 空基:FireTime 提前扣除飞行+下落时间;地基:保持原逻辑
- 删除 SimulationEngine.AdjustFireTimesForAirBased(引擎不再做适配)
- 集成测试直接用 PreferredPlatformType 驱动空基方案
- 实施文档同步
2026-06-12 17:52:44 +08:00
c4d9ccc4fa
feat: 空基平台飞行与投弹功能
...
- PlatformEntity: 新增状态机 Idle→FlyingToTarget→ReadyToRelease
- EquipmentDeployment: 新增 CruiseSpeed 字段(空基平台巡航速度)
- MunitionEntity: 空投弹药继承载机速度矢量,替代自由落体
- Kinematics: 新增 AirDropPosition/AirDropFallTime/DirectionVelocity 工具方法
- SimulationEngine: 空基平台先飞后投,AdjustFireTimesForAirBased 补偿飞行耗时
- SimulationRunner: 空基平台 3D 可视化(蓝色 Capsule)
- 集成测试 Scenario_AirBased_PlatformFliesAndDrops 通过(8x 加速)
- 实施文档同步进度
2026-06-12 17:38:21 +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