refactor: extract training data collection into OpenNest.Training

Move brute-force data collection, TrainingDatabase, and GPU init from
OpenNest.Console into a dedicated OpenNest.Training project. Replaces
raw Microsoft.Data.Sqlite with EF Core. Console is now a pure nesting
CLI with template support and cleaned-up usage output.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-14 14:41:38 -04:00
parent 74272bea80
commit acc75868c0
10 changed files with 591 additions and 428 deletions

View File

@@ -0,0 +1,28 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace OpenNest.Training.Data
{
[Table("Parts")]
public class TrainingPart
{
[Key]
public long Id { get; set; }
[MaxLength(260)]
public string FileName { get; set; }
public double Area { get; set; }
public double Convexity { get; set; }
public double AspectRatio { get; set; }
public double BBFill { get; set; }
public double Circularity { get; set; }
public double PerimeterToAreaRatio { get; set; }
public int VertexCount { get; set; }
public byte[] Bitmask { get; set; }
public string GeometryData { get; set; }
public List<TrainingRun> Runs { get; set; } = new();
}
}