Implement quaternion and matrix geometry

This commit is contained in:
2026-08-08 22:54:07 +00:00
parent 3068e5ee9e
commit 66997128e7
15 changed files with 1881 additions and 859 deletions

View File

@@ -103,19 +103,19 @@ Reviewed Rust tests live outside `generated_parity.rs` and carry a `parity-case`
| `LibreMetaverse.Tests/AppearanceTests.cs::AppearanceTests.AvatarAppearanceEventArgs_DecodeVisualParams_EmptyList_ReturnsEmptyDictionary::test` | `AppearanceTests.AvatarAppearanceEventArgs_DecodeVisualParams_EmptyList_ReturnsEmptyDictionary` | `` | `LibreMetaverse.Tests/AppearanceTests.cs:168` | `Appearance` | `` | `tests/compat/tests/appearance_visual_semantics.rs:159 (`appearance_event_args_decode_visual_params_empty_list_returns_empty_dictionary`)` | `translated` | `af99909259d531024895ce7ea325b49927a12daa886a35eab3d52e3f8fc76921` |
| `LibreMetaverse.Tests/AppearanceTests.cs::AppearanceTests.AvatarAppearanceEventArgs_DecodeVisualParams_RoundTrip_DefaultValues::test` | `AppearanceTests.AvatarAppearanceEventArgs_DecodeVisualParams_RoundTrip_DefaultValues` | `` | `LibreMetaverse.Tests/AppearanceTests.cs:176` | `Appearance` | `` | `tests/compat/tests/appearance_visual_semantics.rs:166 (`appearance_event_args_decode_visual_params_round_trip_default_values`)` | `translated` | `0aec57fab35764525195e6c0e08a63ff10a467be684295381731c04e836539b5` |
| `LibreMetaverse.Tests/AppearanceTests.cs::AppearanceTests.AvatarAppearanceEventArgs_DecodeVisualParams_MatchesAvatarDecodeVisualParams::test` | `AppearanceTests.AvatarAppearanceEventArgs_DecodeVisualParams_MatchesAvatarDecodeVisualParams` | `` | `LibreMetaverse.Tests/AppearanceTests.cs:199` | `Appearance` | `` | `tests/compat/tests/appearance_visual_semantics.rs:188 (`appearance_event_args_decode_visual_params_matches_avatar_decode_visual_params`)` | `translated` | `ff87dd3a506027ad248006b3b55d85a18b0810bc5b4e3a72eb81d31ebbe4184a` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetBaseColorFactor_OverrideToDefault_IsNudgedOffDefault::test` | `AssetMaterialOverrideTests.SetBaseColorFactor_OverrideToDefault_IsNudgedOffDefault` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:43` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:117 (`base_color_override_to_default_is_nudged`)` | `translated` | `df553fd4df83e48d4dd74cdd8aa15a737ea3a416bcad802f7110bbfe79928a31` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetBaseColorFactor_NotOverride_LeavesExactDefaultUnchanged::test` | `AssetMaterialOverrideTests.SetBaseColorFactor_NotOverride_LeavesExactDefaultUnchanged` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:52` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:131 (`base_color_non_override_keeps_default`)` | `translated` | `fec94fcfac0f36cc5813ed087a30e04fcc9815bc02072ea3f5dd282b8698a89c` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetMetallicFactor_OverrideToOne_ClampsBelowDefault::test` | `AssetMaterialOverrideTests.SetMetallicFactor_OverrideToOne_ClampsBelowDefault` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:61` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:145 (`metallic_override_to_one_clamps_below_default`)` | `translated` | `7fcee795160428082f6e579881867c7b6c83f31549077fc28a46d18c75c485c9` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetAlphaMode_OverrideToDefaultOpaque_SetsOverrideFlag::test` | `AssetMaterialOverrideTests.SetAlphaMode_OverrideToDefaultOpaque_SetsOverrideFlag` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:71` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:159 (`alpha_mode_override_sets_flag`)` | `translated` | `8af09d12a58083657e27e285802bb3a6a1d1c136397cea53865d964006343715` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetTextureId_OverrideToNull_UsesSentinelUuid::test` | `AssetMaterialOverrideTests.SetTextureId_OverrideToNull_UsesSentinelUuid` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:80` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:169 (`null_texture_override_uses_sentinel`)` | `translated` | `d9ebf410d2a55c3619b99524a571396fb268e5edd41de955cb86e4ec8cc55c78` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ApplyOverride_SentinelTexture_ClearsBaseTexture::test` | `AssetMaterialOverrideTests.ApplyOverride_SentinelTexture_ClearsBaseTexture` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:89` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:182 (`sentinel_override_clears_base_texture`)` | `translated` | `17fd8cdb12ed5d1d0aa1b0a05dbcc357f75aa350d5079b066c957da459d9f628` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ApplyOverride_UntouchedTexture_LeavesBaseTextureAlone::test` | `AssetMaterialOverrideTests.ApplyOverride_UntouchedTexture_LeavesBaseTextureAlone` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:103` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:203 (`untouched_override_keeps_base_texture`)` | `translated` | `80ec5e369e3682d92ec6996841b15bda38a3ef6edcd36a2fd9893d8c15459348` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ApplyOverride_ChangedScalar_ReplacesBaseValue::test` | `AssetMaterialOverrideTests.ApplyOverride_ChangedScalar_ReplacesBaseValue` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:116` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:220 (`changed_scalar_override_replaces_base`)` | `translated` | `4c305c54c4e451932fbd4a4719957f92f38a7f7d28259559b43cb95fcf9250d1` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetBaseMaterial_ResetsFieldsButKeepsTransforms::test` | `AssetMaterialOverrideTests.SetBaseMaterial_ResetsFieldsButKeepsTransforms` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:128` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:232 (`set_base_material_keeps_texture_transforms`)` | `translated` | `39312602e736fd8607a41d9e6b6348bfaf6e659cf3f63100ee15edd20b672306` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ToOverrideOsd_RoundTrip_PreservesOverriddenFields::test` | `AssetMaterialOverrideTests.ToOverrideOsd_RoundTrip_PreservesOverriddenFields` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:142` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:257 (`override_osd_round_trip_preserves_fields`)` | `translated` | `8d542528a14e3b4dcb74ea8a940a44673aada51f98baf8abcdd59a06f36e3cb0` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ToOverrideOsd_UntouchedMaterial_ProducesEmptyMap::test` | `AssetMaterialOverrideTests.ToOverrideOsd_UntouchedMaterial_ProducesEmptyMap` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:161` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:290 (`untouched_material_override_osd_is_empty`)` | `translated` | `c9e29f7ec0e6b28579e0499e3ec89841e01a313a9386ba60257e5e701129b1c2` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ToOverrideOsd_OverrideToDefaultRoughness_StillEncodesField::test` | `AssetMaterialOverrideTests.ToOverrideOsd_OverrideToDefaultRoughness_StillEncodesField` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:170` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:298 (`default_roughness_override_is_encoded`)` | `translated` | `4ea9920c6709bd29858a8da66313fcee5ebebd646743c5d822dd6c9e477bf3b4` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ToJson_RoundTrip_PreservesNameAndColor::test` | `AssetMaterialOverrideTests.ToJson_RoundTrip_PreservesNameAndColor` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:184` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:317 (`material_json_round_trip_preserves_name_and_color`)` | `translated` | `d7ae4270d82671a970fc1b6457292860d24481dd84e9fb919ae60fded5f1914e` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetBaseColorFactor_OverrideToDefault_IsNudgedOffDefault::test` | `AssetMaterialOverrideTests.SetBaseColorFactor_OverrideToDefault_IsNudgedOffDefault` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:43` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:118 (`base_color_override_to_default_is_nudged`)` | `translated` | `df553fd4df83e48d4dd74cdd8aa15a737ea3a416bcad802f7110bbfe79928a31` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetBaseColorFactor_NotOverride_LeavesExactDefaultUnchanged::test` | `AssetMaterialOverrideTests.SetBaseColorFactor_NotOverride_LeavesExactDefaultUnchanged` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:52` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:132 (`base_color_non_override_keeps_default`)` | `translated` | `fec94fcfac0f36cc5813ed087a30e04fcc9815bc02072ea3f5dd282b8698a89c` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetMetallicFactor_OverrideToOne_ClampsBelowDefault::test` | `AssetMaterialOverrideTests.SetMetallicFactor_OverrideToOne_ClampsBelowDefault` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:61` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:146 (`metallic_override_to_one_clamps_below_default`)` | `translated` | `7fcee795160428082f6e579881867c7b6c83f31549077fc28a46d18c75c485c9` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetAlphaMode_OverrideToDefaultOpaque_SetsOverrideFlag::test` | `AssetMaterialOverrideTests.SetAlphaMode_OverrideToDefaultOpaque_SetsOverrideFlag` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:71` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:160 (`alpha_mode_override_sets_flag`)` | `translated` | `8af09d12a58083657e27e285802bb3a6a1d1c136397cea53865d964006343715` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetTextureId_OverrideToNull_UsesSentinelUuid::test` | `AssetMaterialOverrideTests.SetTextureId_OverrideToNull_UsesSentinelUuid` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:80` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:170 (`null_texture_override_uses_sentinel`)` | `translated` | `d9ebf410d2a55c3619b99524a571396fb268e5edd41de955cb86e4ec8cc55c78` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ApplyOverride_SentinelTexture_ClearsBaseTexture::test` | `AssetMaterialOverrideTests.ApplyOverride_SentinelTexture_ClearsBaseTexture` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:89` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:183 (`sentinel_override_clears_base_texture`)` | `translated` | `17fd8cdb12ed5d1d0aa1b0a05dbcc357f75aa350d5079b066c957da459d9f628` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ApplyOverride_UntouchedTexture_LeavesBaseTextureAlone::test` | `AssetMaterialOverrideTests.ApplyOverride_UntouchedTexture_LeavesBaseTextureAlone` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:103` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:204 (`untouched_override_keeps_base_texture`)` | `translated` | `80ec5e369e3682d92ec6996841b15bda38a3ef6edcd36a2fd9893d8c15459348` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ApplyOverride_ChangedScalar_ReplacesBaseValue::test` | `AssetMaterialOverrideTests.ApplyOverride_ChangedScalar_ReplacesBaseValue` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:116` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:221 (`changed_scalar_override_replaces_base`)` | `translated` | `4c305c54c4e451932fbd4a4719957f92f38a7f7d28259559b43cb95fcf9250d1` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.SetBaseMaterial_ResetsFieldsButKeepsTransforms::test` | `AssetMaterialOverrideTests.SetBaseMaterial_ResetsFieldsButKeepsTransforms` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:128` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:233 (`set_base_material_keeps_texture_transforms`)` | `translated` | `39312602e736fd8607a41d9e6b6348bfaf6e659cf3f63100ee15edd20b672306` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ToOverrideOsd_RoundTrip_PreservesOverriddenFields::test` | `AssetMaterialOverrideTests.ToOverrideOsd_RoundTrip_PreservesOverriddenFields` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:142` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:258 (`override_osd_round_trip_preserves_fields`)` | `translated` | `8d542528a14e3b4dcb74ea8a940a44673aada51f98baf8abcdd59a06f36e3cb0` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ToOverrideOsd_UntouchedMaterial_ProducesEmptyMap::test` | `AssetMaterialOverrideTests.ToOverrideOsd_UntouchedMaterial_ProducesEmptyMap` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:161` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:291 (`untouched_material_override_osd_is_empty`)` | `translated` | `c9e29f7ec0e6b28579e0499e3ec89841e01a313a9386ba60257e5e701129b1c2` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ToOverrideOsd_OverrideToDefaultRoughness_StillEncodesField::test` | `AssetMaterialOverrideTests.ToOverrideOsd_OverrideToDefaultRoughness_StillEncodesField` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:170` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:299 (`default_roughness_override_is_encoded`)` | `translated` | `4ea9920c6709bd29858a8da66313fcee5ebebd646743c5d822dd6c9e477bf3b4` |
| `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs::AssetMaterialOverrideTests.ToJson_RoundTrip_PreservesNameAndColor::test` | `AssetMaterialOverrideTests.ToJson_RoundTrip_PreservesNameAndColor` | `` | `LibreMetaverse.Tests/AssetMaterialOverrideTests.cs:184` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:318 (`material_json_round_trip_preserves_name_and_color`)` | `translated` | `d7ae4270d82671a970fc1b6457292860d24481dd84e9fb919ae60fded5f1914e` |
| `LibreMetaverse.Tests/AvatarManagerTests.cs::AvatarManagerTests.RequestOwnAvatarTextures_WhenNotConnected_DoesNotThrow::test` | `AvatarManagerTests.RequestOwnAvatarTextures_WhenNotConnected_DoesNotThrow` | `` | `LibreMetaverse.Tests/AvatarManagerTests.cs:42` | `Appearance` | `` | `crates/libremetaverse/src/avatar_animesh_semantics.rs:587 (`avatar_manager_request_own_avatar_textures_when_not_connected_does_not_throw`)` | `translated` | `bf3539f68a0adc58c2166289ca1c75f6ff03906f71ffe2fb749f6990404b541a` |
| `LibreMetaverse.Tests/AvatarManagerTests.cs::AvatarManagerTests.UpdateLastReceivedCOFVersion_AcceptsHigherVersion::test` | `AvatarManagerTests.UpdateLastReceivedCOFVersion_AcceptsHigherVersion` | `` | `LibreMetaverse.Tests/AvatarManagerTests.cs:55` | `Appearance` | `` | `crates/libremetaverse/src/avatar_animesh_semantics.rs:597 (`appearance_manager_update_last_received_cof_version_accepts_higher_version`)` | `translated` | `3656364491dcd7a05c868b11ea0d8be48609d10c6054b9696f54cbac10cfe6df` |
| `LibreMetaverse.Tests/AvatarManagerTests.cs::AvatarManagerTests.UpdateLastReceivedCOFVersion_RejectsLowerVersion::test` | `AvatarManagerTests.UpdateLastReceivedCOFVersion_RejectsLowerVersion` | `` | `LibreMetaverse.Tests/AvatarManagerTests.cs:68` | `Appearance` | `` | `crates/libremetaverse/src/avatar_animesh_semantics.rs:612 (`appearance_manager_update_last_received_cof_version_rejects_lower_version`)` | `translated` | `f4a827fcace9d50306a8c375183e056140996d2a39b02e4dd12fc6cc79e5d0f0` |
@@ -246,18 +246,18 @@ Reviewed Rust tests live outside `generated_parity.rs` and carry a `parity-case`
| `LibreMetaverse.Tests/GLTFMaterialUploadTests.cs::GLTFMaterialUploadTests.RequestUpdateMaterialTaskInventoryAsync_HappyPath_PostsItemIdAndTaskId::test` | `GLTFMaterialUploadTests.RequestUpdateMaterialTaskInventoryAsync_HappyPath_PostsItemIdAndTaskId` | `` | `LibreMetaverse.Tests/GLTFMaterialUploadTests.cs:92` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:356 (`material_task_upload_posts_item_and_task_ids`)` | `translated` | `7ac0e7d210b1aefa795e479f4da0d2dd4caae0b3bbe84ca124707c3ae005bbbd` |
| `LibreMetaverse.Tests/GLTFMaterialUploadTests.cs::GLTFMaterialUploadTests.RequestUpdateMaterialAgentInventoryAsync_NoCapability_Throws::test` | `GLTFMaterialUploadTests.RequestUpdateMaterialAgentInventoryAsync_NoCapability_Throws` | `` | `LibreMetaverse.Tests/GLTFMaterialUploadTests.cs:115` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:384 (`material_agent_upload_without_capability_is_invalid_operation`)` | `translated` | `325269807d778264e571d1518ca9a2ca69a27ba67ad689e580f2636ab595f335` |
| `LibreMetaverse.Tests/GLTFMaterialUploadTests.cs::GLTFMaterialUploadTests.RequestUpdateMaterialAgentInventoryAsync_UploadedJsonRoundTripsMaterial::test` | `GLTFMaterialUploadTests.RequestUpdateMaterialAgentInventoryAsync_UploadedJsonRoundTripsMaterial` | `` | `LibreMetaverse.Tests/GLTFMaterialUploadTests.cs:131` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:400 (`uploaded_material_json_round_trips`)` | `translated` | `fd059dfc8c9299c3b6583b3b47ba18ae9c92e3ad923f88634019b0ab9f34d401` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.LoadGltf_ParsesSceneGraph::test` | `GltfDocumentTests.LoadGltf_ParsesSceneGraph` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:122` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:336 (`gltf_parses_scene_graph`)` | `translated` | `e20583d8de31f793d1dc49d1dfde89e1eb8c00186359e7df4184e862ec9ed649` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.LoadGltf_ParsesMeshAndPrimitive::test` | `GltfDocumentTests.LoadGltf_ParsesMeshAndPrimitive` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:136` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:349 (`gltf_parses_mesh_and_primitive`)` | `translated` | `ef6a76308db1966423c7746f5414f3d0553587efc388bbedb962f38cc122ecaf` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.LoadGltf_ParsesMaterial::test` | `GltfDocumentTests.LoadGltf_ParsesMaterial` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:152` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:363 (`gltf_parses_material`)` | `translated` | `0147b4d7102c5223f247f69fa4cf3daeb0aa6300ad46ef34d6a17163b694c13e` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.GetPositions_ReturnsCorrectTriangle::test` | `GltfDocumentTests.GetPositions_ReturnsCorrectTriangle` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:169` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:377 (`gltf_positions_are_correct_triangle`)` | `translated` | `c3d444122ab73794a011d5a5aafb0c2aa030975393f967e871dc88db200f5e96` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.GetIndices_ReturnsCorrectValues::test` | `GltfDocumentTests.GetIndices_ReturnsCorrectValues` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:184` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:395 (`gltf_indices_are_correct`)` | `translated` | `fa39e87a3dfee7258d9a95907a97cbb107f5add7d6a6f9d9800249bb67e2fc58` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.GetPositions_EmptyWhenNoAttribute::test` | `GltfDocumentTests.GetPositions_EmptyWhenNoAttribute` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:197` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:405 (`gltf_positions_empty_without_attribute`)` | `translated` | `06c691911ee6933f1884f6540d69afafa1f272acfed827c628580438204d9b4b` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.GetNormals_EmptyWhenNoAttribute::test` | `GltfDocumentTests.GetNormals_EmptyWhenNoAttribute` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:205` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:419 (`gltf_normals_empty_without_attribute`)` | `translated` | `e04480b0b9e23cb561cc55e744ebd85203c759f98ad69febeeb291919f0d91af` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.ToJson_RoundTrip_PreservesSceneGraph::test` | `GltfDocumentTests.ToJson_RoundTrip_PreservesSceneGraph` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:215` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:432 (`gltf_json_round_trip_preserves_scene_graph`)` | `translated` | `41c385b7bde3f8e4f4ad98d4f1f737fc6ccc241c2613526fd745eb35430386b2` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.ToGlb_RoundTrip_PreservesGeometry::test` | `GltfDocumentTests.ToGlb_RoundTrip_PreservesGeometry` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:230` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:449 (`glb_round_trip_preserves_geometry`)` | `translated` | `1e97fe2d1492ac195f6a4386329c76ad131ab99a41b8e03216b1bab8b48fae36` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.Load_AutoDetectsGlbVsJson::test` | `GltfDocumentTests.Load_AutoDetectsGlbVsJson` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:252` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:463 (`gltf_load_auto_detects_glb_and_json`)` | `translated` | `6d07930be2302e504ef9ece3fef10f47b855d33ae6c8bff152e82df0beb2a474` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.ParseNode_TrsDefaults::test` | `GltfDocumentTests.ParseNode_TrsDefaults` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:268` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:475 (`gltf_node_trs_defaults`)` | `translated` | `0f0fbe116d20276c2aee917b940bded9de277ed0b3e3b659844c5b3532755259` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.ParseNode_ExplicitMatrix::test` | `GltfDocumentTests.ParseNode_ExplicitMatrix` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:280` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:495 (`gltf_node_explicit_matrix`)` | `translated` | `197ba2ee3a66cbb7d927acea13ce9dc84e62af8a500d939957749039118755c8` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.LoadGltf_ParsesSceneGraph::test` | `GltfDocumentTests.LoadGltf_ParsesSceneGraph` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:122` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:337 (`gltf_parses_scene_graph`)` | `translated` | `e20583d8de31f793d1dc49d1dfde89e1eb8c00186359e7df4184e862ec9ed649` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.LoadGltf_ParsesMeshAndPrimitive::test` | `GltfDocumentTests.LoadGltf_ParsesMeshAndPrimitive` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:136` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:350 (`gltf_parses_mesh_and_primitive`)` | `translated` | `ef6a76308db1966423c7746f5414f3d0553587efc388bbedb962f38cc122ecaf` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.LoadGltf_ParsesMaterial::test` | `GltfDocumentTests.LoadGltf_ParsesMaterial` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:152` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:364 (`gltf_parses_material`)` | `translated` | `0147b4d7102c5223f247f69fa4cf3daeb0aa6300ad46ef34d6a17163b694c13e` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.GetPositions_ReturnsCorrectTriangle::test` | `GltfDocumentTests.GetPositions_ReturnsCorrectTriangle` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:169` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:378 (`gltf_positions_are_correct_triangle`)` | `translated` | `c3d444122ab73794a011d5a5aafb0c2aa030975393f967e871dc88db200f5e96` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.GetIndices_ReturnsCorrectValues::test` | `GltfDocumentTests.GetIndices_ReturnsCorrectValues` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:184` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:396 (`gltf_indices_are_correct`)` | `translated` | `fa39e87a3dfee7258d9a95907a97cbb107f5add7d6a6f9d9800249bb67e2fc58` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.GetPositions_EmptyWhenNoAttribute::test` | `GltfDocumentTests.GetPositions_EmptyWhenNoAttribute` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:197` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:406 (`gltf_positions_empty_without_attribute`)` | `translated` | `06c691911ee6933f1884f6540d69afafa1f272acfed827c628580438204d9b4b` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.GetNormals_EmptyWhenNoAttribute::test` | `GltfDocumentTests.GetNormals_EmptyWhenNoAttribute` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:205` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:420 (`gltf_normals_empty_without_attribute`)` | `translated` | `e04480b0b9e23cb561cc55e744ebd85203c759f98ad69febeeb291919f0d91af` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.ToJson_RoundTrip_PreservesSceneGraph::test` | `GltfDocumentTests.ToJson_RoundTrip_PreservesSceneGraph` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:215` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:433 (`gltf_json_round_trip_preserves_scene_graph`)` | `translated` | `41c385b7bde3f8e4f4ad98d4f1f737fc6ccc241c2613526fd745eb35430386b2` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.ToGlb_RoundTrip_PreservesGeometry::test` | `GltfDocumentTests.ToGlb_RoundTrip_PreservesGeometry` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:230` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:450 (`glb_round_trip_preserves_geometry`)` | `translated` | `1e97fe2d1492ac195f6a4386329c76ad131ab99a41b8e03216b1bab8b48fae36` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.Load_AutoDetectsGlbVsJson::test` | `GltfDocumentTests.Load_AutoDetectsGlbVsJson` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:252` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:464 (`gltf_load_auto_detects_glb_and_json`)` | `translated` | `6d07930be2302e504ef9ece3fef10f47b855d33ae6c8bff152e82df0beb2a474` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.ParseNode_TrsDefaults::test` | `GltfDocumentTests.ParseNode_TrsDefaults` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:268` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:476 (`gltf_node_trs_defaults`)` | `translated` | `0f0fbe116d20276c2aee917b940bded9de277ed0b3e3b659844c5b3532755259` |
| `LibreMetaverse.Tests/GltfDocumentTests.cs::GltfDocumentTests.ParseNode_ExplicitMatrix::test` | `GltfDocumentTests.ParseNode_ExplicitMatrix` | `` | `LibreMetaverse.Tests/GltfDocumentTests.cs:280` | `` | `` | `tests/compat/tests/asset_document_semantics.rs:496 (`gltf_node_explicit_matrix`)` | `translated` | `197ba2ee3a66cbb7d927acea13ce9dc84e62af8a500d939957749039118755c8` |
| `LibreMetaverse.Tests/GridClientTests.cs::GridClientTests.GetGridRegion::test` | `GridClientTests.GetGridRegion` | `` | `LibreMetaverse.Tests/GridClientTests.cs:90` | `GridClient, RequiresLiveServer` | `` | `tests/compat/tests/network_semantics.rs:345 (`get_grid_region_live`)` | `ignored-live` | `b0b72fc63fe829984167a479b763784c7daae8691399f3f3d2feb824090ad59f` |
| `LibreMetaverse.Tests/HelpersZeroCodingTests.cs::HelpersZeroCodingTests.ZeroDecode_ValidInput_DecodesCorrectly::test` | `HelpersZeroCodingTests.ZeroDecode_ValidInput_DecodesCorrectly` | `` | `LibreMetaverse.Tests/HelpersZeroCodingTests.cs:36` | `Helpers` | `` | `tests/compat/tests/wire_semantics.rs:79 (`zero_decode_valid_input_decodes_correctly`)` | `translated` | `62353da2b1afb7bfdf5142706d15d22086a5e1e8c55f39af3e64686dda4ea071` |
| `LibreMetaverse.Tests/HelpersZeroCodingTests.cs::HelpersZeroCodingTests.ZeroDecode_NullSource_ThrowsArgumentNullException::test` | `HelpersZeroCodingTests.ZeroDecode_NullSource_ThrowsArgumentNullException` | `` | `LibreMetaverse.Tests/HelpersZeroCodingTests.cs:64` | `Helpers` | `` | `tests/compat/tests/wire_semantics.rs:97 (`zero_decode_null_source_throws_argument_null`)` | `translated` | `50ebbd8ea35b87df18cccdea9a26534d5c142228e5b1698cf191b9fd2e9a9957` |

