Commit Graph

104 Commits

Author SHA1 Message Date
9cc9c56362 feat: F3 清理与恢复(副实例退出等待+工作目录清理重试)+ 计划文档更新
- CloseSecondaryInstance:Kill 后 WaitForExit(释放模型文件句柄)
- 工作目录清理带重试(3 次×1.5s,兼容副实例文件锁未释放)
- 计划文档 F1/F2/F3 勾选完成,F4 待大模型实测
2026-08-05 12:46:17 +08:00
d99cbd8b5f feat: E4 剖面盒自动检测链路实验完成(分支验证)
- E4-1 端口隔离:TestAutomationHttpService 端口读环境变量 TRANSPORTPLUGIN_TEST_PORT(多实例并行)
- E4-2 副实例无头检测:导出模型无 .db 时 PathPlanningManager 仍可用,import+动画+检测链路通
- E4-3 run-virtual-collision-test report 扩展 collidedObjects(碰撞对象名字列表)
- E4-4 端到端:主实例导出 NWD→副实例(18778)检测→报告 JSON 回传闭环验证
- 文档更新 E4 实验结论(全部通过,进入 F1-F4 正式实施)
2026-08-05 10:59:47 +08:00
aa8e9e55c5 docs: 剖面盒导出+批处理自动检测方案评估与实施计划
- 可行性结论:可行(E4 实验验证多实例+加载小模型)
- 架构:主 NW 批处理 + 副 NW 无头检测 worker + HTTP 驱动 + 报告 JSON 回传
- E4 实验新发现:副实例无 .db 跳过数据库连接、HTTP 端口冲突需隔离
- 实施清单:E4 完整链路实验 → 批处理状态机 → 映射表/清理/大模型实测
2026-08-05 10:51:40 +08:00
ac454196f1 feat: 集成测试补 T16 剖面盒导出(25/25 通过)
- 服务端新增 export-section-box 端点:mode=bbox(指定包围盒,测试可控)/ mode=activeView(UI 剖面盒)
- 新增 SectionBoxExportAutomationTests:导出 NWD 文件存在/对象数/文件大小/隐藏节点断言
- 客户端 ExportSectionBoxAsync 方法
2026-08-04 18:44:01 +08:00
8e5d9e845f feat: 集成测试补 T11-T15(P0+P1+P2 全部完成,24/24 通过)
- T11 路径编辑(PathEditingAutomationTests):删除点/更新位置/正交化/去环
- T12 路径导出(ExportImportRoundTripAutomationTests):XML/JSON 导出→导入回环
- T13 播放控制(AnimationPlaybackControlAutomationTests):pause 验证帧停止/resume 前进
- T14 批量队列(BatchQueueAutomationTests):队列添加/计数递增
- T15 路径分析(PathAnalysisAutomationTests):评分结构验证
- 服务端新增 5 端点:export-route-file/edit-route/animation-playback-control/batch-queue-add/analyze-path
- 产品 bug 修复:PathDatabase.CollisionResults 表已废弃→GetCollisionCount 改查 CollisionReports、
  SaveCollisions 异常保护;路径编辑真删点走 PathRoute.RemovePoint(RemovePathPoint 仅 3D 标记)

验证:集成测试 24/24 通过,完整集 74.6s(15fps/5s 动画)
2026-08-04 18:39:16 +08:00
59e323f9bb feat: 集成测试补 T07-T10(P0+P1 全部完成,18/18 通过)
- T07 障碍绕行(AutoPathObstacleDetourAutomationTests):跨模型起终点直线 11.0m→规划 11.57m 绕行,blocked=0
- T08 多策略(同测试类):Shortest/Straightest 参数回传 + 均规划有效路径
- T09 网格诊断(RouteGridDiagnosticsAutomationTests):网格参数/路径点覆盖/段一致性
- T10 持久化(DetectionRecordPersistenceAutomationTests):检测记录重载验证(动画参数 15fps/5s 落库)
- 服务端:PathPlanningManager.GetDetectionRecordById + /api/test/detection-record 端点
- 客户端:RunAutoPathAsync 支持 strategy、GetRouteGridDiagnosticsAsync、GetDetectionRecordAsync

