Commit Graph

207 Commits

Author SHA1 Message Date
7d080bc929 fix: Unity 测试配置 - 火力单元改为 8×3 发(与集成测试一致) 2026-06-13 09:19:30 +08:00
66537d1621 fix: Unity 脚本编译错误 - 缺少 AVector3 别名和 detail 变量 2026-06-13 09:16:47 +08:00
3a2f68b02b refactor: 删除 SimulationRunner.BuildFireSchedule fallback
- Planner 输出直接传给 Engine.SetFireSchedule
- ManagerVerification/SimulationBootstrap 在 LoadAndStart 前设置 fire schedule
- 引擎不再需要从 CloudDispersal 反推发射计划
2026-06-13 09:15:21 +08:00
317f47280b refactor: DefensePlanner 替代 DefenseAdvisor
- 新增 IDefensePlanner 接口 + DefaultDefensePlanner 实现
- FireUnit 重构为统一平台模型(Type/Position/CruiseSpeed/ReleaseAltitude/MuzzleVelocity)
- DroneGroup 加入威胁指数(类型系数×速度系数)和优先级排序
- 五步流水线:威胁排序→弹药匹配→候选生成→贪心分配→时序生成
- 弹药精确匹配,不降级;临界方案基于50%概率阈值
- 删除 IDefenseAdvisor/DefaultDefenseAdvisor/RecommendMultiGroup
- AlgorithmFactory 注册 IDefensePlanner
- 测试更新:DefensePlannerTests 替代旧测试,FullPipelineTests 适配新 API
- Unity Managers 更新调用
- 125 测试全通过
2026-06-12 18:20:25 +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
b7afe23238 fix: ManagerVerification用固定tickDt替代Editor不稳定的Time.deltaTime 2026-06-12 16:36:03 +08:00
845f8dcd1b 所有Manager Awake改成public + ManagerVerification直调Awake 2026-06-12 16:32:31 +08:00
1bbe5d28c5 fix: 报告生成空列表保护 + 仿真后关闭引擎防DB锁 2026-06-12 16:26:10 +08:00
aa6e4d3508 fix: TargetConfig加GroupId=default匹配RoutePlan 2026-06-12 16:21:02 +08:00
6bbad9155a fix: SimulationRunner也补SendMessage(Awake) 2026-06-12 16:18:25 +08:00
fb6c4c7c12 fix: ManagerVerification手动插入默认弹药, 数据库无JSON时表为空 2026-06-12 16:16:48 +08:00
1eba842487 fix: Edit模式下AddComponent不调Awake, 显式SendMessage 2026-06-12 16:11:51 +08:00
59732d2542 ScenarioManager.Awake加try-catch定位根因 2026-06-12 16:08:18 +08:00
b40392c64a fix: ManagerVerification显式调用Awake避免ContextMenu不触发 2026-06-12 16:06:32 +08:00
5851ce2ea8 fix: ManagerVerification + SimulationBootstrap适配多编队 Route/WaypointGroups 2026-06-12 16:04:49 +08:00
2408307487 check_unity_build: 加说明Unity batchmode不保证捕获编译错误 2026-06-12 15:56:49 +08:00
6f56cff655 fix: ScenarioManager重复Service属性导致编译失败 2026-06-12 15:52:15 +08:00
6030b8de07 RecommendMultiGroup: 多编队火力分配 + 专一弹药优先 + 130测试通过 2026-06-12 15:46:05 +08:00
12cb6576fe 多批次Phase1: RoutePlan改Id主键+Waypoint加GroupId+ScenarioService/Engine/所有测试适配 2026-06-12 15:33:37 +08:00
9ac4a8494c check_unity_build.ps1自动重建DLL; 更新Plugins; 防止漏更新 2026-06-12 15:03:06 +08:00
b77c308517 补充GroupManager + 架构文档V8(事件驱动/FireSchedule/三阶段扩散) 2026-06-12 14:52:07 +08:00
f2204bf3b4 fix: SimulationRunner解析函数缺失 + 变量声明丢失 2026-06-12 14:43:07 +08:00
3e12dba143 ICloudDispersionModel加Elapsed属性 + 帧数据输出云团存在时间 2026-06-12 14:25:23 +08:00
bb0a2454df ICloudDispersionModel加Phase属性 + 帧数据输出扩散阶段 2026-06-12 14:21:32 +08:00
04e02c43eb 报告重构: 仿真结果提前到第一章, 统一七章结构 2026-06-12 12:21:02 +08:00
bb0f5bdc50 报告推荐方案加发射方式(单次齐射/连续/脉冲) 2026-06-12 11:54:12 +08:00
5369c2a6aa 报告加推荐方案段落:弹药数/间距/拦截概率, 129测试通过 2026-06-12 11:53:17 +08:00
bf3f403b81 报告: 环境与目标分为独立章节 2026-06-12 11:44:57 +08:00
481c91fc28 fix: 报告表格去掉空列 2026-06-12 11:43:13 +08:00
2d1243f729 报告增强: 环境/目标/时间线/emoji, 129测试通过 2026-06-12 11:41:40 +08:00
e3486e5bdf FireEvent移入Algorithms, Advisor生成FireSchedule, 引擎/测试零对齐逻辑, 129测试通过 2026-06-12 11:36:15 +08:00
98e16ea720 CloudDispersal加SalvoRounds/Spacing, FireSchedule按间隔展开云团, 拦截成功 2026-06-12 11:32:17 +08:00
1d8277cecd SimulationEngine: 6个观察者事件 + 字段声明修复 + 重写整理 2026-06-12 11:24:27 +08:00
2d14c17d9c 默认弹药改为JSON文件导入 + DatabaseManager种子数据 + 测试手动插入, 129测试通过 2026-06-12 11:17:59 +08:00
c9c2a75328 SimulationEngine cleanup: 删硬编码弹药fallback + 释放高度用配置值 2026-06-12 11:07:45 +08:00
6a184d9bf8 推荐算法ComputeEffectiveRadius用高斯公式,BuildFireSchedule去掉算法逻辑,129测试通过 2026-06-12 11:03:30 +08:00
c060030e0a 默认弹药参数校准:爆发药1.5kg(发烟罐典型值) + 三阶段扩散模型 + 集成测试流程验证, 129测试通过 2026-06-12 10:47:54 +08:00
8b71351a7b 云团视觉:用算法真实半径+透明度,随扩散渐大渐淡 2026-06-12 09:31:15 +08:00
d3295418b7 fix: 补 _knownMunitions 字段声明 2026-06-11 18:11:17 +08:00
af8b0dac35 补炮弹飞行轨迹可视化 + 到达后清理 2026-06-11 18:10:20 +08:00
1ce560c48a Phase 6: 4个Manager + 全流程验证 + Unity项目结构 2026-06-11 17:41:47 +08:00
2697225aff 添加 .editorconfig + dotnet format 格式化全部代码 2026-06-11 16:48:22 +08:00
cde7702b12 Phase 7.6: README更新 + 公开API XML文档注释, 128测试 2026-06-11 16:45:46 +08:00
c28954335c Phase 7: 删EventQueue死代码 + ReadFrames/AirBased/DeleteByTaskId测试, 覆盖率95.4%, 128测试 2026-06-11 16:42:41 +08:00
be671c132e Phase 7: 删死代码DetectionEntity + TestPathProvider测试 + Swarm测试, 覆盖率93.5%, 123测试 2026-06-11 16:38:14 +08:00
60b5e8d952 Phase 7: TTL清理 + 边界测试(空部署/强风/超长航路), 122测试9秒完成 2026-06-11 16:32:37 +08:00
5b168f202e ReportService 添加 ExportToFile, 集成测试验证报告文件输出, 116测试5秒完成 2026-06-11 16:12:56 +08:00
aea15e6ec6 Phase 5: 报告生成 — ReportGenerator + ReportService, 116测试4秒完成 2026-06-11 16:00:13 +08:00
eb347b3bb0 Phase 4: TimeScale加速仿真, 109测试5秒完成 2026-06-11 15:56:15 +08:00
6c4a84ffff Phase 4-5 完成: 4个端到端集成测试全通过 + DefenseAdvisor弹药驱动 + 引擎纯执行器 + Kinematics工具类,109测试 2026-06-11 15:52:39 +08:00
615c2bea3b Phase 4-5: DefenseAdvisor重构 — 弹药规格驱动、输入校验、多轮次CloudSalvo;引擎改为纯执行器;Kinematics工具类 2026-06-11 15:24:25 +08:00
2ef16d083c Phase 4 重构: 仿真引擎改为纯执行器 + Kinematics工具类 + 4个端到端场景(2个通过) 2026-06-11 15:09:53 +08:00
3dd0ea6cc9 Phase 4: 仿真引擎 — 6个实体类、8阶段Tick、FrameDataStore分库、7个集成测试,80个测试全部通过 2026-06-11 14:27:21 +08:00
dc4ebc3f09 Phase 3: 算法层 — 高斯烟团扩散模型、3种毁伤模型、DefenseAdvisor、AlgorithmFactory,73个测试全部通过 2026-06-11 14:17:43 +08:00
b33a6a87e1 Phase 2: 想定管理 — 8个Repository + ScenarioService(CRUD/5步保存/搜索分页),47个测试全部通过 2026-06-11 14:13:35 +08:00
b23291c5bf Phase 1: 核心基础 — 项目骨架、数据模型、Repository、ModelService/GroupService,27个单元测试全部通过 2026-06-11 14:08:37 +08:00