Skip to content

Various fixes and improvements#89

Merged
HeDo88TH merged 6 commits intomasterfrom
various-fixes-and-improvements
Feb 16, 2026
Merged

Various fixes and improvements#89
HeDo88TH merged 6 commits intomasterfrom
various-fixes-and-improvements

Conversation

@HeDo88TH
Copy link
Collaborator

Addresses #36 #54 #35 #60 #64

@HeDo88TH HeDo88TH self-assigned this Feb 12, 2026
@HeDo88TH HeDo88TH added the bug Something isn't working label Feb 12, 2026
Copilot AI review requested due to automatic review settings February 12, 2026 08:38
@HeDo88TH HeDo88TH added the enhancement New feature or request label Feb 12, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Obj2Tiles’ OBJ/MTL parsing robustness and expands the automated test suite to cover many previously untested edge-cases across the decimation (ObjMesh), splitting (MeshUtils), and glTF conversion (ObjParser) paths, while aligning publish profiles with the repo’s net10.0 target.

Changes:

  • Update MeshUtils.LoadMesh to wrap out-of-range UVs, triangulate quads/n-gons, and skip l line elements.
  • Add broad NUnit/Shouldly coverage + fixtures for OBJ parsing edge cases, multi-axis splitting, and recursive splitting.
  • Update platform publish profiles to output to net10.0 publish directories.

Reviewed changes

Copilot reviewed 45 out of 47 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
Obj2Tiles/Properties/PublishProfiles/win-x64.pubxml Publish output paths/framework updated to net10.0.
Obj2Tiles/Properties/PublishProfiles/win-arm64.pubxml Publish output paths/framework updated to net10.0.
Obj2Tiles/Properties/PublishProfiles/osx-x64.pubxml Publish output paths/framework updated to net10.0.
Obj2Tiles/Properties/PublishProfiles/linux-x64.pubxml Publish output paths/framework updated to net10.0.
Obj2Tiles/Properties/PublishProfiles/linux-arm64.pubxml Publish output paths/framework updated to net10.0.
Obj2Tiles.Library/Geometry/MeshUtils.cs Splitting-stage OBJ parser: UV wrapping, n-gon triangulation, skip l, fix vn recognition.
Obj2Tiles.Test/Obj2Tiles.Test.csproj Add Obj2Gltf reference + copy new OBJ fixtures to output.
Obj2Tiles.Test/ObjParserGltfTests.cs New tests for Obj2Gltf’s ObjParser.Parse behavior (triangulation, normals, colors, etc.).
Obj2Tiles.Test/ObjMeshParsingTests.cs New tests for decimation-stage ObjMesh.ReadFile parsing edge cases.
Obj2Tiles.Test/TestData/triangle.obj New OBJ fixture (simple triangles).
Obj2Tiles.Test/TestData/triangle-normals.obj New OBJ fixture (f v//vn format).
Obj2Tiles.Test/TestData/scientific-notation.obj New OBJ fixture (scientific notation coordinates).
Obj2Tiles.Test/TestData/quad-simple.obj New OBJ fixture (quad face).
Obj2Tiles.Test/TestData/quad-mesh.obj New OBJ fixture (quad for ObjMesh triangulation).
Obj2Tiles.Test/TestData/ngon.obj New OBJ fixture (pentagon n-gon).
Obj2Tiles.Test/TestData/negative-idx.obj New OBJ fixture (negative indices).
Obj2Tiles.Test/TestData/empty.obj New empty OBJ fixture.
Obj2Tiles.Test/TestData/degenerate-faces.obj New OBJ fixture (degenerate face).
Obj2Tiles.Test/TestData/cube2-normals.obj New OBJ fixture (normals + uvs + materials).
Obj2Tiles.Test/TestData/cube-colors-3d.obj New OBJ fixture (vertex colors).
Obj2Tiles.Test/TestData/cube-3d.obj New OBJ fixture (3D cube triangles).
Obj2Tiles.Test/TestData/comments-and-blanks.obj New OBJ fixture (comments/blank lines).
Obj2Tiles.Library.Test/Obj2Tiles.Library.Test.csproj Copy new Library.Test fixtures to output.
Obj2Tiles.Library.Test/ObjParsingTests.cs New tests for MeshUtils.LoadMesh corner cases (Issues #35/#60/#64 focus).
Obj2Tiles.Library.Test/SplitMultiAxisTests.cs New tests for split correctness across X/Y/Z + color preservation.
Obj2Tiles.Library.Test/RecurseSplitTests.cs New tests for RecurseSplitXY/XYZ behaviors.
Obj2Tiles.Library.Test/MtlParsingTests.cs New tests for Material.ReadMtl parsing and round-trips.
Obj2Tiles.Library.Test/BoundsTests.cs New tests for bounds and Box3 split/center invariants.
Obj2Tiles.Library.Test/TestData/triangle-with-lines.obj New fixture to validate skipping l elements.
Obj2Tiles.Library.Test/TestData/triangle-vt-vn.obj New fixture for f v/vt/vn faces.
Obj2Tiles.Library.Test/TestData/triangle-vt-vn.mtl New fixture MTL for vt/vn triangle.
Obj2Tiles.Library.Test/TestData/triangle-uv-negative.obj New fixture for negative/out-of-range UV wrapping.
Obj2Tiles.Library.Test/TestData/triangle-uv-negative.mtl New fixture MTL for UV wrapping test.
Obj2Tiles.Library.Test/TestData/triangle-normals.obj New fixture (f v//vn).
Obj2Tiles.Library.Test/TestData/scientific-notation.obj New fixture for scientific notation parsing.
Obj2Tiles.Library.Test/TestData/quad.obj New fixture for quad triangulation.
Obj2Tiles.Library.Test/TestData/only-vertices.obj New fixture (vertices only, no faces).
Obj2Tiles.Library.Test/TestData/ngon.obj New fixture (n-gon triangulation).
Obj2Tiles.Library.Test/TestData/multi-material.obj New fixture (multi-material faces).
Obj2Tiles.Library.Test/TestData/multi-material.mtl New fixture MTL (two materials).
Obj2Tiles.Library.Test/TestData/mtllib-missing.obj New fixture (missing MTL reference).
Obj2Tiles.Library.Test/TestData/mtllib-empty.obj New fixture (empty mtllib line).
Obj2Tiles.Library.Test/TestData/empty.obj New empty OBJ fixture (Library.Test).
Obj2Tiles.Library.Test/TestData/degenerate-faces.obj New fixture (degenerate faces).
Obj2Tiles.Library.Test/TestData/cube-colors-3d.obj New fixture (vertex colors).
Obj2Tiles.Library.Test/TestData/cube-3d.obj New fixture (3D cube triangles).
Obj2Tiles.Library.Test/TestData/comments-and-blanks.obj New fixture (comments/blank lines).

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 62 out of 64 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants