|
|
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 |
|
|
|
77351d8198
|
fix: FireEvent 冷却错开,同平台多弹不再同 tick 被跳过
根因:同一平台多弹 FireTime 相同,引擎同 tick 处理时第 1 发后冷却触发 Ready=false,后续全被跳。
修正:每发 FireTime 增加 i * Cooldown,保证间隔 ≥ 冷却时间。
|
2026-06-13 09:56:11 +08:00 |
|
|
|
e3ea595204
|
refactor: SimulationEngine 内部调用 Planner,不再依赖外部传 SetFireSchedule
- Initialize 内建 BuildFireUnits/BuildDroneGroups
- 自动从 DB 取 AmmunitionSpec 创建 DefaultDefensePlanner
- SetFireSchedule 保留为手动覆盖(测试可用)
- fireSchedule 空时才自动生成
|
2026-06-13 09:53:08 +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 |
|
|
|
5667aef495
|
fix: OnDisable + Dispose 替代 OnDestroy + Close,修复 domain reload SQLite 崩溃
OnDisable 在 domain reload 前触发,Dispose() 清理 prepared statements 并调用 GC.SuppressFinalize,阻止 GC finalizer 线程崩溃
|
2026-06-13 09:42:10 +08:00 |
|
|
|
8366bfcb93
|
fix: Planner 从多单元凑弹药,不再被单个 TotalMunitions 卡死
每个威胁可从多个火力单元汇集弹药,直到满足需求或耗尽。
单元测试 24/24 通过。
|
2026-06-13 09:40:37 +08:00 |
|
|
|
2bb8ba2e1e
|
fix: Manager OnDestroy 关闭 SQLite 连接,修复 domain reload 崩溃
- 所有 Manager 在 Awake 保存 _db 引用,OnDestroy 调用 Close()
- ScenarioManager/ModelManager/ReportManager/GroupManager/SimulationRunner 全部修复
- 崩溃原因:domain reload 时 GC finalizer 线程清理 prepared statements,DB 未关闭导致 sqlite3_finalize 竞态
|
2026-06-13 09:35:53 +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 |
|
|
|
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 |
|