验证:集成测试 18/18 通过,完整集 65.8s
2026-08-04 18:21:18 +08:00
44214baa00 feat: 集成测试补 T05/T06 + 动画加速与多项基础设施修复
测试新增:
- T05 Free 自由路径(FreePathAutomationTests:完整动画 + 逐帧位置=路径点)
- T06 碰撞报告内容断言(CollisionReportAssertions 接入虚拟/真实物体测试)

服务端增强:
- list-model-items 端点(枚举物体:DisplayName/PathId/包围盒中心/祖先链)
- run-virtual-collision-test 支持 frameRate/durationSeconds(测试动画加速:15fps/5s)
- 测试执行串行锁(SemaphoreSlim,防客户端超时后任务占用 UI 线程并发污染)
- 标准路径清单/XML 增加自动测试_Free

Bug 修复:
- AnimationControlViewModel.InvalidateLastGeneratedReport(跨测试碰撞报告残留)
- 真实物体身份校验 ReferenceEquals→InstanceGuid(NW ModelItem 实例不保证同引用)
- 真实物体动态解析(ModelPath 跨会话不稳定,禁止硬编码 PathId)
- PathImportValidity 测试点 Id 随机化(PathPoints.Id 全局主键,p1/p2 固定会冲突)
- start-navisworks.ps1:启动前清理 AutoSave(避免恢复弹窗拦截)、文件关联打开模型、dismiss 兜底、启动 15s→4.4s

验证:集成测试 13/13 通过,完整集 6min→59.6s(动画 15fps/5s)
2026-08-04 18:13:26 +08:00
8f477c0e1c feat: 集成测试新增动画逐帧状态验证(P0 T04)
- 服务端新增 probe-animation-frames 端点:生成动画后 SeekToProgress 到多个进度点,返回物体跟踪位置/yaw
- 新增 AnimationFrameProbeAutomationTests:
  - Ground:起点/终点 XZ 匹配路径点、高度恒定(平面链)、中间帧在起终点之间
  - Hoisting:吊装剖面(起吊地面→悬挂升高→下降落地)+ 水平平移
