CounterDroneBackend/data/defaults.json
tian 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

168 lines
8.4 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"version": "1",
"ammunition": [
{
"Id": "inert",
"AerosolType": 0,
"Name": "[Demo] 惰性气体弹(发烟罐型)",
"InitialRadius": 3.8,
"InitialVolume": 14000.0,
"CoreDensity": 1.5,
"EdgeDensity": 0.1,
"InitialTemperature": 1800.0,
"BuoyancyFactor": 0.3,
"EffectiveConcentration": 0.0001,
"MaxRadius": 100.0,
"MaxDuration": 120.0,
"SourceStrength": 10.0,
"BurstChargeKg": 1.5,
"TurbulentExpansionK": 3.0,
"Phase2Duration": 30.0,
"ParticlesJson": "{}"
},
{
"Id": "active",
"AerosolType": 1,
"Name": "[Demo] 活性材料弹(爆炸分散型)",
"InitialRadius": 5.0,
"InitialVolume": 30000.0,
"CoreDensity": 2.0,
"EdgeDensity": 0.2,
"InitialTemperature": 2400.0,
"BuoyancyFactor": 0.6,
"EffectiveConcentration": 0.0001,
"MaxRadius": 80.0,
"MaxDuration": 90.0,
"SourceStrength": 12.0,
"BurstChargeKg": 4.0,
"TurbulentExpansionK": 4.0,
"Phase2Duration": 30.0,
"ParticlesJson": "{}"
},
{
"Id": "fuel",
"AerosolType": 2,
"Name": "[Demo] 活性燃料弹(抛射分散型)",
"InitialRadius": 3.8,
"InitialVolume": 14000.0,
"CoreDensity": 1.8,
"EdgeDensity": 0.15,
"InitialTemperature": 1900.0,
"BuoyancyFactor": 0.4,
"EffectiveConcentration": 0.0001,
"MaxRadius": 90.0,
"MaxDuration": 100.0,
"SourceStrength": 10.0,
"BurstChargeKg": 1.5,
"TurbulentExpansionK": 3.0,
"Phase2Duration": 30.0,
"ParticlesJson": "{}"
}
],
"formations": [
{ "Id": "single", "Name": "[Demo] 单机", "FormationMode": 0, "LateralCount": 1, "LongitudinalCount": 1, "LateralSpacing": 0, "LongitudinalSpacing": 0 },
{ "Id": "line-3", "Name": "[Demo] 3机横队", "FormationMode": 1, "LateralCount": 3, "LongitudinalCount": 1, "LateralSpacing": 50, "LongitudinalSpacing": 0 },
{ "Id": "line-5", "Name": "[Demo] 5机横队", "FormationMode": 1, "LateralCount": 5, "LongitudinalCount": 1, "LateralSpacing": 50, "LongitudinalSpacing": 0 },
{ "Id": "column-3", "Name": "[Demo] 3机纵队", "FormationMode": 1, "LateralCount": 1, "LongitudinalCount": 3, "LateralSpacing": 0, "LongitudinalSpacing": 100 },
{ "Id": "box-2x2", "Name": "[Demo] 2×2方队", "FormationMode": 1, "LateralCount": 2, "LongitudinalCount": 2, "LateralSpacing": 50, "LongitudinalSpacing": 100 },
{ "Id": "swarm-10", "Name": "[Demo] 蜂群(10架)", "FormationMode": 2, "LateralCount": 10, "LongitudinalCount": 1, "LateralSpacing": 30, "LongitudinalSpacing": 0 }
],
"routes": [
{ "Id": "3km-h400", "Name": "[Demo] 3km航线-400m高", "Waypoints": [{"X":0,"Y":400,"Z":0},{"X":3000,"Y":400,"Z":0}] },
{ "Id": "3km-h300", "Name": "[Demo] 3km航线-300m高", "Waypoints": [{"X":0,"Y":300,"Z":0},{"X":3000,"Y":300,"Z":0}] },
{ "Id": "5km-h500", "Name": "[Demo] 5km航线-500m高", "Waypoints": [{"X":0,"Y":500,"Z":0},{"X":5000,"Y":500,"Z":0}] },
{ "Id": "5km-h800", "Name": "[Demo] 5km航线-800m高", "Waypoints": [{"X":0,"Y":800,"Z":0},{"X":5000,"Y":800,"Z":0}] },
{ "Id": "10km-h500", "Name": "[Demo] 10km航线-500m高", "Waypoints": [{"X":0,"Y":500,"Z":0},{"X":10000,"Y":500,"Z":0}] },
{ "Id": "20km-h500", "Name": "[Demo] 20km航线-500m高", "Waypoints": [{"X":0,"Y":500,"Z":0},{"X":20000,"Y":500,"Z":0}] }
],
"fireUnits": [
{
"Id": "ground-light", "Name": "[Demo] 轻型地基火力单元",
"PlatformType": 1, "GunCount": 4, "ChannelsPerGun": 4, "ChannelInterval": 0.1,
"Cooldown": 5.0, "AmmoChangeTime": 30.0, "MuzzleVelocity": 800.0,
"AmmoTypes": [0, 1],
"RadarRange": 10000.0, "EORange": 6000.0, "IRRange": 3000.0,
"MinElevation": -5.0, "MaxElevation": 85.0, "MinDetectAlt": 30.0, "MaxDetectAlt": 20000.0
},
{
"Id": "ground-standard", "Name": "[Demo] 标准地基火力单元",
"PlatformType": 1, "GunCount": 4, "ChannelsPerGun": 4, "ChannelInterval": 0.1,
"Cooldown": 5.0, "AmmoChangeTime": 30.0, "MuzzleVelocity": 800.0,
"AmmoTypes": [0, 1],
"RadarRange": 15000.0, "EORange": 8000.0, "IRRange": 5000.0,
"MinElevation": -5.0, "MaxElevation": 85.0, "MinDetectAlt": 30.0, "MaxDetectAlt": 20000.0
},
{
"Id": "ground-heavy", "Name": "[Demo] 重型地基火力单元",
"PlatformType": 1, "GunCount": 6, "ChannelsPerGun": 4, "ChannelInterval": 1.0,
"Cooldown": 5.0, "AmmoChangeTime": 30.0, "MuzzleVelocity": 600.0,
"AmmoTypes": [0, 1, 2],
"RadarRange": 20000.0, "EORange": 10000.0, "IRRange": 6000.0,
"MinElevation": -5.0, "MaxElevation": 85.0, "MinDetectAlt": 30.0, "MaxDetectAlt": 25000.0
},
{
"Id": "air-standard", "Name": "[Demo] 标准空基火力单元",
"PlatformType": 0, "GunCount": 1, "ChannelsPerGun": 8, "ChannelInterval": 1.0,
"Cooldown": 5.0, "AmmoChangeTime": 30.0,
"CruiseSpeed": 55.0, "ReleaseAltitude": 1500.0,
"AmmoTypes": [0, 1],
"EORange": 12000.0, "IRRange": 8000.0,
"MinElevation": -80.0, "MaxElevation": 30.0, "MinDetectAlt": 30.0, "MaxDetectAlt": 15000.0
}
],
"targets": [
{ "Id": "quadcopter", "Name": "[Demo] 小型四旋翼DJI类",
"TargetType": 0, "PowerType": 0, "Wingspan": 1.2, "TypicalSpeed": 60.0, "TypicalAltitude": 300.0 },
{ "Id": "electric-scout", "Name": "[Demo] 电推侦察无人机",
"TargetType": 2, "PowerType": 0, "Wingspan": 1.8, "TypicalSpeed": 100.0, "TypicalAltitude": 500.0 },
{ "Id": "fixed-piston", "Name": "[Demo] 固定翼活塞Orlan类",
"TargetType": 1, "PowerType": 1, "Wingspan": 3.5, "TypicalSpeed": 150.0, "TypicalAltitude": 1000.0 },
{ "Id": "shahed", "Name": "[Demo] 活塞巡飞弹Shahed类",
"TargetType": 3, "PowerType": 1, "Wingspan": 2.5, "TypicalSpeed": 200.0, "TypicalAltitude": 500.0 },
{ "Id": "tb2", "Name": "[Demo] 中空长航时TB2类",
"TargetType": 1, "PowerType": 1, "Wingspan": 12.0, "TypicalSpeed": 220.0, "TypicalAltitude": 5500.0 },
{ "Id": "cruise-missile", "Name": "[Demo] 巡航导弹(喷气式)",
"TargetType": 4, "PowerType": 2, "Wingspan": 1.5, "TypicalSpeed": 200.0, "TypicalAltitude": 2000.0 }
],
"detectionEquipment": [
{ "Id": "radar-mr", "Name": "[Demo] 中程防空雷达",
"RadarRange": 20000.0, "EORange": 0.0, "IRRange": 0.0, "Accuracy": 30.0,
"MinElevation": -2.0, "MaxElevation": 70.0, "MinDetectAlt": 50.0, "MaxDetectAlt": 30000.0 },
{ "Id": "radar-sr", "Name": "[Demo] 近程防空雷达",
"RadarRange": 10000.0, "EORange": 0.0, "IRRange": 0.0, "Accuracy": 50.0,
"MinElevation": -2.0, "MaxElevation": 70.0, "MinDetectAlt": 30.0, "MaxDetectAlt": 15000.0 },
{ "Id": "eo-station", "Name": "[Demo] 光电跟踪站",
"RadarRange": 0.0, "EORange": 15000.0, "IRRange": 8000.0, "Accuracy": 20.0,
"MinElevation": -10.0, "MaxElevation": 90.0, "MinDetectAlt": 10.0, "MaxDetectAlt": 20000.0 },
{ "Id": "ir-sentry", "Name": "[Demo] 红外哨",
"RadarRange": 0.0, "EORange": 0.0, "IRRange": 10000.0, "Accuracy": 40.0,
"MinElevation": -5.0, "MaxElevation": 85.0, "MinDetectAlt": 10.0, "MaxDetectAlt": 15000.0 }
],
"weather": [
{ "Id": "sunny-calm", "Name": "[Demo] 晴天无风",
"WeatherType": 0, "WindSpeed": 3.0, "WindDirection": 0,
"Temperature": 25.0, "Humidity": 50.0, "Pressure": 1013.0, "Visibility": 8000.0 },
{ "Id": "sunny-windy", "Name": "[Demo] 晴天大风",
"WeatherType": 0, "WindSpeed": 10.0, "WindDirection": 4,
"Temperature": 28.0, "Humidity": 40.0, "Pressure": 1010.0, "Visibility": 10000.0 },
{ "Id": "overcast", "Name": "[Demo] 阴天",
"WeatherType": 1, "WindSpeed": 5.0, "WindDirection": 2,
"Temperature": 18.0, "Humidity": 70.0, "Pressure": 1015.0, "Visibility": 5000.0 },
{ "Id": "fog", "Name": "[Demo] 雾天",
"WeatherType": 2, "WindSpeed": 2.0, "WindDirection": 1,
"Temperature": 12.0, "Humidity": 95.0, "Pressure": 1020.0, "Visibility": 500.0 },
{ "Id": "rain", "Name": "[Demo] 雨天",
"WeatherType": 3, "WindSpeed": 8.0, "WindDirection": 3,
"Temperature": 15.0, "Humidity": 90.0, "Pressure": 1005.0, "Visibility": 3000.0 },
{ "Id": "night", "Name": "[Demo] 夜间",
"WeatherType": 4, "WindSpeed": 2.0, "WindDirection": 5,
"Temperature": 10.0, "Humidity": 65.0, "Pressure": 1018.0, "Visibility": 2000.0 }
]
}