|
|
0c9cdb7b82
|
fix: stagger=roundInLane*speed 替代 ch*speed——通道展开为1后ch永远为0
- roundInLane = singleNeeded - laneNeeded[currentLane]
- 跨度从 0.125s → 7.39s
- Piston: 2/3 击毁
|
2026-06-13 14:35:29 +08:00 |
|
|
|
c5c1b79946
|
fix: ChannelInterval 降到 0.1s——CloudCoverInterval 不再被硬件卡住
- Kinetics.CloudCoverInterval minInterval 默认 0.1s
- DefaultFireUnits ChannelInterval 1.0→0.1
- 多机横向编队跨度 10s→7.27s
|
2026-06-13 14:24:11 +08:00 |
|
|
|
6a6c03f0fa
|
fix: 每单元固定Y车道 + CloudCoverInterval物理间隔 + 16通道
- Solve: 每单元分配一个Y车道,所有弹打同一高度
- stagger=CloudCoverInterval 替代硬编码 ChannelInterval
- Kinematics.CloudCoverInterval: 云团直径/目标速度,不小于硬件间隔
- DefaultFireUnits: ground-light 改为 16通道
- 报告 F1→F2 精度
- MultiLane_3Drones_3Lanes_ExactOutput 单元测试
|
2026-06-13 14:18:18 +08:00 |
|
|
|
29aa11665b
|
fix: 多单元并行 + 多车道正确弹药计算
- 所有单元以同基准时间并行发射(offset=0)
- 通道内 ch×ChannelInterval 独立错开
- CalcRoundsNeeded 恢复纯单机,yLanes 乘法在 Solve
- Piston: 33发=11×3车道, 2/3击毁
|
2026-06-13 13:57:56 +08:00 |
|
|
|
c7792d1d4a
|
feat: 多机编队Y车道分布 + 8火力单元
- GenerateFireEventsAt: 按 yLane×laneSpacingY 分布云团Y坐标
- Piston 测试: 8 ground-light × 3机横向编队
- 42发弹, 2架击毁, Y车道对齐无人机位置
|
2026-06-13 13:26:43 +08:00 |
|
|
|
a9339c36e3
|
feat: 编队2D模型 — LateralSpacing/LongitudinalSpacing + DroneEntity 纵向偏移
- RoutePlan: FormationSpacing→LateralSpacing, 新增LateralCount/LongitudinalCount/LongitudinalSpacing
- DroneEntity: 2D编队(latIdx/longIdx), 横向Y展开+纵向X落后
- DefaultFormations: 6种编队模板
- DroneEntityTests: 11个(含2D编队/2×2方队/蜂群)
- Planner: yLanes=ceil(formationWidth/cloudDiam), totalNeeded=single×lanes
|
2026-06-13 13:20:18 +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 |
|
|
|
45387fee73
|
refactor: 删除所有逻辑fallback——缺失配置报错而非静默跳过
- DefaultDefensePlanner: 空catalog抛ArgumentEx, 缺ammo类型抛InvalidOp
- AmmunitionSpec? → AmmunitionSpec(非空), 删除 ==null 静默返回
- 删除 0.8f射程安全系数, 1.5f时间窗口乘数
- AlgorithmFactory 移除IDefensePlanner(null)注册
- SimulationEngine 构造必须传planner,6个调用点全部更新
|
2026-06-13 12:19:21 +08:00 |
|
|
|
fe7eb723a1
|
refactor: 清除 SimEvent alias 遗留——统一使用 using CounterDrone.Core.Simulation
|
2026-06-13 11:50:49 +08:00 |
|
|
|
ced8d4014a
|
refactor: 删除未使用的 Models.SimEvent,消除 SimEvent 重名
- 删除 Models/SimEvent.cs(DB表定义,无人读写)
- 删除 DatabaseManager 中 CreateTable<SimEvent> 和 CreateIndex
- DatabaseManagerTests 表数量 13→12
|
2026-06-13 11:46:31 +08:00 |
|
|
|
f4be469e72
|
fix: 空基巡逻点靠近目标 + 飞行时间优化,141测试全通过
- 空基巡逻点从5000→6000→6500,靠近中点7500
- Piston/Jet/AirBased 全部击毁
- 141测试全通过
|
2026-06-13 11:30:02 +08:00 |
|
|
|
c08d613d5b
|
test: 引擎空基/地基发射类型单元测试 + Planner覆盖全面测试
- SimulationEngineTests: AirBased_LaunchesWithCorrectDescription (空基描述="空基投放")
- SimulationEngineTests: GroundBased_LaunchesWithCorrectDescription (地基描述="计划发射")
- DefensePlannerTests: 23个全覆盖(威胁排序/弹药匹配/地基弹道/空基弹道/分配/边界/多威胁/临界)
- FullPipeline AirBased: 加入事件描述诊断断言
|
2026-06-13 11:27:00 +08:00 |
|
|
|
7fa0268463
|
fix: 空基 FireEvent.MuzzleVelocity=0 + 空基弹道单元测试
- GenerateFireEventsAt: 空基时 MuzzleVelocity=0(而非800)
- 新增 AirBased_FireTime_EarlierThanArrival 验证提前量
- 新增 AirBased_FireTime_EarlierThanGroundBased 验证空基更早
- 新增 AirBased_NoMuzzleVelocityInFireEvent 验证 MuzzleVelocity=0
- 空基弹道计算本身正确(recommendedTiming - flightTime - fallTime)
|
2026-06-13 11:05:34 +08:00 |
|
|
|
c610573e34
|
fix: 物理间隔错开发射 — 云团直径/无人机速度,非硬件间隔
- 跨 FireUnit 按 physicsInterval = max(ChannelInterval, cloudDiameter/droneSpeed) 错开发射时间
- Piston 200km/h 测试通过(被摧毁=1)
- Jet 500km/h 测试通过(被摧毁=1)
|
2026-06-13 10:55:58 +08:00 |
|
|
|
08427e9e08
|
feat: 新增轻型地基火力单元模板(2炮×4通道); Piston测试使用 ground-light×2
|
2026-06-13 10:46:41 +08:00 |
|
|
|
c08edbd2f9
|
feat: 火力单元通道模型 + 默认配置 + 引擎通道展开
- FireUnit: 新增 GunCount/ChannelsPerGun/ChannelInterval/检测设备字段
- EquipmentDeployment: 新增 GunCount/ChannelsPerGun/ChannelInterval
- DefaultFireUnits: 3 种默认火力单元(标准地基/重地基/空基)
- Planner: 逐通道齐射分配,ChannelInterval 错开,Cooldown 轮次
- Engine: PlatformEntity 按 GunCount×ChannelsPerGun 展开
- BuildFireUnits: 与引擎同步展开通道
- FullPipelineTests: 使用 DefaultFireUnits 配置
|
2026-06-13 10:42:08 +08:00 |
|
|
|
9bd1d5a7ee
|
test: 收紧集成测试断言 — 击毁才通过,暴露 Planner 真实场景不足
- 删除 ApplyDefensePlan helper(引擎自治,不再需要外部调Planner)
- Piston 200km/h: 断言 DroneStatus==Destroyed(当前 FAIL)
- Jet 500km/h: 断言 DroneStatus==Destroyed
- AirBased 300km/h: 断言 DroneStatus==Destroyed(当前 FAIL)
- 测试真实暴露 Planner 算法缺陷
|
2026-06-13 10:06:05 +08:00 |
|
|
|
50ec14bb24
|
refactor: 引擎自治 — 不再需要外部传 SetFireSchedule
- SimulationEngine.Initialize 内建 BuildFireUnits/BuildDroneGroups → 自动调 Planner
- 删除 FullPipelineTests 中的 BuildFireSchedule/_lastFireSchedule/手动 SetFireSchedule
- Unity Managers 删除手动 SetFireSchedule 调用
- 引擎是 Planner 的唯一调用者,测试和 UI 不再碰火控逻辑
|
2026-06-13 09:58:11 +08:00 |
|
|
|
4411a452dc
|
fix: Quantity expand + PlatformIndex 映射修正
- ApplyDefensePlan 展开 EquipmentDeployment.Quantity → 多个 FireUnit
- Planner 分配后用 fireUnits.IndexOf 修正 PlatformIndex
- 新增 FullPipeline_Piston_VerifiesRoundAllocation 验证 ≥8 发
- Piston 集成测试加入计划大小断言
|
2026-06-13 09:50:24 +08:00 |
|
|
|
b957a5e2b4
|
feat: Planner 使用真实物理计算 + 完善单元测试 + 规则7
- ComputeEffectiveRadius: 基于 AmmunitionSpec 三阶段扩散模型
- CalcRoundsNeeded: 真实有效半径和弹药参数
- GenerateFireEvents: recommendedTiming = arrivalTime - expansionTime
- 候选概率基于真实覆盖计算
- 24 个单元测试覆盖威胁排序/弹药匹配/候选过滤/弹药数/时机/多威胁/空基
- AGENTS.md 规则7: 只跑相关测试,不跑全量
|
2026-06-13 09:30:04 +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 |
|
|
|
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 |
|
|
|
3e12dba143
|
ICloudDispersionModel加Elapsed属性 + 帧数据输出云团存在时间
|
2026-06-12 14:25:23 +08:00 |
|
|
|
c3e1fc797e
|
fix: MockDispersion实现Phase属性
|
2026-06-12 14:22:05 +08:00 |
|
|
|
50b7bd7f69
|
测试任务名改为描述性名称
|
2026-06-12 11:59:12 +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 |
|
|
|
2d14c17d9c
|
默认弹药改为JSON文件导入 + DatabaseManager种子数据 + 测试手动插入, 129测试通过
|
2026-06-12 11:17:59 +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 |
|
|
|
2697225aff
|
添加 .editorconfig + dotnet format 格式化全部代码
|
2026-06-11 16:48:22 +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 |
|
|
|
6a86a33e79
|
集成测试报告输出到 test/reports/ 目录
|
2026-06-11 16:27:41 +08:00 |
|
|
|
5b168f202e
|
ReportService 添加 ExportToFile, 集成测试验证报告文件输出, 116测试5秒完成
|
2026-06-11 16:12:56 +08:00 |
|
|
|
4db30131e9
|
Phase 5+: 集成测试加入报告生成验证, 118测试4秒完成
|
2026-06-11 16:05:32 +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 |
|