build(io): drop OpenNest.IO's reference to the engine

IO only needed Engine for the best-fit cache, which now goes through
IBestFitStore. Removing the reference stops every IO consumer pulling in
the engine and ONNX Runtime. A guard test keeps the assembly from
referencing it again; IO.Tests references Engine itself for its whole-job
round-trip tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ajandClaude Opus 5.5 committed 2026-10-16 14:54:44 -04:00
1 parent 6e66a1efe7
commit 2d5bf6f42c
3 files changed
+14 -1

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
namespace OpenNest.IO.Tests;
public class IoDependencyTests
{
[Fact]
public void IoAssembly_DoesNotReferenceTheEngine()
{
var references = typeof(NestReader).Assembly.GetReferencedAssemblies().Select(a => a.Name);
Assert.DoesNotContain("OpenNest.Engine", references);
}
}
@@ -12,5 +12,7 @@
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.3" />
<Using Include="Xunit" />
<ProjectReference Include="../OpenNest.IO/OpenNest.IO.csproj" />
<!-- Some round-trip tests drive whole jobs; OpenNest.IO itself must not reference the engine. -->
<ProjectReference Include="../OpenNest.Engine/OpenNest.Engine.csproj" />
</ItemGroup>
</Project>
-1
View File
@@ -9,7 +9,6 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\OpenNest.Core\OpenNest.Core.csproj" />
<ProjectReference Include="..\OpenNest.Engine\OpenNest.Engine.csproj" />
<PackageReference Include="ACadSharp" Version="3.1.32" />
<PackageReference Include="ClosedXML" Version="0.104.2" />
</ItemGroup>