refactor: move material and thickness from Plate to Nest

Material and thickness are properties of the nest (all plates share the
same material/gauge), not individual plates. This moves them to the Nest
class, removes them from Plate and PlateSettings, and updates the UI so
EditNestInfoForm has a material field while EditPlateForm no longer shows
thickness. The nest file format gains top-level thickness/material fields
with backward-compatible reading from PlateDefaults for old files.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-01 21:00:59 -04:00
parent 3e340e67e0
commit 9db7abcd37
18 changed files with 101 additions and 160 deletions

View File

@@ -31,8 +31,8 @@ namespace OpenNest.Mcp.Tools
plate.Quadrant = quadrant;
plate.Quantity = 1;
if (!string.IsNullOrEmpty(material))
plate.Material.Name = material;
if (!string.IsNullOrEmpty(material) && _session.Nest != null)
_session.Nest.Material = new Material(material);
_session.Plates.Add(plate);