Commit Graph

964 Commits

Author SHA1 Message Date
zhengxuan.zhang ea7a350530 修复打包脚本 2026-08-06 13:49:48 +08:00
zhengxuan.zhang ff70cac176 修复安装器 2026-08-06 13:18:32 +08:00
zhengxuan.zhang e5c4ce4d98 修复打包脚本 2026-08-06 11:34:01 +08:00
zhengxuan.zhang 8855169e5f 加入打包项目工程 2026-08-06 10:50:26 +08:00
zhengxuan.zhang 94505a44c8 修复nova资源定义 2026-08-06 10:39:58 +08:00
zhengxuan.zhang 75802fcc40 fix(startup): 修复自定义入口点未调用 InitializeComponent 导致的启动崩溃
Program.cs 通过 <StartupObject> 自定义了应用入口点,绕过了 MSBuild
自动生成的默认 Main()(其中包含 InitializeComponent() 调用),导致
App.xaml 中 Application.Resources 声明的全部合并字典(NovaColors /
NovaMetrics / NovaTypography / NovaControls)从未被加载。

表现为启动阶段 ApplyNovaPalette() 报"缺失 28 个令牌资源",且任意页面
引用 Nova* StaticResource 时抛 XamlParseException:"无法找到名为
... 的资源",异常被 DispatcherUnhandledException 捕获后弹窗提示,
主窗口无法正常显示。

在 Program.Main() 中显式调用 app.InitializeComponent(),修复后启动
日志确认全部颜色令牌与字体正确解析,无异常。
2026-08-06 10:36:25 +08:00
zhengxuan.zhang 2709785cde 整理发布脚本并修复启动页打包崩溃 2026-08-06 09:52:36 +08:00
zhengxuan.zhang b21625e4b7 自动注入版本号和 Git 提交号 2026-08-06 09:15:58 +08:00
zhengxuan.zhang 630c87a859 修复Velopack启动 2026-08-06 08:57:08 +08:00
zhengxuan.zhang 033f047dd9 更新默认联网服务器地址 2026-08-05 18:14:17 +08:00
zhengxuan.zhang a630c93313 默认使用虚拟导航相机并修正打包配置 2026-08-05 18:12:09 +08:00
zhengxuan.zhang 3656c21a76 统一应用版本号来源与显示方式 2026-08-05 17:37:19 +08:00
zhengxuan.zhang 9e34385966 统一CNC预览与流水线的16位图像处理链路 2026-08-05 17:11:42 +08:00
zhengxuan.zhang 219263cd0e 升级16位阈值参数并完善算子多语言支持 2026-08-05 17:01:35 +08:00
zhengxuan.zhang 0ec969da9b 完善灰度波峰分层着色算子 2026-08-05 16:53:47 +08:00
zhengxuan.zhang 5e63fec0fe 优化直方图峰值和对齐角度标注 2026-08-05 16:31:40 +08:00
zhengxuan.zhang 28b65c55f9 完善CNC对齐失败提示信息 2026-08-05 15:53:50 +08:00
zhengxuan.zhang 6d52139eaf 完善对齐超限提示与模板叠加显示 2026-08-05 15:27:52 +08:00
zhengxuan.zhang ff3bd9b388 优化CNC图像源与对齐结果显示 2026-08-05 15:14:31 +08:00
zhengxuan.zhang 84fc88e09a 修复CNC对齐匹配与界面绑定问题 2026-08-05 13:38:51 +08:00
zhengxuan.zhang 128942cdce 恢复对齐界面多语言支持 2026-08-05 13:27:00 +08:00
zhengxuan.zhang 04f4ff7b73 对齐节点名称调整 2026-08-05 13:03:27 +08:00
zhengxuan.zhang 48a14ba2e4 合并CNC模板资源路径 2026-08-05 13:02:10 +08:00
zhengxuan.zhang 70dd4e5d7c 完善CNC对齐节点模型闭环 2026-08-05 11:36:20 +08:00
zhengxuan.zhang 1ae4e5547b 修正CNC弹窗提醒节点描述 2026-08-05 11:24:10 +08:00
zhengxuan.zhang 9426626593 移除机械参考点并统一图像对齐基准 2026-08-05 11:20:38 +08:00
zhengxuan.zhang 101626a1a0 修复图标,删除过时的UI规范 2026-08-05 11:10:23 +08:00
zhengxuan.zhang a3605c0912 新增CNC插入检测池选择功能 2026-08-05 11:07:10 +08:00
zhengxuan.zhang 5962717ded Merge branch 'Feature/TURBO-003-Cnc' Feature/TURBO-002-Cnc
Please enter a commit message to explain why this merge is necessary,
2026-08-05 10:19:25 +08:00
zhengxuan.zhang 37caf4d82a 统一XP专有文件保存命名流程 2026-08-05 10:16:40 +08:00
zhengxuan.zhang 186fe33214 修复XP文件中文序列化编码 2026-08-05 10:06:18 +08:00
zhengxuan.zhang 263e87bde5 Merge branch 'Develop/XP' into Feature/TURBO-002-Cnc 2026-08-05 09:59:20 +08:00
zhengxuan.zhang ff695d3ed9 完善矩阵总运行与单元格运行关联 2026-08-05 09:52:24 +08:00
LI Wei.lw 2e1075c6c2 Merged PR 216: 修复部分算子中英文显示问题,新增离群点去除算子
1.16位→8位图像显示转换改为固定0-65535线性映射,保证输入输出可横向对比真实灰度变化
2.删除已废弃的旧资源文件(XP.ImageProcessing.Processors/Resources)
3.新增RemoveOutliersProcessor(去除离群点算子),支持中英文,用于修复探测器坏点/坏线
2026-08-05 09:47:01 +08:00
ZHANG Zhengxuan 597ce5d1d8 已合并 PR 213: 累计功能更新
###  检测任务池向导(核心新增)
> 对标 YXLON 的新检测池 UI —— 非模态向导(Stage 0~8),替代旧的检测池窗口

