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
@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace OpenNest;
/// <summary>Read-only stock settings and remaining requirements for a single candidate trial.</summary>
public sealed class PlatePlacementRequest
{
public PlatePlacementRequest(NestPlateStock stock, IEnumerable<NestJobPart> parts)
{
ArgumentNullException.ThrowIfNull(stock);
Stock = stock;
Parts = NestJob.Own(parts);
}
public NestPlateStock Stock { get; }
public IReadOnlyList<NestJobPart> Parts { get; }
}