1aa927e471
修复 ScenarioServiceTests 编译告警(CS8602/CS8625 空引用)
2026-06-18 17:26:58 +08:00
843141a7a8
修复测试断言:适配新 schema 的业务语义
...
- SaveDeployment: 显式 Guid 避免同纳秒冲突,验证 2 个部署正确保存
- DeleteDetection: 用 CreateDetectionUnit 创建传感器,verifying PositionX
- TargetDetected: 验证发射平台自带雷达可触发探测事件
2026-06-18 17:20:59 +08:00
4b08ffa659
238/238 tests pass: ScenarioDrone/ScenarioUnit migration complete
...
- TestData uses DB existing IDs (ground-light/radar-mr/shahed)
- CreateDetectionUnit with SensorSpecId=radar-mr
- CreateScenarioUnit with FireUnitSpecId=ground-light
- Fixed SaveDeployment assertion value
2026-06-18 17:14:51 +08:00
bb04411d6d
测试适配进展:235/238 通过,修复大部分断言和 spec 引用
2026-06-18 17:12:06 +08:00
6d56dec9a9
测试迁移:ScenarioDrone/ScenarioUnit 精简后测试适配
...
- TestData 新增 CreateScenarioDrone/CreateScenarioUnit 等辅助方法
- 批量替换旧字段构造为 spec 引用
- 230/238 通过,8 个边缘测试待修
2026-06-18 17:01:13 +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
67cea1490d
Target→Profile / Targets→DroneProfiles 重命名
...
- DroneWave.Target → Profile
- ScenarioConfig.Targets → DroneProfiles
- DefensePlanner / SimulationEngine / ReportService 全部引用同步
- 更新 Unity DLL + defaults.json
- 238 测试全过
2026-06-18 15:37:25 +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
4fa19e386c
feat: 预设想定种子 (DefaultScenarios)
...
6 个预设想定首次启动自动入库,幂等跳过:无防御/管控侵入/活塞西风/喷气活性/空基东风/3架空基编队
通过 DatabaseManager.OpenMainDb() 自动种子,版本追踪
ScenarioServiceTests 期望值适配(+6 个种子想定)
2026-06-15 16:06:56 +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
665747a846
feat: standalone detection equipment API + task detail includes detections
...
IScenarioService: AddDetection/DeleteDetection/GetDetections (independent of SaveDeployment overwrite).
Repository: GetByTaskIdAndRole filters by equipment role.
TaskFullConfig.Equipment already includes detections (GetTaskDetail.GetByTaskId returns all). Frontend filters by EquipmentRole.Detection or uses GetDetections.
Tests: 4 detection CRUD tests. 212 total pass.
2026-06-15 13:30:16 +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
4706c4b8c1
feat: 编队模型扩展 — LateralSpacing/LongitudinalSpacing/LateralCount/LongitudinalCount
...
- FormationSpacing → LateralSpacing(正面横向间距)
- 新增 LongitudinalCount/LongitudinalSpacing(纵深串列)
- DefaultFormations: 6种默认编队模板(单机/3机横队/5机横队/3机纵队/2×2方队/10机蜂群)
- Piston 测试设置 LateralCount=3, LongitudinalCount=1
2026-06-13 13:16:27 +08:00
12cb6576fe
多批次Phase1: RoutePlan改Id主键+Waypoint加GroupId+ScenarioService/Engine/所有测试适配
2026-06-12 15:33:37 +08:00
2697225aff
添加 .editorconfig + dotnet format 格式化全部代码
2026-06-11 16:48:22 +08:00
b33a6a87e1
Phase 2: 想定管理 — 8个Repository + ScenarioService(CRUD/5步保存/搜索分页),47个测试全部通过
2026-06-11 14:13:35 +08:00