Added checked SculptMap sampling through ManagedImage and ITextureCodec, including reference LOD resizing, grayscale replication, and mirror behavior.
Added SculptMesh plane, sphere, torus, cylinder, and rectangular height-map geometry with reference wrapping, poles, winding, inversion, normals, UVs, viewer faces, deep copy, transforms, and deterministic raw output.
Added VertexIndexer with per-prim-face coordinate deduplication and wired PrimMesh to it.
Added bounded OBJ ingestion preserving object/group output and position, UV, and normal associations, with typed errors for malformed UTF-8, numbers, and indices.
Added native golden and malformed-input tests and updated generated API exports, docs, coverage, and the controlled baseline.
Verification:
cargo test -p libremetaverse-prim-mesher: 13 passed
format, mapping/shim generation, API coverage, reviewed parity, API compile, default/all-feature workspace checks, default/all-feature Clippy with warnings denied, rustdoc with warnings denied, and package listing all passed.
Reviewed against issue #43 and the pinned C# SculptMap.cs, SculptMesh.cs, VertexIndexer.cs, and ObjMesh.cs reference; the acceptance criteria are complete.
Implemented and pushed as c6171dc.
Native Rust implementation:
- Added checked SculptMap sampling through ManagedImage and ITextureCodec, including reference LOD resizing, grayscale replication, and mirror behavior.
- Added SculptMesh plane, sphere, torus, cylinder, and rectangular height-map geometry with reference wrapping, poles, winding, inversion, normals, UVs, viewer faces, deep copy, transforms, and deterministic raw output.
- Added VertexIndexer with per-prim-face coordinate deduplication and wired PrimMesh to it.
- Added bounded OBJ ingestion preserving object/group output and position, UV, and normal associations, with typed errors for malformed UTF-8, numbers, and indices.
- Added native golden and malformed-input tests and updated generated API exports, docs, coverage, and the controlled baseline.
Verification:
- cargo test -p libremetaverse-prim-mesher: 13 passed
- translated PrimMesh/indexer focus: 27 passed
- controlled workspace audit: 266 passed, 1155 expected standardized failures, 0 ignored/unexpected
- format, mapping/shim generation, API coverage, reviewed parity, API compile, default/all-feature workspace checks, default/all-feature Clippy with warnings denied, rustdoc with warnings denied, and package listing all passed.
Reviewed against issue #43 and the pinned C# SculptMap.cs, SculptMesh.cs, VertexIndexer.cs, and ObjMesh.cs reference; the acceptance criteria are complete.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objective
Implement SculptMap/SculptMesh, normals, viewer faces, VertexIndexer, copy/transform operations, and deterministic OBJ export.
Deliverables
Validation
Prerequisite
Types and StructuredData are implemented and the global API/test gates are complete.
Project constraints
Implemented and pushed as
c6171dc.Native Rust implementation:
Verification:
Reviewed against issue #43 and the pinned C# SculptMap.cs, SculptMesh.cs, VertexIndexer.cs, and ObjMesh.cs reference; the acceptance criteria are complete.