- 集成测试 11/11 通过(P0 高风险区全部完成:真实物体 + 逐帧状态)
2026-08-04 17:11:57 +08:00
b5cfcbf8ac feat: 集成测试新增真实物体动画验证(P0 T01-T03)
- 服务端 run-virtual-collision-test 支持 useVirtualObject=false + animatedObjectPath(ModelPath 定位,解决 DisplayName 重名)
- ResolveAnimatedObjectFromQuery 支持按 CreatePathId 的 PathId 精确匹配
- 修复 ModelItem 身份校验:ReferenceEquals 对 NW API 同一逻辑对象不同实例不可靠,改用 InstanceGuid 比较
- 新增 RealObjectAnimationAutomationTests:Ground/Hoisting/Rail 真实物体动画完整流程
  (42" Diameter=0/0/660/0,25" x 25"=0/0/769/0)
- 集成测试 9/9 通过(3 虚拟碰撞 + 1 autoPath + 2 导入 + 3 真实物体)
2026-08-04 16:52:37 +08:00
454590ae26 docs: 新增集成测试覆盖补充计划跟踪文档
- 记录现有集成测试覆盖(6 个测试)与核心功能缺口(15 项待补,分 P0/P1/P2 优先级)
- P0 高风险区:真实物体动画(Ground/Hoisting/Rail)、动画逐帧状态验证
- P1 功能面:Free 路径、碰撞内容验证、自动路径障碍绕行/多策略、网格诊断、持久化
- P2 需新增端点:路径编辑/导出、播放控制、批量任务、路径分析
- 附带测试服务端点支撑能力清单与完成记录表(checkbox 跟踪)
2026-08-04 16:42:05 +08:00
7187bcf622 自动最优朝向: 黑盒实测模式
- 新增 ObjectPassageProjectionOptimizer(SO(3)粗搜索+Nelder-Mead)
- EditRotationWindow 加入"自动调整"按钮
- AnimationControlViewModel 实现黑盒实测评估(临时摆位→读BoundingBox→恢复)
- 设计文档和实现计划
2026-05-27 12:24:01 +08:00
fdb857af17 Refactor auto path planning coordinate semantics 2026-04-13 10:31:14 +08:00
144ee4e6b2 refine hoisting path fixes 2026-04-09 23:09:56 +08:00
405f721811 Ground real-object incremental path updates 2026-04-08 23:06:42 +08:00
042f30bf87 地面路径重构失败,留下一些教训 2026-04-06 22:39:02 +08:00
8a7563a4fe Clarify ground tracked-point semantics 2026-04-06 08:55:53 +08:00
2e0b26e032 Refine rail assembly workflow and viewpoint strategies 2026-04-01 10:47:34 +08:00
3a5693a453 Add rail mount placement controls and persistence 2026-03-26 01:01:01 +08:00
029c7e37ad Checkpoint current pose and path state 2026-03-25 01:41:15 +08:00
138eb43a67 Unify real-object rail pose interpretation 2026-03-25 00:11:07 +08:00
e9128282b5 Fix rail rotation correction semantics 2026-03-23 00:11:49 +08:00
b1d4170334 Fix animation end alignment and YUp viewpoint focus 2026-03-22 14:45:50 +08:00
8f55b5e9a1 Fix YUp hoisting path rendering and finish sync 2026-03-22 12:21:25 +08:00
042b9a2804 Refine canonical pose flow and handoff notes 2026-03-22 00:00:16 +08:00
7ccce8cf5a Stabilize rail collision pose recovery and canonical tracking 2026-03-21 21:58:11 +08:00
c53db7a6fd Finalize canonical rail coordinate integration 2026-03-21 19:19:13 +08:00
3fd184934b Establish canonical coordinate framework with tests 2026-03-21 06:10:34 +08:00
dc29c3526e 修改坐标系探索为检测;去掉坐标系设置的介绍 2026-03-09 12:51:04 +08:00
edcbd0802b 初步实现多层吊装路径 2026-02-24 03:57:33 +08:00
1a959ceb9d 修改空轨的日志级别; 2026-02-21 11:47:32 +08:00
a304191b13 碰撞报告自动对碰撞点截图;纠正插件改名造成的路径错误。 2026-02-17 10:21:35 +08:00
57751e85fa 实现完整的时间标签功能 2026-02-16 19:46:38 +08:00
fdcd8edfc0 将虚拟车辆改成虚拟物体 2026-02-16 09:02:50 +08:00
3138b73a5f 优化路径分析功能;把资源文件集中到resources目录 2026-02-14 20:52:58 +08:00
77b9da40fc 实现路径分析功能 2026-02-14 17:39:40 +08:00
e221d42812 新增排除对象管理功能,支持预计算分析添加到列表,支持用户手动添加和清除排除对象,支持数据库存储 2026-02-09 22:48:23 +08:00
7671360454 坐标系适配(未完成) 2026-01-31 12:13:36 +08:00
5fb18b5869 进行动态坐标系架构设计,增加自动检测模型坐标系探索按钮 2026-01-30 23:39:21 +08:00
eeade5553f 去掉数据库冗余pathname字段,将“PathRouteId”更改为“RouteId” 2026-01-28 19:19:23 +08:00
c117e0d0c3 重构碰撞检测参数,替换为检测容差;更新相关配置和UI显示,确保一致性 2026-01-26 00:25:05 +08:00
6dc266e526 增加批处理任务功能,实现基本功能框架和UI,后续还需完善 2026-01-24 19:56:23 +08:00
760786d9b1 清理废弃的连线标记,更新异步方法调用方式 2026-01-14 12:12:22 +08:00
8424503576 新增空轨数据结构、自动提取基准路径并可视化、路径点吸附空轨基准路径功能 2026-01-11 16:52:07 +08:00
6cc48c3500 把曲线化路径与动画集成 2026-01-05 12:48:57 +08:00
93135d3c29 增加了路径曲线化的方案,实现了基础的曲线化路径数据结构和存储,以及曲线化核心算法 2025-12-30 18:29:41 +08:00
d63896bf63 基本实现物流对象沿着路径转向的功能 2025-12-19 10:13:41 +08:00
2a8425d529 基本实现手工指定碰撞检测对象 2025-12-11 10:52:09 +08:00
7446431f9c 增加了虚拟物流车辆动画生成和碰撞检测功能 2025-12-10 16:59:35 +08:00
e5b8501a63 将ClashDetective检测模式从HardConservative改为Hard,提高检测性能 2025-12-10 14:36:06 +08:00
23801726ab 临时测试对象引用无效,回复未优化ClashDetective测试的版本; 2025-12-10 13:23:24 +08:00