feat(engine): introduce whole-job nesting contracts

This commit is contained in:
aj
2026-09-17 13:44:10 -04:00
parent 587000f68a
commit 71dffce72c
17 changed files with 490 additions and 1 deletions
+19
View File
@@ -0,0 +1,19 @@
using System;
namespace OpenNest;
/// <summary>Immutable per-job options; selection never changes the legacy global registry.</summary>
public sealed class NestJobOptions
{
public NestJobOptions(string placementStrategy = "Default", int? maxPlates = null)
{
ArgumentException.ThrowIfNullOrWhiteSpace(placementStrategy);
if (maxPlates <= 0) throw new ArgumentOutOfRangeException(nameof(maxPlates));
PlacementStrategy = placementStrategy;
MaxPlates = maxPlates;
}
public string PlacementStrategy { get; }
/// <summary>Maximum physical sheets to commit, or null for no explicit cap.</summary>
public int? MaxPlates { get; }
}