From 21a5d3b02688c1d49b8e6743c1b1d2ee7bef405c Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Sun, 29 Mar 2026 19:59:51 -0400 Subject: [PATCH] feat: route best-result updates to progress form preview Co-Authored-By: Claude Opus 4.6 (1M context) --- OpenNest/Forms/MainForm.cs | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/OpenNest/Forms/MainForm.cs b/OpenNest/Forms/MainForm.cs index fb790c5..bb8f218 100644 --- a/OpenNest/Forms/MainForm.cs +++ b/OpenNest/Forms/MainForm.cs @@ -905,15 +905,24 @@ namespace OpenNest.Forms var progressForm = new NestProgressForm(nestingCts, showPlateRow: true); + var previewPlate = new Plate(activeForm.PlateView.Plate.Size) + { + Quadrant = activeForm.PlateView.Plate.Quadrant, + PartSpacing = activeForm.PlateView.Plate.PartSpacing, + Thickness = activeForm.PlateView.Plate.Thickness, + Material = activeForm.PlateView.Plate.Material, + }; + previewPlate.EdgeSpacing = activeForm.PlateView.Plate.EdgeSpacing; + progressForm.PreviewPlate = previewPlate; + var progress = new Progress(p => { progressForm.UpdateProgress(p); if (p.IsOverallBest) - activeForm.PlateView.SetStationaryParts(p.BestParts); - else - activeForm.PlateView.SetActiveParts(p.BestParts); + progressForm.UpdatePreview(p.BestParts); + activeForm.PlateView.SetActiveParts(p.BestParts); activeForm.PlateView.ActiveWorkArea = p.ActiveWorkArea; }); @@ -939,8 +948,20 @@ namespace OpenNest.Forms : activeForm.PlateView.Plate; if (plate != activeForm.PlateView.Plate) + { activeForm.LoadLastPlate(); + var newPreviewPlate = new Plate(plate.Size) + { + Quadrant = plate.Quadrant, + PartSpacing = plate.PartSpacing, + Thickness = plate.Thickness, + Material = plate.Material, + }; + newPreviewPlate.EdgeSpacing = plate.EdgeSpacing; + progressForm.PreviewPlate = newPreviewPlate; + } + var anyPlaced = false; var engine = NestEngineRegistry.Create(plate);