Commit Graph

16 Commits

Author SHA1 Message Date
zhengxuan.zhang f8fce8f13f test: fix runtime test failures 2026-08-10 14:31:44 +08:00
XplorePlane Developer 957157ae80 fix: 修复编译错误、BGA向导预览、算子重复插入及状态栏消息
## Compilation fixes
- Fix XAML namespace reference XplorePlane.Converters → XplorePlane.Helpers (EventLogView, StateDisplayView)
- Add missing using for ISampleTypeRepository / JsonSampleTypeRepository in App.xaml.cs
- Fix ILoggerService.Warn() calls using Exception as first arg instead of message string
- Serialize CncProgram to JSON when passing to MatrixLayout (expects string, not CncProgram object)
- Suppress CS8632 nullable annotation warnings project-wide

## BGA wizard fixes
- Fix preview not showing on step 3: force RefreshBgaPreview() when entering final step
- Add step validation in CanNext() to prevent skipping to preview with invalid inputs
- Notify NextCommand.CanExecuteChanged when inputs change
- Fix RunProgress runtime binding error: set Mode=OneWay for ProgressBar.Value

## Operator toolbox: prevent duplicate insertion
- Add static OperatorTarget property for direct dispatch to active pipeline
- PipelineEditorView registers as toolbox target on load (floating window only)
- CNC page sets initial target; PipelineEditorWindow resets to CNC pipeline on close
- '+' button inserts only to the active pipeline instead of broadcasting to all subscribers

## Pipeline editor status bar messages
- Add StatusBarMessageEvent / StatusBarMessagePayload to CommonEvents.cs
- PipelineEditorViewModel publishes status on all ops (add/remove/reorder/save/execute)
- MainViewModel subscribes and displays on main window bottom status bar
- Auto-clear after timeout (3s info, 5s error)

## docs
- Merge three architecture docs into consolidated XplorePlane-架构与结构说明.md
2026-07-24 15:59:16 +08:00
zhengxuan.zhang 348d2341e0 统一库级别的x64; 更新 Release 2026-07-16 17:27:34 +08:00
zhengxuan.zhang 6c6db9f7a2 feat(inspection-pool): 实现检测池多视野采集、拼接与缺陷检测功能
新增检测池特性,支持将超出探测器单次成像范围的区域划分为多个 Tile
依次采集、基于平台坐标拼接为完整检测图,并按目标矩阵逐目标检测判定。

方案管理:
- 新增 InspectionPoolRecipe 等数据模型(Models/InspectionPoolModels.cs)
- 新增 IInspectionPoolRecipeService/InspectionPoolRecipeService,支持
  .ipool 文件的 CRUD、序列化(中文明文)与校验

图像拼接:
- 新增 IImageStitchingService/ImageStitchingService,基于平台坐标计算
  Tile 全局像素偏移,生成纯平移变换矩阵,重叠区融合并评估拼接质量

目标检测与判定:
- 新增 ITargetInspector/TargetInspector,ROI 提取 + 焊球候选检测 +
  MISS 判定 + 五项指标(S/D/M/F/V)计算与阈值比较
- 新增 PoolOverallResultCalculator,按优先级计算整体判定
  (ERROR > FAILED > PASSED)与结果计数统计

执行状态机:
- 新增 IInspectionPoolExecutionService/InspectionPoolExecutionService,
  驱动 IDLE→POSITIONING→ACQUIRING→STITCHING→INSPECTING→
  SHOWING_RESULT→SAVING→RESTORING 状态机,含安全预检、低剂量概览采集、
  Tile 循环失败重试/跳过/中止、取消与异常安全清理
- 新增 IPoolInteraction/DefaultPoolInteraction,处理结果弹窗与 Tile
  采集失败的人机交互(含无头默认实现)

归档扩展:
- InspectionRunKind 新增 InspectionPool;InspectionAssetType 新增
  TileImage/StitchedImage/AnnotatedImage
- 新增 PoolArchiveHelper,串联 BeginRunAsync → AppendCaptureNodeAsync
  → AppendNodeResultAsync → CompleteRunAsync 归档流程,目标明细写入
  InspectionResultTable

主视口扩展:
- MainViewportSourceMode 新增 InspectionPoolStitched 模式
- IMainViewportService 新增 EnterInspectionPoolMode/
  ExitInspectionPoolMode/SetInspectionPoolImage,屏蔽实时帧覆盖

UI 与集成:
- 新增 InspectionPoolPageView/InspectionPoolPageViewModel,四区域布局
  (主图/X-ray参数/方案列表/结果表),状态门控、结果筛选与 CSV 导出
- 新增 InspectionPoolResultWindow/InspectionPoolResultViewModel,结果
  汇总弹窗,FAILED 时强制备注
- 新增 InspectionPoolWindow 作为页面宿主窗口
- AppBootstrapper 注册检测池相关服务与导航视图;主窗口 Ribbon 新增
  "检测池" 入口按钮及命令

测试:
- 新增 XplorePlane.Tests/InspectionPool/ 下 8 个属性测试文件
  (FsCheck + xUnit),覆盖方案序列化往返、目标编号唯一性、中文编码、
  方案校验、拼接变换可逆性、MISS 数据完整性、结果计数恒等式、总体判定
  优先级、执行完备性与中止安全性、状态-按钮门控一致性
2026-07-14 15:21:05 +08:00
zhengxuan.zhang 43d0e7fa89 feat: 硬件虚拟化与CNC联动集成 - 运动控制/射线源模拟实现,CNC执行联动增强 2026-05-21 16:02:53 +08:00
zhengxuan.zhang 49c6785682 手动数据源、存图、流程计算 2026-05-15 15:29:53 +08:00
zhengxuan.zhang 4d25045d59 修复测试用例错误 2026-05-13 16:20:47 +08:00
zhengxuan.zhang 78ab5bb54a 测试环境中 H.264 编码器(avc1 fourcc)不可用 2026-05-12 20:48:40 +08:00
zhengxuan.zhang e7b66e3fbf 增加CNC查询页面 2026-05-12 20:09:13 +08:00
zhengxuan.zhang 318d1813b8 录屏功能 2026-05-07 15:12:06 +08:00
zhengxuan.zhang c91b55785e CNC编辑模式与常规模式切换 2026-04-20 21:36:46 +08:00
QI Mingxuan 2bd6e566c3 将Feature/XP.Common和Feature/XP.Hardware分支合并至Develop/XP.forHardwareAndCommon,完善XPapp注册和相关硬件类库通用类库功能。 2026-04-16 17:31:13 +08:00
zhengxuan.zhang 687d0b2a87 #0044 使用基础库层面的日志功能 2026-03-23 14:04:53 +08:00
zhengxuan.zhang 180501808e #0040 增加测试用例 2026-03-18 20:41:05 +08:00
zhengxuan.zhang 67898edc3f #0039 全局数据结构设计 2026-03-18 20:14:08 +08:00
zhengxuan.zhang 13d140bcfe #0021 增加测试工程 2026-03-14 23:58:38 +08:00