Files
MetaCrate/tools/generate_api_shims.py
Chili Palmer 13f85bfa34
All checks were successful
Native code generation / deterministic (push) Successful in 14m47s
Imaging and meshing gate / native (push) Successful in 5m5s
Native Rust workspace compile / compile (push) Successful in 5m5s
Implement object manager vertical slice (#69)
2026-08-10 14:32:46 +00:00

3391 lines
234 KiB
Python

#!/usr/bin/env python3
"""Generate callable, failure-only Rust shims from the authoritative catalog."""
from __future__ import annotations
import argparse
import csv
import json
import re
import subprocess
from collections import Counter
from pathlib import Path
import generate_rust_mapping as mapping
ROOT = Path(__file__).resolve().parents[1]
CATALOG = ROOT / "api/public-api.json"
LEDGER = ROOT / "api/RUST-MAPPING.tsv"
COVERAGE = ROOT / "api/SHIM-COVERAGE.md"
COMPILE_FIXTURE = ROOT / "tests/api-compile/src/lib.rs"
TARGETS = {
"LibreMetaverse.Imaging.Abstractions": ROOT / "crates/libremetaverse-imaging/src/generated.rs",
"LibreMetaverse.Imaging.Skia": ROOT / "crates/libremetaverse-imaging-skia/src/generated.rs",
"LibreMetaverse.LslTools": ROOT / "crates/libremetaverse-lsl-tools/src/generated.rs",
"LibreMetaverse.PrimMesher": ROOT / "crates/libremetaverse-prim-mesher/src/generated.rs",
"LibreMetaverse.RLV": ROOT / "crates/libremetaverse-rlv/src/generated.rs",
"LibreMetaverse.Rendering.MeshFoundry": ROOT / "crates/libremetaverse-rendering-mesh-foundry/src/generated.rs",
"LibreMetaverse.Rendering.Simple": ROOT / "crates/libremetaverse-rendering-simple/src/generated.rs",
"LibreMetaverse.Types": ROOT / "crates/libremetaverse-types/src/generated.rs",
"LibreMetaverse.StructuredData": ROOT / "crates/libremetaverse-structured-data/src/generated.rs",
"LibreMetaverse.Utilities": ROOT / "crates/libremetaverse-utilities/src/generated.rs",
"LibreMetaverse.Voice.Vivox": ROOT / "crates/libremetaverse-voice-vivox/src/generated.rs",
"LibreMetaverse.Voice.WebRTC": ROOT / "crates/libremetaverse-voice-webrtc/src/generated.rs",
}
# Types whose failure-only generated shells have been replaced by native Rust
# implementations. The generated module keeps catalog markers and re-exports
# the hand-written type so coverage remains deterministic.
NATIVE_TYPES = {
"T:LibreMetaverse.AISResponseMeta": "crate::inventory_ais::AISResponseMeta",
"T:LibreMetaverse.AccountLevelBenefits": "crate::login::AccountLevelBenefits",
"T:LibreMetaverse.AgentDisplayName": "crate::message_decoder::AgentDisplayName",
"T:LibreMetaverse.AgentDataReplyEventArgs": "crate::agent_messages::AgentDataReplyEventArgs",
"T:LibreMetaverse.AgentAccessEventArgs": "crate::agent_messages::AgentAccessEventArgs",
"T:LibreMetaverse.AgentExperiencesEventArgs": "crate::agent_messages::AgentExperiencesEventArgs",
"T:LibreMetaverse.AgentPreferencesEventArgs": "crate::agent_messages::AgentPreferencesEventArgs",
"T:LibreMetaverse.AgentManager.AgentMovement": "crate::agent_movement::AgentManagerAgentMovement",
"T:LibreMetaverse.AgentManager.AgentMovement.AgentCamera": "crate::agent_movement::AgentManagerAgentMovementAgentCamera",
"T:LibreMetaverse.AnimationsChangedEventArgs": "crate::agent_messages::AnimationsChangedEventArgs",
"T:LibreMetaverse.AvatarSitResponseEventArgs": "crate::agent_movement::AvatarSitResponseEventArgs",
"T:LibreMetaverse.AvatarRenderInfoEventArgs": "crate::agent_messages::AvatarRenderInfoEventArgs",
"T:LibreMetaverse.BalanceEventArgs": "crate::agent_messages::BalanceEventArgs",
"T:LibreMetaverse.CapabilitiesReceivedEventArgs": "crate::caps::CapabilitiesReceivedEventArgs",
"T:LibreMetaverse.Caps": "crate::caps::Caps",
"T:LibreMetaverse.CapsRateLimiter": "crate::caps_http::CapsRateLimiter",
"T:LibreMetaverse.CapsRateLimiterOptions": "crate::caps_http::CapsRateLimiterOptions",
"T:LibreMetaverse.Http.DownloadManager": "crate::download_manager::DownloadManager",
"T:LibreMetaverse.Http.DownloadRequest": "crate::download_manager::DownloadRequest",
"T:LibreMetaverse.Http.EventQueueClient": "crate::event_queue::EventQueueClient",
"T:LibreMetaverse.Http.EventQueueClient.ConnectedCallback": "crate::event_queue::EventQueueClientConnectedCallback",
"T:LibreMetaverse.Http.EventQueueClient.EventCallback": "crate::event_queue::EventQueueClientEventCallback",
"T:LibreMetaverse.HttpCapsClient": "crate::caps_http::HttpCapsClient",
"T:LibreMetaverse.HttpCapsClient.ProgressReport": "crate::caps_http::HttpCapsClientProgressReport",
"T:LibreMetaverse.InstantMessage": "crate::agent_manager::InstantMessage",
"T:LibreMetaverse.InstantMessageEventArgs": "crate::agent_manager::InstantMessageEventArgs",
"T:LibreMetaverse.Inventory": "crate::inventory::Inventory",
"T:LibreMetaverse.InventoryAnimation": "crate::inventory::InventoryAnimation",
"T:LibreMetaverse.InventoryAttachment": "crate::inventory::InventoryAttachment",
"T:LibreMetaverse.InventoryBase": "crate::inventory::InventoryBase",
"T:LibreMetaverse.InventoryCallingCard": "crate::inventory::InventoryCallingCard",
"T:LibreMetaverse.InventoryCategory": "crate::inventory::InventoryCategory",
"T:LibreMetaverse.InventoryFolder": "crate::inventory::InventoryFolder",
"T:LibreMetaverse.InventoryGesture": "crate::inventory::InventoryGesture",
"T:LibreMetaverse.InventoryItem": "crate::inventory::InventoryItem",
"T:LibreMetaverse.InventoryLSL": "crate::inventory::InventoryLSL",
"T:LibreMetaverse.InventoryLandmark": "crate::inventory::InventoryLandmark",
"T:LibreMetaverse.InventoryMaterial": "crate::inventory::InventoryMaterial",
"T:LibreMetaverse.InventoryNode": "crate::inventory::InventoryNode",
"T:LibreMetaverse.InventoryNodeDictionary": "crate::inventory::InventoryNodeDictionary",
"T:LibreMetaverse.InventoryNotecard": "crate::inventory::InventoryNotecard",
"T:LibreMetaverse.InventoryObject": "crate::inventory::InventoryObject",
"T:LibreMetaverse.InventoryObjectAddedEventArgs": "crate::inventory::InventoryObjectAddedEventArgs",
"T:LibreMetaverse.InventoryObjectRemovedEventArgs": "crate::inventory::InventoryObjectRemovedEventArgs",
"T:LibreMetaverse.InventoryObjectUpdatedEventArgs": "crate::inventory::InventoryObjectUpdatedEventArgs",
"T:LibreMetaverse.InventoryObjectOfferedEventArgs": "crate::inventory_manager::InventoryObjectOfferedEventArgs",
"T:LibreMetaverse.InventoryManager.CopyItemsResult": "crate::inventory_manager::InventoryManagerCopyItemsResult",
"T:LibreMetaverse.InventoryManager.FolderUpdateResult": "crate::inventory_manager::InventoryManagerFolderUpdateResult",
"T:LibreMetaverse.ItemReceivedEventArgs": "crate::inventory_manager::ItemReceivedEventArgs",
"T:LibreMetaverse.InventorySettings": "crate::inventory::InventorySettings",
"T:LibreMetaverse.InventorySnapshot": "crate::inventory::InventorySnapshot",
"T:LibreMetaverse.InventorySound": "crate::inventory::InventorySound",
"T:LibreMetaverse.InventoryTexture": "crate::inventory::InventoryTexture",
"T:LibreMetaverse.InventoryWearable": "crate::inventory::InventoryWearable",
"T:LibreMetaverse.Permissions": "crate::inventory::Permissions",
"T:LibreMetaverse.FindObjectByPathReplyEventArgs": "crate::inventory_manager::FindObjectByPathReplyEventArgs",
"T:LibreMetaverse.FolderUpdatedEventArgs": "crate::inventory_manager::FolderUpdatedEventArgs",
"T:LibreMetaverse.SaveAssetToInventoryEventArgs": "crate::inventory_manager::SaveAssetToInventoryEventArgs",
"T:LibreMetaverse.ScriptRunningReplyEventArgs": "crate::inventory_manager::ScriptRunningReplyEventArgs",
"T:LibreMetaverse.TaskInventoryReplyEventArgs": "crate::inventory_manager::TaskInventoryReplyEventArgs",
"T:LibreMetaverse.TaskItemReceivedEventArgs": "crate::inventory_manager::TaskItemReceivedEventArgs",
"T:LibreMetaverse.ChatEventArgs": "crate::agent_messages::ChatEventArgs",
"T:LibreMetaverse.ChatSessionMember": "crate::agent_messages::ChatSessionMember",
"T:LibreMetaverse.ChatSessionMemberAddedEventArgs": "crate::agent_messages::ChatSessionMemberAddedEventArgs",
"T:LibreMetaverse.ChatSessionMemberLeftEventArgs": "crate::agent_messages::ChatSessionMemberLeftEventArgs",
"T:LibreMetaverse.CameraConstraintEventArgs": "crate::agent_movement::CameraConstraintEventArgs",
"T:LibreMetaverse.Assets.AssetGesture": "crate::gesture::AssetGesture",
"T:LibreMetaverse.AssetCache": "crate::asset_cache::AssetCache",
"T:LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate": "crate::asset_cache::AssetCacheComputeAssetCacheFilenameDelegate",
"T:LibreMetaverse.AssetManager": "crate::asset_manager::AssetManager",
"T:LibreMetaverse.AssetDownload": "crate::transfers::AssetDownload",
"T:LibreMetaverse.ImageDownload": "crate::transfers::ImageDownload",
"T:LibreMetaverse.AssetUpload": "crate::transfers::AssetUpload",
"T:LibreMetaverse.AssetUploadEventArgs": "crate::transfers::AssetUploadEventArgs",
"T:LibreMetaverse.Transfer": "crate::transfers::Transfer",
"T:LibreMetaverse.ImageReceiveProgressEventArgs": "crate::transfers::ImageReceiveProgressEventArgs",
"T:LibreMetaverse.InitiateDownloadEventArgs": "crate::transfers::InitiateDownloadEventArgs",
"T:LibreMetaverse.XferDownload": "crate::transfers::XferDownload",
"T:LibreMetaverse.XferReceivedEventArgs": "crate::transfers::XferReceivedEventArgs",
"T:LibreMetaverse.Assets.Asset": "crate::asset_models::Asset",
"T:LibreMetaverse.Assets.AssetAnimation": "crate::asset_models::AssetAnimation",
"T:LibreMetaverse.Assets.AssetBodypart": "crate::asset_models::AssetBodypart",
"T:LibreMetaverse.Assets.AssetCallingCard": "crate::asset_models::AssetCallingCard",
"T:LibreMetaverse.Assets.AssetClothing": "crate::asset_models::AssetClothing",
"T:LibreMetaverse.Assets.AssetLandmark": "crate::asset_models::AssetLandmark",
"T:LibreMetaverse.Assets.AssetMaterial": "crate::asset_material::AssetMaterial",
"T:LibreMetaverse.Assets.AssetMesh": "crate::asset_models::AssetMesh",
"T:LibreMetaverse.Assets.AssetMutable": "crate::asset_models::AssetMutable",
"T:LibreMetaverse.Assets.AssetNotecard": "crate::asset_models::AssetNotecard",
"T:LibreMetaverse.Assets.AssetScriptBinary": "crate::asset_models::AssetScriptBinary",
"T:LibreMetaverse.Assets.AssetScriptText": "crate::asset_models::AssetScriptText",
"T:LibreMetaverse.Assets.AssetSettings": "crate::asset_models::AssetSettings",
"T:LibreMetaverse.Assets.AssetSound": "crate::asset_models::AssetSound",
"T:LibreMetaverse.Assets.AssetTexture": "crate::asset_models::AssetTexture",
"T:LibreMetaverse.Assets.AssetWearable": "crate::asset_models::AssetWearable",
"T:LibreMetaverse.Assets.GltfTextureTransform": "crate::asset_material::GltfTextureTransform",
"T:LibreMetaverse.GLTFMaterialUpdate": "crate::object_material::GLTFMaterialUpdate",
"T:LibreMetaverse.Assets.GestureStep": "crate::gesture::GestureStep",
"T:LibreMetaverse.Assets.GestureStepAnimation": "crate::gesture::GestureStepAnimation",
"T:LibreMetaverse.Assets.GestureStepChat": "crate::gesture::GestureStepChat",
"T:LibreMetaverse.Assets.GestureStepEOF": "crate::gesture::GestureStepEOF",
"T:LibreMetaverse.Assets.GestureStepSound": "crate::gesture::GestureStepSound",
"T:LibreMetaverse.Assets.GestureStepWait": "crate::gesture::GestureStepWait",
"T:LibreMetaverse.ExperienceInfoEventArgs": "crate::agent_messages::ExperienceInfoEventArgs",
"T:LibreMetaverse.ExperiencePreferencesEventArgs": "crate::agent_messages::ExperiencePreferencesEventArgs",
"T:LibreMetaverse.GroupChatJoinedEventArgs": "crate::agent_messages::GroupChatJoinedEventArgs",
"T:LibreMetaverse.RegionExperiencesEventArgs": "crate::agent_messages::RegionExperiencesEventArgs",
"T:LibreMetaverse.SetDisplayNameReplyEventArgs": "crate::agent_messages::SetDisplayNameReplyEventArgs",
"T:LibreMetaverse.TeleportEventArgs": "crate::agent_movement::TeleportEventArgs",
"T:LibreMetaverse.ProductInfoEventArgs": "crate::agent_messages::ProductInfoEventArgs",
"T:LibreMetaverse.RegionCrossedEventArgs": "crate::agent_movement::RegionCrossedEventArgs",
"T:LibreMetaverse.RegionCrossingPredictionEventArgs": "crate::agent_movement::RegionCrossingPredictionEventArgs",
"T:LibreMetaverse.ViewerBenefitsEventArgs": "crate::agent_messages::ViewerBenefitsEventArgs",
"T:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage": "crate::agent_manager::ProductInfoRequestMessage",
"T:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo": "crate::agent_manager::ProductInfoRequestMessageProductInfo",
"T:LibreMetaverse.Messages.Linden.ExperienceListMessage": "crate::agent_messages::ExperienceListMessage",
"T:LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage": "crate::agent_messages::ExperiencePreferencesMessage",
"T:LibreMetaverse.Messages.Linden.RegionExperiencesMessage": "crate::agent_messages::RegionExperiencesMessage",
"T:LibreMetaverse.Messages.Linden.AgentPreferencesMessage": "crate::agent_messages::AgentPreferencesMessage",
"T:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage": "crate::agent_messages::AvatarRenderInfoMessage",
"T:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.AvatarInfo": "crate::agent_messages::AvatarRenderInfoMessageAvatarInfo",
"T:LibreMetaverse.Messages.Linden.ExperienceInfo": "crate::agent_messages::ExperienceInfo",
"T:LibreMetaverse.Messages.Linden.ExperienceInfoMessage": "crate::agent_messages::ExperienceInfoMessage",
"T:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage": "crate::agent_messages::ViewerBenefitsMessage",
"T:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage": "crate::agent_messages::ViewerBenefitsMessageBenefitPackage",
"T:LibreMetaverse.MoneyBalanceReplyEventArgs": "crate::agent_messages::MoneyBalanceReplyEventArgs",
"T:LibreMetaverse.NavMeshStatusUpdateEventArgs": "crate::agent_messages::NavMeshStatusUpdateEventArgs",
"T:LibreMetaverse.LoginCredential": "crate::login::LoginCredential",
"T:LibreMetaverse.LoginException": "crate::login::LoginException",
"T:LibreMetaverse.LoginParams": "crate::login::LoginParams",
"T:LibreMetaverse.LoginProgressEventArgs": "crate::login::LoginProgressEventArgs",
"T:LibreMetaverse.LoginResponseData": "crate::login::LoginResponseData",
"T:LibreMetaverse.LoginResponseData.ParseMessage": "crate::login::LoginResponseDataParseMessage",
"T:LibreMetaverse.LoginResponseData.ParseResult": "crate::login::LoginResponseDataParseResult",
"T:LibreMetaverse.LoggedOutEventArgs": "crate::network_manager::LoggedOutEventArgs",
"T:LibreMetaverse.MediaEntry": "crate::message_decoder::MediaEntry",
"T:LibreMetaverse.Caps.EventQueueCallback": "crate::network_manager::CapsEventQueueCallback",
"T:LibreMetaverse.CapsEventDictionary": "crate::network_manager::CapsEventDictionary",
"T:LibreMetaverse.DisconnectedEventArgs": "crate::network_manager::DisconnectedEventArgs",
"T:LibreMetaverse.EventQueueRunningEventArgs": "crate::network_manager::EventQueueRunningEventArgs",
"T:LibreMetaverse.GenericStreamingMessageEventArgs": "crate::network_manager::GenericStreamingMessageEventArgs",
"T:LibreMetaverse.NetworkManager.IncomingPacket": "crate::network_manager::NetworkManagerIncomingPacket",
"T:LibreMetaverse.NetworkManager.OutgoingPacket": "crate::network_manager::NetworkManagerOutgoingPacket",
"T:LibreMetaverse.NetworkManager.LoginResponseCallback": "crate::login::NetworkManagerLoginResponseCallback",
"T:LibreMetaverse.PacketEventDictionary": "crate::network_manager::PacketEventDictionary",
"T:LibreMetaverse.PacketReceivedEventArgs": "crate::network_manager::PacketReceivedEventArgs",
"T:LibreMetaverse.PacketSentEventArgs": "crate::network_manager::PacketSentEventArgs",
"T:LibreMetaverse.SimChangedEventArgs": "crate::network_manager::SimChangedEventArgs",
"T:LibreMetaverse.SimConnectedEventArgs": "crate::network_manager::SimConnectedEventArgs",
"T:LibreMetaverse.SimConnectingEventArgs": "crate::network_manager::SimConnectingEventArgs",
"T:LibreMetaverse.SimDisconnectedEventArgs": "crate::network_manager::SimDisconnectedEventArgs",
"T:LibreMetaverse.Simulator.SimStats": "crate::sim_stats::SimulatorSimStats",
"T:LibreMetaverse.Messages.Linden.EventMessageBlock": "crate::event_queue::EventMessageBlock",
"T:LibreMetaverse.Messages.Linden.EventQueueAck": "crate::event_queue::EventQueueAck",
"T:LibreMetaverse.Messages.Linden.EventQueueEvent": "crate::event_queue::EventQueueEvent",
"T:LibreMetaverse.Messages.Linden.EventQueueEvent.QueueEvent": "crate::event_queue::EventQueueEventQueueEvent",
"T:LibreMetaverse.Messages.Linden.EventQueueGetMessage": "crate::event_queue::EventQueueGetMessage",
"T:LibreMetaverse.Messages.Linden.AttachmentResourcesMessage": "crate::message_decoder::AttachmentResourcesMessage",
"T:LibreMetaverse.Primitive.PhysicsProperties": "crate::message_decoder::PrimitivePhysicsProperties",
"T:LibreMetaverse.Primitive": "crate::object_model::Primitive",
"T:LibreMetaverse.Primitive.ConstructionData": "crate::object_model::PrimitiveConstructionData",
"T:LibreMetaverse.Primitive.FlexibleData": "crate::object_model::PrimitiveFlexibleData",
"T:LibreMetaverse.Primitive.LightData": "crate::object_model::PrimitiveLightData",
"T:LibreMetaverse.Primitive.LightImage": "crate::object_model::PrimitiveLightImage",
"T:LibreMetaverse.Primitive.ObjectProperties": "crate::object_model::PrimitiveObjectProperties",
"T:LibreMetaverse.Primitive.ParticleSystem": "crate::object_model::PrimitiveParticleSystem",
"T:LibreMetaverse.Primitive.SculptData": "crate::object_model::PrimitiveSculptData",
"T:LibreMetaverse.Primitive.TextureAnimation": "crate::object_model::PrimitiveTextureAnimation",
"T:LibreMetaverse.Primitive.TextureEntry": "crate::object_model::PrimitiveTextureEntry",
"T:LibreMetaverse.Primitive.TextureEntryFace": "crate::object_model::PrimitiveTextureEntryFace",
"T:LibreMetaverse.Materials.LegacyMaterial": "crate::object_model::LegacyMaterial",
"T:LibreMetaverse.ObjectMediaEventArgs": "crate::object_material::ObjectMediaEventArgs",
"T:LibreMetaverse.AvatarSitChangedEventArgs": "crate::object_manager::AvatarSitChangedEventArgs",
"T:LibreMetaverse.AvatarUpdateEventArgs": "crate::object_manager::AvatarUpdateEventArgs",
"T:LibreMetaverse.KillObjectEventArgs": "crate::object_manager::KillObjectEventArgs",
"T:LibreMetaverse.KillObjectsEventArgs": "crate::object_manager::KillObjectsEventArgs",
"T:LibreMetaverse.ObjectAnimationEventArgs": "crate::object_manager::ObjectAnimationEventArgs",
"T:LibreMetaverse.ObjectDataBlockUpdateEventArgs": "crate::object_manager::ObjectDataBlockUpdateEventArgs",
"T:LibreMetaverse.ObjectMovementUpdate": "crate::object_manager::ObjectMovementUpdate",
"T:LibreMetaverse.ObjectPropertiesEventArgs": "crate::object_manager::ObjectPropertiesEventArgs",
"T:LibreMetaverse.ObjectPropertiesFamilyEventArgs": "crate::object_manager::ObjectPropertiesFamilyEventArgs",
"T:LibreMetaverse.ObjectPropertiesUpdatedEventArgs": "crate::object_manager::ObjectPropertiesUpdatedEventArgs",
"T:LibreMetaverse.ParticleUpdateEventArgs": "crate::object_manager::ParticleUpdateEventArgs",
"T:LibreMetaverse.PayPriceReplyEventArgs": "crate::object_manager::PayPriceReplyEventArgs",
"T:LibreMetaverse.PhysicsPropertiesEventArgs": "crate::object_manager::PhysicsPropertiesEventArgs",
"T:LibreMetaverse.PrimEventArgs": "crate::object_manager::PrimEventArgs",
"T:LibreMetaverse.TerseObjectUpdateEventArgs": "crate::object_manager::TerseObjectUpdateEventArgs",
"T:LibreMetaverse.ArchetypeParam": "crate::genepool_catalog::ArchetypeParam",
"T:LibreMetaverse.AttentionData": "crate::attention_catalog::AttentionData",
"T:LibreMetaverse.AttentionSet": "crate::attention_catalog::AttentionSet",
"T:LibreMetaverse.BitPack": "crate::bit_pack::BitPack",
"T:LibreMetaverse.DrivenParamInfo": "crate::visual_catalog::DrivenParamInfo",
"T:LibreMetaverse.GrassDefinition": "crate::foliage_catalog::GrassDefinition",
"T:LibreMetaverse.GrassDefinitions": "crate::foliage_catalog::GrassDefinitions",
"T:LibreMetaverse.Genepool": "crate::genepool_catalog::Genepool",
"T:LibreMetaverse.GenepoolArchetype": "crate::genepool_catalog::GenepoolArchetype",
"T:LibreMetaverse.LindenAttentions": "crate::attention_catalog::LindenAttentions",
"T:LibreMetaverse.Packets.PacketType": "crate::packet_catalog::PacketType",
"T:LibreMetaverse.PrimMesher.Coord": "crate::prim_mesher::Coord",
"T:LibreMetaverse.PrimMesher.Face": "crate::prim_mesher::Face",
"T:LibreMetaverse.PrimMesher.Path": "crate::prim_mesher::Path",
"T:LibreMetaverse.PrimMesher.PathNode": "crate::prim_mesher::PathNode",
"T:LibreMetaverse.PrimMesher.PrimMesh": "crate::prim_mesher::PrimMesh",
"T:LibreMetaverse.PrimMesher.Profile": "crate::prim_mesher::Profile",
"T:LibreMetaverse.PrimMesher.Quat": "crate::prim_mesher::Quat",
"T:LibreMetaverse.PrimMesher.UVCoord": "crate::prim_mesher::UVCoord",
"T:LibreMetaverse.PrimMesher.ViewerFace": "crate::prim_mesher::ViewerFace",
"T:LibreMetaverse.PrimMesher.ObjMesh": "crate::obj_mesh::ObjMesh",
"T:LibreMetaverse.PrimMesher.SculptMap": "crate::sculpt::SculptMap",
"T:LibreMetaverse.PrimMesher.SculptMesh": "crate::sculpt::SculptMesh",
"T:LibreMetaverse.PrimMesher.VertexIndexer": "crate::vertex_indexer::VertexIndexer",
"T:LibreMetaverse.PrimMesher.ViewerPolygon": "crate::vertex_indexer::ViewerPolygon",
"T:LibreMetaverse.PrimMesher.ViewerVertex": "crate::vertex_indexer::ViewerVertex",
"T:LibreMetaverse.Imaging.Skia.SkiaTextureCodec": "crate::skia_codec::SkiaTextureCodec",
"T:LibreMetaverse.Imaging.ManagedImageCreator": "crate::j2k::ManagedImageCreator",
"T:LibreMetaverse.Imaging.ManagedImageInterleavedExtensions": "crate::j2k::ManagedImageInterleavedExtensions",
"T:LibreMetaverse.Imaging.Targa": "crate::targa::Targa",
"T:LibreMetaverse.Imaging.ITextureCodec": "crate::managed_image::ITextureCodec",
"T:LibreMetaverse.Imaging.ManagedImage": "crate::managed_image::ManagedImage",
"T:LibreMetaverse.Imaging.ManagedImage.ImageChannels": "crate::managed_image::ManagedImageImageChannels",
"T:LibreMetaverse.StructuredData.OSD": "crate::model::OSD",
"T:LibreMetaverse.StructuredData.OSDArray": "crate::model::OSDArray",
"T:LibreMetaverse.StructuredData.OSDBinary": "crate::model::OSDBinary",
"T:LibreMetaverse.StructuredData.OSDBoolean": "crate::model::OSDBoolean",
"T:LibreMetaverse.StructuredData.OSDDate": "crate::model::OSDDate",
"T:LibreMetaverse.StructuredData.OSDException": "crate::model::OSDException",
"T:LibreMetaverse.StructuredData.OSDFormat": "crate::model::OSDFormat",
"T:LibreMetaverse.StructuredData.OSDInteger": "crate::model::OSDInteger",
"T:LibreMetaverse.StructuredData.OSDLlsdXml": "crate::model::OSDLlsdXml",
"T:LibreMetaverse.StructuredData.OSDMap": "crate::model::OSDMap",
"T:LibreMetaverse.StructuredData.OSDReal": "crate::model::OSDReal",
"T:LibreMetaverse.StructuredData.OSDString": "crate::model::OSDString",
"T:LibreMetaverse.StructuredData.OSDType": "crate::model::OSDType",
"T:LibreMetaverse.StructuredData.OSDUUID": "crate::model::OSDUUID",
"T:LibreMetaverse.StructuredData.OSDUri": "crate::model::OSDUri",
"T:LibreMetaverse.CacheDictionary`2": "crate::collections::CacheDictionary",
"T:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator": "crate::collections::CacheDictionaryCacheDictionaryEnumerator",
"T:LibreMetaverse.Color4": "crate::color4::Color4",
"T:LibreMetaverse.CRC32": "crate::crc32::CRC32",
"T:LibreMetaverse.DoubleDictionary`3": "crate::collections::DoubleDictionary",
"T:LibreMetaverse.EmptyRemovalStrategy`1": "crate::collections::EmptyRemovalStrategy",
"T:LibreMetaverse.EnumInfoAttribute": "crate::enum_compat::EnumInfoAttribute",
"T:LibreMetaverse.EnumInfoExtensions": "crate::enum_compat::EnumInfoExtensions",
"T:LibreMetaverse.ExpiringCache`2": "crate::collections::ExpiringCache",
"T:LibreMetaverse.ICacheDictionaryRemovalStrategy`1": "crate::collections::ICacheDictionaryRemovalStrategy",
"T:LibreMetaverse.LruRemovalStrategy`1": "crate::collections::LruRemovalStrategy",
"T:LibreMetaverse.Matrix4": "crate::geometry::Matrix4",
"T:LibreMetaverse.MruRemovalStrategy`1": "crate::collections::MruRemovalStrategy",
"T:LibreMetaverse.MultiValueDictionary`2": "crate::collections::MultiValueDictionary",
"T:LibreMetaverse.Quaternion": "crate::geometry::Quaternion",
"T:LibreMetaverse.Ray": "crate::vectors::Ray",
"T:LibreMetaverse.TokenBucket": "crate::collections::TokenBucket",
"T:LibreMetaverse.UUID": "crate::uuid::UUID",
"T:LibreMetaverse.Vector2": "crate::vectors::Vector2",
"T:LibreMetaverse.Vector3": "crate::vectors::Vector3",
"T:LibreMetaverse.Vector3d": "crate::vectors::Vector3d",
"T:LibreMetaverse.Vector4": "crate::vectors::Vector4",
"T:LibreMetaverse.Utils": "crate::utils::Utils",
"T:LibreMetaverse.SkeletalBoneInfo": "crate::visual_catalog::SkeletalBoneInfo",
"T:LibreMetaverse.TreeDefinition": "crate::foliage_catalog::TreeDefinition",
"T:LibreMetaverse.TreeDefinitions": "crate::foliage_catalog::TreeDefinitions",
"T:LibreMetaverse.AgentThrottle": "crate::udp_transport::AgentThrottle",
"T:LibreMetaverse.IncomingPacketIDCollection": "crate::udp_transport::IncomingPacketIDCollection",
"T:LibreMetaverse.UDPBase": "crate::udp_transport::UDPBase",
"T:LibreMetaverse.UDPPacketBuffer": "crate::udp_transport::UDPPacketBuffer",
"T:LibreMetaverse.VisualAlphaParam": "crate::visual_catalog::VisualAlphaParam",
"T:LibreMetaverse.VisualColorParam": "crate::visual_catalog::VisualColorParam",
"T:LibreMetaverse.VisualParam": "crate::visual_catalog::VisualParam",
"T:LibreMetaverse.VisualParams": "crate::visual_catalog::VisualParams",
"T:LibreMetaverse.VolumeMorphInfo": "crate::visual_catalog::VolumeMorphInfo",
"T:LibreMetaverse.Rendering.CollisionVolume": "crate::skeleton::CollisionVolume",
"T:LibreMetaverse.Rendering.Joint": "crate::skeleton::Joint",
"T:LibreMetaverse.Rendering.JointBase": "crate::skeleton::JointBase",
"T:LibreMetaverse.Rendering.LindenSkeleton": "crate::skeleton::LindenSkeleton",
}
# Native declarations whose cataloged method implementations are still emitted
# below. This is used for static namespace types such as OSDParser: the type is
# hand-written, while its fixed public methods remain generator-audited.
NATIVE_DECLARATIONS = {
"T:LibreMetaverse.AgentManager": "crate::agent_manager::AgentManager",
"T:LibreMetaverse.Animation": "crate::avatar_manager::Animation",
"T:LibreMetaverse.Animesh.AnimationTrack": "crate::animesh_runtime::AnimationTrack",
"T:LibreMetaverse.Animesh.AnimeshManager": "crate::animesh_runtime::AnimeshManager",
"T:LibreMetaverse.Animesh.AnimeshPlayer": "crate::animesh_runtime::AnimeshPlayer",
"T:LibreMetaverse.Animesh.JointPose": "crate::animesh_runtime::JointPose",
"T:LibreMetaverse.AnimeshSkinning": "crate::animesh_skinning::AnimeshSkinning",
"T:LibreMetaverse.AppearanceManager": "crate::appearance_manager::AppearanceManager",
"T:LibreMetaverse.AvatarManager": "crate::avatar_manager::AvatarManager",
"T:LibreMetaverse.AvatarAnimationEventArgs": "crate::avatar_manager::AvatarAnimationEventArgs",
"T:LibreMetaverse.AppearanceSetEventArgs": "crate::appearance_manager::AppearanceSetEventArgs",
"T:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy": "crate::current_outfit::CompositeCurrentOutfitPolicy",
"T:LibreMetaverse.Appearance.CurrentOutfitFolder": "crate::current_outfit::CurrentOutfitFolder",
"T:LibreMetaverse.Appearance.InitialOutfit": "crate::initial_outfit::InitialOutfit",
"T:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress": "crate::initial_outfit::InitialOutfitProgress",
"T:LibreMetaverse.Appearance.InitialOutfitHandler": "crate::initial_outfit::InitialOutfitHandler",
"T:LibreMetaverse.GridClientBakingTextureProvider": "crate::baking_texture_provider::GridClientBakingTextureProvider",
"T:LibreMetaverse.Imaging.Baker": "crate::appearance_baker::Baker",
"T:LibreMetaverse.GridClient": "crate::client_core::GridClient",
"T:LibreMetaverse.BinBVHAnimationReader": "crate::animation::BinBVHAnimationReader",
"T:LibreMetaverse.binBVHJoint": "crate::animation::BinBVHJoint",
"T:LibreMetaverse.binBVHJointKey": "crate::animation::BinBVHJointKey",
"T:LibreMetaverse.InventoryManager": "crate::inventory_manager::InventoryManager",
"T:LibreMetaverse.InventoryAISClient": "crate::inventory_ais::InventoryAISClient",
"T:LibreMetaverse.NetworkManager": "crate::network_manager::NetworkManager",
"T:LibreMetaverse.ObjectManager": "crate::object_material::ObjectManager",
"T:LibreMetaverse.Rendering.MeshSkinData": "crate::animesh_skinning::MeshSkinData",
"T:LibreMetaverse.Rendering.AttachmentRiggedSkin": "crate::avatar_rig::AttachmentRiggedSkin",
"T:LibreMetaverse.Rendering.AvatarAttachmentPoint": "crate::avatar_rig::AvatarAttachmentPoint",
"T:LibreMetaverse.Rendering.AvatarBoneMath": "crate::avatar_rig::AvatarBoneMath",
"T:LibreMetaverse.Rendering.AvatarMeshDefinition": "crate::avatar_rig::AvatarMeshDefinition",
"T:LibreMetaverse.Rendering.LindenAvatarDefinition": "crate::avatar_rig::LindenAvatarDefinition",
"T:LibreMetaverse.Rendering.RiggedSkinMath": "crate::avatar_rig::RiggedSkinMath",
"T:LibreMetaverse.RebakeAvatarTexturesEventArgs": "crate::appearance_manager::RebakeAvatarTexturesEventArgs",
"T:LibreMetaverse.Settings": "crate::client_core::Settings",
"T:LibreMetaverse.Simulator": "crate::network_manager::Simulator",
"T:LibreMetaverse.StructuredData.OSDParser": "crate::model::OSDParser",
}
NATIVE_MEMBER_BODIES = {
"E:LibreMetaverse.ObjectManager.AvatarSitChanged":
"self.native_subscribe_avatar_sit_changed(handler)",
"E:LibreMetaverse.ObjectManager.AvatarUpdate":
"self.native_subscribe_avatar_update(handler)",
"E:LibreMetaverse.ObjectManager.KillObject":
"self.native_subscribe_kill_object(handler)",
"E:LibreMetaverse.ObjectManager.KillObjects":
"self.native_subscribe_kill_objects(handler)",
"E:LibreMetaverse.ObjectManager.ObjectAnimation":
"self.native_subscribe_object_animation(handler)",
"E:LibreMetaverse.ObjectManager.ObjectDataBlockUpdate":
"self.native_subscribe_object_data_block_update(handler)",
"E:LibreMetaverse.ObjectManager.ObjectProperties":
"self.native_subscribe_object_properties(handler)",
"E:LibreMetaverse.ObjectManager.ObjectPropertiesFamily":
"self.native_subscribe_object_properties_family(handler)",
"E:LibreMetaverse.ObjectManager.ObjectPropertiesUpdated":
"self.native_subscribe_object_properties_updated(handler)",
"E:LibreMetaverse.ObjectManager.ObjectUpdate":
"self.native_subscribe_object_update(handler)",
"E:LibreMetaverse.ObjectManager.ParticleUpdate":
"self.native_subscribe_particle_update(handler)",
"E:LibreMetaverse.ObjectManager.PayPriceReply":
"self.native_subscribe_pay_price_reply(handler)",
"E:LibreMetaverse.ObjectManager.PhysicsProperties":
"self.native_subscribe_physics_properties(handler)",
"E:LibreMetaverse.ObjectManager.TerseObjectUpdate":
"self.native_subscribe_terse_object_update(handler)",
"M:LibreMetaverse.Helpers.TEGlowByte(System.Single)":
"Ok(crate::object_model::te_glow_byte(glow))",
"M:LibreMetaverse.Helpers.TEGlowFloat(System.Byte[],System.Int32)":
"crate::object_model::te_glow_float(bytes, pos)",
"M:LibreMetaverse.Helpers.TEOffsetFloat(System.Byte[],System.Int32)":
"crate::object_model::te_offset_float(bytes, pos)",
"M:LibreMetaverse.Helpers.TEOffsetShort(System.Single)":
"Ok(crate::object_model::te_offset_short(offset))",
"M:LibreMetaverse.Helpers.TERotationFloat(System.Byte[],System.Int32)":
"crate::object_model::te_rotation_float(bytes, pos)",
"M:LibreMetaverse.Helpers.TERotationShort(System.Single)":
"Ok(crate::object_model::te_rotation_short(rotation))",
"M:LibreMetaverse.AvatarAnimationEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.Animation})":
"crate::avatar_manager::AvatarAnimationEventArgs::native_new(avatar_id, anims)",
"P:LibreMetaverse.AvatarAnimationEventArgs.Animations":
"self.native_animations()",
"P:LibreMetaverse.AvatarAnimationEventArgs.AvatarID":
"self.native_avatar_id()",
"E:LibreMetaverse.AvatarManager.AvatarAnimation": "self.native_subscribe_avatar_animation(handler)",
"E:LibreMetaverse.AvatarManager.AvatarAppearance": "self.native_subscribe_avatar_appearance(handler)",
"E:LibreMetaverse.AvatarManager.AvatarClassifiedReply": "self.native_subscribe_avatar_classified_reply(handler)",
"E:LibreMetaverse.AvatarManager.AvatarGroupsReply": "self.native_subscribe_avatar_groups_reply(handler)",
"E:LibreMetaverse.AvatarManager.AvatarInterestsReply": "self.native_subscribe_avatar_interests_reply(handler)",
"E:LibreMetaverse.AvatarManager.AvatarNotesReply": "self.native_subscribe_avatar_notes_reply(handler)",
"E:LibreMetaverse.AvatarManager.AvatarPickerReply": "self.native_subscribe_avatar_picker_reply(handler)",
"E:LibreMetaverse.AvatarManager.AvatarPicksReply": "self.native_subscribe_avatar_picks_reply(handler)",
"E:LibreMetaverse.AvatarManager.AvatarPropertiesReply": "self.native_subscribe_avatar_properties_reply(handler)",
"E:LibreMetaverse.AvatarManager.ClassifiedInfoReply": "self.native_subscribe_classified_info_reply(handler)",
"E:LibreMetaverse.AvatarManager.DisplayNameUpdate": "self.native_subscribe_display_name_update(handler)",
"E:LibreMetaverse.AvatarManager.PickInfoReply": "self.native_subscribe_pick_info_reply(handler)",
"E:LibreMetaverse.AvatarManager.UUIDNameReply": "self.native_subscribe_uuid_name_reply(handler)",
"E:LibreMetaverse.AvatarManager.ViewerEffect": "self.native_subscribe_viewer_effect(handler)",
"E:LibreMetaverse.AvatarManager.ViewerEffectLookAt": "self.native_subscribe_viewer_effect_look_at(handler)",
"E:LibreMetaverse.AvatarManager.ViewerEffectPointAt": "self.native_subscribe_viewer_effect_point_at(handler)",
"M:LibreMetaverse.Animesh.AnimationTrack.Advance(System.Single)":
"self.native_advance(dt)",
"M:LibreMetaverse.Animesh.AnimationTrack.EvaluatePose(System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Animesh.JointPose})":
"self.native_evaluate_pose(pose)",
"P:LibreMetaverse.Animesh.AnimationTrack.AnimationID":
"self.native_animation_id()",
"P:LibreMetaverse.Animesh.AnimationTrack.CurrentTime":
"self.native_current_time()",
"P:LibreMetaverse.Animesh.AnimationTrack.CurrentTime#set":
"self.native_set_current_time(value)",
"P:LibreMetaverse.Animesh.AnimationTrack.Data":
"self.native_data()",
"P:LibreMetaverse.Animesh.AnimationTrack.Data#set":
"self.native_set_data(value)",
"P:LibreMetaverse.Animesh.AnimationTrack.EaseWeight":
"self.native_ease_weight()",
"P:LibreMetaverse.Animesh.AnimationTrack.IsFinished":
"self.native_is_finished()",
"P:LibreMetaverse.Animesh.AnimationTrack.IsFinished#set":
"self.native_set_is_finished(value)",
"M:LibreMetaverse.Animesh.AnimeshManager.GetPlayer(LibreMetaverse.UUID)":
"Ok(self.native_get_player(object_id))",
"M:LibreMetaverse.Animesh.AnimeshManager.RemovePlayer(LibreMetaverse.UUID)":
"self.native_remove_player(object_id); Ok(())",
"M:LibreMetaverse.Animesh.AnimeshManager.Update(System.Single)":
"self.native_update(dt)",
"P:LibreMetaverse.Animesh.AnimeshManager.AllPlayers":
"Box::new(self.native_all_players().into_iter())",
"M:LibreMetaverse.Animesh.AnimeshPlayer.EvaluatePose":
"self.native_evaluate_pose()",
"M:LibreMetaverse.Animesh.AnimeshPlayer.Update(System.Single)":
"self.native_update(dt)",
"P:LibreMetaverse.Animesh.AnimeshPlayer.ObjectID":
"self.native_object_id()",
"P:LibreMetaverse.Animesh.AnimeshPlayer.TrackCount":
"self.native_track_count()",
"M:LibreMetaverse.AnimeshSkinning.ComputeSkinningMatrices(System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Animesh.JointPose},LibreMetaverse.Rendering.LindenSkeleton,LibreMetaverse.Rendering.MeshSkinData)":
"crate::animesh_skinning::AnimeshSkinning::native_compute_skinning_matrices(pose, skeleton, skin_data)",
"M:LibreMetaverse.AnimeshSkinning.DeformVertices(LibreMetaverse.Rendering.Face,LibreMetaverse.Matrix4[],LibreMetaverse.Matrix4,System.Span{LibreMetaverse.Vector3},System.Span{LibreMetaverse.Vector3})":
"crate::animesh_skinning::AnimeshSkinning::native_deform_vertices(face, skinning_matrices, bind_shape_matrix, out_positions, out_normals)",
"M:LibreMetaverse.BinBVHAnimationReader.#ctor(System.Byte[])":
"crate::animation::BinBVHAnimationReader::native_new(animationdata)",
"M:LibreMetaverse.BinBVHAnimationReader.Equals(LibreMetaverse.BinBVHAnimationReader)":
"self.native_equals(other.as_ref())",
"M:LibreMetaverse.BinBVHAnimationReader.Equals(LibreMetaverse.binBVHJoint[],LibreMetaverse.binBVHJoint[])":
"crate::animation::joints_equal(&arr1, &arr2)",
"M:LibreMetaverse.BinBVHAnimationReader.Equals(System.Object)":
"obj.as_ref().and_then(|value| value.downcast_ref::<crate::animation::BinBVHAnimationReader>()).is_some_and(|other| self.native_equals(Some(other)))",
"M:LibreMetaverse.BinBVHAnimationReader.GetHashCode":
"self.native_get_hash_code()",
"M:LibreMetaverse.BinBVHAnimationReader.ReadBytesUntilNull(System.Byte[],System.Int32@)":
"self.native_read_bytes_until_null(data, i)",
"M:LibreMetaverse.BinBVHAnimationReader.readJoint(System.Byte[],System.Int32@)":
"self.native_read_joint(data, i)",
"M:LibreMetaverse.BinBVHAnimationReader.readKeys(System.Byte[],System.Int32@,System.Int32,System.Single,System.Single)":
"self.native_read_keys(data, i, keycount, min, max)",
"M:LibreMetaverse.binBVHJoint.Equals(LibreMetaverse.binBVHJoint)":
"self.native_equals(&other)",
"M:LibreMetaverse.binBVHJoint.Equals(LibreMetaverse.binBVHJointKey,LibreMetaverse.binBVHJointKey)":
"crate::animation::key_equal(&arr1, &arr2)",
"M:LibreMetaverse.binBVHJoint.Equals(LibreMetaverse.binBVHJointKey[],LibreMetaverse.binBVHJointKey[])":
"crate::animation::keys_equal(&arr1, &arr2)",
"M:LibreMetaverse.binBVHJoint.Equals(System.Object)":
"obj.as_ref().and_then(|value| value.downcast_ref::<crate::animation::BinBVHJoint>()).is_some_and(|other| self.native_equals(other))",
"M:LibreMetaverse.binBVHJoint.GetHashCode":
"self.native_get_hash_code()",
"M:LibreMetaverse.binBVHJoint.op_Equality(LibreMetaverse.binBVHJoint,LibreMetaverse.binBVHJoint)":
"left.native_equals(&right)",
"M:LibreMetaverse.binBVHJoint.op_Inequality(LibreMetaverse.binBVHJoint,LibreMetaverse.binBVHJoint)":
"!left.native_equals(&right)",
"M:LibreMetaverse.Rendering.MeshSkinData.#ctor":
"crate::animesh_skinning::MeshSkinData::native_new()",
"M:LibreMetaverse.Rendering.AttachmentRiggedSkin.#ctor":
"crate::avatar_rig::AttachmentRiggedSkin::native_new()",
"P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Group":
"self.native_group()",
"P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Id":
"self.native_id()",
"P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Joint":
"self.native_joint()",
"P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Location":
"self.native_location()",
"P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Name":
"self.native_name()",
"P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Position":
"self.native_position()",
"P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Rotation":
"self.native_rotation()",
"P:LibreMetaverse.Rendering.AvatarAttachmentPoint.VisibleInFirstPerson":
"self.native_visible_in_first_person()",
"M:LibreMetaverse.Rendering.AvatarBoneMath.BuildBoneWorldMatrices(LibreMetaverse.Rendering.LindenSkeleton,System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform})":
"crate::avatar_rig::AvatarBoneMath::native_build_bone_world_matrices(skeleton, bone_transforms)",
"M:LibreMetaverse.Rendering.AvatarBoneMath.ComputeAnimatedBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition,System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform},System.Collections.Generic.IReadOnlyDictionary{System.String,System.Numerics.Quaternion})":
"crate::avatar_rig::AvatarBoneMath::native_compute_animated_bone_world_matrices(&avatar_def, &bone_transforms, &rot_deltas)",
"M:LibreMetaverse.Rendering.AvatarBoneMath.ComputeAnimatedBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition,System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform},System.Collections.Generic.IReadOnlyDictionary{System.String,System.Numerics.Quaternion},System.Collections.Generic.Dictionary{System.String,System.Numerics.Matrix4x4})":
"let computed = crate::avatar_rig::AvatarBoneMath::native_compute_animated_bone_world_matrices(&avatar_def, &bone_transforms, &rot_deltas)?; let mut result = result; result.clear(); result.extend(computed); Ok(())",
"M:LibreMetaverse.Rendering.AvatarBoneMath.ComputeAttachmentBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition,System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform},System.Collections.Generic.IReadOnlyDictionary{System.String,System.Numerics.Quaternion})":
"crate::avatar_rig::AvatarBoneMath::native_compute_attachment_bone_world_matrices(&avatar_def, &bone_transforms, &rot_deltas)",
"M:LibreMetaverse.Rendering.AvatarBoneMath.ComputeAttachmentBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition,System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform},System.Collections.Generic.IReadOnlyDictionary{System.String,System.Numerics.Quaternion},System.Collections.Generic.Dictionary{System.String,System.Numerics.Matrix4x4})":
"let computed = crate::avatar_rig::AvatarBoneMath::native_compute_attachment_bone_world_matrices(&avatar_def, &bone_transforms, &rot_deltas)?; let mut result = result; result.clear(); result.extend(computed); Ok(())",
"M:LibreMetaverse.Rendering.AvatarBoneMath.ComputeGroundAdjustment(System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform})":
"Ok(crate::avatar_rig::AvatarBoneMath::native_compute_ground_adjustment(bone_transforms.as_ref()))",
"M:LibreMetaverse.Rendering.AvatarBoneMath.StripScale(System.Numerics.Matrix4x4)":
"Ok(crate::avatar_rig::AvatarBoneMath::native_strip_scale(m))",
"P:LibreMetaverse.Rendering.AvatarMeshDefinition.FileName":
"self.native_file_name()",
"P:LibreMetaverse.Rendering.AvatarMeshDefinition.LodLevel":
"self.native_lod_level()",
"P:LibreMetaverse.Rendering.AvatarMeshDefinition.MinPixelWidth":
"self.native_min_pixel_width()",
"P:LibreMetaverse.Rendering.AvatarMeshDefinition.Type":
"self.native_type()",
"M:LibreMetaverse.Rendering.LindenAvatarDefinition.ComputeBoneTransforms(System.Collections.Generic.IReadOnlyDictionary{System.Int32,System.Single})":
"self.native_compute_bone_transforms(&param_values)",
"M:LibreMetaverse.Rendering.LindenAvatarDefinition.GetAttachmentPoint(System.Int32)":
"Ok(self.native_get_attachment_point_by_id(id))",
"M:LibreMetaverse.Rendering.LindenAvatarDefinition.GetAttachmentPoint(System.String)":
"Ok(self.native_get_attachment_point_by_name(&name))",
"M:LibreMetaverse.Rendering.LindenAvatarDefinition.Load(System.String,System.String)":
"crate::avatar_rig::LindenAvatarDefinition::native_load(lad_file_name, skeleton_file_name)",
"P:LibreMetaverse.Rendering.LindenAvatarDefinition.AttachmentPoints":
"self.native_attachment_points()",
"P:LibreMetaverse.Rendering.LindenAvatarDefinition.MeshDefinitions":
"self.native_mesh_definitions()",
"P:LibreMetaverse.Rendering.LindenAvatarDefinition.Skeleton":
"self.native_skeleton()",
"M:LibreMetaverse.Rendering.RiggedSkinMath.BuildInvBindMatrices(LibreMetaverse.Rendering.MeshSkinData)":
"crate::avatar_rig::RiggedSkinMath::native_build_inv_bind_matrices(&skin)",
"M:LibreMetaverse.Rendering.RiggedSkinMath.ExtractJointPositionOverrides(LibreMetaverse.Rendering.MeshSkinData)":
"crate::avatar_rig::RiggedSkinMath::native_extract_joint_position_overrides(&skin)",
"M:LibreMetaverse.Rendering.RiggedSkinMath.FloatsToMatrix(System.Single[])":
"Ok(crate::avatar_rig::RiggedSkinMath::native_floats_to_matrix(&f))",
"M:LibreMetaverse.Rendering.RiggedSkinMath.NormalizeSkinWeights(System.Int32,System.Int32@,System.Single@,System.Int32@,System.Single@,System.Int32@,System.Single@,System.Int32@,System.Single@)":
"crate::avatar_rig::RiggedSkinMath::native_normalize_skin_weights(joint_count, [j0, j1, j2, j3], [w0, w1, w2, w3]); Ok(())",
"M:LibreMetaverse.NameValue.#ctor(System.String,LibreMetaverse.NameValue.ValueType,LibreMetaverse.NameValue.ClassType,LibreMetaverse.NameValue.SendtoType,System.Object)":
"Ok(crate::NameValue { class_: class_type, name, sendto: sendto_type, type_: value_type, value: Some(value) })",
"M:LibreMetaverse.Primitive.#ctor":
"Ok(crate::current_outfit::primitive_defaults())",
"M:LibreMetaverse.Appearance.ICurrentOutfitPolicy.CanAttach(LibreMetaverse.InventoryItem)":
"crate::current_outfit::default_policy_decision(item)",
"M:LibreMetaverse.Appearance.ICurrentOutfitPolicy.CanDetach(LibreMetaverse.InventoryItem)":
"crate::current_outfit::default_policy_decision(item)",
"M:LibreMetaverse.Appearance.ICurrentOutfitPolicy.ReportItemChangeAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Threading.CancellationToken)":
"crate::current_outfit::default_policy_report(added_items, removed_items, cancellation_token)",
"M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.#ctor":
"crate::current_outfit::CompositeCurrentOutfitPolicy::native_new()",
"M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.AddPolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy)":
"self.native_add_policy(policy_to_add)",
"M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.CanAttach(LibreMetaverse.InventoryItem)":
"self.native_can_attach(item)",
"M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.CanDetach(LibreMetaverse.InventoryItem)":
"self.native_can_detach(item)",
"M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.RemovePolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy)":
"self.native_remove_policy(policy_to_remove)",
"M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.ReportItemChangeAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Threading.CancellationToken)":
"self.native_report_item_change(added_items, removed_items, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.#ctor(LibreMetaverse.GridClient)":
"crate::current_outfit::CurrentOutfitFolder::native_new(client)",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.AddPolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy)":
"self.native_add_policy(policy_to_add)",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.AddToOutfitAsync(LibreMetaverse.InventoryItem,System.Boolean,System.Threading.CancellationToken)":
"self.native_add_to_outfit(vec![item], replace, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.AddToOutfitAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Boolean,System.Threading.CancellationToken)":
"self.native_add_to_outfit(requested_items_to_add, replace, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.AttachAsync(LibreMetaverse.InventoryItem,LibreMetaverse.AttachmentPoint,System.Boolean,System.Threading.CancellationToken)":
"self.native_attach(item, point, replace, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.CanAttachItemAsync(LibreMetaverse.InventoryItem,System.Threading.CancellationToken)":
"self.native_can_attach_item(item, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.CanDetachItemAsync(LibreMetaverse.InventoryItem,System.Threading.CancellationToken)":
"self.native_can_detach_item(item, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.DetachAsync(LibreMetaverse.InventoryItem,System.Threading.CancellationToken)":
"self.native_detach(item, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.Dispose":
"self.native_dispose()",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.FetchParentAsync(LibreMetaverse.InventoryBase,System.Threading.CancellationToken)":
"self.native_fetch_parent(item, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.GetAttachmentItemID(LibreMetaverse.Primitive)":
"crate::current_outfit::CurrentOutfitFolder::native_get_attachment_item_id(prim)",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.GetCurrentOutfitLinksAsync(System.Threading.CancellationToken)":
"self.native_get_current_outfit_links(cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.GetWornAtAsync(LibreMetaverse.WearableType,System.Threading.CancellationToken)":
"self.native_get_worn_at(type_, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.IsObjectDescendentOfAsync(LibreMetaverse.InventoryBase,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_is_object_descendent_of(item, parent_id, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.RemoveFromOutfitAsync(LibreMetaverse.InventoryItem,System.Threading.CancellationToken)":
"self.native_remove_from_outfit(vec![item], cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.RemoveFromOutfitAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Threading.CancellationToken)":
"self.native_remove_from_outfit(requested_items_to_remove, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.RemovePolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy)":
"self.native_remove_policy(policy_to_remove)",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.ReplaceOutfitAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_replace_outfit(new_outfit_folder_id, cancellation_token).await",
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.ResolveInventoryLink(LibreMetaverse.InventoryItem)":
"self.native_resolve_inventory_link(item_link)",
"P:LibreMetaverse.Appearance.CurrentOutfitFolder.COF":
"self.native_cof()",
"P:LibreMetaverse.Appearance.CurrentOutfitFolder.COF#set":
"self.native_set_cof(value)",
"P:LibreMetaverse.Appearance.CurrentOutfitFolder.MaxClothingLayers":
"crate::current_outfit::MAX_CLOTHING_LAYERS",
"M:LibreMetaverse.Appearance.InitialOutfit.#ctor(LibreMetaverse.GridClient,LibreMetaverse.Appearance.CurrentOutfitFolder)":
"crate::initial_outfit::InitialOutfit::native_new(client, cof)",
"M:LibreMetaverse.Appearance.InitialOutfit.CheckSystemFoldersAsync(System.Threading.CancellationToken)":
"self.native_check_system_folders(cancellation_token).await",
"M:LibreMetaverse.Appearance.InitialOutfit.CopyFolderAsync(LibreMetaverse.InventoryFolder,LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress})":
"self.native_copy_folder(folder, destination, cancellation_token, progress).await",
"M:LibreMetaverse.Appearance.InitialOutfit.CreateFolderAsync(LibreMetaverse.UUID,System.String,LibreMetaverse.FolderType,System.Threading.CancellationToken)":
"self.native_create_folder(parent, name, type_, cancellation_token).await",
"M:LibreMetaverse.Appearance.InitialOutfit.FindNodeByName(LibreMetaverse.InventoryNode,System.String)":
"crate::initial_outfit::InitialOutfit::native_find_node_by_name(root, name)",
"M:LibreMetaverse.Appearance.InitialOutfit.SetInitialOutfitAsync(System.String,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress})":
"self.native_set_initial_outfit(outfit, cancellation_token, progress).await",
"M:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.#ctor":
"crate::initial_outfit::InitialOutfitProgress::native_new()",
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.CurrentItemName":
"self.native_current_item_name()",
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.CurrentItemName#set":
"self.native_set_current_item_name(value)",
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.ItemsCopied":
"self.native_items_copied()",
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.ItemsCopied#set":
"self.native_set_items_copied(value)",
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Message":
"self.native_message()",
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Message#set":
"self.native_set_message(value)",
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Phase":
"self.native_phase()",
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Phase#set":
"self.native_set_phase(value)",
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.TotalItems":
"self.native_total_items()",
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.TotalItems#set":
"self.native_set_total_items(value)",
"M:LibreMetaverse.Appearance.InitialOutfitHandler.#ctor(LibreMetaverse.GridClient,LibreMetaverse.Appearance.CurrentOutfitFolder,System.IProgress{LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress})":
"crate::initial_outfit::InitialOutfitHandler::native_new(client, cof, progress)",
"M:LibreMetaverse.Appearance.InitialOutfitHandler.Dispose":
"self.native_dispose()",
"M:LibreMetaverse.AppearanceManager.#ctor(LibreMetaverse.GridClient)":
"crate::appearance_manager::AppearanceManager::native_new(client)",
"M:LibreMetaverse.AppearanceSetEventArgs.#ctor(System.Boolean)":
"Ok(crate::appearance_manager::AppearanceSetEventArgs::native_new(success))",
"P:LibreMetaverse.AppearanceSetEventArgs.Success":
"self.native_success()",
"M:LibreMetaverse.RebakeAvatarTexturesEventArgs.#ctor(LibreMetaverse.UUID)":
"Ok(crate::appearance_manager::RebakeAvatarTexturesEventArgs::native_new(texture_id))",
"P:LibreMetaverse.RebakeAvatarTexturesEventArgs.TextureID":
"self.native_texture_id()",
"E:LibreMetaverse.AppearanceManager.AgentWearablesReply":
"self.native_subscribe_agent_wearables_reply(handler)",
"E:LibreMetaverse.AppearanceManager.AppearanceSet":
"self.native_subscribe_appearance_set(handler)",
"E:LibreMetaverse.AppearanceManager.CachedBakesReply":
"self.native_subscribe_cached_bakes_reply(handler)",
"E:LibreMetaverse.AppearanceManager.RebakeAvatarRequested":
"self.native_subscribe_rebake_avatar_requested(handler)",
"F:LibreMetaverse.AppearanceManager.ATTACHMENT_ADD":
"crate::appearance_manager::ATTACHMENT_ADD",
"F:LibreMetaverse.AppearanceManager.BAKED_TEXTURE_HASH":
"crate::appearance_manager::baked_texture_hash()",
"F:LibreMetaverse.AppearanceManager.BakeIndexToTextureIndex":
"crate::appearance_manager::bake_index_to_texture_index()",
"F:LibreMetaverse.AppearanceManager.DEFAULT_AVATAR_TEXTURE":
"crate::appearance_manager::default_avatar_texture()",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX1":
"crate::appearance_manager::img_use_baked(crate::BakeType::BakedAux1)",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX2":
"crate::appearance_manager::img_use_baked(crate::BakeType::BakedAux2)",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX3":
"crate::appearance_manager::img_use_baked(crate::BakeType::BakedAux3)",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_EYES":
"crate::appearance_manager::img_use_baked(crate::BakeType::Eyes)",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_HAIR":
"crate::appearance_manager::img_use_baked(crate::BakeType::Hair)",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_HEAD":
"crate::appearance_manager::img_use_baked(crate::BakeType::Head)",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_INDICES":
"crate::appearance_manager::img_use_baked_indices()",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LEFTARM":
"crate::appearance_manager::img_use_baked(crate::BakeType::BakedLeftArm)",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LEFTLEG":
"crate::appearance_manager::img_use_baked(crate::BakeType::BakedLeftLeg)",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LOWER":
"crate::appearance_manager::img_use_baked(crate::BakeType::LowerBody)",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_SKIRT":
"crate::appearance_manager::img_use_baked(crate::BakeType::Skirt)",
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_UPPER":
"crate::appearance_manager::img_use_baked(crate::BakeType::UpperBody)",
"F:LibreMetaverse.AppearanceManager.WEARABLE_BAKE_MAP":
"crate::appearance_manager::wearable_bake_map()",
"M:LibreMetaverse.AppearanceManager.AddAttachments(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Boolean,System.Boolean)":
"self.native_add_attachments(attachments, remove_existing_first, replace.unwrap_or(false))",
"M:LibreMetaverse.AppearanceManager.AddToOutfit(LibreMetaverse.InventoryItem,System.Boolean)":
"self.native_add_to_outfit(vec![wearable_item], replace.unwrap_or(false))",
"M:LibreMetaverse.AppearanceManager.AddToOutfit(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Boolean)":
"self.native_add_to_outfit(wearable_items, replace.unwrap_or(false))",
"M:LibreMetaverse.AppearanceManager.BakeTypeToAgentTextureIndex(LibreMetaverse.BakeType)":
"Ok(crate::appearance_manager::bake_type_to_agent_texture_index(index))",
"M:LibreMetaverse.AppearanceManager.BakeTypeToTextures(LibreMetaverse.BakeType)":
"Ok(crate::appearance_manager::bake_type_to_textures(bake_type))",
"M:LibreMetaverse.AppearanceManager.Attach(LibreMetaverse.InventoryItem,LibreMetaverse.AttachmentPoint,System.Boolean)":
"self.native_attach(item, attach_point, replace.unwrap_or(false))",
"M:LibreMetaverse.AppearanceManager.Attach(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.String,LibreMetaverse.Permissions,System.UInt32,LibreMetaverse.AttachmentPoint,System.Boolean)":
"self.native_attach_fields(item_id, owner_id, name, description, perms, item_flags, attach_point, replace.unwrap_or(false))",
"M:LibreMetaverse.AppearanceManager.Detach(LibreMetaverse.InventoryItem)":
"self.native_detach(item.base.uuid())",
"M:LibreMetaverse.AppearanceManager.Detach(LibreMetaverse.UUID)":
"self.native_detach(item_id)",
"M:LibreMetaverse.AppearanceManager.DecodeWearableParams(LibreMetaverse.AppearanceManager.WearableData,LibreMetaverse.AppearanceManager.TextureData[]@)":
"crate::appearance_manager::decode_wearable_params(wearable, textures)",
"M:LibreMetaverse.AppearanceManager.Dispose":
"self.native_dispose()",
"M:LibreMetaverse.AppearanceManager.GetAttachments":
"self.native_get_attachments()",
"M:LibreMetaverse.AppearanceManager.GetAttachmentsByAttachmentPointAsync(System.Threading.CancellationToken)":
"self.native_get_attachments_by_point(cancellation_token).await",
"M:LibreMetaverse.AppearanceManager.GetAttachmentsByInventoryItem":
"self.native_get_attachments_by_item()",
"M:LibreMetaverse.AppearanceManager.GetAttachmentsByItemId":
"self.native_get_attachments_by_id()",
"M:LibreMetaverse.AppearanceManager.GetCurrentOutfitFolderAsync(System.Threading.CancellationToken)":
"self.native_get_current_outfit_folder(cancellation_token).await",
"M:LibreMetaverse.AppearanceManager.GetColorFromParams(System.Collections.Generic.List{LibreMetaverse.AppearanceManager.ColorParamInfo})":
"crate::appearance_manager::color_from_params(param)",
"M:LibreMetaverse.AppearanceManager.GetFolderWearablesAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_get_folder_wearables(folder, cancellation_token).await",
"M:LibreMetaverse.AppearanceManager.GetWearableAssets(LibreMetaverse.WearableType)":
"self.native_get_wearable_assets(type_)",
"M:LibreMetaverse.AppearanceManager.GetWearables":
"self.native_get_wearables()",
"M:LibreMetaverse.AppearanceManager.GetWearablesByType":
"self.native_get_wearables_by_type()",
"M:LibreMetaverse.AppearanceManager.GetCurrentParamValues":
"self.native_get_current_param_values()",
"M:LibreMetaverse.AppearanceManager.IsItemWorn(LibreMetaverse.InventoryItem)":
"self.native_is_item_worn(item.base.uuid())",
"M:LibreMetaverse.AppearanceManager.IsItemWorn(LibreMetaverse.UUID)":
"Ok(self.native_is_item_worn(item_id)? != libremetaverse_types::WearableType::Invalid)",
"M:LibreMetaverse.AppearanceManager.RemoveFromOutfit(LibreMetaverse.InventoryItem)":
"self.native_remove_from_outfit(vec![wearable_item])",
"M:LibreMetaverse.AppearanceManager.RemoveFromOutfit(System.Collections.Generic.List{LibreMetaverse.InventoryItem})":
"self.native_remove_from_outfit(wearable_items)",
"M:LibreMetaverse.AppearanceManager.ReplaceOutfitAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem})":
"self.native_replace_outfit(wearable_items, false).await",
"M:LibreMetaverse.AppearanceManager.ReplaceOutfitAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Boolean)":
"self.native_replace_outfit(wearable_items, safe).await",
"M:LibreMetaverse.AppearanceManager.RequestAgentWornAsync(System.Threading.CancellationToken)":
"self.native_request_agent_worn(cancellation_token).await",
"M:LibreMetaverse.AppearanceManager.MakeAppearancePacket":
"self.native_make_appearance_packet()",
"M:LibreMetaverse.AppearanceManager.MorphLayerForBakeType(LibreMetaverse.BakeType)":
"Ok(crate::appearance_manager::morph_layer_for_bake_type(bake_type))",
"M:LibreMetaverse.AppearanceManager.RequestCachedBakes":
"self.native_request_cached_bakes()",
"M:LibreMetaverse.AppearanceManager.RequestSetAppearance(System.Boolean)":
"self.native_request_set_appearance(force_rebake.unwrap_or(false)).await",
"M:LibreMetaverse.AppearanceManager.ServerBakingRegion":
"self.native_server_baking_region()",
"M:LibreMetaverse.AppearanceManager.SendOutfitToCurrentSimulatorAsync(System.Threading.CancellationToken)":
"self.native_send_outfit(cancellation_token).await",
"M:LibreMetaverse.AppearanceManager.UpdateLastReceivedCOFVersion(System.Int32)":
"self.native_update_cof_version(cof_version)",
"M:LibreMetaverse.AppearanceManager.WearOutfitAsync(System.Collections.Generic.List{LibreMetaverse.InventoryBase},System.Boolean)":
"self.native_wear_outfit(wearables, replace_items).await",
"M:LibreMetaverse.AppearanceManager.WearableTypeToAssetType(LibreMetaverse.WearableType)":
"Ok(crate::appearance_manager::wearable_type_to_asset_type(type_))",
"M:LibreMetaverse.AppearanceManager.isItemAttached(LibreMetaverse.InventoryItem)":
"Ok(self.native_is_item_attached(item.base.uuid()))",
"M:LibreMetaverse.AppearanceManager.isItemAttached(LibreMetaverse.UUID)":
"Ok(self.native_is_item_attached(key))",
"P:LibreMetaverse.AppearanceManager.LastUpdateReceivedCOFVersion":
"self.native_last_cof_version()",
"P:LibreMetaverse.AppearanceManager.ManagerBusy":
"self.native_manager_busy()",
"P:LibreMetaverse.AppearanceManager.TextureProvider":
"self.native_texture_provider()",
"P:LibreMetaverse.AppearanceManager.TextureProvider#set":
"self.native_set_texture_provider(value)",
"M:LibreMetaverse.AppearanceManager.TextureData.#ctor":
"crate::appearance_manager::texture_data_defaults()",
"M:LibreMetaverse.AppearanceManager.TextureData.ToString":
"crate::appearance_manager::texture_data_to_string(self)",
"M:LibreMetaverse.AppearanceManager.WearableData.#ctor":
"crate::appearance_manager::wearable_data_defaults()",
"M:LibreMetaverse.AppearanceManager.WearableData.ToString":
"crate::appearance_manager::wearable_data_to_string(self)",
"M:LibreMetaverse.GridClientBakingTextureProvider.#ctor(LibreMetaverse.GridClient)":
"crate::baking_texture_provider::GridClientBakingTextureProvider::native_new(client)",
"M:LibreMetaverse.GridClientBakingTextureProvider.RequestTextureAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_request_texture(texture_id, cancellation_token).await",
"M:LibreMetaverse.Imaging.Baker.#ctor(LibreMetaverse.BakeType)":
"crate::appearance_baker::Baker::native_new(bake_type)",
"M:LibreMetaverse.Imaging.Baker.AddTexture(LibreMetaverse.AppearanceManager.TextureData)":
"self.native_add_texture(tdata)",
"M:LibreMetaverse.Imaging.Baker.Bake":
"self.native_bake()",
"M:LibreMetaverse.Imaging.Baker.BakeTypeFor(LibreMetaverse.AvatarTextureIndex)":
"Ok(crate::appearance_baker::Baker::native_bake_type_for(index))",
"M:LibreMetaverse.Imaging.Baker.LoadResourceLayer(System.String)":
"crate::appearance_baker::Baker::native_load_resource_layer(file_name)",
"P:LibreMetaverse.Imaging.Baker.BakeHeight":
"self.native_bake_height()",
"P:LibreMetaverse.Imaging.Baker.BakeType":
"self.native_bake_type()",
"P:LibreMetaverse.Imaging.Baker.BakeWidth":
"self.native_bake_width()",
"P:LibreMetaverse.Imaging.Baker.BakedTexture":
"self.native_baked_texture()",
"P:LibreMetaverse.Imaging.Baker.Textures":
"self.native_textures()",
"P:LibreMetaverse.GridClient.Appearance":
"self.native_appearance().unwrap_or_else(|_| panic!(\"failed to construct AppearanceManager\"))",
"P:LibreMetaverse.GridClient.Appearance#set":
"self.native_set_appearance(value)",
"P:LibreMetaverse.GridClient.Animesh":
"self.native_animesh().unwrap_or_else(|_| panic!(\"failed to construct AnimeshManager\"))",
"P:LibreMetaverse.GridClient.Animesh#set":
"self.native_set_animesh(value)",
"P:LibreMetaverse.GridClient.Avatars":
"self.native_avatars().unwrap_or_else(|_| panic!(\"failed to construct AvatarManager\"))",
"P:LibreMetaverse.GridClient.Avatars#set":
"self.native_set_avatars(value)",
"M:LibreMetaverse.AvatarManager.#ctor(LibreMetaverse.GridClient)":
"crate::avatar_manager::AvatarManager::native_new(client)",
"M:LibreMetaverse.AvatarManager.AgentProfileAvailable":
"self.native_capability_available(\"AgentProfile\")",
"M:LibreMetaverse.AvatarManager.DisplayNamesAvailable":
"self.native_capability_available(\"GetDisplayNames\")",
"M:LibreMetaverse.AvatarManager.Dispose":
"self.native_dispose()",
"M:LibreMetaverse.AvatarManager.RequestOwnAvatarTextures":
"self.native_request_own_avatar_textures()",
"M:LibreMetaverse.AvatarManager.RequestTrackAgent(LibreMetaverse.UUID)":
"self.native_request_track_agent(prey_id)",
"M:LibreMetaverse.AvatarManager.RequestAvatarName(LibreMetaverse.UUID)":
"self.native_request_avatar_names(&[id])",
"M:LibreMetaverse.AvatarManager.RequestAvatarNames(System.Collections.Generic.List{LibreMetaverse.UUID})":
"self.native_request_avatar_names(&ids)",
"M:LibreMetaverse.AvatarManager.RequestAvatarProperties(LibreMetaverse.UUID)":
"self.native_request_avatar_properties(avatarid)",
"M:LibreMetaverse.AvatarManager.RequestAvatarNameSearch(System.String,LibreMetaverse.UUID)":
"self.native_request_avatar_name_search(name, query_id)",
"M:LibreMetaverse.AvatarManager.RequestAvatarNotes(LibreMetaverse.UUID)":
"self.native_request_generic(\"avatarnotesrequest\", &[avatarid])",
"M:LibreMetaverse.AvatarManager.RequestAvatarPicks(LibreMetaverse.UUID)":
"self.native_request_generic(\"avatarpicksrequest\", &[avatarid])",
"M:LibreMetaverse.AvatarManager.RequestAvatarClassified(LibreMetaverse.UUID)":
"self.native_request_generic(\"avatarclassifiedsrequest\", &[avatarid])",
"M:LibreMetaverse.AvatarManager.RequestPickInfo(LibreMetaverse.UUID,LibreMetaverse.UUID)":
"self.native_request_generic(\"pickinforequest\", &[avatarid, pickid])",
"M:LibreMetaverse.AvatarManager.RequestClassifiedInfo(LibreMetaverse.UUID)":
"self.native_request_classified_info(classifiedid)",
"M:LibreMetaverse.AvatarManager.GetDisplayNamesAsync(System.Collections.Generic.List{LibreMetaverse.UUID},System.Threading.CancellationToken)":
"self.native_get_display_names(ids, cancellation_token).await",
"M:LibreMetaverse.AvatarManager.RequestAgentProfileAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_request_agent_profile(avatarid, cancellation_token).await",
"M:LibreMetaverse.Messages.Linden.AgentProfileMessage.#ctor":
"Ok(crate::avatar_manager::agent_profile_defaults())",
"M:LibreMetaverse.Messages.Linden.AgentProfileMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)":
"crate::avatar_manager::deserialize_agent_profile(self, &map)",
"M:LibreMetaverse.Messages.Linden.AgentProfileMessage.Serialize":
"crate::avatar_manager::serialize_agent_profile(self)",
"M:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.#ctor":
"Ok(crate::avatar_manager::agent_profile_group_defaults())",
"M:LibreMetaverse.Avatar.AvatarProperties.FromOSD(LibreMetaverse.StructuredData.OSD)":
"crate::agent_messages::avatar_properties_from_osd(o)",
"M:LibreMetaverse.Avatar.AvatarProperties.GetOSD":
"crate::agent_messages::avatar_properties_get_osd(self)",
"P:LibreMetaverse.Avatar.AvatarProperties.AllowPublish":
"self.flags.0 & crate::ProfileFlags::ALLOW_PUBLISH.0 != 0",
"P:LibreMetaverse.Avatar.AvatarProperties.AllowPublish#set":
"if value { self.flags.0 |= crate::ProfileFlags::ALLOW_PUBLISH.0 } else { self.flags.0 &= !crate::ProfileFlags::ALLOW_PUBLISH.0 }",
"P:LibreMetaverse.Avatar.AvatarProperties.Identified":
"self.flags.0 & crate::ProfileFlags::IDENTIFIED.0 != 0",
"P:LibreMetaverse.Avatar.AvatarProperties.Identified#set":
"if value { self.flags.0 |= crate::ProfileFlags::IDENTIFIED.0 } else { self.flags.0 &= !crate::ProfileFlags::IDENTIFIED.0 }",
"P:LibreMetaverse.Avatar.AvatarProperties.MaturePublish":
"self.flags.0 & crate::ProfileFlags::MATURE_PUBLISH.0 != 0",
"P:LibreMetaverse.Avatar.AvatarProperties.MaturePublish#set":
"if value { self.flags.0 |= crate::ProfileFlags::MATURE_PUBLISH.0 } else { self.flags.0 &= !crate::ProfileFlags::MATURE_PUBLISH.0 }",
"P:LibreMetaverse.Avatar.AvatarProperties.Online":
"self.flags.0 & crate::ProfileFlags::ONLINE.0 != 0",
"P:LibreMetaverse.Avatar.AvatarProperties.Online#set":
"if value { self.flags.0 |= crate::ProfileFlags::ONLINE.0 } else { self.flags.0 &= !crate::ProfileFlags::ONLINE.0 }",
"P:LibreMetaverse.Avatar.AvatarProperties.Transacted":
"self.flags.0 & crate::ProfileFlags::TRANSACTED.0 != 0",
"P:LibreMetaverse.Avatar.AvatarProperties.Transacted#set":
"if value { self.flags.0 |= crate::ProfileFlags::TRANSACTED.0 } else { self.flags.0 &= !crate::ProfileFlags::TRANSACTED.0 }",
"M:LibreMetaverse.Avatar.Interests.FromOSD(LibreMetaverse.StructuredData.OSD)":
"crate::agent_messages::avatar_interests_from_osd(o)",
"M:LibreMetaverse.Avatar.Interests.GetOSD":
"crate::agent_messages::avatar_interests_get_osd(self)",
"M:LibreMetaverse.TransactionInfo.#ctor":
"Ok(crate::TransactionInfo { amount: 0, dest_id: libremetaverse_types::UUID::zero(), is_dest_group: false, is_source_group: false, item_description: String::new(), source_id: libremetaverse_types::UUID::zero(), transaction_type: 0 })",
"M:LibreMetaverse.AgentSettings.#ctor":
"Ok(crate::client_core::agent_settings_defaults())",
"M:LibreMetaverse.AssetCacheSettings.#ctor":
"Ok(crate::client_core::asset_cache_settings_defaults())",
"M:LibreMetaverse.ConnectionSettings.#ctor":
"Ok(crate::client_core::connection_settings_defaults())",
"M:LibreMetaverse.LoggingSettings.#ctor":
"Ok(crate::client_core::logging_settings_defaults())",
"M:LibreMetaverse.PacketSettings.#ctor":
"Ok(crate::client_core::packet_settings_defaults())",
"M:LibreMetaverse.ParcelSettings.#ctor":
"Ok(crate::client_core::parcel_settings_defaults())",
"M:LibreMetaverse.TexturePipelineSettings.#ctor":
"Ok(crate::client_core::texture_pipeline_settings_defaults())",
"M:LibreMetaverse.TimingSettings.#ctor":
"Ok(crate::client_core::timing_settings_defaults())",
"M:LibreMetaverse.WorldSettings.#ctor":
"Ok(crate::client_core::world_settings_defaults())",
"M:LibreMetaverse.GridClient.#ctor":
"crate::client_core::GridClientBuilder::default().build().map_err(Into::into)",
"M:LibreMetaverse.GridClient.Dispose":
"self.shutdown().map_err(Into::into)",
"M:LibreMetaverse.GridClient.DisposeAsync":
"self.shutdown().map_err(Into::into)",
"M:LibreMetaverse.GridClient.ToString":
"String::new()",
"P:LibreMetaverse.GridClient.CapsRateLimiter":
"self.native_caps_rate_limiter()",
"P:LibreMetaverse.GridClient.CapsRateLimiter#set":
"self.native_set_caps_rate_limiter(value)",
"P:LibreMetaverse.GridClient.HttpCapsClient":
"self.native_http_caps_client()",
"P:LibreMetaverse.GridClient.HttpCapsClient#set":
"self.native_set_http_caps_client(value)",
"P:LibreMetaverse.GridClient.Assets":
"self.native_assets().unwrap_or_else(|_| panic!(\"failed to construct AssetManager\"))",
"P:LibreMetaverse.GridClient.Assets#set":
"self.native_set_assets(value)",
"P:LibreMetaverse.GridClient.Objects":
"self.native_objects().unwrap_or_else(|_| panic!(\"failed to construct ObjectManager\"))",
"P:LibreMetaverse.GridClient.Objects#set":
"self.native_set_objects(value)",
"P:LibreMetaverse.GridClient.Inventory":
"self.native_inventory().unwrap_or_else(|_| panic!(\"failed to construct InventoryManager\"))",
"P:LibreMetaverse.GridClient.Inventory#set":
"self.native_set_inventory(value)",
"P:LibreMetaverse.GridClient.AisClient":
"self.native_ais_client().unwrap_or_else(|_| panic!(\"failed to construct InventoryAISClient\"))",
"P:LibreMetaverse.GridClient.AisClient#set":
"self.native_set_ais_client(value)",
"P:LibreMetaverse.GridClient.Network":
"self.native_network().unwrap_or_else(|_| panic!(\"failed to construct NetworkManager\"))",
"P:LibreMetaverse.GridClient.Network#set":
"self.native_set_network(value)",
"P:LibreMetaverse.GridClient.Self":
"self.native_self()",
"E:LibreMetaverse.InventoryManager.FindObjectByPathReply":
"self.native_subscribe_find_object_by_path_reply(handler)",
"E:LibreMetaverse.InventoryManager.FolderUpdated":
"self.native_subscribe_folder_updated(handler)",
"E:LibreMetaverse.InventoryManager.InventoryObjectOffered":
"self.native_subscribe_inventory_object_offered(handler)",
"E:LibreMetaverse.InventoryManager.ItemReceived":
"self.native_subscribe_item_received(handler)",
"E:LibreMetaverse.InventoryManager.SaveAssetToInventory":
"self.native_subscribe_save_asset_to_inventory(handler)",
"E:LibreMetaverse.InventoryManager.ScriptRunningReply":
"self.native_subscribe_script_running_reply(handler)",
"E:LibreMetaverse.InventoryManager.TaskInventoryReply":
"self.native_subscribe_task_inventory_reply(handler)",
"E:LibreMetaverse.InventoryManager.TaskItemReceived":
"self.native_subscribe_task_item_received(handler)",
"F:LibreMetaverse.InventoryManager.MAGIC_ID":
"crate::inventory_manager::InventoryManager::native_magic_id()",
"M:LibreMetaverse.InventoryManager.#ctor(LibreMetaverse.GridClient)":
"crate::inventory_manager::InventoryManager::native_new(client)",
"F:LibreMetaverse.InventoryAISClient.INVENTORY_CAP_NAME":
"crate::inventory_ais::InventoryAISClient::INVENTORY_CAP_NAME",
"F:LibreMetaverse.InventoryAISClient.LIBRARY_CAP_NAME":
"crate::inventory_ais::InventoryAISClient::LIBRARY_CAP_NAME",
"M:LibreMetaverse.InventoryAISClient.#ctor(LibreMetaverse.GridClient)":
"crate::inventory_ais::InventoryAISClient::native_new(client)",
"M:LibreMetaverse.ObjectManager.#ctor(LibreMetaverse.GridClient)":
"crate::object_material::ObjectManager::native_new(client)",
"M:LibreMetaverse.ObjectManager.CleanupObjectTracking":
"{ self.native_cleanup_tracking(); Ok(()) }",
"M:LibreMetaverse.ObjectManager.Dispose":
"{ self.native_dispose(); Ok(()) }",
"M:LibreMetaverse.ObjectManager.RequestObject(LibreMetaverse.Simulator,System.UInt32)":
"self.native_request_objects(simulator, vec![local_id])",
"M:LibreMetaverse.ObjectManager.RequestObjects(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32})":
"self.native_request_objects(simulator, local_i_ds)",
"M:LibreMetaverse.ObjectManager.SelectObject(LibreMetaverse.Simulator,System.UInt32)":
"self.native_select_objects(simulator, vec![local_id], true)",
"M:LibreMetaverse.ObjectManager.SelectObject(LibreMetaverse.Simulator,System.UInt32,System.Boolean)":
"self.native_select_objects(simulator, vec![local_id], automatic_deselect)",
"M:LibreMetaverse.ObjectManager.SelectObjects(LibreMetaverse.Simulator,System.UInt32[])":
"self.native_select_objects(simulator, local_i_ds, true)",
"M:LibreMetaverse.ObjectManager.SelectObjects(LibreMetaverse.Simulator,System.UInt32[],System.Boolean)":
"self.native_select_objects(simulator, local_i_ds, automatic_deselect)",
"M:LibreMetaverse.ObjectManager.DeselectObject(LibreMetaverse.Simulator,System.UInt32)":
"self.native_deselect_objects(simulator, vec![local_id])",
"M:LibreMetaverse.ObjectManager.DeselectObjects(LibreMetaverse.Simulator,System.UInt32[])":
"self.native_deselect_objects(simulator, local_i_ds)",
"M:LibreMetaverse.ObjectManager.LinkPrims(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32})":
"self.native_link_objects(simulator, local_i_ds, true)",
"M:LibreMetaverse.ObjectManager.DelinkPrims(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32})":
"self.native_link_objects(simulator, local_i_ds, false)",
"M:LibreMetaverse.ObjectManager.RequestPayPrice(LibreMetaverse.Simulator,LibreMetaverse.UUID)":
"self.native_request_pay_price(simulator, object_id)",
"M:LibreMetaverse.ObjectManager.RequestObjectPropertiesFamily(LibreMetaverse.Simulator,LibreMetaverse.UUID)":
"self.native_request_properties_family(simulator, object_id, true)",
"M:LibreMetaverse.ObjectManager.RequestObjectPropertiesFamily(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Boolean)":
"self.native_request_properties_family(simulator, object_id, reliable)",
"M:LibreMetaverse.ObjectManager.SetName(LibreMetaverse.Simulator,System.UInt32,System.String)":
"self.native_set_names(simulator, vec![local_id], vec![name])",
"M:LibreMetaverse.ObjectManager.SetNames(LibreMetaverse.Simulator,System.UInt32[],System.String[])":
"self.native_set_names(simulator, local_i_ds, names)",
"M:LibreMetaverse.ObjectManager.SetDescription(LibreMetaverse.Simulator,System.UInt32,System.String)":
"self.native_set_descriptions(simulator, vec![local_id], vec![description])",
"M:LibreMetaverse.ObjectManager.SetDescriptions(LibreMetaverse.Simulator,System.UInt32[],System.String[])":
"self.native_set_descriptions(simulator, local_i_ds, descriptions)",
"M:LibreMetaverse.ObjectManager.UpdateObject(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Vector3,LibreMetaverse.UpdateType)":
"self.native_update_vector(simulator, local_id, data, type_)",
"M:LibreMetaverse.ObjectManager.SetPosition(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Vector3)":
"self.native_update_vector(simulator, local_id, position, crate::UpdateType(crate::UpdateType::POSITION.0 | crate::UpdateType::LINKED.0))",
"M:LibreMetaverse.ObjectManager.SetPosition(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Vector3,System.Boolean)":
"self.native_update_vector(simulator, local_id, position, crate::UpdateType(crate::UpdateType::POSITION.0 | if child_only { 0 } else { crate::UpdateType::LINKED.0 }))",
"M:LibreMetaverse.ObjectManager.SetScale(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Vector3,System.Boolean,System.Boolean)":
"self.native_update_vector(simulator, local_id, scale, crate::UpdateType(crate::UpdateType::SCALE.0 | if child_only { 0 } else { crate::UpdateType::LINKED.0 } | if uniform { crate::UpdateType::UNIFORM.0 } else { 0 }))",
"M:LibreMetaverse.ObjectManager.SetRotation(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Quaternion)":
"self.native_update_rotation(simulator, local_id, rotation, false)",
"M:LibreMetaverse.ObjectManager.SetRotation(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Quaternion,System.Boolean)":
"self.native_update_rotation(simulator, local_id, quat, child_only)",
"M:LibreMetaverse.ObjectManager.GetPrimitive(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.UUID,System.Boolean)":
"self.native_get_primitive(simulator, local_id, full_id, create_if_missing)",
"M:LibreMetaverse.ObjectManager.TrackObjectInSimulator(LibreMetaverse.UUID,LibreMetaverse.Simulator)":
"{ self.native_track(object_id, sim); Ok(()) }",
"M:LibreMetaverse.ObjectManager.UntrackObjectInSimulator(LibreMetaverse.UUID,LibreMetaverse.Simulator)":
"{ self.native_untrack(object_id, &sim); Ok(()) }",
"M:LibreMetaverse.ObjectManager.GetSimulatorsForObject(LibreMetaverse.UUID)":
"Ok(self.native_simulators_for(object_id))",
"M:LibreMetaverse.ObjectManager.IsNearBorder(LibreMetaverse.Vector3,System.UInt32,System.UInt32,System.Single)":
"crate::object_material::ObjectManager::native_is_near_border(position, region_size_x, region_size_y, threshold)",
"M:LibreMetaverse.ObjectManager.BuyObject(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.SaleType,System.Int32,LibreMetaverse.UUID,LibreMetaverse.UUID)":
"self.native_buy_object(simulator, local_id, sale_type, price, group_id, category_id)",
"M:LibreMetaverse.ObjectManager.AttachObject(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.AttachmentPoint,LibreMetaverse.Quaternion)":
"self.native_attach(simulator, local_id, attach_point, rotation)",
"M:LibreMetaverse.ObjectManager.DropObject(LibreMetaverse.Simulator,System.UInt32)":
"self.native_attachment_action(simulator, vec![local_id], true)",
"M:LibreMetaverse.ObjectManager.DetachObjects(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32})":
"self.native_attachment_action(simulator, local_i_ds, false)",
"M:LibreMetaverse.ObjectManager.SetObjectsGroup(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32},LibreMetaverse.UUID)":
"self.native_set_group(simulator, local_ids, group_id)",
"M:LibreMetaverse.ObjectManager.SetPermissions(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32},LibreMetaverse.PermissionWho,LibreMetaverse.PermissionMask,System.Boolean)":
"self.native_set_permissions(simulator, local_i_ds, who, permissions, set)",
"M:LibreMetaverse.ObjectManager.DeedObject(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.UUID)":
"self.native_deed_objects(simulator, vec![local_id], group_owner)",
"M:LibreMetaverse.ObjectManager.DeedObjects(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32},LibreMetaverse.UUID)":
"self.native_deed_objects(simulator, local_i_ds, group_owner)",
"M:LibreMetaverse.ObjectManager.SetSaleInfo(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32},LibreMetaverse.SaleType,System.Int32)":
"self.native_set_sale_info(simulator, local_i_ds, sale_type, price)",
"M:LibreMetaverse.ObjectManager.SetSaleInfo(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.SaleType,System.Int32)":
"self.native_set_sale_info(simulator, vec![local_id], sale_type, price)",
"M:LibreMetaverse.ObjectManager.SetFlags(LibreMetaverse.Simulator,System.UInt32,System.Boolean,System.Boolean,System.Boolean,System.Boolean)":
"self.native_set_flags(simulator, local_id, physical, temporary, phantom, casts_shadow, libremetaverse_types::PhysicsShapeType::Prim, 1000.0, 0.6, 0.5, 1.0)",
"M:LibreMetaverse.ObjectManager.SetFlags(LibreMetaverse.Simulator,System.UInt32,System.Boolean,System.Boolean,System.Boolean,System.Boolean,LibreMetaverse.PhysicsShapeType,System.Single,System.Single,System.Single,System.Single)":
"self.native_set_flags(simulator, local_id, physical, temporary, phantom, casts_shadow, physics_type, density, friction, restitution, gravity_multiplier)",
"M:LibreMetaverse.ObjectManager.ClickObjectAsync(LibreMetaverse.Simulator,System.UInt32,System.Threading.CancellationToken)":
"self.native_click_object(simulator, local_id, libremetaverse_types::Vector3::zero(), libremetaverse_types::Vector3::zero(), 0, libremetaverse_types::Vector3::zero(), libremetaverse_types::Vector3::zero(), libremetaverse_types::Vector3::zero(), cancellation_token).await",
"M:LibreMetaverse.ObjectManager.ClickObjectAsync(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Int32,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Threading.CancellationToken)":
"self.native_click_object(simulator, local_id, uv_coord, st_coord, face_index, position, normal, binormal, cancellation_token).await",
"M:LibreMetaverse.ObjectManager.AddPrim(LibreMetaverse.Simulator,LibreMetaverse.Primitive.ConstructionData,LibreMetaverse.UUID,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Quaternion)":
"self.native_add_prim(simulator, prim, group_id, position, scale, rotation, libremetaverse_types::PrimFlags::CREATE_SELECTED)",
"M:LibreMetaverse.ObjectManager.AddPrim(LibreMetaverse.Simulator,LibreMetaverse.Primitive.ConstructionData,LibreMetaverse.UUID,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Quaternion,LibreMetaverse.PrimFlags)":
"self.native_add_prim(simulator, prim, group_id, position, scale, rotation, create_flags)",
"M:LibreMetaverse.ObjectManager.AddTree(LibreMetaverse.Simulator,LibreMetaverse.Vector3,LibreMetaverse.Quaternion,LibreMetaverse.Vector3,LibreMetaverse.Tree,LibreMetaverse.UUID,System.Boolean)":
"self.native_add_foliage(simulator, scale, rotation, position, tree_type as u8, group_owner, if new_tree { libremetaverse_types::PCode::NewTree } else { libremetaverse_types::PCode::Tree })",
"M:LibreMetaverse.ObjectManager.AddGrass(LibreMetaverse.Simulator,LibreMetaverse.Vector3,LibreMetaverse.Quaternion,LibreMetaverse.Vector3,LibreMetaverse.Grass,LibreMetaverse.UUID)":
"self.native_add_foliage(simulator, scale, rotation, position, grass_type as u8, group_owner, libremetaverse_types::PCode::Grass)",
"M:LibreMetaverse.ObjectManager.BuildBasicShape(LibreMetaverse.PrimType)":
"crate::object_material::ObjectManager::native_basic_shape(type_)",
"M:LibreMetaverse.ObjectManager.SetTextures(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.TextureEntry)":
"self.native_set_textures(simulator, local_id, textures, String::new())",
"M:LibreMetaverse.ObjectManager.SetTextures(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.TextureEntry,System.String)":
"self.native_set_textures(simulator, local_id, textures, media_url)",
"M:LibreMetaverse.ObjectManager.SetLight(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.LightData)":
"{ let in_use = light.intensity != 0.0; let data = light.get_bytes()?; self.native_set_extra_param(simulator, local_id, libremetaverse_types::ExtraParamType::LIGHT, in_use, data) }",
"M:LibreMetaverse.ObjectManager.SetFlexible(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.FlexibleData)":
"{ let data = flexible.get_bytes()?; self.native_set_extra_param(simulator, local_id, libremetaverse_types::ExtraParamType::FLEXIBLE, true, data) }",
"M:LibreMetaverse.ObjectManager.SetSculpt(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.SculptData)":
"self.native_set_sculpt(simulator, local_id, sculpt)",
"M:LibreMetaverse.ObjectManager.SetExtraParamOff(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.ExtraParamType)":
"self.native_set_extra_param(simulator, local_id, type_, false, Vec::new())",
"M:LibreMetaverse.ObjectManager.SetShape(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.ConstructionData)":
"self.native_set_shape(simulator, local_id, prim)",
"M:LibreMetaverse.ObjectManager.SetMaterial(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Material)":
"self.native_set_material(simulator, local_id, material)",
"M:LibreMetaverse.ObjectManager.NavigateObjectMediaAsync(LibreMetaverse.UUID,System.Int32,System.String,LibreMetaverse.Simulator,System.Threading.CancellationToken)":
"self.native_navigate_object_media(prim_id, face, new_url, sim, cancellation_token).await",
"M:LibreMetaverse.ObjectManager.UpdateObjectMediaAsync(LibreMetaverse.UUID,LibreMetaverse.MediaEntry[],LibreMetaverse.Simulator,System.Threading.CancellationToken)":
"self.native_update_object_media(prim_id, face_media, sim, cancellation_token).await",
"M:LibreMetaverse.ObjectManager.RequestObjectMediaAsync(LibreMetaverse.UUID,LibreMetaverse.Simulator,System.Threading.CancellationToken)":
"self.native_request_object_media(prim_id, sim, cancellation_token).await",
"M:LibreMetaverse.ObjectManager.RequestMaterialsAsync(LibreMetaverse.Simulator,System.Threading.CancellationToken)":
"self.native_request_materials(sim, None, cancellation_token).await",
"M:LibreMetaverse.ObjectManager.RequestMaterialsAsync(LibreMetaverse.Simulator,System.Collections.Generic.IEnumerable{LibreMetaverse.UUID},System.Threading.CancellationToken)":
"self.native_request_materials(sim, Some(materials.collect()), cancellation_token).await",
"M:LibreMetaverse.ObjectManager.SendMaterialUpdatesAsync(LibreMetaverse.Simulator,System.Collections.Generic.IEnumerable{LibreMetaverse.GLTFMaterialUpdate},System.Threading.CancellationToken)":
"self.native_send_material_updates(sim, updates, cancellation_token).await",
"M:LibreMetaverse.ObjectManager.SetMaterialOverrideAsync(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Int32,LibreMetaverse.Assets.AssetMaterial,System.Threading.CancellationToken)":
"self.native_set_material_override(sim, object_id, side, override_material, cancellation_token).await",
"M:LibreMetaverse.ObjectManager.ClearMaterialOverrideAsync(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Int32,System.Threading.CancellationToken)":
"self.native_clear_material_override(sim, object_id, side, cancellation_token).await",
"M:LibreMetaverse.ObjectManager.ApplyMaterialAsync(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Int32,LibreMetaverse.UUID,LibreMetaverse.Assets.AssetMaterial,System.Threading.CancellationToken)":
"self.native_apply_material(sim, object_id, side, material_asset_id, override_material, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RequestUpdateMaterialAgentInventoryAsync(LibreMetaverse.Assets.AssetMaterial,LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})":
"self.native_update_material_inventory(material, material_item_id, None, cancellation_token, progress).await",
"M:LibreMetaverse.InventoryManager.RequestUpdateMaterialTaskInventoryAsync(LibreMetaverse.Assets.AssetMaterial,LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})":
"self.native_update_material_inventory(material, material_item_id, Some(task_id), cancellation_token, progress).await",
"P:LibreMetaverse.InventoryAISClient.IsAvailable": "self.native_is_available()",
"M:LibreMetaverse.InventoryAISClient.CreateInventoryAsync(LibreMetaverse.UUID,LibreMetaverse.StructuredData.OSD,System.Boolean,System.Threading.CancellationToken)":
"self.native_create_inventory(parent_uuid, new_inventory, create_link, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.SlamFolderAsync(LibreMetaverse.UUID,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)":
"self.native_slam_folder(folder_uuid, new_inventory, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.RemoveCategoryAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_remove_category(category_uuid, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.RemoveItemAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_remove_item(item_uuid, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.CopyLibraryCategoryAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Threading.CancellationToken)":
"self.native_copy_library_category(source_uuid, dest_uuid, copy_subfolders, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.PurgeDescendentsAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_purge_descendents(category_uuid, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.UpdateCategoryAsync(LibreMetaverse.UUID,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)":
"self.native_update_category(category_uuid, updates, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.UpdateItemAsync(LibreMetaverse.UUID,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)":
"self.native_update_item(item_uuid, updates, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.CopyCategoryAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Threading.CancellationToken)":
"self.native_copy_category(source_uuid, dest_uuid, simulate, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.MoveCategoryAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_move_category(source_uuid, dest_uuid, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.PutCategoryChildrenAsync(System.String,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)":
"self.native_put_category_children(category, children_payload, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.CopyCategoryChildrenAsync(System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_copy_category_children(category, dest_uuid, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.MoveCategoryChildrenAsync(System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_move_category_children(category, dest_uuid, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.DeleteCategoryChildrenAsync(System.String,System.Threading.CancellationToken)":
"self.native_delete_category_children(category, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.PutCategoryLinksAsync(System.String,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)":
"self.native_put_category_links(category, links_payload, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.CopyCategoryLinksAsync(System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_copy_category_links(category, dest_uuid, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.MoveCategoryLinksAsync(System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_move_category_links(category, dest_uuid, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.DeleteCategoryLinksAsync(System.String,System.Threading.CancellationToken)":
"self.native_delete_category_links(category, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.CopyItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_copy_item(item_uuid, dest_uuid, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.MoveItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_move_item(item_uuid, dest_uuid, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.GetCategoryAsync(System.String,System.Threading.CancellationToken)":
"self.native_get_category(category, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.GetCategoryChildrenAsync(System.String,System.Int32,System.Boolean,System.Threading.CancellationToken)":
"self.native_get_category_children(category, depth, recursive, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.FetchCategoryCategoriesAsync(LibreMetaverse.UUID,System.Boolean,System.Boolean,System.Int32,System.Threading.CancellationToken)":
"self.native_fetch_category_categories(cat_id, use_inventory_cap, recursive, depth, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.FetchCategorySubsetAsync(LibreMetaverse.UUID,System.Collections.Generic.IEnumerable{LibreMetaverse.UUID},System.Boolean,System.Boolean,System.Int32,System.Threading.CancellationToken)":
"self.native_fetch_category_subset(cat_id, specific_children, use_inventory_cap, recursive, depth, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.GetCategoryLinksAsync(System.String,System.Threading.CancellationToken)":
"self.native_get_category_links(category, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.FetchItemAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_fetch_item(item_uuid, cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.FetchCOFAsync(System.Threading.CancellationToken)":
"self.native_fetch_cof(cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.FetchOrphansAsync(System.Threading.CancellationToken)":
"self.native_fetch_orphans(cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.EmptyTrashAsync(System.Threading.CancellationToken)":
"self.native_empty_trash(cancellation_token).await",
"M:LibreMetaverse.InventoryAISClient.ParseItemsFromEmbedded(LibreMetaverse.StructuredData.OSDMap)":
"self.native_parse_items_from_embedded(response)",
"M:LibreMetaverse.InventoryAISClient.ParseFoldersFromEmbedded(LibreMetaverse.StructuredData.OSDMap)":
"self.native_parse_folders_from_embedded(response)",
"M:LibreMetaverse.InventoryAISClient.ParseLinksFromEmbedded(LibreMetaverse.StructuredData.OSDMap)":
"self.native_parse_links_from_embedded(response)",
"M:LibreMetaverse.InventoryAISClient.ParseEmbedded(LibreMetaverse.StructuredData.OSDMap,System.Collections.Generic.List{LibreMetaverse.InventoryFolder}@,System.Collections.Generic.List{LibreMetaverse.InventoryItem}@,System.Collections.Generic.List{LibreMetaverse.InventoryItem}@)":
"self.native_parse_embedded(response, folders, items, links)",
"M:LibreMetaverse.InventoryAISClient.ParseAISResponseMeta(LibreMetaverse.StructuredData.OSDMap)":
"crate::inventory_ais::InventoryAISClient::native_parse_ais_response_meta(response)",
"M:LibreMetaverse.InventoryManager.CreateInventoryItem(LibreMetaverse.InventoryType,LibreMetaverse.UUID)":
"crate::inventory_manager::InventoryManager::native_create_inventory_item(type_, id)",
"M:LibreMetaverse.InventoryManager.CopyItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_copy_item(item, new_parent, new_name, old_owner_id, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.CopyItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)":
"self.native_copy_item_default_owner(item, new_parent, new_name, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.CopyScriptToTask(System.UInt32,LibreMetaverse.InventoryItem,System.Boolean,LibreMetaverse.Simulator)":
"self.native_copy_script_to_task(object_local_id, item, enable_script, simulator)",
"M:LibreMetaverse.InventoryManager.CreateFolder(LibreMetaverse.UUID,System.String)":
"self.native_create_folder(parent_id, name, libremetaverse_types::FolderType::None)",
"M:LibreMetaverse.InventoryManager.CreateFolder(LibreMetaverse.UUID,System.String,LibreMetaverse.FolderType)":
"self.native_create_folder(parent_id, name, preferred_type)",
"M:LibreMetaverse.InventoryManager.CreateItemAsync(LibreMetaverse.UUID,System.String,System.String,LibreMetaverse.AssetType,LibreMetaverse.UUID,LibreMetaverse.InventoryType,LibreMetaverse.PermissionMask,System.Threading.CancellationToken)":
"self.native_create_item(parent_folder, name, description, type_, asset_transaction_id, inv_type, libremetaverse_types::WearableType::Shape, next_owner_mask, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.CreateItemAsync(LibreMetaverse.UUID,System.String,System.String,LibreMetaverse.AssetType,LibreMetaverse.UUID,LibreMetaverse.InventoryType,LibreMetaverse.WearableType,LibreMetaverse.PermissionMask,System.Threading.CancellationToken)":
"self.native_create_item(parent_folder, name, description, type_, asset_transaction_id, inv_type, wearable_type, next_owner_mask, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.CreateLinkAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.String,LibreMetaverse.InventoryType,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_create_link(folder_id, item_id, name, description, inv_type, transaction_id, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.CreateLinksAsync(LibreMetaverse.UUID,System.Collections.Generic.IEnumerable{System.ValueTuple{LibreMetaverse.InventoryBase,System.String}},System.Action{System.Boolean},System.Threading.CancellationToken)":
"self.native_create_links(folder_id, links_to_create, callback, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.CreateOrRetrieveInventoryItem(LibreMetaverse.InventoryType,LibreMetaverse.UUID)":
"self.native_create_or_retrieve_inventory_item(inv_type, item_id)",
"M:LibreMetaverse.InventoryManager.DecryptShadowID(LibreMetaverse.UUID)":
"crate::inventory_manager::InventoryManager::native_decrypt_shadow_id(shadow_id)",
"M:LibreMetaverse.InventoryManager.Dispose":
"self.native_dispose()",
"M:LibreMetaverse.InventoryManager.EncryptAssetID(LibreMetaverse.UUID)":
"crate::inventory_manager::InventoryManager::native_encrypt_asset_id(asset_id)",
"M:LibreMetaverse.InventoryManager.EmptyFolder(LibreMetaverse.UUID)":
"self.native_empty_folder(folder_id)",
"M:LibreMetaverse.InventoryManager.EmptyLostAndFoundAsync(System.Threading.CancellationToken)":
"self.native_empty_system_folder(libremetaverse_types::FolderType::LostAndFound, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.EmptyTrashAsync(System.Threading.CancellationToken)":
"self.native_empty_system_folder(libremetaverse_types::FolderType::Trash, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.FetchItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_fetch_item(item_id, owner_id, cancellation_token, false).await",
"M:LibreMetaverse.InventoryManager.FetchItemHttpAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_fetch_item(item_id, owner_id, token, true).await",
"M:LibreMetaverse.InventoryManager.FindFolderForType(LibreMetaverse.AssetType)":
"Ok(self.native_find_folder_for_asset_type(type_))",
"M:LibreMetaverse.InventoryManager.FindFolderForType(LibreMetaverse.FolderType)":
"Ok(self.native_find_folder_for_type(type_))",
"M:LibreMetaverse.InventoryManager.FindObjectByPathAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)":
"self.native_find_object_by_path(base_folder, inventory_owner, path, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.FolderContentsAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Boolean,LibreMetaverse.InventorySortOrder,System.Threading.CancellationToken,System.Boolean)":
"self.native_folder_contents(folder, owner, fetch_folders, fetch_items, order, cancellation_token, follow_links.unwrap_or(false)).await",
"M:LibreMetaverse.InventoryManager.GetInventoryRecursiveAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.InventoryFolder},System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Threading.CancellationToken)":
"self.native_get_inventory_recursive(folder_id, owner, cats, items, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.GetTaskInventoryAsync(LibreMetaverse.UUID,System.UInt32,LibreMetaverse.Simulator,System.Threading.CancellationToken)":
"self.native_get_task_inventory(object_id, object_local_id, simulator, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.GiveFolderAsync(LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,System.Boolean,System.Threading.CancellationToken)":
"self.native_give_folder(folder_id, folder_name, recipient, do_effect, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.GiveItem(LibreMetaverse.UUID,System.String,LibreMetaverse.AssetType,LibreMetaverse.UUID,System.Boolean)":
"self.native_give_item(item_id, item_name, asset_type, recipient, do_effect)",
"M:LibreMetaverse.InventoryManager.ItemCRC(LibreMetaverse.InventoryItem)":
"crate::inventory_manager::InventoryManager::native_item_crc(&iitem)",
"M:LibreMetaverse.InventoryManager.ParseTaskInventory(System.String)":
"crate::inventory_manager::InventoryManager::native_parse_task_inventory(task_data)",
"M:LibreMetaverse.InventoryManager.LocalFind(LibreMetaverse.UUID,System.String[],System.Int32,System.Boolean)":
"self.native_local_find(base_folder, path, level, first_only)",
"M:LibreMetaverse.InventoryManager.Move(LibreMetaverse.InventoryBase,LibreMetaverse.InventoryFolder)":
"self.native_move_object(item, new_parent)",
"M:LibreMetaverse.InventoryManager.MoveFolder(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_move_folders(std::collections::HashMap::from([(folder_id, new_parent_id)]), cancellation_token)",
"M:LibreMetaverse.InventoryManager.MoveFolderAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_move_folders_async(std::collections::HashMap::from([(folder_id, new_parent_id)]), cancellation_token).await",
"M:LibreMetaverse.InventoryManager.MoveFolders(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken)":
"self.native_move_folders(folders_new_parents, cancellation_token)",
"M:LibreMetaverse.InventoryManager.MoveFoldersAsync(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken)":
"self.native_move_folders_async(folders_new_parents, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.MoveItem(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)":
"self.native_move_items(std::collections::HashMap::from([(item_id, (folder_id, new_name))]), cancellation_token)",
"M:LibreMetaverse.InventoryManager.MoveItem(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_move_items(std::collections::HashMap::from([(item_id, (folder_id, String::new()))]), cancellation_token)",
"M:LibreMetaverse.InventoryManager.MoveItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)":
"self.native_move_items_async(std::collections::HashMap::from([(item_id, (folder_id, new_name))]), cancellation_token).await",
"M:LibreMetaverse.InventoryManager.MoveItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_move_items_async(std::collections::HashMap::from([(item_id, (folder_id, String::new()))]), cancellation_token).await",
"M:LibreMetaverse.InventoryManager.MoveItems(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken)":
"self.native_move_items(items_new_folders.into_iter().map(|(item, folder)| (item, (folder, String::new()))).collect(), cancellation_token)",
"M:LibreMetaverse.InventoryManager.MoveItemsAsync(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken)":
"self.native_move_items_async(items_new_folders.into_iter().map(|(item, folder)| (item, (folder, String::new()))).collect(), cancellation_token).await",
"M:LibreMetaverse.InventoryManager.MoveTaskInventory(System.UInt32,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Simulator)":
"self.native_move_task_inventory(object_local_id, task_item_id, inventory_folder_id, simulator)",
"M:LibreMetaverse.InventoryManager.RemoveDescendantsAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_remove_descendants(folder, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RemoveFolderAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_remove_inventory_objects(Vec::new(), vec![folder], cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RemoveItemAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_remove_inventory_objects(vec![item], Vec::new(), cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RemoveItemsAsync(System.Collections.Generic.IEnumerable{LibreMetaverse.UUID},System.Threading.CancellationToken)":
"self.native_remove_inventory_objects(items.collect(), Vec::new(), cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RemoveTaskInventory(System.UInt32,LibreMetaverse.UUID,LibreMetaverse.Simulator)":
"self.native_remove_task_inventory(object_local_id, task_item_id, simulator)",
"M:LibreMetaverse.InventoryManager.RequestCopyItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_copy_item(item, new_parent, new_name, old_owner_id, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RequestCopyItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)":
"self.native_copy_item_default_owner(item, new_parent, new_name, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RequestCopyItemFromNotecardAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})":
"self.native_copy_item_from_notecard(object_id, notecard_id, folder_id, item_id, cancellation_token, progress).await",
"M:LibreMetaverse.InventoryManager.RequestCopyItemsAsync(System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{System.String},LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_copy_items(items, target_folders, new_names, old_owner_id, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RequestCopyItemsWithResultAsync(System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{System.String},LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_copy_items(items, target_folders, new_names, old_owner_id, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RequestDeRezToInventory(System.UInt32)":
"self.native_de_rez_to_objects_folder(object_local_id)",
"M:LibreMetaverse.InventoryManager.RequestDeRezToInventory(System.UInt32,LibreMetaverse.DeRezDestination,LibreMetaverse.UUID,LibreMetaverse.UUID)":
"self.native_de_rez_to_inventory(object_local_id, dest_type, dest_folder, transaction_id)",
"M:LibreMetaverse.InventoryManager.RequestFetchInventory(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_request_fetch_inventory(std::collections::HashMap::from([(item_id, owner_id)]), cancellation_token)",
"M:LibreMetaverse.InventoryManager.RequestFetchInventory(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken)":
"self.native_request_fetch_inventory(items, cancellation_token)",
"M:LibreMetaverse.InventoryManager.RequestFetchInventoryAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_request_fetch_inventory_async(std::collections::HashMap::from([(item_id, owner_id)]), cancellation_token, None).await",
"M:LibreMetaverse.InventoryManager.RequestFetchInventoryAsync(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken,System.Action{System.Collections.Generic.List{LibreMetaverse.InventoryItem}})":
"self.native_request_fetch_inventory_async(items, cancellation_token, callback).await",
"M:LibreMetaverse.InventoryManager.RequestFindObjectByPathAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)":
"self.native_find_object_by_path(base_folder, inventory_owner, path, cancellation_token).await.map(|_| ())",
"M:LibreMetaverse.InventoryManager.RequestFolderContentsAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Boolean,LibreMetaverse.InventorySortOrder,System.Threading.CancellationToken)":
"self.native_request_folder_contents(folder_id, owner_id, fetch_folders, fetch_items, order, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RequestFolderContentsAsync(System.Collections.Generic.List{LibreMetaverse.InventoryFolder},System.Uri,System.Boolean,System.Boolean,LibreMetaverse.InventorySortOrder,System.Threading.CancellationToken)":
"self.native_request_folder_contents_batch(batch, capability_uri, fetch_folders, fetch_items, order, cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RequestFolderUpdateAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Boolean,LibreMetaverse.InventorySortOrder,System.Threading.CancellationToken)":
"self.native_request_folder_update(folder_id, owner_id, fetch_folders.unwrap_or(true), fetch_items.unwrap_or(true), order.unwrap_or(crate::InventorySortOrder::BY_NAME), cancellation_token).await",
"M:LibreMetaverse.InventoryManager.RequestGetScriptRunning(LibreMetaverse.UUID,LibreMetaverse.UUID)":
"self.native_request_get_script_running(object_id, script_id)",
"M:LibreMetaverse.InventoryManager.RequestRestoreRezFromInventory(LibreMetaverse.Simulator,LibreMetaverse.InventoryItem,LibreMetaverse.UUID)":
"self.native_restore_rez_from_inventory(simulator, item, query_id)",
"M:LibreMetaverse.InventoryManager.RequestRezFromInventory(LibreMetaverse.Simulator,LibreMetaverse.Quaternion,LibreMetaverse.Vector3,LibreMetaverse.InventoryItem)":
"self.native_rez_from_inventory_default(simulator, rotation, position, item, None)",
"M:LibreMetaverse.InventoryManager.RequestRezFromInventory(LibreMetaverse.Simulator,LibreMetaverse.Quaternion,LibreMetaverse.Vector3,LibreMetaverse.InventoryItem,LibreMetaverse.UUID)":
"self.native_rez_from_inventory_default(simulator, rotation, position, item, Some(group_owner))",
"M:LibreMetaverse.InventoryManager.RequestRezFromInventory(LibreMetaverse.Simulator,LibreMetaverse.UUID,LibreMetaverse.Quaternion,LibreMetaverse.Vector3,LibreMetaverse.InventoryItem,LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean)":
"self.native_rez_from_inventory(simulator, task_id, rotation, position, item, group_owner, query_id, rez_selected)",
"M:LibreMetaverse.InventoryManager.RequestSetScriptRunning(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean)":
"self.native_request_set_script_running(object_id, script_id, running)",
"M:LibreMetaverse.InventoryManager.RequestTaskInventory(System.UInt32)":
"self.native_request_task_inventory(object_local_id, None)",
"M:LibreMetaverse.InventoryManager.RequestTaskInventory(System.UInt32,LibreMetaverse.Simulator)":
"self.native_request_task_inventory(object_local_id, simulator)",
"M:LibreMetaverse.InventoryManager.RequestUpdateItem(LibreMetaverse.InventoryItem)":
"self.native_request_update_items(vec![item], libremetaverse_types::UUID::random()?)",
"M:LibreMetaverse.InventoryManager.RequestUpdateItems(System.Collections.Generic.List{LibreMetaverse.InventoryItem})":
"self.native_request_update_items(items, libremetaverse_types::UUID::random()?)",
"M:LibreMetaverse.InventoryManager.RequestUpdateItems(System.Collections.Generic.List{LibreMetaverse.InventoryItem},LibreMetaverse.UUID)":
"self.native_request_update_items(items, transaction_id)",
"M:LibreMetaverse.InventoryManager.UpdateFolderProperties(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,LibreMetaverse.FolderType)":
"self.native_update_folder_properties(folder_id, parent_id, name, type_)",
"M:LibreMetaverse.InventoryManager.UpdateTaskInventory(System.UInt32,LibreMetaverse.InventoryItem,LibreMetaverse.Simulator,System.Boolean)":
"self.native_update_task_inventory(object_local_id, item, simulator, only_mod_meta.unwrap_or(true))",
"M:LibreMetaverse.InventoryManager.WaitForNextInventoryOfferAsync(System.Threading.CancellationToken)":
"self.native_wait_for_next_inventory_offer(cancellation_token).await",
"P:LibreMetaverse.InventoryManager.NoResults":
"crate::inventory_manager::InventoryManager::native_no_results()",
"P:LibreMetaverse.InventoryManager.Store":
"self.native_store()",
"E:LibreMetaverse.AgentManager.IM":
"self.native_subscribe_im(handler)",
"E:LibreMetaverse.AgentManager.AgentDataReply":
"self.native_subscribe_agent_data_reply(handler)",
"E:LibreMetaverse.AgentManager.AnimationsChanged":
"self.native_subscribe_animations_changed(handler)",
"E:LibreMetaverse.AgentManager.AvatarSitResponse":
"self.native_subscribe_avatar_sit_response(handler)",
"E:LibreMetaverse.AgentManager.CameraConstraint":
"self.native_subscribe_camera_constraint(handler)",
"E:LibreMetaverse.AgentManager.ChatFromSimulator":
"self.native_subscribe_chat_from_simulator(handler)",
"E:LibreMetaverse.AgentManager.MoneyBalance":
"self.native_subscribe_money_balance(handler)",
"E:LibreMetaverse.AgentManager.MoneyBalanceReply":
"self.native_subscribe_money_balance_reply(handler)",
"E:LibreMetaverse.AgentManager.AgentExperiencesUpdated":
"self.native_subscribe_agent_experiences_updated(handler)",
"E:LibreMetaverse.AgentManager.ExperiencePreferencesUpdated":
"self.native_subscribe_experience_preferences_updated(handler)",
"E:LibreMetaverse.AgentManager.RegionExperiencesUpdated":
"self.native_subscribe_region_experiences_updated(handler)",
"E:LibreMetaverse.AgentManager.ExperienceInfoReceived":
"self.native_subscribe_experience_info_received(handler)",
"E:LibreMetaverse.AgentManager.AgentPreferencesUpdated":
"self.native_subscribe_agent_preferences_updated(handler)",
"E:LibreMetaverse.AgentManager.AvatarRenderInfoUpdated":
"self.native_subscribe_avatar_render_info_updated(handler)",
"E:LibreMetaverse.AgentManager.ViewerBenefitsUpdated":
"self.native_subscribe_viewer_benefits_updated(handler)",
"E:LibreMetaverse.AgentManager.ProductInfoUpdated":
"self.native_subscribe_product_info_updated(handler)",
"E:LibreMetaverse.AgentManager.RegionCrossed":
"self.native_subscribe_region_crossed(handler)",
"E:LibreMetaverse.AgentManager.RegionCrossingPredicted":
"self.native_subscribe_region_crossing_predicted(handler)",
"E:LibreMetaverse.AgentManager.MuteListUpdated":
"self.native_subscribe_mute_list_updated(handler)",
"E:LibreMetaverse.AgentManager.GroupChatJoined":
"self.native_subscribe_group_chat_joined(handler)",
"E:LibreMetaverse.AgentManager.ChatSessionMemberAdded":
"self.native_subscribe_chat_session_member_added(handler)",
"E:LibreMetaverse.AgentManager.ChatSessionMemberLeft":
"self.native_subscribe_chat_session_member_left(handler)",
"E:LibreMetaverse.AgentManager.SetDisplayNameReply":
"self.native_subscribe_set_display_name_reply(handler)",
"E:LibreMetaverse.AgentManager.NavMeshStatusUpdate":
"self.native_subscribe_nav_mesh_status_update(handler)",
"E:LibreMetaverse.AgentManager.TeleportProgress":
"self.native_subscribe_teleport_progress(handler)",
"M:LibreMetaverse.AgentManager.#ctor(LibreMetaverse.GridClient)":
"crate::agent_manager::AgentManager::native_new(client)",
"M:LibreMetaverse.AgentManager.Dispose":
"self.native_dispose()",
"M:LibreMetaverse.AgentManager.ActivateGesture(LibreMetaverse.UUID,LibreMetaverse.UUID)":
"self.native_activate_gesture(inv_id, asset_id)",
"M:LibreMetaverse.AgentManager.Animate(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,System.Boolean},System.Boolean)":
"self.native_animate(animations, reliable)",
"M:LibreMetaverse.AgentManager.AnimationStart(LibreMetaverse.UUID,System.Boolean)":
"self.native_animation_start(animation, reliable)",
"M:LibreMetaverse.AgentManager.AnimationStop(LibreMetaverse.UUID,System.Boolean)":
"self.native_animation_stop(animation, reliable)",
"M:LibreMetaverse.AgentManager.AutoPilot(System.Double,System.Double,System.Double)":
"self.native_autopilot_f64(global_x, global_y, z)",
"M:LibreMetaverse.AgentManager.AutoPilot(System.UInt64,System.UInt64,System.Single)":
"self.native_autopilot_u64(global_x, global_y, z)",
"M:LibreMetaverse.AgentManager.AutoPilotCancel":
"self.native_autopilot_cancel()",
"M:LibreMetaverse.AgentManager.AutoPilotLocal(System.Int32,System.Int32,System.Single)":
"self.native_autopilot_local(local_x, local_y, z)",
"M:LibreMetaverse.AgentManager.CancelCrossing":
"Ok(self.native_cancel_crossing())",
"M:LibreMetaverse.AgentManager.BeamEffect(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Vector3d,LibreMetaverse.Color4,System.Single,LibreMetaverse.UUID)":
"self.native_viewer_effect(source_avatar, target_object, global_offset, color, duration, effect_id, crate::EffectType::Beam, None)",
"M:LibreMetaverse.AgentManager.Chat(System.String,System.Int32,LibreMetaverse.ChatType,System.Boolean)":
"self.native_chat(message, channel, type_, split_large_messages)",
"M:LibreMetaverse.AgentManager.ChatterBoxAcceptInviteAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_chatter_box_accept_invite(session_id, cancellation_token).await",
"M:LibreMetaverse.AgentManager.CompleteAgentMovement(LibreMetaverse.Simulator)":
"self.native_complete_agent_movement(simulator)",
"M:LibreMetaverse.AgentManager.Crouch(System.Boolean)":
"self.native_crouch(crouching)",
"M:LibreMetaverse.AgentManager.DeactivateGesture(LibreMetaverse.UUID)":
"self.native_deactivate_gesture(inv_id)",
"M:LibreMetaverse.AgentManager.DeleteClassified(LibreMetaverse.UUID)":
"self.native_delete_classified(classified_id)",
"M:LibreMetaverse.AgentManager.FindExperienceByNameAsync(System.String,System.Int32,System.Int32,System.Threading.CancellationToken)":
"self.native_find_experience_by_name(query, page, page_size, cancellation_token).await",
"M:LibreMetaverse.AgentManager.Fly(System.Boolean)":
"self.native_fly(start)",
"M:LibreMetaverse.AgentManager.ForgetExperiencePermissionAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_forget_experience_permission(experience_id, cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetAdminExperiencesAsync(System.Threading.CancellationToken)":
"self.native_get_admin_experiences(cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetAgentExperiencePermissionsAsync(System.Threading.CancellationToken)":
"self.native_get_agent_experience_permissions(cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetAgentExperiencesAsync(System.Threading.CancellationToken)":
"self.native_get_agent_experiences(cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetAgentPreferencesAsync(System.Threading.CancellationToken)":
"self.native_get_agent_preferences(cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetAttachmentResourcesAsync(System.Threading.CancellationToken)":
"self.native_get_attachment_resources(cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetAvatarRenderInfoAsync(System.Threading.CancellationToken)":
"self.native_get_avatar_render_info(cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetCreatorExperiencesAsync(System.Threading.CancellationToken)":
"self.native_get_creator_experiences(cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetCrossingDetails":
"Ok(self.native_crossing_details())",
"M:LibreMetaverse.AgentManager.GetCrossingFailureReason":
"Ok(self.native_crossing_failure_reason())",
"M:LibreMetaverse.AgentManager.GetCrossingState":
"Ok(self.native_crossing_state())",
"M:LibreMetaverse.AgentManager.GetSimulatorsForObject(LibreMetaverse.UUID)":
"Ok(self.native_get_simulators_for_object(object_id))",
"M:LibreMetaverse.AgentManager.GetExperienceInfoAsync(System.Collections.Generic.IEnumerable{LibreMetaverse.UUID},System.Threading.CancellationToken)":
"self.native_get_experience_info(experience_ids, cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetExperiencePermissionAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_get_experience_permission(experience_id, cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetExperiencePreferencesAsync(System.Threading.CancellationToken)":
"self.native_get_experience_preferences(cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetGroupExperiencesAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_get_group_experiences(group_id, cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetProductInfoAsync(System.Threading.CancellationToken)":
"self.native_get_product_info(cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetRegionExperiencesAsync(System.Threading.CancellationToken)":
"self.native_get_region_experiences(cancellation_token).await",
"M:LibreMetaverse.AgentManager.GetViewerBenefitsAsync(System.Threading.CancellationToken)":
"self.native_get_viewer_benefits(cancellation_token).await",
"M:LibreMetaverse.AgentManager.GoHomeAsync(System.Threading.CancellationToken)":
"self.native_teleport_landmark(libremetaverse_types::UUID::zero(), cancellation_token).await",
"M:LibreMetaverse.AgentManager.IsCrossing":
"Ok(self.native_is_crossing())",
"M:LibreMetaverse.AgentManager.IsNearBorder(LibreMetaverse.Vector3,System.UInt32,System.UInt32,System.Single)":
"Ok(self.native_is_near_border(position, region_size_x, region_size_y, threshold.unwrap_or(32.0)))",
"M:LibreMetaverse.AgentManager.GiveAvatarMoney(LibreMetaverse.UUID,System.Int32)":
"self.native_give_avatar_money(target, amount, String::new())",
"M:LibreMetaverse.AgentManager.GiveAvatarMoney(LibreMetaverse.UUID,System.Int32,System.String)":
"self.native_give_avatar_money(target, amount, description)",
"M:LibreMetaverse.AgentManager.GiveGroupMoney(LibreMetaverse.UUID,System.Int32)":
"self.native_give_group_money(target, amount, String::new())",
"M:LibreMetaverse.AgentManager.GiveGroupMoney(LibreMetaverse.UUID,System.Int32,System.String)":
"self.native_give_group_money(target, amount, description)",
"M:LibreMetaverse.AgentManager.GiveMoney(LibreMetaverse.UUID,System.Int32,System.String,LibreMetaverse.MoneyTransactionType,LibreMetaverse.TransactionFlags)":
"self.native_give_money(target, amount, description, type_, flags)",
"M:LibreMetaverse.AgentManager.GiveObjectMoney(LibreMetaverse.UUID,System.Int32,System.String)":
"self.native_give_object_money(target, amount, object_name)",
"M:LibreMetaverse.AgentManager.GroupInviteRespond(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean)":
"self.native_group_invite_respond(group_id, im_session_id, accept)",
"M:LibreMetaverse.AgentManager.InstantMessage(LibreMetaverse.UUID,System.String)":
"self.native_instant_message(target, message, None)",
"M:LibreMetaverse.AgentManager.InstantMessage(LibreMetaverse.UUID,System.String,LibreMetaverse.UUID)":
"self.native_instant_message(target, message, Some(im_session_id))",
"M:LibreMetaverse.AgentManager.InstantMessage(System.String,LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,LibreMetaverse.InstantMessageDialog,LibreMetaverse.InstantMessageOnline,LibreMetaverse.Vector3,LibreMetaverse.UUID,System.Byte[])":
"self.native_instant_message_full(from_name, target, message, im_session_id, dialog, offline, position, region_id, binary_bucket)",
"M:LibreMetaverse.AgentManager.InstantMessage(System.String,LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,LibreMetaverse.UUID[])":
"self.native_instant_message_conference(from_name, target, message, im_session_id, conference_i_ds)",
"M:LibreMetaverse.AgentManager.InstantMessageGroup(LibreMetaverse.UUID,System.String)":
"self.native_instant_message_group(None, group_id, message)",
"M:LibreMetaverse.AgentManager.InstantMessageGroup(System.String,LibreMetaverse.UUID,System.String)":
"self.native_instant_message_group(Some(from_name), group_id, message)",
"M:LibreMetaverse.AgentManager.IsExperienceAdminAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_is_experience_role(\"IsExperienceAdmin\", experience_id, cancellation_token).await",
"M:LibreMetaverse.AgentManager.IsExperienceContributorAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_is_experience_role(\"IsExperienceContributor\", experience_id, cancellation_token).await",
"M:LibreMetaverse.AgentManager.IsGroupMessage(LibreMetaverse.InstantMessage)":
"Ok(self.native_is_group_message(message))",
"M:LibreMetaverse.AgentManager.Jump(System.Boolean)":
"self.native_jump(jumping)",
"M:LibreMetaverse.AgentManager.LookAtEffect(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Vector3d,LibreMetaverse.LookAtType,LibreMetaverse.UUID)":
"self.native_look_at_effect(source_avatar, target_object, global_offset, type_, effect_id)",
"M:LibreMetaverse.AgentManager.ModerateChatSessions(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Boolean,System.Threading.CancellationToken)":
"self.native_moderate_chat_sessions(session_id, member_id, key, moderate, cancellation_token)",
"M:LibreMetaverse.AgentManager.PayUploadFee":
"self.native_pay_upload_fee(None, String::new())",
"M:LibreMetaverse.AgentManager.PayUploadFee(System.Int32)":
"self.native_pay_upload_fee(Some(amount), String::new())",
"M:LibreMetaverse.AgentManager.PayUploadFee(System.String)":
"self.native_pay_upload_fee(None, description)",
"M:LibreMetaverse.AgentManager.PickDelete(LibreMetaverse.UUID)":
"self.native_pick_delete(pick_id)",
"M:LibreMetaverse.AgentManager.PickInfoUpdate(LibreMetaverse.UUID,System.Boolean,LibreMetaverse.UUID,System.String,LibreMetaverse.Vector3d,LibreMetaverse.UUID,System.String)":
"self.native_pick_info_update(pick_id, top_pick, parcel_id, name, global_position, texture_id, description)",
"M:LibreMetaverse.AgentManager.PlayGestureAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_play_gesture(gesture_id, cancellation_token).await",
"M:LibreMetaverse.AgentManager.PointAtEffect(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Vector3d,LibreMetaverse.PointAtType,LibreMetaverse.UUID)":
"self.native_point_at_effect(source_avatar, target_object, global_offset, type_, effect_id)",
"M:LibreMetaverse.AgentManager.PostAvatarRenderInfoAsync(System.Collections.Generic.IReadOnlyDictionary{LibreMetaverse.UUID,System.ValueTuple{System.Int32,System.Boolean}},System.Threading.CancellationToken)":
"self.native_post_avatar_render_info(agents, cancellation_token).await",
"M:LibreMetaverse.AgentManager.PostAvatarRenderInfoAsync(System.Int32,System.Boolean,System.Threading.CancellationToken)":
"self.native_post_local_avatar_render_info(weight, too_complex, cancellation_token).await",
"M:LibreMetaverse.AgentManager.ReplyToScriptDialog(System.Int32,System.Int32,System.String,LibreMetaverse.UUID)":
"self.native_reply_to_script_dialog(channel, button_index, button_label, object_id)",
"M:LibreMetaverse.AgentManager.RequestBalance":
"self.native_request_balance()",
"M:LibreMetaverse.AgentManager.RequestJoinGroupChat(LibreMetaverse.UUID)":
"self.native_join_group_chat(group_id)",
"M:LibreMetaverse.AgentManager.RequestLeaveGroupChat(LibreMetaverse.UUID)":
"self.native_leave_group_chat(group_id)",
"M:LibreMetaverse.AgentManager.RequestMuteList":
"self.native_request_mute_list()",
"M:LibreMetaverse.AgentManager.RequestSit(LibreMetaverse.UUID,LibreMetaverse.Vector3)":
"self.native_request_sit(target_id, offset)",
"M:LibreMetaverse.AgentManager.RequestTeleport(LibreMetaverse.UUID)":
"self.native_request_teleport_landmark(landmark)",
"M:LibreMetaverse.AgentManager.RequestTeleport(System.UInt64,LibreMetaverse.Vector3)":
"self.native_request_teleport_location(region_handle, position, libremetaverse_types::Vector3::unit_y(), Some(false))",
"M:LibreMetaverse.AgentManager.RequestTeleport(System.UInt64,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Boolean)":
"self.native_request_teleport_location(region_handle, position, look_at, ignore_caps_status)",
"M:LibreMetaverse.AgentManager.RequestNavMeshGenerationStatusAsync(System.Threading.CancellationToken)":
"self.native_request_nav_mesh_generation_status(cancellation_token).await",
"M:LibreMetaverse.AgentManager.RequestNavMeshRebakeAsync(System.Threading.CancellationToken)":
"self.native_request_nav_mesh_rebake(cancellation_token).await",
"M:LibreMetaverse.AgentManager.RemoveMuteListEntry(LibreMetaverse.UUID,System.String)":
"self.native_remove_mute_list_entry(id, name)",
"M:LibreMetaverse.AgentManager.RetrieveInstantMessagesAsync(System.Threading.CancellationToken)":
"self.native_retrieve_instant_messages(cancellation_token).await",
"M:LibreMetaverse.AgentManager.QueryExperiencesOnParcelAsync(System.Int32,System.Collections.Generic.IEnumerable{LibreMetaverse.UUID},System.Threading.CancellationToken)":
"self.native_query_experiences_on_parcel(parcel_local_id, experience_ids, cancellation_token).await",
"M:LibreMetaverse.AgentManager.SendPostcardAsync(System.Byte[],System.String,System.String,System.String,System.String,LibreMetaverse.Vector3,System.Threading.CancellationToken)":
"self.native_send_postcard(jpeg_image_data, to_email, from_name, subject, message, global_position, cancellation_token).await",
"M:LibreMetaverse.AgentManager.SendViewerStatsAsync(LibreMetaverse.Messages.Linden.ViewerStatsMessage,System.Threading.CancellationToken)":
"self.native_send_viewer_stats(stats, cancellation_token).await",
"M:LibreMetaverse.AgentManager.SendTeleportLure(LibreMetaverse.UUID)":
"self.native_send_teleport_lure(target_id, None)",
"M:LibreMetaverse.AgentManager.SendTeleportLure(LibreMetaverse.UUID,System.String)":
"self.native_send_teleport_lure(target_id, Some(message))",
"M:LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID)":
"self.native_send_teleport_lure_request(target_id, target_id, \"Let me join you in your location\".into())",
"M:LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String)":
"self.native_send_teleport_lure_request(target_id, session_id, message)",
"M:LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID,System.String)":
"self.native_send_teleport_lure_request(target_id, target_id, message)",
"M:LibreMetaverse.AgentManager.SetAgentAccessAsync(System.String,System.Threading.CancellationToken)":
"self.native_set_agent_access_async(access, cancellation_token).await",
"M:LibreMetaverse.AgentManager.SetDisplayNameAsync(System.String,System.String,System.Threading.CancellationToken)":
"self.native_set_display_name(old_name, new_name, cancellation_token).await",
"M:LibreMetaverse.AgentManager.SetExperiencePermissionAsync(LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)":
"self.native_set_experience_permission(experience_id, permission, cancellation_token).await",
"M:LibreMetaverse.AgentManager.SetExperiencePreferencesAsync(LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage,System.Threading.CancellationToken)":
"self.native_set_experience_preferences_async(preferences, cancellation_token).await",
"M:LibreMetaverse.AgentManager.UpdateExperienceAsync(LibreMetaverse.Messages.Linden.ExperienceInfo,System.Threading.CancellationToken)":
"self.native_update_experience(info, cancellation_token).await",
"M:LibreMetaverse.AgentManager.SphereEffect(LibreMetaverse.Vector3d,LibreMetaverse.Color4,System.Single,LibreMetaverse.UUID)":
"self.native_viewer_effect(libremetaverse_types::UUID::zero(), libremetaverse_types::UUID::zero(), global_offset, color, duration, effect_id, crate::EffectType::Sphere, None)",
"M:LibreMetaverse.AgentManager.StartIMConferenceAsync(System.Collections.Generic.List{LibreMetaverse.UUID},LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_start_im_conference(participants, tmp_session_id, cancellation_token).await",
"M:LibreMetaverse.AgentManager.SetHoverHeightAsync(System.Double,System.Threading.CancellationToken)":
"self.native_set_hover_height_async(hover_height, cancellation_token).await",
"M:LibreMetaverse.AgentManager.Sit":
"self.native_sit()",
"M:LibreMetaverse.AgentManager.SitOnGround":
"self.native_sit_on_ground()",
"M:LibreMetaverse.AgentManager.Stand":
"self.native_stand()",
"M:LibreMetaverse.AgentManager.TeleportAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
"self.native_teleport_landmark(landmark, cancellation_token).await",
"M:LibreMetaverse.AgentManager.TeleportAsync(System.String,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Threading.CancellationToken)":
"self.native_teleport_name(sim_name, position, look_at, cancellation_token).await",
"M:LibreMetaverse.AgentManager.TeleportAsync(System.String,LibreMetaverse.Vector3,System.Threading.CancellationToken)":
"self.native_teleport_name(sim_name, position, libremetaverse_types::Vector3::unit_y(), cancellation_token).await",
"M:LibreMetaverse.AgentManager.TeleportAsync(System.UInt64,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Threading.CancellationToken)":
"self.native_teleport_location(region_handle, position, look_at, cancellation_token).await",
"M:LibreMetaverse.AgentManager.TeleportAsync(System.UInt64,LibreMetaverse.Vector3,System.Threading.CancellationToken)":
"self.native_teleport_location(region_handle, position, libremetaverse_types::Vector3::unit_y(), cancellation_token).await",
"M:LibreMetaverse.AgentManager.TeleportFailedEventHandler(System.String,LibreMetaverse.Interfaces.IMessage,LibreMetaverse.Simulator)":
"self.native_movement_runtime().handle_caps_event(\"TeleportFailed\", message.as_ref(), simulator).map(|_| ())",
"M:LibreMetaverse.AgentManager.TeleportLureRespond(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean)":
"self.native_teleport_lure_respond(requester_id, session_id, accept)",
"M:LibreMetaverse.AgentManager.TrackObjectInSimulator(LibreMetaverse.UUID,LibreMetaverse.Simulator)":
"Ok(self.native_track_object_in_simulator(object_id, sim))",
"M:LibreMetaverse.AgentManager.UntrackObjectInSimulator(LibreMetaverse.UUID,LibreMetaverse.Simulator)":
"Ok(self.native_untrack_object_in_simulator(object_id, &sim))",
"M:LibreMetaverse.AgentManager.UpdateAgentLanguageAsync(System.String,System.Boolean,System.Threading.CancellationToken)":
"self.native_update_agent_language(language, is_public, cancellation_token).await",
"M:LibreMetaverse.AgentManager.UpdateClassifiedInfo(LibreMetaverse.UUID,LibreMetaverse.DirectoryManager.ClassifiedCategories,LibreMetaverse.UUID,System.Int32,LibreMetaverse.Vector3d,System.String,System.String,System.Boolean)":
"self.native_update_classified_info(classified_id, category, snapshot_id, price, position, name, desc, auto_renew)",
"M:LibreMetaverse.AgentManager.UpdateClassifiedInfo(LibreMetaverse.UUID,LibreMetaverse.DirectoryManager.ClassifiedCategories,LibreMetaverse.UUID,System.Int32,System.String,System.String,System.Boolean)":
"self.native_update_classified_info(classified_id, category, snapshot_id, price, libremetaverse_types::Vector3d::zero(), name, desc, auto_renew)",
"M:LibreMetaverse.AgentManager.UpdateInterests(LibreMetaverse.Avatar.Interests)":
"self.native_update_interests(interests)",
"M:LibreMetaverse.AgentManager.UpdateMuteListEntry(LibreMetaverse.MuteType,LibreMetaverse.UUID,System.String)":
"self.native_update_mute_list_entry(type_, id, name, crate::MuteFlags::DEFAULT)",
"M:LibreMetaverse.AgentManager.UpdateMuteListEntry(LibreMetaverse.MuteType,LibreMetaverse.UUID,System.String,LibreMetaverse.MuteFlags)":
"self.native_update_mute_list_entry(type_, id, name, flags)",
"M:LibreMetaverse.AgentManager.UpdateProfile(LibreMetaverse.Avatar.AvatarProperties)":
"self.native_update_profile(profile)",
"M:LibreMetaverse.AgentManager.UpdateProfileAsync(LibreMetaverse.Avatar.AvatarProperties,System.Threading.CancellationToken)":
"self.native_update_profile_async(profile, cancellation_token).await",
"M:LibreMetaverse.AgentManager.UpdateProfileNotes(LibreMetaverse.UUID,System.String)":
"self.native_update_profile_notes(target, notes)",
"M:LibreMetaverse.AgentManager.UpdateProfileNotesAsync(LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)":
"self.native_update_profile_notes_async(target, notes, cancellation_token).await",
"M:LibreMetaverse.AgentManager.UpdateProfileUdp(LibreMetaverse.Avatar.AvatarProperties)":
"self.native_update_profile_udp(profile)",
"P:LibreMetaverse.AgentManager.ActiveGestures":
"self.native_active_gestures()",
"P:LibreMetaverse.AgentManager.AgentExperienceList":
"self.native_agent_experience_list()",
"P:LibreMetaverse.AgentManager.AgentExperienceList#set":
"self.native_set_agent_experience_list(value)",
"P:LibreMetaverse.AgentManager.ExperiencePreferences":
"self.native_experience_preferences()",
"P:LibreMetaverse.AgentManager.ExperiencePreferences#set":
"self.native_set_experience_preferences(value)",
"P:LibreMetaverse.AgentManager.LastRegionExperiences":
"self.native_last_region_experiences()",
"P:LibreMetaverse.AgentManager.LastRegionExperiences#set":
"self.native_set_last_region_experiences(value)",
"P:LibreMetaverse.AgentManager.AvatarRenderInfo":
"self.native_avatar_render_info()",
"P:LibreMetaverse.AgentManager.AvatarRenderInfo#set":
"self.native_set_avatar_render_info(value)",
"P:LibreMetaverse.AgentManager.ViewerBenefits":
"self.native_viewer_benefits()",
"P:LibreMetaverse.AgentManager.ViewerBenefits#set":
"self.native_set_viewer_benefits(value)",
"P:LibreMetaverse.AgentManager.Benefits":
"self.native_benefits()",
"P:LibreMetaverse.AgentManager.Benefits#set":
"self.native_set_benefits(value)",
"P:LibreMetaverse.AgentManager.Name":
"self.native_name()",
"P:LibreMetaverse.AgentManager.ActiveGroup":
"self.native_active_group()",
"P:LibreMetaverse.AgentManager.ActiveGroup#set":
"self.native_set_active_group(value)",
"P:LibreMetaverse.AgentManager.ActiveGroupPowers":
"self.native_active_group_powers()",
"P:LibreMetaverse.AgentManager.ActiveGroupPowers#set":
"self.native_set_active_group_powers(value)",
"P:LibreMetaverse.AgentManager.FirstName":
"self.native_first_name()",
"P:LibreMetaverse.AgentManager.FirstName#set":
"self.native_set_first_name(value)",
"P:LibreMetaverse.AgentManager.LastName":
"self.native_last_name()",
"P:LibreMetaverse.AgentManager.LastName#set":
"self.native_set_last_name(value)",
"P:LibreMetaverse.AgentManager.AgentAccess":
"self.native_agent_access()",
"P:LibreMetaverse.AgentManager.AgentAccess#set":
"self.native_set_agent_access(value)",
"P:LibreMetaverse.AgentManager.HoverHeight":
"self.native_hover_height()",
"P:LibreMetaverse.AgentManager.HoverHeight#set":
"self.native_set_hover_height(value)",
"P:LibreMetaverse.AgentManager.ProductInfo":
"self.native_product_info()",
"P:LibreMetaverse.AgentManager.ProductInfo#set":
"self.native_set_product_info(value)",
"P:LibreMetaverse.AgentManager.Balance":
"self.native_balance()",
"P:LibreMetaverse.AgentManager.Balance#set":
"self.native_set_balance(value)",
"P:LibreMetaverse.AgentManager.LastNavMeshStatus":
"self.native_last_nav_mesh_status()",
"P:LibreMetaverse.AgentManager.LastNavMeshStatus#set":
"self.native_set_last_nav_mesh_status(value)",
"P:LibreMetaverse.AgentManager.AgentID":
"self.native_agent_id()",
"P:LibreMetaverse.AgentManager.AgentID#set":
"self.native_set_agent_id(value)",
"P:LibreMetaverse.AgentManager.SessionID":
"self.native_session_id()",
"P:LibreMetaverse.AgentManager.SessionID#set":
"self.native_set_session_id(value)",
"P:LibreMetaverse.AgentManager.Acceleration":
"self.native_movement_runtime().acceleration()",
"P:LibreMetaverse.AgentManager.AngularVelocity":
"self.native_movement_runtime().angular_velocity()",
"P:LibreMetaverse.AgentManager.GlobalPosition":
"self.native_movement_runtime().global_position()",
"P:LibreMetaverse.AgentManager.HomePosition":
"self.native_movement_runtime().home_position()",
"P:LibreMetaverse.AgentManager.LastPositionUpdate":
"self.native_movement_runtime().last_position_update()",
"P:LibreMetaverse.AgentManager.LastPositionUpdate#set":
"self.native_movement_runtime().set_last_position_update(value)",
"P:LibreMetaverse.AgentManager.RelativePosition":
"self.native_movement_runtime().relative_position()",
"P:LibreMetaverse.AgentManager.RelativePosition#set":
"self.native_movement_runtime().set_relative_position(value)",
"P:LibreMetaverse.AgentManager.RelativePositionEstimate":
"self.native_movement_runtime().relative_position_estimate()",
"P:LibreMetaverse.AgentManager.RelativePositionEstimate#set":
"self.native_movement_runtime().set_relative_position(value)",
"P:LibreMetaverse.AgentManager.RelativeRotation":
"self.native_movement_runtime().relative_rotation()",
"P:LibreMetaverse.AgentManager.RelativeRotation#set":
"self.native_movement_runtime().set_relative_rotation(value)",
"P:LibreMetaverse.AgentManager.SimPosition":
"self.native_movement_runtime().sim_position()",
"P:LibreMetaverse.AgentManager.SimRotation":
"self.native_movement_runtime().sim_rotation()",
"P:LibreMetaverse.AgentManager.SittingOn":
"self.native_movement_runtime().sitting_on()",
"P:LibreMetaverse.AgentManager.TeleportMessage":
"self.native_movement_runtime().teleport_message()",
"P:LibreMetaverse.AgentManager.TeleportMessage#set":
"self.native_movement_runtime().set_teleport_message(value)",
"P:LibreMetaverse.AgentManager.Velocity":
"self.native_movement_runtime().velocity()",
"E:LibreMetaverse.NetworkManager.Disconnected":
"self.native_subscribe_disconnected(handler)",
"E:LibreMetaverse.NetworkManager.EventQueueRunning":
"self.native_subscribe_event_queue_running(handler)",
"E:LibreMetaverse.NetworkManager.GenericStreamingMessage":
"self.native_subscribe_generic_streaming_message(handler)",
"E:LibreMetaverse.NetworkManager.LoggedOut":
"self.native_subscribe_logged_out(handler)",
"E:LibreMetaverse.NetworkManager.LoginProgress":
"self.native_subscribe_login_progress(handler)",
"E:LibreMetaverse.NetworkManager.PacketSent":
"self.native_subscribe_packet_sent(handler)",
"E:LibreMetaverse.NetworkManager.SimChanged":
"self.native_subscribe_sim_changed(handler)",
"E:LibreMetaverse.NetworkManager.SimConnected":
"self.native_subscribe_sim_connected(handler)",
"E:LibreMetaverse.NetworkManager.SimConnecting":
"self.native_subscribe_sim_connecting(handler)",
"E:LibreMetaverse.NetworkManager.SimDisconnected":
"self.native_subscribe_sim_disconnected(handler)",
"M:LibreMetaverse.NetworkManager.#ctor(LibreMetaverse.GridClient)":
"crate::network_manager::NetworkManager::native_new(client)",
"M:LibreMetaverse.NetworkManager.AbortLogin":
"self.native_abort_login()",
"M:LibreMetaverse.NetworkManager.BeginLogin(LibreMetaverse.LoginParams)":
"self.native_begin_login(login_params)",
"M:LibreMetaverse.NetworkManager.BeginLogout":
"self.native_begin_logout()",
"M:LibreMetaverse.NetworkManager.Connect(System.Net.IPAddress,System.UInt16,System.UInt64,System.Boolean,System.Uri)":
"self.native_connect(std::net::SocketAddr::new(ip, port), handle, set_default, seedcaps, crate::network_manager::Simulator::DEFAULT_REGION_SIZE_X, crate::network_manager::Simulator::DEFAULT_REGION_SIZE_Y)",
"M:LibreMetaverse.NetworkManager.Connect(System.Net.IPAddress,System.UInt16,System.UInt64,System.Boolean,System.Uri,System.UInt32,System.UInt32)":
"self.native_connect(std::net::SocketAddr::new(ip, port), handle, set_default, seedcaps, size_x, size_y)",
"M:LibreMetaverse.NetworkManager.Connect(System.Net.IPEndPoint,System.UInt64,System.Boolean,System.Uri)":
"self.native_connect(end_point, handle, set_default, seedcaps, crate::network_manager::Simulator::DEFAULT_REGION_SIZE_X, crate::network_manager::Simulator::DEFAULT_REGION_SIZE_Y)",
"M:LibreMetaverse.NetworkManager.Connect(System.Net.IPEndPoint,System.UInt64,System.Boolean,System.Uri,System.UInt32,System.UInt32)":
"self.native_connect(end_point, handle, set_default, seedcaps, size_x, size_y)",
"M:LibreMetaverse.NetworkManager.ConnectAsync(System.Net.IPAddress,System.UInt16,System.UInt64,System.Boolean,System.Uri)":
"self.native_connect_async(std::net::SocketAddr::new(ip, port), handle, set_default, seedcaps, crate::network_manager::Simulator::DEFAULT_REGION_SIZE_X, crate::network_manager::Simulator::DEFAULT_REGION_SIZE_Y).await",
"M:LibreMetaverse.NetworkManager.ConnectAsync(System.Net.IPEndPoint,System.UInt64,System.Boolean,System.Uri,System.UInt32,System.UInt32)":
"self.native_connect_async(end_point, handle, set_default, seedcaps, size_x, size_y).await",
"M:LibreMetaverse.NetworkManager.DisconnectSim(LibreMetaverse.Simulator,System.Boolean)":
"self.native_disconnect_sim(simulator, send_close_circuit)",
"M:LibreMetaverse.NetworkManager.EnqueueIncoming(LibreMetaverse.NetworkManager.IncomingPacket)":
"self.native_enqueue_incoming(packet)",
"M:LibreMetaverse.NetworkManager.EnqueueOutgoing(LibreMetaverse.NetworkManager.OutgoingPacket)":
"self.native_enqueue_outgoing(packet)",
"M:LibreMetaverse.NetworkManager.FindSimulator(System.Net.IPEndPoint)":
"Ok(self.native_find_endpoint(end_point))",
"M:LibreMetaverse.Messages.MessageUtils.DecodeEvent(System.String,LibreMetaverse.StructuredData.OSDMap)":
"crate::message_decoder::decode_event(&event_name, &map)",
"M:LibreMetaverse.Messages.MessageUtils.FromDictionaryString(System.Collections.Generic.Dictionary{System.String,System.String})":
"crate::message_decoder::from_dictionary_string(dict)",
"M:LibreMetaverse.Messages.MessageUtils.FromDictionaryUri(System.Collections.Generic.Dictionary{System.Uri,System.Uri})":
"crate::message_decoder::from_dictionary_uri(dict)",
"M:LibreMetaverse.Messages.MessageUtils.FromIP(System.Net.IPAddress)":
"crate::message_decoder::from_ip(address)",
"M:LibreMetaverse.Messages.MessageUtils.ToDictionaryString(LibreMetaverse.StructuredData.OSD)":
"crate::message_decoder::to_dictionary_string(osd)",
"M:LibreMetaverse.Messages.MessageUtils.ToDictionaryUri(LibreMetaverse.StructuredData.OSD)":
"crate::message_decoder::to_dictionary_uri(osd)",
"M:LibreMetaverse.Messages.MessageUtils.ToIP(LibreMetaverse.StructuredData.OSD)":
"crate::message_decoder::to_ip(osd)",
"M:LibreMetaverse.NetworkManager.FindSimulator(System.UInt64)":
"Ok(self.native_find_handle(handle))",
"M:LibreMetaverse.NetworkManager.DefaultLoginParams(System.String,System.String,System.String,System.String,System.String)":
"self.native_default_login_params(first_name, last_name, password, channel, version)",
"M:LibreMetaverse.NetworkManager.GetHashedMAC":
"crate::login::hashed_mac()",
"M:LibreMetaverse.NetworkManager.GetMAC":
"Ok(crate::login::mac_address())",
"M:LibreMetaverse.NetworkManager.GetPlatform":
"Ok(crate::login::platform())",
"M:LibreMetaverse.NetworkManager.GetPlatformVersion":
"Ok(crate::login::platform_version())",
"M:LibreMetaverse.NetworkManager.RefreshMac":
"Ok(crate::login::refresh_mac())",
"M:LibreMetaverse.NetworkManager.Login(LibreMetaverse.LoginResponseData)":
"self.native_login_response(response)",
"M:LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.String,System.Threading.CancellationToken)":
"self.native_login_credential(credential, channel, Some(start), version, cancellation_token).await",
"M:LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.Threading.CancellationToken)":
"self.native_login_credential(credential, channel, None, version, cancellation_token).await",
"M:LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginParams,System.Threading.CancellationToken)":
"self.native_login(login_params, cancellation_token).await",
"M:LibreMetaverse.NetworkManager.LoginAsync(System.String,System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)":
"self.native_login_strings(first_name, last_name, password, channel, start, version, cancellation_token).await",
"M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.String,System.Threading.CancellationToken)":
"self.native_login_credential_response(credential, channel, Some(start), version, cancellation_token).await",
"M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.Threading.CancellationToken)":
"self.native_login_credential_response(credential, channel, None, version, cancellation_token).await",
"M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginParams,System.Threading.CancellationToken)":
"self.native_login_response_async(login_params, cancellation_token).await",
"M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(System.String,System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)":
"self.native_login_strings_response(first_name, last_name, password, channel, start, version, cancellation_token).await",
"M:LibreMetaverse.NetworkManager.Logout":
"self.native_logout()",
"M:LibreMetaverse.NetworkManager.LogoutAsync(System.Threading.CancellationToken)":
"self.native_logout_async(cancellation_token).await",
"M:LibreMetaverse.NetworkManager.RegisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback)":
"self.native_register_login_response_callback(callback, None)",
"M:LibreMetaverse.NetworkManager.RegisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback,System.String[])":
"self.native_register_login_response_callback(callback, options)",
"M:LibreMetaverse.NetworkManager.RequestLogout":
"self.native_request_logout()",
"M:LibreMetaverse.NetworkManager.StartLocation(System.String,System.Int32,System.Int32,System.Int32)":
"Ok(crate::login::start_location(&sim, x, y, z))",
"M:LibreMetaverse.NetworkManager.UnregisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback)":
"self.native_unregister_login_response_callback(&callback)",
"M:LibreMetaverse.InventoryFolder.#ctor(LibreMetaverse.UUID)":
"Ok(Self { base: crate::InventoryBase { native_uuid: uuid, native_owner_id: libremetaverse_types::UUID::zero(), native_parent_uuid: libremetaverse_types::UUID::zero(), native_name: String::new() }, native_descendent_count: 0, native_preferred_type: libremetaverse_types::FolderType::None, native_version: Self::VERSION_UNKNOWN })",
"P:LibreMetaverse.InventoryBase.Name":
"self.native_name.clone()",
"P:LibreMetaverse.InventoryBase.Name#set":
"self.native_name = value",
"P:LibreMetaverse.InventoryBase.OwnerID":
"self.native_owner_id",
"P:LibreMetaverse.InventoryBase.OwnerID#set":
"self.native_owner_id = value",
"P:LibreMetaverse.InventoryBase.ParentUUID":
"self.native_parent_uuid",
"P:LibreMetaverse.InventoryBase.ParentUUID#set":
"self.native_parent_uuid = value",
"P:LibreMetaverse.InventoryBase.UUID":
"self.native_uuid",
"P:LibreMetaverse.InventoryBase.UUID#set":
"self.native_uuid = value",
"P:LibreMetaverse.InventoryFolder.DescendentCount":
"self.native_descendent_count",
"P:LibreMetaverse.InventoryFolder.DescendentCount#set":
"self.native_descendent_count = value",
"P:LibreMetaverse.InventoryFolder.PreferredType":
"self.native_preferred_type",
"P:LibreMetaverse.InventoryFolder.PreferredType#set":
"self.native_preferred_type = value",
"P:LibreMetaverse.InventoryFolder.Version":
"self.native_version",
"P:LibreMetaverse.InventoryFolder.Version#set":
"self.native_version = value",
"M:LibreMetaverse.NetworkManager.RegisterCallback(LibreMetaverse.Packets.PacketType,System.EventHandler{LibreMetaverse.PacketReceivedEventArgs})":
"self.native_register_callback(type_, callback, true)",
"M:LibreMetaverse.NetworkManager.RegisterCallback(LibreMetaverse.Packets.PacketType,System.EventHandler{LibreMetaverse.PacketReceivedEventArgs},System.Boolean)":
"self.native_register_callback(type_, callback, is_async)",
"M:LibreMetaverse.NetworkManager.RegisterEventCallback(System.String,LibreMetaverse.Caps.EventQueueCallback)":
"self.native_register_caps(caps_event, callback)",
"M:LibreMetaverse.NetworkManager.SendPacket(LibreMetaverse.Packets.Packet)":
"self.native_send_packet(packet, None)",
"M:LibreMetaverse.NetworkManager.SendPacket(LibreMetaverse.Packets.Packet,LibreMetaverse.Simulator)":
"self.native_send_packet(packet, simulator)",
"M:LibreMetaverse.NetworkManager.Shutdown(LibreMetaverse.NetworkManager.DisconnectType)":
"self.native_shutdown(type_, format!(\"{type_:?}\"))",
"M:LibreMetaverse.NetworkManager.Shutdown(LibreMetaverse.NetworkManager.DisconnectType,System.String)":
"self.native_shutdown(type_, message)",
"M:LibreMetaverse.NetworkManager.ShutdownAsync(LibreMetaverse.NetworkManager.DisconnectType,System.String)":
"self.native_shutdown_async(type_, message).await",
"M:LibreMetaverse.NetworkManager.UnregisterCallback(LibreMetaverse.Packets.PacketType,System.EventHandler{LibreMetaverse.PacketReceivedEventArgs})":
"self.native_unregister_callback(type_, callback)",
"M:LibreMetaverse.NetworkManager.UnregisterEventCallback(System.String,LibreMetaverse.Caps.EventQueueCallback)":
"self.native_unregister_caps(caps_event, callback)",
"P:LibreMetaverse.NetworkManager.CircuitCode":
"self.native_circuit_code()",
"P:LibreMetaverse.NetworkManager.CircuitCode#set":
"self.native_set_circuit_code(value)",
"P:LibreMetaverse.NetworkManager.Connected":
"self.native_connected()",
"P:LibreMetaverse.NetworkManager.Connected#set":
"self.native_set_connected(value)",
"P:LibreMetaverse.NetworkManager.CurrentSim":
"self.native_current_sim()",
"P:LibreMetaverse.NetworkManager.CurrentSim#set":
"self.native_set_current_sim(value)",
"P:LibreMetaverse.NetworkManager.InboxCount":
"self.native_inbox_count()",
"P:LibreMetaverse.NetworkManager.AccountLevelBenefits":
"self.native_account_level_benefits()",
"P:LibreMetaverse.NetworkManager.AgentAppearanceServiceURL":
"self.native_agent_appearance_service_url()",
"P:LibreMetaverse.NetworkManager.LoginErrorKey":
"self.native_login_error_key()",
"P:LibreMetaverse.NetworkManager.LoginErrorKey#set":
"self.native_set_login_error_key(value)",
"P:LibreMetaverse.NetworkManager.LoginMessage":
"self.native_login_message()",
"P:LibreMetaverse.NetworkManager.LoginMessage#set":
"self.native_set_login_message(value)",
"P:LibreMetaverse.NetworkManager.LoginSeedCapability":
"self.native_login_seed_capability()",
"P:LibreMetaverse.NetworkManager.LoginSeedCapability#set":
"self.native_set_login_seed_capability(value)",
"P:LibreMetaverse.NetworkManager.LoginStatusCode":
"self.native_login_status_code()",
"P:LibreMetaverse.NetworkManager.LoginStatusCode#set":
"self.native_set_login_status_code(value)",
"P:LibreMetaverse.NetworkManager.MaxAgentGroups":
"self.native_max_agent_groups()",
"P:LibreMetaverse.NetworkManager.OutboxCount":
"self.native_outbox_count()",
"M:LibreMetaverse.Simulator.#ctor(LibreMetaverse.GridClient,System.Net.IPEndPoint,System.UInt64,System.UInt32,System.UInt32)":
"crate::network_manager::Simulator::native_new(client, address, handle, size_x, size_y)",
"M:LibreMetaverse.Simulator.Connect(System.Boolean)":
"self.native_connect(move_to_sim)",
"M:LibreMetaverse.Simulator.ConnectAsync(System.Boolean)":
"self.native_connect_async(move_to_sim).await",
"M:LibreMetaverse.Simulator.Disconnect(System.Boolean)":
"self.native_disconnect(send_close_circuit)",
"M:LibreMetaverse.Simulator.Dispose":
"self.native_dispose()",
"M:LibreMetaverse.Simulator.Equals(System.Object)":
"self.native_equals(obj)",
"M:LibreMetaverse.Simulator.GetHashCode":
"self.native_hash_code()",
"M:LibreMetaverse.Simulator.IsEventQueueRunning(System.Boolean)":
"self.native_is_event_queue_running(block_until_running)",
"M:LibreMetaverse.Simulator.Pause":
"self.native_pause()",
"M:LibreMetaverse.Simulator.Resume":
"self.native_resume()",
"M:LibreMetaverse.Simulator.SendPacket(LibreMetaverse.Packets.Packet)":
"self.native_send_packet(packet)",
"M:LibreMetaverse.Simulator.SendPacketData(System.Byte[],System.Int32,LibreMetaverse.Packets.PacketType,System.Boolean)":
"self.native_send_packet_data(data, data_length, type_, do_zerocode)",
"M:LibreMetaverse.Simulator.SendPing":
"self.native_send_ping()",
"M:LibreMetaverse.Simulator.SetSeedCaps(System.Uri,System.Boolean)":
"self.native_set_seed_caps(seedcaps, changed_sim)",
"M:LibreMetaverse.Simulator.ToString":
"self.native_to_string()",
"M:LibreMetaverse.Simulator.UseCircuitCode(System.Boolean)":
"self.native_use_circuit_code(wait_for_ack)",
"M:LibreMetaverse.Simulator.UseCircuitCodeAsync(System.Boolean)":
"self.native_use_circuit_code_async(wait_for_ack).await",
"M:LibreMetaverse.Simulator.op_Equality(LibreMetaverse.Simulator,LibreMetaverse.Simulator)":
"lhs == rhs",
"M:LibreMetaverse.Simulator.op_Inequality(LibreMetaverse.Simulator,LibreMetaverse.Simulator)":
"lhs != rhs",
"P:LibreMetaverse.Simulator.Connected":
"self.native_is_connected()",
"P:LibreMetaverse.Simulator.HandshakeComplete":
"self.native_handshake_complete()",
"P:LibreMetaverse.Simulator.IPEndPoint":
"self.native_ip_end_point()",
"P:LibreMetaverse.GridClient.Settings":
"&mut self.settings",
"P:LibreMetaverse.GridClient.TimeProvider":
"self.time_provider.clone()",
"P:LibreMetaverse.GridClient.TimeProvider#set":
"self.time_provider = value",
"F:LibreMetaverse.Settings.BindAddress":
"std::net::IpAddr::V4(std::net::Ipv4Addr::UNSPECIFIED)",
"F:LibreMetaverse.Settings.LogLevel":
"crate::logging::LogLevel(1)",
"F:LibreMetaverse.Settings.MaxHttpConnections":
"32",
"F:LibreMetaverse.Settings.PacketArchiveSize":
"1000",
"F:LibreMetaverse.Settings.ResourceDir":
'"linden".to_owned()',
"F:LibreMetaverse.Settings.SimulatorPoolTimeout":
"120_000",
"F:LibreMetaverse.Settings.TexturePipelineRefreshInterval":
"500.0",
"F:LibreMetaverse.Settings.UdpReceiveQueueCapacity":
"512",
"F:LibreMetaverse.Settings.UserAgent":
'"LibreMetaverse".to_owned()',
"M:LibreMetaverse.Settings.#ctor(LibreMetaverse.GridClient)":
"Ok(crate::client_core::Settings::defaults())",
"P:LibreMetaverse.Settings.Agent":
"self.agent.clone()",
"P:LibreMetaverse.Settings.AssetCache":
"self.asset_cache.clone()",
"P:LibreMetaverse.Settings.Connection":
"self.connection.clone()",
"P:LibreMetaverse.Settings.Logging":
"self.logging.clone()",
"P:LibreMetaverse.Settings.Packets":
"self.packets.clone()",
"P:LibreMetaverse.Settings.Parcel":
"self.parcel.clone()",
"P:LibreMetaverse.Settings.TexturePipeline":
"self.texture_pipeline.clone()",
"P:LibreMetaverse.Settings.Timing":
"&mut self.timing",
"P:LibreMetaverse.Settings.UploadCost":
"self.upload_cost",
"P:LibreMetaverse.Settings.UploadCost#set":
"self.upload_cost = value",
"P:LibreMetaverse.Settings.World":
"self.world.clone()",
"M:LibreMetaverse.Avatar.#ctor":
"crate::visual_catalog::new_avatar()",
"M:LibreMetaverse.Avatar.DecodeVisualParams":
"Ok(crate::visual_catalog::decode_visual_params(&self.visual_parameters))",
"M:LibreMetaverse.AvatarAppearanceEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Boolean,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Primitive.TextureEntryFace[],System.Collections.Generic.List{System.Byte},System.Byte,System.Int32,LibreMetaverse.AppearanceFlags,System.Int32)":
"Ok(Self { stored_visual_params: visual_params })",
"M:LibreMetaverse.AvatarAppearanceEventArgs.DecodeVisualParams":
"Ok(crate::visual_catalog::decode_visual_params(&self.stored_visual_params))",
"P:LibreMetaverse.AvatarAppearanceEventArgs.VisualParams":
"self.stored_visual_params.clone()",
"M:LibreMetaverse.Primitive.GetGrassDefinition":
"crate::foliage_catalog::grass_by_id(self.prim_data.state)",
"M:LibreMetaverse.Primitive.GetTreeDefinition":
"crate::foliage_catalog::TreeDefinitions::get(self.tree_species)",
"M:LibreMetaverse.StructuredData.OSDParser.BufferCharactersEqual(System.IO.StringReader,System.Char[],System.Int32)":
"crate::notation::buffer_characters_equal(reader, buffer, offset)",
"M:LibreMetaverse.StructuredData.OSDParser.ConsumeBytes(System.IO.Stream,System.Int32)":
"crate::binary::consume_bytes(stream, consume_bytes)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeLLSDBinary(System.Byte[])":
"crate::binary::deserialize_bytes(binary_data)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeLLSDBinary(System.IO.Stream)":
"crate::binary::deserialize_stream(stream)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeLLSDNotation(System.IO.StringReader)":
"crate::notation::deserialize_reader(reader)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeLLSDNotation(System.String)":
"crate::notation::deserialize_string(notation_data)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeLLSDProtobuf(System.Byte[])":
"crate::protobuf::deserialize_bytes(data)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeLLSDProtobuf(System.IO.Stream)":
"crate::protobuf::deserialize_stream(stream)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeJson(System.IO.Stream)":
"crate::json_codec::deserialize_stream(json)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeJson(System.String)":
"crate::json_codec::deserialize_string(json)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.Byte[])":
"crate::xml_codec::deserialize_bytes(xml_data)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.IO.Stream)":
"crate::xml_codec::deserialize_stream(xml_stream)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.String)":
"crate::xml_codec::deserialize_string(xml_data)",
"M:LibreMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.Xml.XmlReader)":
"crate::xml_codec::deserialize_reader(xml_data)",
"M:LibreMetaverse.StructuredData.OSDParser.EscapeCharacter(System.String,System.Char)":
"crate::notation::escape_character(s, c)",
"M:LibreMetaverse.StructuredData.OSDParser.FindByte(System.IO.Stream,System.Byte)":
"crate::binary::find_byte(stream, to_find)",
"M:LibreMetaverse.StructuredData.OSDParser.FindString(System.IO.Stream,System.String)":
"crate::binary::find_string(stream, to_find)",
"M:LibreMetaverse.StructuredData.OSDParser.GetLengthInBrackets(System.IO.StringReader)":
"crate::notation::get_length_in_brackets(reader)",
"M:LibreMetaverse.StructuredData.OSDParser.GetStringDelimitedBy(System.IO.StringReader,System.Char)":
"crate::notation::get_string_delimited_by(reader, delimiter)",
"M:LibreMetaverse.StructuredData.OSDParser.HostToNetworkIntBytes(System.Int32)":
"crate::binary::host_to_network_int_bytes(int_host_end)",
"M:LibreMetaverse.StructuredData.OSDParser.NetworkToHostDouble(System.Byte[])":
"crate::binary::network_to_host_double(binary_net_end)",
"M:LibreMetaverse.StructuredData.OSDParser.NetworkToHostInt(System.Byte[])":
"crate::binary::network_to_host_int(binary_net_end)",
"M:LibreMetaverse.StructuredData.OSDParser.PeekAndSkipWhitespace(System.IO.StringReader)":
"crate::notation::peek_and_skip_whitespace(reader)",
"M:LibreMetaverse.StructuredData.OSDParser.ReadAndSkipWhitespace(System.IO.StringReader)":
"crate::notation::read_and_skip_whitespace(reader)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDBinary(LibreMetaverse.StructuredData.OSD)":
"crate::binary::serialize(osd)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDBinary(LibreMetaverse.StructuredData.OSD,System.Boolean)":
"crate::binary::serialize_with_header(osd, prepend_header)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDBinaryStream(LibreMetaverse.StructuredData.OSD)":
"crate::binary::serialize_stream(data)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDBinaryStream(LibreMetaverse.StructuredData.OSD,System.Boolean)":
"crate::binary::serialize_stream_with_header(data, prepend_header)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeJsonString(LibreMetaverse.StructuredData.OSD,System.Boolean)":
"crate::json_codec::serialize(osd, preserve_defaults)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDInnerXmlString(LibreMetaverse.StructuredData.OSD)":
"crate::xml_codec::serialize_inner(data)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDNotation(LibreMetaverse.StructuredData.OSD)":
"crate::notation::serialize(osd)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDNotationFormatted(LibreMetaverse.StructuredData.OSD)":
"crate::notation::serialize_formatted(osd)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDNotationStream(LibreMetaverse.StructuredData.OSD)":
"crate::notation::serialize_stream(osd)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDNotationStreamFormatted(LibreMetaverse.StructuredData.OSD)":
"crate::notation::serialize_stream_formatted(osd)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDProtobuf(LibreMetaverse.StructuredData.OSD,System.Boolean)":
"crate::protobuf::serialize(osd, prepend_header)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDXmlBytes(LibreMetaverse.StructuredData.OSD)":
"crate::xml_codec::serialize_bytes(data)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDXmlElement(System.Xml.XmlWriter,LibreMetaverse.StructuredData.OSD)":
"crate::xml_codec::serialize_element(writer, data)",
"M:LibreMetaverse.StructuredData.OSDParser.SerializeLLSDXmlString(LibreMetaverse.StructuredData.OSD)":
"crate::xml_codec::serialize_string(data)",
"M:LibreMetaverse.StructuredData.OSDParser.SkipWhiteSpace(System.IO.Stream)":
"crate::binary::skip_whitespace(stream)",
"M:LibreMetaverse.StructuredData.OSDParser.UnescapeCharacter(System.String,System.Char)":
"crate::notation::unescape_character(s, c)",
"M:LibreMetaverse.StructuredData.OSDParser.Deserialize(System.Byte[])":
"crate::dispatch::deserialize_bytes(data)",
"M:LibreMetaverse.StructuredData.OSDParser.Deserialize(System.IO.Stream)":
"crate::dispatch::deserialize_stream(stream)",
"M:LibreMetaverse.StructuredData.OSDParser.Deserialize(System.String)":
"crate::dispatch::deserialize_string(data)",
"M:LibreMetaverse.Utils.ReadSingleLittleEndian(System.Byte[],System.Int32)":
"crate::byte_order::read_single_little_endian(src, pos)",
"M:LibreMetaverse.Utils.WriteSingleLittleEndian(System.Byte[],System.Int32,System.Single)":
"crate::byte_order::write_single_little_endian(dest, pos, value)",
"M:LibreMetaverse.Utils.ReadDoubleLittleEndian(System.Byte[],System.Int32)":
"crate::byte_order::read_double_little_endian(src, pos)",
"M:LibreMetaverse.Utils.WriteDoubleLittleEndian(System.Byte[],System.Int32,System.Double)":
"crate::byte_order::write_double_little_endian(dest, pos, value)",
}
CLIENT_CORE_NATIVE_OWNERS = (
"AgentSettings",
"AssetCacheSettings",
"ConnectionSettings",
"GridClient",
"LoggingSettings",
"PacketSettings",
"ParcelSettings",
"Settings",
"TexturePipelineSettings",
"TimingSettings",
"WorldSettings",
)
NETWORK_NATIVE_OWNERS = (
"InventoryBase",
"InventoryFolder",
"NetworkManager",
"Simulator",
)
NATIVE_OWNER_BOUNDS = {
"T:LibreMetaverse.CacheDictionary`2": {
"TKey": "TKey: Clone + PartialEq",
"TValue": "TValue: Clone + PartialEq",
},
"T:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator": {
"TKey": "TKey: Clone",
"TValue": "TValue: Clone",
},
"T:LibreMetaverse.DoubleDictionary`3": {
"TKey1": "TKey1: Clone + PartialEq",
"TKey2": "TKey2: Clone + PartialEq",
"TValue": "TValue: Clone + PartialEq",
},
"T:LibreMetaverse.EmptyRemovalStrategy`1": {"TKey": "TKey: Clone + PartialEq + Send"},
"T:LibreMetaverse.ExpiringCache`2": {
"TKey": "TKey: Clone + PartialEq",
"TValue": "TValue: Clone",
},
"T:LibreMetaverse.LruRemovalStrategy`1": {"TKey": "TKey: Clone + PartialEq + Send"},
"T:LibreMetaverse.MruRemovalStrategy`1": {"TKey": "TKey: Clone + PartialEq + Send"},
"T:LibreMetaverse.MultiValueDictionary`2": {
"TKey": "TKey: Clone + PartialEq",
"TValue": "TValue: Clone + PartialEq",
},
}
MAIN_TARGET = ROOT / "crates/libremetaverse/src/generated.rs"
WIRE_NAMESPACES = (
"LibreMetaverse.Assets",
"LibreMetaverse.Formatters",
"LibreMetaverse.Imaging",
"LibreMetaverse.ImportExport",
"LibreMetaverse.Materials",
"LibreMetaverse.Messages",
"LibreMetaverse.Packets",
"LibreMetaverse.Rendering",
)
WIRE_ROOT_TYPES = {
"T:LibreMetaverse.Animation",
"T:LibreMetaverse.BitPack",
"T:LibreMetaverse.Bumpiness",
"T:LibreMetaverse.FieldType",
"T:LibreMetaverse.GLTFMaterialUpdate",
"T:LibreMetaverse.Grass",
"T:LibreMetaverse.GrassDefinition",
"T:LibreMetaverse.Interfaces.IMessage",
"T:LibreMetaverse.LiveParticle",
"T:LibreMetaverse.MappingType",
"T:LibreMetaverse.MediaControls",
"T:LibreMetaverse.MediaEntry",
"T:LibreMetaverse.MediaPermission",
"T:LibreMetaverse.NameValue",
"T:LibreMetaverse.NameValue.ClassType",
"T:LibreMetaverse.NameValue.SendtoType",
"T:LibreMetaverse.NameValue.ValueType",
"T:LibreMetaverse.PacketFrequency",
"T:LibreMetaverse.PermissionMask",
"T:LibreMetaverse.PermissionWho",
"T:LibreMetaverse.Permissions",
"T:LibreMetaverse.Shininess",
"T:LibreMetaverse.TextureAttributes",
"T:LibreMetaverse.Tree",
"T:LibreMetaverse.TreeDefinition",
}
COMPOSED_BASE_TYPES = {
"T:LibreMetaverse.InventoryAnimation",
"T:LibreMetaverse.InventoryAttachment",
"T:LibreMetaverse.InventoryCallingCard",
"T:LibreMetaverse.InventoryCategory",
"T:LibreMetaverse.InventoryFolder",
"T:LibreMetaverse.InventoryGesture",
"T:LibreMetaverse.InventoryItem",
"T:LibreMetaverse.InventoryLSL",
"T:LibreMetaverse.InventoryLandmark",
"T:LibreMetaverse.InventoryMaterial",
"T:LibreMetaverse.InventoryNotecard",
"T:LibreMetaverse.InventoryObject",
"T:LibreMetaverse.InventorySettings",
"T:LibreMetaverse.InventorySnapshot",
"T:LibreMetaverse.InventorySound",
"T:LibreMetaverse.InventoryTexture",
"T:LibreMetaverse.InventoryWearable",
"T:LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation",
"T:LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate",
"T:LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference",
"T:LibreMetaverse.Messages.Linden.MapLayerReplyVariant",
"T:LibreMetaverse.Packets.DirPlacesReplyPacket",
"T:LibreMetaverse.Packets.TestMessagePacket",
"T:LibreMetaverse.Rendering.Joint",
}
NATIVE_MESSAGE_CODEC_TYPES = {
"T:LibreMetaverse.Messages.Linden.AgentDropGroupMessage",
"T:LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentData",
"T:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage",
"T:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData",
"T:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.NewGroupData",
"T:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage",
"T:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage",
"T:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo",
"T:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo",
"T:LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation",
"T:LibreMetaverse.Messages.Linden.ChatSessionRequestBlock",
"T:LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate",
"T:LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference",
"T:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage",
"T:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage",
"T:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock",
"T:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage",
"T:LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage",
"T:LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage",
"T:LibreMetaverse.Messages.Linden.CrossedRegionMessage",
"T:LibreMetaverse.Messages.Linden.DirLandReplyMessage",
"T:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply",
"T:LibreMetaverse.Messages.Linden.EnableSimulatorMessage",
"T:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock",
"T:LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage",
"T:LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage",
"T:LibreMetaverse.Messages.Linden.GetDisplayNamesMessage",
"T:LibreMetaverse.Messages.Linden.GetObjectCostMessage",
"T:LibreMetaverse.Messages.Linden.GetObjectCostRequest",
"T:LibreMetaverse.Messages.Linden.LandResourcesMessage",
"T:LibreMetaverse.Messages.Linden.LandResourcesRequest",
"T:LibreMetaverse.Messages.Linden.LandStatReplyMessage",
"T:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock",
"T:LibreMetaverse.Messages.Linden.MapLayerMessageBase",
"T:LibreMetaverse.Messages.Linden.MapLayerReplyVariant",
"T:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData",
"T:LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage",
"T:LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage",
"T:LibreMetaverse.Messages.Linden.ObjectMediaRequest",
"T:LibreMetaverse.Messages.Linden.ObjectMediaResponse",
"T:LibreMetaverse.Messages.Linden.ObjectMediaUpdate",
"T:LibreMetaverse.Messages.Linden.ObjectPhysicsPropertiesMessage",
"T:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage",
"T:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner",
"T:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage",
"T:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage",
"T:LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage",
"T:LibreMetaverse.Messages.Linden.PlacesReplyMessage",
"T:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData",
"T:LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage",
"T:LibreMetaverse.Messages.Linden.RemoteParcelRequestReply",
"T:LibreMetaverse.Messages.Linden.RegionInfoMessage",
"T:LibreMetaverse.Messages.Linden.RenderMaterialsMessage",
"T:LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage",
"T:LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage",
"T:LibreMetaverse.Messages.Linden.SearchStatRequestReply",
"T:LibreMetaverse.Messages.Linden.SearchStatRequestRequest",
"T:LibreMetaverse.Messages.Linden.SendPostcardMessage",
"T:LibreMetaverse.Messages.Linden.SetDisplayNameMessage",
"T:LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage",
"T:LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage",
"T:LibreMetaverse.Messages.Linden.SimConsoleResponseMessage",
"T:LibreMetaverse.Messages.Linden.TeleportFailedMessage",
"T:LibreMetaverse.Messages.Linden.TeleportFinishMessage",
"T:LibreMetaverse.Messages.Linden.UpdateAgentInformationMessage",
"T:LibreMetaverse.Messages.Linden.UpdateAgentInventoryRequestMessage",
"T:LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage",
"T:LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage",
"T:LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage",
"T:LibreMetaverse.Messages.Linden.UploaderRequestComplete",
"T:LibreMetaverse.Messages.Linden.UploaderRequestUpload",
"T:LibreMetaverse.Messages.Linden.ViewerStatsMessage",
}
OPEN_ENUM_IDS = {"T:LibreMetaverse.BakeType", "T:LibreMetaverse.HoleType"}
TRAIT_SUPERTRAITS = {
"T:LibreMetaverse.IBakingTextureProvider": "std::any::Any + Send + Sync",
"T:LibreMetaverse.Interfaces.IMessage": "std::any::Any",
"T:LibreMetaverse.Appearance.ICurrentOutfitPolicy": "Send + Sync",
}
CORE_NAMESPACES = (
"LibreMetaverse.Http",
"LibreMetaverse.Stats",
"LibreMetaverse.Threading",
)
CORE_ROOT_TYPES = {
"T:LibreMetaverse.CapabilitiesReceivedEventArgs",
"T:LibreMetaverse.Caps",
"T:LibreMetaverse.Caps.EventQueueCallback",
"T:LibreMetaverse.CapsCategory",
"T:LibreMetaverse.CapsEventDictionary",
"T:LibreMetaverse.CapsRateLimiter",
"T:LibreMetaverse.CapsRateLimiterOptions",
"T:LibreMetaverse.ConnectionSettings",
"T:LibreMetaverse.DisconnectedEventArgs",
"T:LibreMetaverse.DisposalHelper.DisposalGuard",
"T:LibreMetaverse.DisposalHelper",
"T:LibreMetaverse.EventQueueRunningEventArgs",
"T:LibreMetaverse.EventSubscription`1",
"T:LibreMetaverse.EventSubscriptionHelper",
"T:LibreMetaverse.FileHelper",
"T:LibreMetaverse.DictionaryChangeCallback",
"T:LibreMetaverse.DictionaryEventAction",
"T:LibreMetaverse.GenericStreamingMessageEventArgs",
"T:LibreMetaverse.GenericStreamingMethod",
"T:LibreMetaverse.GridClient",
"T:LibreMetaverse.GridClientBakingTextureProvider",
"T:LibreMetaverse.GridClientServiceCollectionExtensions",
"T:LibreMetaverse.Helpers",
"T:LibreMetaverse.HomeInfo",
"T:LibreMetaverse.HttpCapsClient",
"T:LibreMetaverse.IBakingTextureProvider",
"T:LibreMetaverse.IGridClient",
"T:LibreMetaverse.ImageCodec",
"T:LibreMetaverse.ImageDownload",
"T:LibreMetaverse.ImageReceiveProgressEventArgs",
"T:LibreMetaverse.ImageRequest",
"T:LibreMetaverse.ImageType",
"T:LibreMetaverse.IncomingPacketIDCollection",
"T:LibreMetaverse.Interfaces.IByteBufferPool",
"T:LibreMetaverse.Logger",
"T:LibreMetaverse.Logger.LogCallback",
"T:LibreMetaverse.LoggingSettings",
"T:LibreMetaverse.LoginCredential",
"T:LibreMetaverse.LoginException",
"T:LibreMetaverse.LoginParams",
"T:LibreMetaverse.LoginProgressEventArgs",
"T:LibreMetaverse.LoginResponseData",
"T:LibreMetaverse.LoginResponseData.ParseMessage",
"T:LibreMetaverse.LoginResponseData.ParseMessageLevel",
"T:LibreMetaverse.LoginResponseData.ParseResult",
"T:LibreMetaverse.LoginState",
"T:LibreMetaverse.LoginStatus",
"T:LibreMetaverse.LoggedOutEventArgs",
"T:LibreMetaverse.NetworkManager",
"T:LibreMetaverse.NetworkManager.DisconnectType",
"T:LibreMetaverse.NetworkManager.IncomingPacket",
"T:LibreMetaverse.NetworkManager.LoginResponseCallback",
"T:LibreMetaverse.NetworkManager.OutgoingPacket",
"T:LibreMetaverse.LastExecStatus",
"T:LibreMetaverse.ObservableDictionary`2",
"T:LibreMetaverse.PacketEventDictionary",
"T:LibreMetaverse.PacketReceivedEventArgs",
"T:LibreMetaverse.PacketSentEventArgs",
"T:LibreMetaverse.PacketSettings",
"T:LibreMetaverse.HttpCapsClient.ProgressReport",
"T:LibreMetaverse.ProtocolManager",
"T:LibreMetaverse.Repeat",
"T:LibreMetaverse.Settings",
"T:LibreMetaverse.SimChangedEventArgs",
"T:LibreMetaverse.SimConnectedEventArgs",
"T:LibreMetaverse.SimConnectingEventArgs",
"T:LibreMetaverse.SimDisconnectedEventArgs",
"T:LibreMetaverse.Simulator",
"T:LibreMetaverse.Simulator.SimStats",
"T:LibreMetaverse.SimulatorDataPool",
"T:LibreMetaverse.SimulatorFeatures",
"T:LibreMetaverse.SourceType",
"T:LibreMetaverse.StatusCode",
"T:LibreMetaverse.TargetType",
"T:LibreMetaverse.TexturePipeline",
"T:LibreMetaverse.TexturePipelineSettings",
"T:LibreMetaverse.TextureRequestState",
"T:LibreMetaverse.TimingSettings",
"T:LibreMetaverse.Transfer",
"T:LibreMetaverse.TransferError",
"T:LibreMetaverse.UDPBase",
"T:LibreMetaverse.UDPPacketBuffer",
"T:LibreMetaverse.XferDownload",
"T:LibreMetaverse.XferReceivedEventArgs",
}
AVATAR_NAMESPACES = (
"LibreMetaverse.Animesh",
"LibreMetaverse.Appearance",
)
AVATAR_TYPE_PREFIXES = (
"T:LibreMetaverse.Agent",
"T:LibreMetaverse.Animations",
"T:LibreMetaverse.AnimeshSkinning",
"T:LibreMetaverse.Appearance",
"T:LibreMetaverse.ArchetypeParam",
"T:LibreMetaverse.Asset",
"T:LibreMetaverse.Attention",
"T:LibreMetaverse.Avatar",
"T:LibreMetaverse.Inventory",
)
AVATAR_ROOT_TYPES = {
"T:LibreMetaverse.AISResponseMeta",
"T:LibreMetaverse.AccountLevelBenefits",
"T:LibreMetaverse.AlertMessageEventArgs",
"T:LibreMetaverse.BakeType",
"T:LibreMetaverse.BalanceEventArgs",
"T:LibreMetaverse.BinBVHAnimationReader",
"T:LibreMetaverse.BorderCrossingDirection",
"T:LibreMetaverse.CallingCardOfferedEventArgs",
"T:LibreMetaverse.CameraConstraintEventArgs",
"T:LibreMetaverse.ChannelType",
"T:LibreMetaverse.ChatAudibleLevel",
"T:LibreMetaverse.ChatEventArgs",
"T:LibreMetaverse.ChatSessionMember",
"T:LibreMetaverse.ChatSessionMemberAddedEventArgs",
"T:LibreMetaverse.ChatSessionMemberLeftEventArgs",
"T:LibreMetaverse.ChatSourceType",
"T:LibreMetaverse.ChatType",
"T:LibreMetaverse.ClassifiedAd",
"T:LibreMetaverse.ClassifiedInfoReplyEventArgs",
"T:LibreMetaverse.DeRezDestination",
"T:LibreMetaverse.DisplayNameUpdateEventArgs",
"T:LibreMetaverse.DrivenParamInfo",
"T:LibreMetaverse.EffectType",
"T:LibreMetaverse.ExperienceInfoEventArgs",
"T:LibreMetaverse.ExperiencePreferencesEventArgs",
"T:LibreMetaverse.FindObjectByPathReplyEventArgs",
"T:LibreMetaverse.FolderUpdatedEventArgs",
"T:LibreMetaverse.Genepool",
"T:LibreMetaverse.GenepoolArchetype",
"T:LibreMetaverse.GroupChatJoinedEventArgs",
"T:LibreMetaverse.HandPose",
"T:LibreMetaverse.InitiateDownloadEventArgs",
"T:LibreMetaverse.InstantMessage",
"T:LibreMetaverse.InstantMessageDialog",
"T:LibreMetaverse.InstantMessageEventArgs",
"T:LibreMetaverse.InstantMessageOnline",
"T:LibreMetaverse.ItemReceivedEventArgs",
"T:LibreMetaverse.LindenAttentions",
"T:LibreMetaverse.LoadUrlEventArgs",
"T:LibreMetaverse.LookAtType",
"T:LibreMetaverse.MeanCollisionEventArgs",
"T:LibreMetaverse.MeanCollisionType",
"T:LibreMetaverse.MoneyBalanceReplyEventArgs",
"T:LibreMetaverse.MoneyTransactionType",
"T:LibreMetaverse.MuteEntry",
"T:LibreMetaverse.MuteFlags",
"T:LibreMetaverse.MuteType",
"T:LibreMetaverse.NavMeshStatusUpdateEventArgs",
"T:LibreMetaverse.PayPriceReplyEventArgs",
"T:LibreMetaverse.PayPriceType",
"T:LibreMetaverse.PickInfoReplyEventArgs",
"T:LibreMetaverse.PointAtType",
"T:LibreMetaverse.ProductInfoEventArgs",
"T:LibreMetaverse.ProfileFlags",
"T:LibreMetaverse.ProfilePick",
"T:LibreMetaverse.RebakeAvatarTexturesEventArgs",
"T:LibreMetaverse.RegionCrossedEventArgs",
"T:LibreMetaverse.RegionCrossingPredictionEventArgs",
"T:LibreMetaverse.RegionExperiencesEventArgs",
"T:LibreMetaverse.SaveAssetToInventoryEventArgs",
"T:LibreMetaverse.ScriptControlChange",
"T:LibreMetaverse.ScriptControlEventArgs",
"T:LibreMetaverse.ScriptDialogEventArgs",
"T:LibreMetaverse.ScriptPermission",
"T:LibreMetaverse.ScriptQuestionEventArgs",
"T:LibreMetaverse.ScriptRunningReplyEventArgs",
"T:LibreMetaverse.ScriptSensorReplyEventArgs",
"T:LibreMetaverse.ScriptSensorTypeFlags",
"T:LibreMetaverse.SetDisplayNameReplyEventArgs",
"T:LibreMetaverse.SkeletalBoneInfo",
"T:LibreMetaverse.TaskInventoryReplyEventArgs",
"T:LibreMetaverse.TaskItemReceivedEventArgs",
"T:LibreMetaverse.TeleportEventArgs",
"T:LibreMetaverse.TeleportFlags",
"T:LibreMetaverse.TeleportLureFlags",
"T:LibreMetaverse.TeleportStatus",
"T:LibreMetaverse.TransactionFlags",
"T:LibreMetaverse.TransactionInfo",
"T:LibreMetaverse.UUIDNameReplyEventArgs",
"T:LibreMetaverse.ViewerBenefitsEventArgs",
"T:LibreMetaverse.ViewerEffectEventArgs",
"T:LibreMetaverse.ViewerEffectLookAtEventArgs",
"T:LibreMetaverse.ViewerEffectPointAtEventArgs",
"T:LibreMetaverse.VisualAlphaParam",
"T:LibreMetaverse.VisualColorOperation",
"T:LibreMetaverse.VisualColorParam",
"T:LibreMetaverse.VisualParam",
"T:LibreMetaverse.VisualParams",
"T:LibreMetaverse.VolumeMorphInfo",
"T:LibreMetaverse.binBVHJoint",
"T:LibreMetaverse.binBVHJointKey",
}
UNDERLYING = {
"System.SByte": "i8", "System.Byte": "u8", "System.Int16": "i16", "System.UInt16": "u16",
"System.Int32": "i32", "System.UInt32": "u32", "System.Int64": "i64", "System.UInt64": "u64",
}
PRIVATE_LAYOUTS = {
"T:LibreMetaverse.AvatarAppearanceEventArgs": [("stored_visual_params", "Vec<u8>")],
"T:LibreMetaverse.CacheDictionary`2": [("entries", "std::collections::HashMap<TKey, TValue>")],
"T:LibreMetaverse.DoubleDictionary`3": [
("by_first", "std::collections::HashMap<TKey1, TValue>"),
("by_second", "std::collections::HashMap<TKey2, TValue>"),
],
"T:LibreMetaverse.EmptyRemovalStrategy`1": [("keys", "Vec<TKey>")],
"T:LibreMetaverse.ExpiringCache`2": [("entries", "std::collections::HashMap<TKey, TValue>")],
"T:LibreMetaverse.InventoryBase": [
("native_uuid", "libremetaverse_types::UUID"),
("native_owner_id", "libremetaverse_types::UUID"),
("native_parent_uuid", "libremetaverse_types::UUID"),
("native_name", "String"),
],
"T:LibreMetaverse.InventoryFolder": [
("native_descendent_count", "i32"),
("native_preferred_type", "libremetaverse_types::FolderType"),
("native_version", "i32"),
],
"T:LibreMetaverse.LruRemovalStrategy`1": [("keys", "Vec<TKey>")],
"T:LibreMetaverse.MruRemovalStrategy`1": [("keys", "Vec<TKey>")],
"T:LibreMetaverse.MultiValueDictionary`2": [("entries", "std::collections::HashMap<TKey, Vec<TValue>>")],
"T:LibreMetaverse.TokenBucket": [("content", "i32"), ("max_burst", "i32"), ("drip_rate", "i32")],
"T:LibreMetaverse.UUID": [("bytes", "[u8; 16]")],
"T:LibreMetaverse.StructuredData.OSDArray": [("values", "Vec<OSD>")],
"T:LibreMetaverse.StructuredData.OSDBinary": [("value", "Vec<u8>")],
"T:LibreMetaverse.StructuredData.OSDBoolean": [("value", "bool")],
"T:LibreMetaverse.StructuredData.OSDDate": [("value", "std::time::SystemTime")],
"T:LibreMetaverse.StructuredData.OSDException": [("message", "String")],
"T:LibreMetaverse.StructuredData.OSDInteger": [("value", "i32")],
"T:LibreMetaverse.StructuredData.OSDMap": [("values", "std::collections::HashMap<String, OSD>")],
"T:LibreMetaverse.StructuredData.OSDReal": [("value", "f64")],
"T:LibreMetaverse.StructuredData.OSDString": [("value", "String")],
"T:LibreMetaverse.StructuredData.OSDUUID": [("value", "libremetaverse_types::UUID")],
"T:LibreMetaverse.StructuredData.OSDUri": [("value", "libremetaverse_types::compat::Uri")],
}
VALUE_DERIVES = {
"T:LibreMetaverse.Avatar": "Clone",
"T:LibreMetaverse.Avatar.Attachment": "Clone",
"T:LibreMetaverse.Avatar.AvatarProperties": "Clone",
"T:LibreMetaverse.Avatar.Interests": "Clone",
"T:LibreMetaverse.Avatar.Statistics": "Clone",
"T:LibreMetaverse.AgentSettings": "Clone, Debug, Eq, PartialEq",
"T:LibreMetaverse.AppearanceManager.WearableData": "Clone, Debug",
"T:LibreMetaverse.AssetCacheSettings": "Clone, Debug, Eq, PartialEq",
"T:LibreMetaverse.BuddyListEntry": "Clone, Debug, Eq, PartialEq",
"T:LibreMetaverse.ConnectionSettings": "Clone, Eq, PartialEq",
"T:LibreMetaverse.LoggingSettings": "Clone, Debug, Eq, PartialEq",
"T:LibreMetaverse.HomeInfo": "Clone, Copy, Debug, PartialEq",
"T:LibreMetaverse.InventoryBase": "Clone, Debug",
"T:LibreMetaverse.InventoryFolder": "Clone, Debug",
"T:LibreMetaverse.Matrix4": "Clone, Copy, Debug",
"T:LibreMetaverse.NameValue": "Clone, Debug",
"T:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock": "Clone, Debug",
"T:LibreMetaverse.Quaternion": "Clone, Copy, Debug",
"T:LibreMetaverse.PacketSettings": "Clone, Debug, Eq, PartialEq",
"T:LibreMetaverse.ParcelSettings": "Clone, Debug, Eq, PartialEq",
"T:LibreMetaverse.TexturePipelineSettings": "Clone, Debug, Eq, PartialEq",
"T:LibreMetaverse.TimingSettings": "Clone, Debug, Eq, PartialEq",
"T:LibreMetaverse.UUID": "Clone, Copy, Debug, Default, Eq, Hash, PartialEq",
"T:LibreMetaverse.Vector3": "Clone, Copy, Debug",
"T:LibreMetaverse.Vector3d": "Clone, Copy, Debug",
"T:LibreMetaverse.WorldSettings": "Clone, Debug, Eq, PartialEq",
}
# Native implementations occasionally need Rust-only bounds that have no
# direct C# metadata equivalent. C#'s `where T : class` permits returning a
# reference to the stored object; the Rust inventory store returns an owned
# value, so its generic compatibility accessors clone the concrete item.
NATIVE_MEMBER_BOUNDS = {
"M:LibreMetaverse.Inventory.GetValueOrDefault``1(LibreMetaverse.UUID)": {
"T": "T: Clone + 'static",
},
"M:LibreMetaverse.Inventory.TryGetValue``1(LibreMetaverse.UUID,``0@)": {
"T": "T: Clone + 'static",
},
}
def generic_names(item: dict) -> list[str]:
return [parameter["name"] for parameter in item.get("generic_parameters", [])]
def format_rust(source: str) -> str:
result = subprocess.run(
["rustfmt", "--edition", "2024", "--emit", "stdout"],
input=source,
text=True,
capture_output=True,
check=False,
)
if result.returncode:
raise ValueError(result.stderr.strip())
return result.stdout
def type_name(type_row: dict) -> str:
return type_row["rust_path"].rsplit("::", 1)[-1]
def generic_suffix(names: list[str]) -> str:
return "<" + ", ".join(names) + ">" if names else ""
def generic_declarations(item: dict, mapper: mapping.Mapper, owner_names: list[str]) -> list[str]:
generics = set(owner_names) | set(generic_names(item))
declarations = []
for parameter in item.get("generic_parameters", []):
bounds = [mapper.constraint(constraint, generics) for constraint in parameter.get("constraints", [])]
if parameter.get("default_constructor"):
bounds.append("Default")
declarations.append(parameter["name"] + ((": " + " + ".join(bounds)) if bounds else ""))
return declarations
def function_name(signature: str) -> str:
match = re.search(r"\bfn ([A-Za-z_][A-Za-z0-9_]*)", signature)
if not match:
raise ValueError(f"invalid mapped function signature: {signature}")
return match.group(1)
def render_compile_fixture(
catalog: dict,
type_by_id: dict[str, dict[str, str]],
member_rows: dict[str, dict[str, str]],
mapper: mapping.Mapper,
) -> str:
lines = [
"// @generated by tools/generate_api_shims.py; do not edit by hand.",
"#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]",
"#![allow(non_camel_case_types, non_snake_case)]",
"",
'fn argument<T>() -> T { panic!("compile-only API fixture") }',
"",
]
type_index = member_index = 0
for assembly in catalog["assemblies"]:
for item in assembly["types"]:
type_index += 1
type_row = type_by_id[item["doc_id"]]
owner_names = generic_names(item)
owner_path = type_row["rust_path"]
owner_type = owner_path + generic_suffix(owner_names)
owner_expression = owner_path + (("::<" + ", ".join(owner_names) + ">") if owner_names else "")
trait = item["kind"] == "interface"
type_parameters = [*owner_names]
if trait:
type_parameters.append(f"__Probe: {owner_type}")
type_argument = "&__Probe"
else:
type_argument = f"&{owner_type}"
declarations = generic_suffix(type_parameters)
lines += [
f"// C# type: `{item['doc_id']}`.",
f"fn type_{type_index:04}{declarations}(_: {type_argument}) {{}}",
"",
]
for member in item["members"]:
member_index += 1
row = member_rows[member["doc_id"]]
method_names = generic_names(member)
owner_bounds = NATIVE_OWNER_BOUNDS.get(item["doc_id"], {})
parameters = [
*(owner_bounds.get(name, name) for name in owner_names),
*generic_declarations(member, mapper, owner_names),
]
member_bounds = NATIVE_MEMBER_BOUNDS.get(member["doc_id"], {})
parameters = [
member_bounds.get(parameter.split(":", 1)[0], parameter)
for parameter in parameters
]
if member["doc_id"] == "M:LibreMetaverse.Utils.EnumTryParse``1(System.String,``0@)":
parameters = [
*owner_names,
"T: libremetaverse_types::EnumValueMetadata",
]
if trait:
parameters.append(f"__Probe: {owner_type}")
declaration = generic_suffix(parameters)
instance = not member.get("static") and member["kind"] not in {
"constructor",
"constant",
"enum_value",
}
value_parameter = (
f"value: &mut {'__Probe' if trait else owner_type}" if instance else ""
)
body = []
if member["kind"] == "field" and not member.get("static"):
field = re.fullmatch(r"pub ([^:]+): .+", row["rust_signature"])
if not field:
raise ValueError(f"invalid mapped field signature: {row['rust_signature']}")
body.append(f"let _ = &value.{field.group(1)};")
elif member["kind"] in {"constant", "enum_value"}:
pattern = r"pub const ([A-Za-z_][A-Za-z0-9_]*)" if member["kind"] == "constant" else r"([A-Za-z_][A-Za-z0-9_]*):"
name = re.match(pattern, row["rust_signature"])
if not name:
raise ValueError(f"invalid mapped value signature: {row['rust_signature']}")
body.append(f"let _ = {owner_expression}::{name.group(1)};")
else:
signatures = row["rust_signature"].split(" ; ")
property_argument_counts = []
if member["kind"] in {"property", "indexer"}:
accessors = {accessor["kind"] for accessor in member.get("accessors", [])}
if "get" in accessors:
property_argument_counts.append(len(member.get("parameters", [])))
if "set" in accessors:
property_argument_counts.append(len(member.get("parameters", [])) + 1)
for signature_index, signature in enumerate(signatures):
name = function_name(signature)
generic_call = (("::<" + ", ".join(method_names) + ">") if method_names else "")
if instance:
target = f"value.{name}{generic_call}"
elif trait:
target = f"<__Probe as {owner_type}>::{name}{generic_call}"
else:
target = f"{owner_expression}::{name}{generic_call}"
argument_count = len(member.get("parameters", []))
if member["kind"] == "event":
argument_count = 1
elif property_argument_counts:
argument_count = property_argument_counts[signature_index]
arguments = ", ".join("argument()" for _ in range(argument_count))
body.append(f"let _ = {target}({arguments});")
lines += [
f"// C# member: `{member['doc_id']}`.",
f"fn member_{member_index:05}{declaration}({value_parameter}) {{",
*[f" {line}" for line in body],
"}",
"",
]
return format_rust("\n".join(lines).rstrip() + "\n")
def flags_enum(item: dict) -> bool:
return any(attribute["type"] == "System.FlagsAttribute" for attribute in item.get("attributes", []))
def duplicate_enum_values(item: dict) -> bool:
values = [member["value"]["value"] for member in item["members"] if member["kind"] == "enum_value"]
return len(values) != len(set(values))
def render_enum(item: dict, rust_name: str) -> list[str]:
underlying = UNDERLYING[item["enum_underlying_type"]]
values = [member for member in item["members"] if member["kind"] == "enum_value"]
lines = [f"/// C# type: `{item['doc_id']}`."]
if item["doc_id"] in OPEN_ENUM_IDS:
lines += [
"#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]",
"#[repr(transparent)]",
f"pub struct {rust_name}(pub {underlying});",
"#[allow(non_upper_case_globals)]",
f"impl {rust_name} {{",
]
for member in values:
lines += [
f" /// C# member: `{member['doc_id']}`.",
f" pub const {mapping.pascal(member['name'])}: Self = Self({member['value']['value']});",
]
lines.append("}")
return lines
if flags_enum(item) or duplicate_enum_values(item):
lines += [
"#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]",
"#[repr(transparent)]",
f"pub struct {rust_name}(pub {underlying});",
f"impl {rust_name} {{",
]
for member in values:
name = mapping.snake(member["name"]).upper()
value = member["value"]["value"]
lines += [f" /// C# member: `{member['doc_id']}`.", f" pub const {name}: Self = Self({value});"]
lines.append("}")
return lines
lines += [
"#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]",
f"#[repr({underlying})]",
f"pub enum {rust_name} {{",
]
for member in values:
lines += [f" /// C# member: `{member['doc_id']}`.", f" {mapping.pascal(member['name'])} = {member['value']['value']},"]
lines.append("}")
return lines
def native_member_body(member_id: str) -> str | None:
body = NATIVE_MEMBER_BODIES.get(member_id)
if body is not None:
return body
message_owner = "T:" + member_id[2:].split(".#ctor", 1)[0] if member_id.startswith("M:") and ".#ctor" in member_id else None
if message_owner in NATIVE_MESSAGE_CODEC_TYPES:
return "Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())"
message_owner = "T:" + member_id[2:].rsplit(".Deserialize", 1)[0] if member_id.startswith("M:") and ".Deserialize(" in member_id else None
if message_owner in NATIVE_MESSAGE_CODEC_TYPES:
return "<Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)"
message_owner = "T:" + member_id[2:].rsplit(".Serialize", 1)[0] if member_id.startswith("M:") and member_id.endswith(".Serialize") else None
if message_owner in NATIVE_MESSAGE_CODEC_TYPES:
return "<Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)"
if re.fullmatch(r"M:LibreMetaverse\.Packets\.[^.]+Packet\.#ctor", member_id):
return "Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.#ctor\(LibreMetaverse\.Packets\.Header,System\.Byte\[\],System\.Int32@\)",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.#ctor\(System\.Byte\[\],System\.Int32@\)",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)"
if re.fullmatch(r"M:LibreMetaverse\.Packets\.[^.]+Packet\.[^.]+Block\.#ctor", member_id):
return "Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.[^.]+Block\.#ctor\(System\.Byte\[\],System\.Int32@\)",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.[^.]+Block\.FromBytes\(System\.Byte\[\],System\.Int32@\)",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.[^.]+Block\.ToBytes\(System\.Byte\[\],System\.Int32@\)",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.[^.]+Block\.FromOSD\(LibreMetaverse\.StructuredData\.OSDMap\)",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.[^.]+Block\.ToOSD",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.FromBytes\(LibreMetaverse\.Packets\.Header,System\.Byte\[\],System\.Int32@,System\.Int32@\)",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(self, header, &bytes, i, packet_end)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.FromBytes\(System\.Byte\[\],System\.Int32@,System\.Int32@,System\.Byte\[\]\)",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(self, &bytes, i, packet_end, zero_buffer)"
if re.fullmatch(r"M:LibreMetaverse\.Packets\.[^.]+Packet\.ToBytes", member_id):
return "<Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.PacketFromOSD\(LibreMetaverse\.StructuredData\.OSDMap\)",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)"
if re.fullmatch(r"M:LibreMetaverse\.Packets\.[^.]+Packet\.PacketToOSD", member_id):
return "<Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.ToBytes\(LibreMetaverse\.Interfaces\.IByteBufferPool,System\.Int32@\)",
member_id,
):
return "{ let _ = pool; let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?; *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?; Ok(bytes) }"
if re.fullmatch(r"M:LibreMetaverse\.Packets\.[^.]+Packet\.ToBytesMultiple", member_id):
return "<Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.ToBytesMultiple\(LibreMetaverse\.Interfaces\.IByteBufferPool,System\.Int32\[\]@\)",
member_id,
):
return "{ let _ = pool; let packets = <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?; *sizes = packets.iter().map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX)).collect(); Ok(packets) }"
if re.fullmatch(r"P:LibreMetaverse\.Packets\.[^.]+Packet\.Length", member_id):
return "<Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)"
if re.fullmatch(r"P:LibreMetaverse\.Packets\.[^.]+Packet\.UsesBufferPooling", member_id):
return "<Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING"
if re.fullmatch(r"P:LibreMetaverse\.Packets\.[^.]+Packet\.[^.]+Block\.Length", member_id):
return "<Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)"
if member_id == "M:LibreMetaverse.Packets.Packet.GetType(System.UInt16,LibreMetaverse.PacketFrequency)":
return "Ok(crate::packet_catalog::packet_type(id, frequency))"
if member_id == "M:LibreMetaverse.Packets.Packet.BuildPacket(LibreMetaverse.Packets.PacketType)":
return "crate::packet_catalog::build_packet(type_)"
if member_id in {
"M:LibreMetaverse.Packets.Packet.BuildPacket(System.String,LibreMetaverse.StructuredData.OSDMap)",
"M:LibreMetaverse.Packets.Packet.BuildPacketFromOSD(System.String,LibreMetaverse.StructuredData.OSDMap)",
}:
return "crate::packet_catalog::build_packet_from_osd(&caps_event_name, &body)"
if member_id == "M:LibreMetaverse.Packets.Packet.BuildPacket(System.Byte[],System.Int32@,System.Byte[])":
return "{ let mut zero_buffer = zero_buffer; crate::packet_wire::build_packet_from_bytes(&packet_buffer, packet_end, &mut zero_buffer) }"
if member_id == "M:LibreMetaverse.Packets.Header.BuildHeader(System.Byte[],System.Int32@,System.Int32@)":
return "crate::packet_wire::decode_header(&bytes, pos, packet_end)"
if member_id == "M:LibreMetaverse.Packets.Header.FromBytes(System.Byte[],System.Int32@,System.Int32@)":
return "{ *self = crate::packet_wire::decode_header(&bytes, pos, packet_end)?; Ok(()) }"
if member_id == "M:LibreMetaverse.Packets.Header.ToBytes(System.Byte[],System.Int32@)":
return "crate::packet_wire::header_to_slice(self, bytes, i)"
if member_id == "M:LibreMetaverse.Packets.Header.AcksToBytes(System.Byte[],System.Int32@)":
return "crate::packet_wire::acks_to_slice(self, bytes, i)"
if member_id == "M:LibreMetaverse.Packets.Packet.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)":
return "crate::packet_catalog::ignore_packet_osd(&osd)"
if member_id == "M:LibreMetaverse.Packets.Packet.PacketToOSD":
return "crate::packet_catalog::empty_packet_osd()"
if member_id == "M:LibreMetaverse.Helpers.ZeroDecode(System.Byte[],System.Int32,System.Byte[])":
return "crate::packet_wire::zero_decode(src, srclen, dest)"
if member_id == "M:LibreMetaverse.Helpers.ZeroEncode(System.Byte[],System.Int32,System.Byte[])":
return "crate::packet_wire::zero_encode(src, srclen, dest)"
return None
def render_body(signature: str, member_id: str, error_model: str, asyncness: str, trait: bool) -> str:
if trait:
signature = signature.removeprefix("pub ")
if body := native_member_body(member_id):
if any(f"LibreMetaverse.{owner}." in member_id for owner in CLIENT_CORE_NATIVE_OWNERS):
marker = " /* native client-core implementation */"
elif any(f"LibreMetaverse.{owner}." in member_id for owner in NETWORK_NATIVE_OWNERS):
marker = " /* native network implementation */"
else:
marker = ""
return f" {signature} {{{marker} {body} }}"
failure = (
f"libremetaverse_types::not_implemented({json.dumps(member_id)})"
if error_model.startswith("Result")
else f"libremetaverse_types::unimplemented_api!({json.dumps(member_id)})"
)
if asyncness == "boxed_future" or "std::pin::Pin<Box<dyn std::future::Future" in signature:
failure = f"Box::pin(async {{ {failure} }})"
return f" {signature} {{ {failure} }}"
def rust_constant_value(item: dict) -> str:
value = item["value"]["value"]
if item["type"] == "System.String":
return json.dumps(value)
if item["type"] == "System.Boolean":
return value.lower()
if item["type"] in {"System.Single", "System.Double"} and not any(
marker in value.lower() for marker in (".", "e")
):
return value + ".0"
return value
def render_type(item: dict, type_row: dict, member_rows: dict[str, dict[str, str]], mapper: mapping.Mapper) -> str:
rust_name = type_name(type_row)
if native_path := NATIVE_TYPES.get(item["doc_id"]):
lines = [f"/// C# type: `{item['doc_id']}`."]
lines.extend(f"/// C# member: `{member['doc_id']}`." for member in item["members"])
lines.append(f"pub use {native_path} as {rust_name};")
return "\n".join(lines)
if item["kind"] == "enum":
return "\n".join(render_enum(item, rust_name))
names = generic_names(item)
suffix = generic_suffix(names)
trait = item["kind"] == "interface"
lines = [f"/// C# type: `{item['doc_id']}`."]
if trait:
supertrait = TRAIT_SUPERTRAITS.get(item["doc_id"])
inheritance = f": {supertrait}" if supertrait else ""
lines.append(f"pub trait {rust_name}{suffix}{inheritance} {{")
else:
fields = [member for member in item["members"] if member["kind"] == "field" and not member.get("static")]
private_fields = PRIVATE_LAYOUTS.get(item["doc_id"], [])
base_type = item.get("base_type") if item["doc_id"] in COMPOSED_BASE_TYPES else None
native_declaration = NATIVE_DECLARATIONS.get(item["doc_id"])
if native_declaration:
lines.append(f"pub use {native_declaration} as {rust_name};")
lines.extend(
f"/// C# member: `{field['doc_id']}`."
for field in fields
)
elif derives := VALUE_DERIVES.get(item["doc_id"]):
lines.append(f"#[derive({derives})]")
if native_declaration:
pass
elif item["doc_id"] == "T:LibreMetaverse.StructuredData.OSD":
lines += [
"#[non_exhaustive]",
"pub enum OSD {",
" Undefined, Boolean(bool), Integer(i32), Real(f64), String(String),",
" UUID(libremetaverse_types::UUID), Date(std::time::SystemTime),",
" Uri(libremetaverse_types::compat::Uri), Binary(Vec<u8>),",
" Array(Vec<OSD>), Map(std::collections::HashMap<String, OSD>), LlsdXml(String),",
"}",
]
elif not fields and not names and not private_fields and not base_type:
lines.append(f"pub struct {rust_name};")
else:
lines.append(f"pub struct {rust_name}{suffix} {{")
if base_type:
lines += [
f" /// Rust composition for C# base type `{base_type}`.",
f" pub base: {mapper.type(base_type, None, set(names))},",
]
for field in fields:
field_signature = member_rows[field["doc_id"]]["rust_signature"]
field_name_match = re.fullmatch(r"pub ([^:]+): (.+)", field_signature)
if not field_name_match:
raise ValueError(f"invalid mapped field signature: {field_signature}")
field_name = field_name_match.group(1)
field_type = field_name_match.group(2)
lines += [f" /// C# member: `{field['doc_id']}`.", f" pub {field_name}: {field_type},"]
for field_name, field_type in private_fields:
lines.append(f" {field_name}: {field_type},")
if names:
tuple_type = "(" + ", ".join(names) + ("," if len(names) == 1 else "") + ")"
lines.append(f" _marker: std::marker::PhantomData<{tuple_type}>,")
lines.append("}")
lines += [f"impl{suffix} {rust_name}{suffix} {{"]
for member in item["members"]:
if member["kind"] in {"enum_value"} or (member["kind"] == "field" and not member.get("static")):
continue
row = member_rows[member["doc_id"]]
lines.append(f" /// C# member: `{member['doc_id']}`.")
if member["kind"] == "constant":
lines.append(f" {row['rust_signature']} = {rust_constant_value(member)};")
continue
signatures = row["rust_signature"].split(" ; ")
for index, signature in enumerate(signatures):
if index:
lines.append(f" /// Setter for C# member: `{member['doc_id']}`.")
body_member_id = member["doc_id"]
setter_id = body_member_id + "#set"
if index and setter_id in NATIVE_MEMBER_BODIES:
body_member_id = setter_id
lines.append(
render_body(
signature,
body_member_id,
row["error_model"],
row["asyncness"],
trait,
)
)
lines.append("}")
if not trait:
for interface in item.get("interfaces", []):
base, arguments, _ = mapping.type_parts(interface)
if base not in mapper.interfaces or not base.startswith("LibreMetaverse."):
continue
# Native traits can have required methods. Their concrete adapters
# provide explicit implementations beside the adapter code instead
# of receiving an invalid empty generated impl.
if f"T:{base}" in NATIVE_TYPES:
continue
if item["doc_id"] in NATIVE_DECLARATIONS:
continue
if item["doc_id"] == "T:LibreMetaverse.GridClient" and base == "LibreMetaverse.IGridClient":
continue
mapped_arguments = [mapper.type(argument, None, set(names)) for argument in arguments]
trait_path = mapper.resolved[base] + generic_suffix(mapped_arguments)
if (
base == "LibreMetaverse.Interfaces.IMessage"
and item["doc_id"] in NATIVE_MESSAGE_CODEC_TYPES
):
lines += [
f"impl{suffix} {trait_path} for {rust_name}{suffix} {{",
" fn deserialize(&mut self, map: libremetaverse_structured_data::OSDMap) -> Result<(), crate::Error> {",
" <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)",
" }",
" fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {",
" <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)",
" }",
"}",
]
else:
lines.append(f"impl{suffix} {trait_path} for {rust_name}{suffix} {{}}")
return "\n".join(lines)
def render_pending_type(item: dict, type_row: dict) -> str:
rust_name = type_name(type_row)
names = generic_names(item)
suffix = generic_suffix(names)
lines = [f"/// Pending catalog type `{item['doc_id']}`; completed by a later milestone issue."]
if item["kind"] == "interface":
lines.append(f"pub trait {rust_name}{suffix} {{}}")
elif names:
tuple_type = "(" + ", ".join(names) + ("," if len(names) == 1 else "") + ")"
lines += [f"pub struct {rust_name}{suffix} {{", f" _marker: std::marker::PhantomData<{tuple_type}>,", "}"]
else:
lines.append(f"pub struct {rust_name};")
return "\n".join(lines)
def wire_type(item: dict) -> bool:
return (
item["doc_id"] in WIRE_ROOT_TYPES
or item["doc_id"].startswith("T:LibreMetaverse.Primitive")
or item["namespace"].startswith(WIRE_NAMESPACES)
)
def core_type(item: dict) -> bool:
return item["doc_id"] in CORE_ROOT_TYPES or item["namespace"].startswith(CORE_NAMESPACES)
def avatar_type(item: dict) -> bool:
return (
item["doc_id"] in AVATAR_ROOT_TYPES
or item["doc_id"].startswith(AVATAR_TYPE_PREFIXES)
or item["namespace"].startswith(AVATAR_NAMESPACES)
)
def world_type(item: dict) -> bool:
return not wire_type(item) and not core_type(item) and not avatar_type(item)
def render_modules(items: list[tuple[dict, dict, bool]], member_rows: dict[str, dict[str, str]], mapper: mapping.Mapper) -> str:
tree: dict = {"items": [], "children": {}}
for item, type_row, complete in items:
node = tree
for segment in filter(None, type_row["rust_module"].split("::")):
node = node["children"].setdefault(segment, {"items": [], "children": {}})
node["items"].append((item, type_row, complete))
def render_node(node: dict) -> list[str]:
lines = []
for item, type_row, complete in node["items"]:
rendered = render_type(item, type_row, member_rows, mapper) if complete else render_pending_type(item, type_row)
lines += [rendered, ""]
for name, child in sorted(node["children"].items()):
body = render_node(child)
lines.append(f"pub mod {name} {{")
lines += [(" " + line) if line else "" for line in body]
lines += ["}", ""]
return lines
return "\n".join(render_node(tree))
def generate_sources(catalog: dict) -> tuple[dict[Path, str], dict[str, tuple[int, int, bool]]]:
type_rows, resolved = mapping.build_type_rows(catalog)
type_by_id = {row["csharp_type_id"]: row for row in type_rows}
member_by_id = {
member["doc_id"]: member
for assembly in catalog["assemblies"]
for item in assembly["types"]
for member in item["members"]
}
configured_main_ids = WIRE_ROOT_TYPES | CORE_ROOT_TYPES | AVATAR_ROOT_TYPES
missing_configured_ids = configured_main_ids - type_by_id.keys()
if missing_configured_ids:
raise ValueError(f"unknown configured main-slice IDs: {sorted(missing_configured_ids)}")
missing_boxed_fields = mapping.BOXED_FIELD_IDS - member_by_id.keys()
if missing_boxed_fields:
raise ValueError(f"unknown configured boxed fields: {sorted(missing_boxed_fields)}")
if invalid_boxed_fields := [
member_id
for member_id in mapping.BOXED_FIELD_IDS
if member_by_id[member_id]["kind"] != "field"
]:
raise ValueError(f"configured boxed members are not fields: {sorted(invalid_boxed_fields)}")
interfaces = {
*{mapping.type_parts(item["signature"])[0] for assembly in catalog["assemblies"] for item in assembly["types"] if item["kind"] == "interface"},
*{
mapping.type_parts(item["signature"])[0]
for item in catalog["external_types"]
if item["kind"] == "interface" and not item["assembly"]["name"].startswith("System")
},
}
mapper = mapping.Mapper(resolved, interfaces)
member_rows = {row["csharp_id"]: row for row in csv.DictReader(LEDGER.open(), delimiter="\t")}
outputs = {}
coverage = {}
for assembly in catalog["assemblies"]:
name = assembly["identity"]["name"]
if name not in TARGETS and name != "LibreMetaverse":
continue
chunks = [
"// @generated by tools/generate_api_shims.py; do not edit by hand.",
"#![allow(clippy::missing_errors_doc)]",
"#![allow(clippy::must_use_candidate)]",
"#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]",
"#![allow(non_camel_case_types)]",
"#![allow(non_snake_case)]",
"",
]
selected = (
assembly["types"]
if name in TARGETS
else [
item
for item in assembly["types"]
if wire_type(item) or core_type(item) or avatar_type(item) or world_type(item)
]
)
selected_ids = {item["doc_id"] for item in selected}
rendered_items = [
(item, type_by_id[item["doc_id"]], item["doc_id"] in selected_ids)
for item in assembly["types"]
]
chunks.append(render_modules(rendered_items, member_rows, mapper))
source = format_rust("\n".join(chunks).rstrip() + "\n")
expected_types = selected_ids
expected_members = {member["doc_id"] for item in selected for member in item["members"]}
emitted_types = set(re.findall(r"C# type: `(.*)`\.", source))
emitted_members = set(re.findall(r"C# member: `(.*)`\.", source))
if emitted_types != expected_types or emitted_members != expected_members:
raise ValueError(
f"generated catalog ID mismatch for {name}: "
f"types missing/stale={len(expected_types - emitted_types)}/{len(emitted_types - expected_types)}, "
f"members missing/stale={len(expected_members - emitted_members)}/{len(emitted_members - expected_members)}; "
f"missing={sorted(expected_members - emitted_members)}, stale={sorted(emitted_members - expected_members)}"
)
outputs[TARGETS.get(name, MAIN_TARGET)] = source
coverage[name] = (len(selected), sum(len(item["members"]) for item in selected), len(selected) == len(assembly["types"]))
outputs[COMPILE_FIXTURE] = render_compile_fixture(catalog, type_by_id, member_rows, mapper)
return outputs, coverage
def coverage_report(catalog: dict, coverage: dict[str, tuple[int, int, bool]]) -> str:
lines = [
"# Callable shim coverage", "", "Generated by `python3 tools/generate_api_shims.py`; do not edit by hand.", "",
"| Assembly | Types | Members | Status |", "|---|---:|---:|---|",
]
total_types = total_members = 0
for assembly in catalog["assemblies"]:
name = assembly["identity"]["name"]
types = len(assembly["types"])
members = sum(len(item["members"]) for item in assembly["types"])
if name in coverage:
got_types, got_members, complete = coverage[name]
if complete and (types, members) != (got_types, got_members):
raise ValueError(f"incomplete generated slice for {name}")
native_type_ids = {
item["doc_id"]
for item in assembly["types"]
if item["doc_id"] in NATIVE_TYPES or item["doc_id"] in NATIVE_DECLARATIONS
or (name == "LibreMetaverse.Types" and item["kind"] == "enum")
}
native_member_ids = {
member["doc_id"]
for item in assembly["types"]
for member in item["members"]
if item["doc_id"] in NATIVE_TYPES
or (name == "LibreMetaverse.Types" and item["kind"] == "enum")
or (
item["doc_id"] in NATIVE_DECLARATIONS
and member["kind"] == "field"
and not member.get("static")
)
or (
item["doc_id"] in NATIVE_DECLARATIONS
and member["kind"] == "constant"
)
or native_member_body(member["doc_id"]) is not None
}
if native_type_ids or native_member_ids:
type_noun = "type" if len(native_type_ids) == 1 else "types"
if len(native_member_ids) == members:
status = (
f"native implementation: {len(native_type_ids):,} {type_noun} / "
f"{len(native_member_ids):,} members; no generated shims remain"
)
else:
status = (
f"native implementation: {len(native_type_ids):,} {type_noun} / "
f"{len(native_member_ids):,} members; remaining surface is callable failure-only shims"
)
else:
status = "callable failure-only shim" if complete else f"partial callable shim ({got_types:,} types / {got_members:,} members)"
total_types += got_types
total_members += got_members
else:
status = "pending milestone issue"
lines.append(f"| `{name}` | {types:,} | {members:,} | {status} |")
if "LibreMetaverse" in coverage:
main_types = next(
assembly["types"]
for assembly in catalog["assemblies"]
if assembly["identity"]["name"] == "LibreMetaverse"
)
wire_types = [item for item in main_types if wire_type(item)]
core_types = [item for item in main_types if core_type(item) and not wire_type(item)]
avatar_types = [
item
for item in main_types
if avatar_type(item) and not wire_type(item) and not core_type(item)
]
world_types = [item for item in main_types if world_type(item)]
complete = coverage["LibreMetaverse"][2]
lines += [
"",
(
"The `LibreMetaverse` assembly is complete across issue #7 wire/data, issue #8 core runtime/networking,"
if complete
else "The partial `LibreMetaverse` row contains the completed issue #7 wire/data, issue #8 core runtime/networking,"
),
(
"issue #9 avatar-facing manager, and issue #10 world/social/service manager slices."
if complete
else "and issue #9 avatar-facing manager slices. World/social/service manager types remain pending for issue #10."
),
"",
"| Main assembly slice | Types | Members |",
"|---|---:|---:|",
f"| Issue #7 wire/data | {len(wire_types):,} | {sum(len(item['members']) for item in wire_types):,} |",
f"| Issue #8 core runtime/networking | {len(core_types):,} | {sum(len(item['members']) for item in core_types):,} |",
f"| Issue #9 avatar-facing managers | {len(avatar_types):,} | {sum(len(item['members']) for item in avatar_types):,} |",
f"| Issue #10 world/social/service managers | {len(world_types):,} | {sum(len(item['members']) for item in world_types):,} |",
]
lines += ["", f"Current callable coverage: **{total_types:,} types / {total_members:,} members**.", ""]
return "\n".join(lines)
def generate() -> dict[Path, str]:
catalog = json.loads(CATALOG.read_text())
sources, coverage = generate_sources(catalog)
sources[COVERAGE] = coverage_report(catalog, coverage)
return sources
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--check", action="store_true")
args = parser.parse_args()
outputs = generate()
if args.check:
stale = [str(path.relative_to(ROOT)) for path, text in outputs.items() if not path.exists() or path.read_text() != text]
if stale:
raise SystemExit("stale generated API shims: " + ", ".join(stale))
else:
for path, text in outputs.items():
path.write_text(text)
print("generated " + ", ".join(str(path.relative_to(ROOT)) for path in outputs))
if __name__ == "__main__":
main()