From 96bcf6ded19f220e6b79e5ab83e2ff238bc4abc9 Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Wed, 30 Sep 2026 21:35:42 -0400 Subject: [PATCH] refactor(packing): move maximal-rectangles sheet into shared rectangle packing MaxRectsSheet only tracks free rectangles and has no job dependencies, so it moves from the Rectangles engine into OpenNest.Engine.RectanglePacking where the interactive fill packer can use it. No behavior change. --- .../NestingEngines/Rectangles/RectanglesNestingEngine.cs | 1 + OpenNest.Engine/NestingEngines/Rectangles/SheetPacker.cs | 1 + .../Rectangles => RectanglePacking}/MaxRectsSheet.cs | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) rename OpenNest.Engine/{NestingEngines/Rectangles => RectanglePacking}/MaxRectsSheet.cs (99%) diff --git a/OpenNest.Engine/NestingEngines/Rectangles/RectanglesNestingEngine.cs b/OpenNest.Engine/NestingEngines/Rectangles/RectanglesNestingEngine.cs index 33e589c..cec1318 100644 --- a/OpenNest.Engine/NestingEngines/Rectangles/RectanglesNestingEngine.cs +++ b/OpenNest.Engine/NestingEngines/Rectangles/RectanglesNestingEngine.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading; using OpenNest.Engine.Jobs; +using OpenNest.Engine.RectanglePacking; namespace OpenNest.Engine.NestingEngines.Rectangles; diff --git a/OpenNest.Engine/NestingEngines/Rectangles/SheetPacker.cs b/OpenNest.Engine/NestingEngines/Rectangles/SheetPacker.cs index 78d9fa6..4fd3e11 100644 --- a/OpenNest.Engine/NestingEngines/Rectangles/SheetPacker.cs +++ b/OpenNest.Engine/NestingEngines/Rectangles/SheetPacker.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading; using OpenNest.Engine.Jobs; +using OpenNest.Engine.RectanglePacking; using OpenNest.Geometry; namespace OpenNest.Engine.NestingEngines.Rectangles; diff --git a/OpenNest.Engine/NestingEngines/Rectangles/MaxRectsSheet.cs b/OpenNest.Engine/RectanglePacking/MaxRectsSheet.cs similarity index 99% rename from OpenNest.Engine/NestingEngines/Rectangles/MaxRectsSheet.cs rename to OpenNest.Engine/RectanglePacking/MaxRectsSheet.cs index 8d944fb..6089f07 100644 --- a/OpenNest.Engine/NestingEngines/Rectangles/MaxRectsSheet.cs +++ b/OpenNest.Engine/RectanglePacking/MaxRectsSheet.cs @@ -3,7 +3,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading; -namespace OpenNest.Engine.NestingEngines.Rectangles; +namespace OpenNest.Engine.RectanglePacking; /// Axis-aligned rectangle in sheet-local packing coordinates. internal readonly record struct Rect(double X, double Y, double W, double H)