Skip to content

Add MeshRelation vertex group filtering tests#70

Merged
jmquigs merged 4 commits into
masterfrom
claude/dotnet-fsharp-project-fXnhh
May 4, 2026
Merged

Add MeshRelation vertex group filtering tests#70
jmquigs merged 4 commits into
masterfrom
claude/dotnet-fsharp-project-fXnhh

Conversation

@jmquigs
Copy link
Copy Markdown
Owner

@jmquigs jmquigs commented May 4, 2026

Summary

Add comprehensive unit tests for the MeshRelation vertex group include/exclude filtering functionality, ensuring that vertex matching respects annotation-based group constraints.

Key Changes

  • New test file: TestMeshRelation.fs with a single test case MeshRelation: Include and Exclude vertex group tracking

    • Tests that mod mesh vertices with "Include.GroupName" annotations are matched only to reference vertices in that group, even when other groups are physically closer
    • Tests that mod mesh vertices with "Exclude.GroupName" annotations are matched to any reference vertex except those in the excluded group
    • Validates that all reference vertices in each group are used exactly once (prevents regression where all mod verts collapse to a single ref vert)
  • Project file updates:

    • Added TestMeshRelation.fs to compilation order in both Test.MMManaged.fsproj and Test.MMManaged.dotnet.fsproj
    • Created new .NET SDK-style project file (Test.MMManaged.dotnet.fsproj) with NUnit 3 test runner integration for dotnet test support

Implementation Details

The test constructs minimal mesh objects with deliberately interleaved vertex positions to prove that group filtering logic (not spatial coincidence) drives the vertex matching behavior. Reference mesh has 8 vertices split into "Hat.Top" (indices 0-3) and "Hat.Bottom" (indices 4-7) groups; mod mesh vertices use Include/Exclude annotations to verify the filtering works correctly despite suboptimal spatial proximity.

https://claude.ai/code/session_01XXYvh4KUNLCobXoLrGUym6

@jmquigs jmquigs merged commit 12db2a6 into master May 4, 2026
1 check passed
@jmquigs jmquigs deleted the claude/dotnet-fsharp-project-fXnhh branch May 4, 2026 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants