# Rust mapping coverage Generated by `python3 tools/generate_rust_mapping.py`; do not edit by hand. ## Gate - C# public types mapped: **3,066 / 3,066 (100%)** - C# public members mapped: **30,789 / 30,789 (100%)** - External signature types resolved: **142 / 142 (100%)** - Duplicate C# IDs: **0** - Duplicate Rust destinations: **0** - Stale or missing catalog IDs: **0** - Unresolved referenced types: **0** - Platform-specific mappings: **0** - Plausible generated fallback bodies/default derives: **0** ## Assembly representatives | Assembly | Rust crate | Members | Representative mapping | |---|---|---:|---| | `LibreMetaverse` | `libremetaverse` | 27,281 | `E:LibreMetaverse.AgentManager.AgentDataReply` -> `libremetaverse::AgentManager::agent_data_reply` | | `LibreMetaverse.Imaging.Abstractions` | `libremetaverse-imaging` | 20 | `F:LibreMetaverse.Imaging.ManagedImage.Alpha` -> `libremetaverse_imaging::ManagedImage::alpha` | | `LibreMetaverse.Imaging.Skia` | `libremetaverse-imaging-skia` | 3 | `M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.#ctor` -> `libremetaverse_imaging_skia::SkiaTextureCodec::new` | | `LibreMetaverse.LslTools` | `libremetaverse-lsl-tools` | 768 | `F:LibreMetaverse.LslTools.CSToolsException.handled` -> `libremetaverse_lsl_tools::CSToolsException::handled` | | `LibreMetaverse.PrimMesher` | `libremetaverse-prim-mesher` | 207 | `F:LibreMetaverse.PrimMesher.Coord.X` -> `libremetaverse_prim_mesher::Coord::x` | | `LibreMetaverse.RLV` | `libremetaverse-rlv` | 499 | `E:LibreMetaverse.RLV.RlvRestrictionManager.RestrictionUpdated` -> `libremetaverse_rlv::RlvRestrictionManager::restriction_updated` | | `LibreMetaverse.Rendering.MeshFoundry` | `libremetaverse-rendering-mesh-foundry` | 14 | `M:LibreMetaverse.Rendering.MeshFoundry.#ctor` -> `libremetaverse_rendering_mesh_foundry::MeshFoundry::new` | | `LibreMetaverse.Rendering.Simple` | `libremetaverse-rendering-simple` | 6 | `M:LibreMetaverse.Rendering.SimpleRenderer.#ctor` -> `libremetaverse_rendering_simple::SimpleRenderer::new` | | `LibreMetaverse.StructuredData` | `libremetaverse-structured-data` | 295 | `F:LibreMetaverse.StructuredData.OSDFormat.Binary` -> `libremetaverse_structured_data::OSDFormat::Binary` | | `LibreMetaverse.Types` | `libremetaverse-types` | 942 | `F:LibreMetaverse.AssetType.Animation` -> `libremetaverse_types::AssetType::Animation` | | `LibreMetaverse.Utilities` | `libremetaverse-utilities` | 13 | `F:LibreMetaverse.Utilities.WaterType.Dry` -> `libremetaverse_utilities::WaterType::Dry` | | `LibreMetaverse.Voice.Vivox` | `libremetaverse-voice-vivox` | 531 | `E:LibreMetaverse.Voice.Vivox.TCPPipe.OnDisconnected` -> `libremetaverse_voice_vivox::TCPPipe::on_disconnected` | | `LibreMetaverse.Voice.WebRTC` | `libremetaverse-voice-webrtc` | 210 | `E:LibreMetaverse.AudioDevice.OnAudioSourceEncodedSample` -> `libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::on_audio_source_encoded_sample` | ## External replacement decisions External member APIs are not copied. Each signature type resolves to Rust core/std, an adopted cross-platform crate, or a project-owned native compatibility type. | Decision | Types | |---|---:| | `language` | 25 | | `native_cross_platform_replacement` | 64 | | `stdlib_or_adopted_crate` | 53 | ## Schema decisions exercised - Properties/indexers/events: **5,090 / 11 / 268** - Delegates and flags enums: **40 / 46** - Optional/ref/out/in parameters: **470 / 6,144 / 555 / 0** - Async Rust signatures: **360** - Descriptively renamed overloads: **7,137** - Explicit CLR delegate APM differences: **80** Run `python3 tools/generate_rust_mapping.py --check` to regenerate in memory and enforce the complete gate.