View File

@@ -13,9 +13,11 @@
"allowed_parity_passes": [
"LibreMetaverse.Tests/AppearanceManagerTests.cs::AppearanceManagerTests.BAKED_TEXTURE_COUNT_Is11::test",
"LibreMetaverse.Tests/MarketplaceFolderClassifierTests.cs::MarketplaceFolderClassifierTests.ValidateListing_ValidFlags_AreBitmaskComposable::test",
"LibreMetaverse.Tests/TypeTests.cs::TypeTests.Quaternions::test",
"LibreMetaverse.Tests/TypeTests.cs::TypeTests.TestMatrix::test",
"LibreMetaverse.Tests/TypeTests.cs::TypeTests.UUIDs::test",
"LibreMetaverse.Tests/TypeTests.cs::TypeTests.Vector3ApproxEquals::test",
"LibreMetaverse.Tests/TypeTests.cs::TypeTests.VectorCasting::test"
],
"support_passes": 42
"support_passes": 49
}

View File

@@ -1814,7 +1814,7 @@
"rust_body_sha256": "c039310618f45189cfbbbad45e51b18db16171f4e5d7aba14eee6137b96201d0",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 117,
"rust_line": 118,
"rust_test": "base_color_override_to_default_is_nudged",
"semantic_review": "reviewed"
},
@@ -1833,7 +1833,7 @@
"rust_body_sha256": "dadd13a673274f9c46c4732756401c1343443f31ff0616056e381ed10b6373dc",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 131,
"rust_line": 132,
"rust_test": "base_color_non_override_keeps_default",
"semantic_review": "reviewed"
},
@@ -1852,7 +1852,7 @@
"rust_body_sha256": "b9ad9050bbffbaa6fd60b3c45d141c6b0191bcba4287667e4028d47881abcfe2",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 145,
"rust_line": 146,
"rust_test": "metallic_override_to_one_clamps_below_default",
"semantic_review": "reviewed"
},
@@ -1871,7 +1871,7 @@
"rust_body_sha256": "fb03f033cb63519fd7793810bee920e639c19e00bc3532e08a27ebad4e8fa231",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 159,
"rust_line": 160,
"rust_test": "alpha_mode_override_sets_flag",
"semantic_review": "reviewed"
},
@@ -1890,7 +1890,7 @@
"rust_body_sha256": "6a9ef4111be381b3341cb8e53be5a2a6adabd621875d6c65d1967a8016b26487",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 169,
"rust_line": 170,
"rust_test": "null_texture_override_uses_sentinel",
"semantic_review": "reviewed"
},
@@ -1909,7 +1909,7 @@
"rust_body_sha256": "80df9c92a01fc69c56d092ef960aa4541f3da61553dd7596ddaea075193ba01f",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 182,
"rust_line": 183,
"rust_test": "sentinel_override_clears_base_texture",
"semantic_review": "reviewed"
},
@@ -1928,7 +1928,7 @@
"rust_body_sha256": "ff9dcb6f7b8b10dc102d348cf57914a4cb55e8be010018249f20cc45879abe67",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 203,
"rust_line": 204,
"rust_test": "untouched_override_keeps_base_texture",
"semantic_review": "reviewed"
},
@@ -1947,7 +1947,7 @@
"rust_body_sha256": "80e2719ba1bcf4a5926d56ab3a39f89b92eaf36d0308af99a85de900b77c1f5e",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 220,
"rust_line": 221,
"rust_test": "changed_scalar_override_replaces_base",
"semantic_review": "reviewed"
},
@@ -1966,7 +1966,7 @@
"rust_body_sha256": "45356599a1d9581365323a5d6f8822ae69082200322dd4357b256e5141c055f1",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 232,
"rust_line": 233,
"rust_test": "set_base_material_keeps_texture_transforms",
"semantic_review": "reviewed"
},
@@ -1985,7 +1985,7 @@
"rust_body_sha256": "de5047cdff7424adf0f762d00f77dfa6c94cd6ef3f099e123807b1bdbbd34341",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 257,
"rust_line": 258,
"rust_test": "override_osd_round_trip_preserves_fields",
"semantic_review": "reviewed"
},
@@ -2004,7 +2004,7 @@
"rust_body_sha256": "30aa45a8fff68f73082836c06bd0802eec3d162bba408e6c0dccb9741de92a66",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 290,
"rust_line": 291,
"rust_test": "untouched_material_override_osd_is_empty",
"semantic_review": "reviewed"
},
@@ -2023,7 +2023,7 @@
"rust_body_sha256": "7aa100c1787a91289101ff37c598691ad785e209204aaf0121b29441cbdcda59",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 298,
"rust_line": 299,
"rust_test": "default_roughness_override_is_encoded",
"semantic_review": "reviewed"
},
@@ -2042,7 +2042,7 @@
"rust_body_sha256": "60a805d63479f0e804adad6b9a7d9a8598a61732631d35be4295a732421d9504",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 317,
"rust_line": 318,
"rust_test": "material_json_round_trip_preserves_name_and_color",
"semantic_review": "reviewed"
},
@@ -4636,7 +4636,7 @@
"rust_body_sha256": "2e0a979b27ac05993976138f0ac08be4572fd50cf43d5dd034c41a9f678c0ae2",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 336,
"rust_line": 337,
"rust_test": "gltf_parses_scene_graph",
"semantic_review": "reviewed"
},
@@ -4655,7 +4655,7 @@
"rust_body_sha256": "9d33cc4646ab6692d0d4fd8b3a86c532246103eb531555b9d84bd9ef4b18534a",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 349,
"rust_line": 350,
"rust_test": "gltf_parses_mesh_and_primitive",
"semantic_review": "reviewed"
},
@@ -4674,7 +4674,7 @@
"rust_body_sha256": "8a12d86a3042d1c1f2a365c81825e33b32d3370f556f585c357b3cfab77525b7",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 363,
"rust_line": 364,
"rust_test": "gltf_parses_material",
"semantic_review": "reviewed"
},
@@ -4693,7 +4693,7 @@
"rust_body_sha256": "2fe6ac879e16e27db934670ff1b02ebeab2e4f2c566284f46a8d8ca353369348",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 377,
"rust_line": 378,
"rust_test": "gltf_positions_are_correct_triangle",
"semantic_review": "reviewed"
},
@@ -4712,7 +4712,7 @@
"rust_body_sha256": "e59afeb85c77aabfe07bf62efc6e6ea28158d71f7fad09c3d6bd4c16af8206ef",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 395,
"rust_line": 396,
"rust_test": "gltf_indices_are_correct",
"semantic_review": "reviewed"
},
@@ -4731,7 +4731,7 @@
"rust_body_sha256": "0d6612fd86c2dfee7a1cde2b781cd73e62415092bb34063817dbeca85bea0dda",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 405,
"rust_line": 406,
"rust_test": "gltf_positions_empty_without_attribute",
"semantic_review": "reviewed"
},
@@ -4750,7 +4750,7 @@
"rust_body_sha256": "8c07115698eb8ebed83f68c7f45c203dde1ff58b92cd4a1da10f555b3397424b",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 419,
"rust_line": 420,
"rust_test": "gltf_normals_empty_without_attribute",
"semantic_review": "reviewed"
},
@@ -4769,7 +4769,7 @@
"rust_body_sha256": "4869d0570b83d05570c0c3f626795a1bebb497eedb00a566d0bf63e6a164ea02",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 432,
"rust_line": 433,
"rust_test": "gltf_json_round_trip_preserves_scene_graph",
"semantic_review": "reviewed"
},
@@ -4788,7 +4788,7 @@
"rust_body_sha256": "657d90a0b70805fb9b1bb7fd8b821a2fa64cf68e25793c2fef5369bb7b323d93",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 449,
"rust_line": 450,
"rust_test": "glb_round_trip_preserves_geometry",
"semantic_review": "reviewed"
},
@@ -4807,7 +4807,7 @@
"rust_body_sha256": "0b3b6f016d3b32515045aaa6fc3bf170376bad397a5d705dc2ffc8deb369a0e7",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 463,
"rust_line": 464,
"rust_test": "gltf_load_auto_detects_glb_and_json",
"semantic_review": "reviewed"
},
@@ -4826,7 +4826,7 @@
"rust_body_sha256": "de38ffd7d24d30e90cd78fd8f1f8022aa2ab215f53c44f5cd7f6d346bfcb966c",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 475,
"rust_line": 476,
"rust_test": "gltf_node_trs_defaults",
"semantic_review": "reviewed"
},
@@ -4845,7 +4845,7 @@
"rust_body_sha256": "367ea10e55c9b61d9f536890cbf95f975adf74bf23524cb9ddb78bb6131e1433",
"status": "translated",
"rust_file": "tests/compat/tests/asset_document_semantics.rs",
"rust_line": 495,
"rust_line": 496,
"rust_test": "gltf_node_explicit_matrix",
"semantic_review": "reviewed"
},