- 新建 30+ 文件:`Models/Inspection/Task/`、`Services/Inspection/Task/`、`ViewModels/Inspection/TaskWizard/`、`Views/Inspection/TaskWizard/`
- 向导全流程:创建任务 → 图像调试(锁定位置+流水线+源/探测器参数) → BGA识别 → 分组设置 → 气泡参数 → 首件校准 → 自动扫描 → 结果输出
- 注入 `IInspectionTeachInService` 捕获硬件实时参数
- 注入流水线编辑器回调 (`GetCurrentPipeline`) 导出实时算子快照
- BGA 识别仿真数据(54 个仿真球,6x9 网格)
- 卡点日志增强(每个阶段输出 `CanGoNext=false` 原因)

###  CNC 编辑器增强
- SavePosition 插入时自动携带流水线算子作为检测模块
- "新建"默认创建一个参考点 + SavePosition 模板
- Transient ViewModel 添加 `SubscriptionToken` + `Cleanup` 防内存泄漏
- 修复编译错误(缺失 using、catch 块、孤立 #endregion)

###  实时流水线 & 图像处理
- 修复流水线处理结果被探测器实时帧覆盖(`_isLiveProcessedImageActive` 保护)
- BGA 空洞率算子 ROI=None 时添加全图检测日志
- MainViewportService 添加 `[LivePipelineDiag]` 诊断日志

###  架构清理 & 重构
- **MainViewModel**:按职责拆分为 3 个 partial 文件(CNC/测量/录制)
- **Eliminate Service Locator**:消除 `ContainerLocator.Resolve`(14 处 → 构造函数注入)
- **Converters 合并**:5 个单一转换器文件合并到 `Converters.cs`
- **Inspection 服务合并**:3 个小文件合并
- **Navigation 接口合并**:`INavigationService.cs` → `NavigationService.cs`
- **Debug ViewModels 合并**:`DebugPanelStateMetadata` → `Localization`;`SnapshotDiffViewModel` → `SnapshotManagerViewModel`
- 全局 `JsonSerializerOptions` 统一(`InspectionJsonDefaults` + `DomainJsonDefaults`)

### 死代码清理
- 移除旧 **SampleType** 全部代码(5 个文件 + DI 注册)
- 移除旧 **检测池 Pool/** 全部代码(27 个文件 + 5 个测试文件 + DI 注册)
- `MainViewModel` 中 6 个僵死命令(NavigateHome/NavigateInspect/OpenFile/Export/Clear/EditProperties)

###  中文注释全覆盖
57 个文件的头部中文注释 + 函数级中文 XML 注释:
- `Services/` 下 37 个文件
- `ViewModels/Cnc/` 下 16 个文件
- `ViewModels/Debug/` 下 7 个文件
- `ViewModels` 其他 27 个文件
- `Events/` 全部文件

### 配置变更
- **XP.Calibration**:`WinExe` → `Library`,删除 App.xaml(作为 Prism 模块加载,无需独立入口)
- **Ribbon**:禁用最小化/折叠按钮(`IsMinimizable=False`)
- **Ribbon 按钮**:"检测池" → "检测任务向导"; "样品类型" 移除
- **NuGet**:`CommunityToolkit.Mvvm` 已移除(统一使用 Prism.DryIoc)
2026-08-05 09:46:05 +08:00
zhengxuan.zhang 36350e36b2 整改检测参考图和全局资源目录 2026-08-05 09:37:57 +08:00
zhengxuan.zhang 7aa14b707c refactor(storage): organize XPData directories 2026-08-05 09:31:07 +08:00
zhengxuan.zhang ccd73c24d5 feat(cnc): store template assets with program 2026-08-05 09:30:02 +08:00
zhengxuan.zhang 8adc701c2b refactor: unify inspection pool plan persistence 2026-08-04 17:27:10 +08:00
zhengxuan.zhang f814e30e6c refactor: separate inspection pool definitions and plans 2026-08-04 17:02:51 +08:00
zhengxuan.zhang 88b6ae0e76 refactor: reorganize XPData workspace and dump archives 2026-08-04 16:56:13 +08:00
zhengxuan.zhang b6e00a0eda 更新项目专有文件后缀说明 2026-08-04 16:37:35 +08:00
zhengxuan.zhang f3b6813c71 refactor: rename project file extensions 2026-08-04 16:34:44 +08:00
zhengxuan.zhang 9811b1df3c fix: improve wizard final stage actions and preview 2026-08-04 16:23:32 +08:00
zhengxuan.zhang 00229d649d 新增加载已有的文件 2026-08-04 16:15:29 +08:00
zhengxuan.zhang ebbf56d6d9 fix: restore wizard stage navigation and result overlays 2026-08-04 16:00:22 +08:00
zhengxuan.zhang 627cafb00e fix: complete wizard ball labels and result list 2026-08-04 15:38:08 +08:00
zhengxuan.zhang 297b333bf0 fix: preserve wizard results and stage navigation 2026-08-04 15:25:52 +08:00
zhengxuan.zhang f009ae08c2 feat: add visual grid indexing selection 2026-08-04 15:19:06 +08:00
zhengxuan.zhang e63ac7a14e feat: add hierarchical bga block labels 2026-08-04 15:12:34 +08:00