Generate wire and data model API shims

This commit is contained in:
2026-08-08 12:18:28 +02:00
parent e2889d758d
commit 7086af9a6f
13 changed files with 153952 additions and 9018 deletions

View File

@@ -7,8 +7,9 @@ host, bind to, invoke, or ship the .NET implementation. The current
stage is a compiling structural shell: crate boundaries mirror the .NET library stage is a compiling structural shell: crate boundaries mirror the .NET library
projects, public C# type names have Rust declarations, every upstream NUnit case projects, public C# type names have Rust declarations, every upstream NUnit case
has a traceable placeholder, and every sample/tool project has a Rust binary has a traceable placeholder, and every sample/tool project has a Rust binary
target. Types, StructuredData, Imaging, PrimMesher, and both rendering adapters target. Types, StructuredData, Imaging, PrimMesher, both rendering adapters, and
now have complete callable, failure-only signatures; the remaining assembly the main assembly's packet/message/asset/primitive wire-data slice now have
complete callable, failure-only signatures; the remaining manager/extension
slices and semantic Rust test translations are still required before the public slices and semantic Rust test translations are still required before the public
API shim is complete. API shim is complete.

View File

@@ -51,16 +51,17 @@ The current workspace is a structural baseline, not a working client:
- compiled metadata records 3,066 public types and 30,789 public members with - compiled metadata records 3,066 public types and 30,789 public members with
matching independent ECMA-335 counts, with all 142 external signature types matching independent ECMA-335 counts, with all 142 external signature types
resolved to cross-platform Rust or project-owned boundary types; resolved to cross-platform Rust or project-owned boundary types;
- the completed Types, StructuredData, Imaging, PrimMesher, and rendering slices - the completed Types, StructuredData, Imaging, PrimMesher, rendering, and main
expose 84 final Rust-facing types and all 1,487 callable members with real wire/data slices expose 2,293 final Rust-facing types and all 24,292 callable
fields/constants/enum values and standardized failing bodies; members with real fields/constants/enum values and standardized failing
bodies;
- all 1,295 NUnit `[Test]`/`[TestCase]` invocations have compiling Rust test - all 1,295 NUnit `[Test]`/`[TestCase]` invocations have compiling Rust test
entries that intentionally panic with their source identity and body hash; entries that intentionally panic with their source identity and body hash;
- all nine sample/tool projects have compiling Rust binary targets; - all nine sample/tool projects have compiling Rust binary targets;
- the 128 TestClient command source files are retained as a command inventory. - the 128 TestClient command source files are retained as a command inventory.
The remaining generated type shims preserve names and module placement, but do The remaining 773 generated type shims preserve names and module placement, but
not yet expose their callable members. `api/SURFACE.tsv` is an inventory aid, do not yet expose their 6,497 callable members. `api/SURFACE.tsv` is an inventory aid,
not proof of API coverage: it records declaration lines but does not fully parse not proof of API coverage: it records declaration lines but does not fully parse
multiline signatures. Likewise, a generated `pending` test is a parity multiline signatures. Likewise, a generated `pending` test is a parity
placeholder, not a semantic translation. **This repository is therefore at placeholder, not a semantic translation. **This repository is therefore at

View File

@@ -48,7 +48,7 @@ External member APIs are not copied. Each signature type resolves to Rust core/s
- Delegates and flags enums: **40 / 46** - Delegates and flags enums: **40 / 46**
- Optional/ref/out/in parameters: **470 / 6,144 / 555 / 0** - Optional/ref/out/in parameters: **470 / 6,144 / 555 / 0**
- Async Rust signatures: **360** - Async Rust signatures: **360**
- Descriptively renamed overloads: **7,137** - Descriptively renamed overloads: **7,151**
- Explicit CLR delegate APM differences: **80** - Explicit CLR delegate APM differences: **80**
Run `python3 tools/generate_rust_mapping.py --check` to regenerate in memory and enforce the complete gate. Run `python3 tools/generate_rust_mapping.py --check` to regenerate in memory and enforce the complete gate.

View File

@@ -581,15 +581,15 @@ F:LibreMetaverse.AssetUpload.AssetID field LibreMetaverse.UUID LibreMetaverse.As
F:LibreMetaverse.AssetUpload.PacketNum field System.UInt32 LibreMetaverse.AssetUpload.PacketNum libremetaverse libremetaverse::AssetUpload::packet_num pub packet_num: u32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.AssetUpload.PacketNum field System.UInt32 LibreMetaverse.AssetUpload.PacketNum libremetaverse libremetaverse::AssetUpload::packet_num pub packet_num: u32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.AssetUpload.Type field LibreMetaverse.AssetType LibreMetaverse.AssetUpload.Type libremetaverse libremetaverse::AssetUpload::type_ pub type_: libremetaverse_types::AssetType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.AssetUpload.Type field LibreMetaverse.AssetType LibreMetaverse.AssetUpload.Type libremetaverse libremetaverse::AssetUpload::type_ pub type_: libremetaverse_types::AssetType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.AssetUpload.XferID field System.UInt64 LibreMetaverse.AssetUpload.XferID libremetaverse libremetaverse::AssetUpload::xfer_id pub xfer_id: u64 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.AssetUpload.XferID field System.UInt64 LibreMetaverse.AssetUpload.XferID libremetaverse libremetaverse::AssetUpload::xfer_id pub xfer_id: u64 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.ArchiveConstants.ASSETS_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.ASSETS_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::ASSETS_PATH pub const ASSETS_PATH: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.ArchiveConstants.ASSETS_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.ASSETS_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::ASSETS_PATH pub const ASSETS_PATH: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.ArchiveConstants.ASSET_EXTENSION_SEPARATOR constant System.String LibreMetaverse.Assets.ArchiveConstants.ASSET_EXTENSION_SEPARATOR libremetaverse assets libremetaverse::assets::ArchiveConstants::ASSET_EXTENSION_SEPARATOR pub const ASSET_EXTENSION_SEPARATOR: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.ArchiveConstants.ASSET_EXTENSION_SEPARATOR constant System.String LibreMetaverse.Assets.ArchiveConstants.ASSET_EXTENSION_SEPARATOR libremetaverse assets libremetaverse::assets::ArchiveConstants::ASSET_EXTENSION_SEPARATOR pub const ASSET_EXTENSION_SEPARATOR: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.ArchiveConstants.ASSET_TYPE_TO_EXTENSION field System.Collections.Frozen.FrozenDictionary<LibreMetaverse.AssetType, System.String> LibreMetaverse.Assets.ArchiveConstants.ASSET_TYPE_TO_EXTENSION libremetaverse assets libremetaverse::assets::ArchiveConstants::asset_type_to_extension pub fn asset_type_to_extension() -> libremetaverse_types::compat::FrozenDictionary<libremetaverse_types::AssetType, String> none sync infallible_placeholder direct_snake_case static_field_accessor mapped F:LibreMetaverse.Assets.ArchiveConstants.ASSET_TYPE_TO_EXTENSION field System.Collections.Frozen.FrozenDictionary<LibreMetaverse.AssetType, System.String> LibreMetaverse.Assets.ArchiveConstants.ASSET_TYPE_TO_EXTENSION libremetaverse assets libremetaverse::assets::ArchiveConstants::asset_type_to_extension pub fn asset_type_to_extension() -> libremetaverse_types::compat::FrozenDictionary<libremetaverse_types::AssetType, String> none sync infallible_placeholder direct_snake_case static_field_accessor mapped
F:LibreMetaverse.Assets.ArchiveConstants.CONTROL_FILE_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.CONTROL_FILE_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::CONTROL_FILE_PATH pub const CONTROL_FILE_PATH: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.ArchiveConstants.CONTROL_FILE_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.CONTROL_FILE_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::CONTROL_FILE_PATH pub const CONTROL_FILE_PATH: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.ArchiveConstants.EXTENSION_TO_ASSET_TYPE field System.Collections.Frozen.FrozenDictionary<System.String, LibreMetaverse.AssetType> LibreMetaverse.Assets.ArchiveConstants.EXTENSION_TO_ASSET_TYPE libremetaverse assets libremetaverse::assets::ArchiveConstants::extension_to_asset_type pub fn extension_to_asset_type() -> libremetaverse_types::compat::FrozenDictionary<String, libremetaverse_types::AssetType> none sync infallible_placeholder direct_snake_case static_field_accessor mapped F:LibreMetaverse.Assets.ArchiveConstants.EXTENSION_TO_ASSET_TYPE field System.Collections.Frozen.FrozenDictionary<System.String, LibreMetaverse.AssetType> LibreMetaverse.Assets.ArchiveConstants.EXTENSION_TO_ASSET_TYPE libremetaverse assets libremetaverse::assets::ArchiveConstants::extension_to_asset_type pub fn extension_to_asset_type() -> libremetaverse_types::compat::FrozenDictionary<String, libremetaverse_types::AssetType> none sync infallible_placeholder direct_snake_case static_field_accessor mapped
F:LibreMetaverse.Assets.ArchiveConstants.LANDDATA_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.LANDDATA_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::LANDDATA_PATH pub const LANDDATA_PATH: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.ArchiveConstants.LANDDATA_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.LANDDATA_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::LANDDATA_PATH pub const LANDDATA_PATH: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.ArchiveConstants.OBJECTS_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.OBJECTS_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::OBJECTS_PATH pub const OBJECTS_PATH: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.ArchiveConstants.OBJECTS_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.OBJECTS_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::OBJECTS_PATH pub const OBJECTS_PATH: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.ArchiveConstants.SETTINGS_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.SETTINGS_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::SETTINGS_PATH pub const SETTINGS_PATH: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.ArchiveConstants.SETTINGS_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.SETTINGS_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::SETTINGS_PATH pub const SETTINGS_PATH: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.ArchiveConstants.TERRAINS_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.TERRAINS_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::TERRAINS_PATH pub const TERRAINS_PATH: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.ArchiveConstants.TERRAINS_PATH constant System.String LibreMetaverse.Assets.ArchiveConstants.TERRAINS_PATH libremetaverse assets libremetaverse::assets::ArchiveConstants::TERRAINS_PATH pub const TERRAINS_PATH: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Asset.AssetData field System.Byte[] LibreMetaverse.Assets.Asset.AssetData libremetaverse assets libremetaverse::assets::Asset::asset_data pub asset_data: Vec<u8> owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Asset.AssetData field System.Byte[] LibreMetaverse.Assets.Asset.AssetData libremetaverse assets libremetaverse::assets::Asset::asset_data pub asset_data: Vec<u8> owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Asset.Temporary field System.Boolean LibreMetaverse.Assets.Asset.Temporary libremetaverse assets libremetaverse::assets::Asset::temporary pub temporary: bool owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Asset.Temporary field System.Boolean LibreMetaverse.Assets.Asset.Temporary libremetaverse assets libremetaverse::assets::Asset::temporary pub temporary: bool owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.AssetCallingCard.AvatarID field LibreMetaverse.UUID LibreMetaverse.Assets.AssetCallingCard.AvatarID libremetaverse assets libremetaverse::assets::AssetCallingCard::avatar_id pub avatar_id: libremetaverse_types::UUID owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.AssetCallingCard.AvatarID field LibreMetaverse.UUID LibreMetaverse.Assets.AssetCallingCard.AvatarID libremetaverse assets libremetaverse::assets::AssetCallingCard::avatar_id pub avatar_id: libremetaverse_types::UUID owned_value sync none direct_snake_case direct mapped
@@ -664,14 +664,14 @@ F:LibreMetaverse.Assets.Gltf.GltfComponentType.Short enum_value LibreMetaverse.A
F:LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedByte enum_value LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedByte libremetaverse assets::gltf libremetaverse::assets::gltf::GltfComponentType::UnsignedByte UnsignedByte: libremetaverse::assets::gltf::GltfComponentType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedByte enum_value LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedByte libremetaverse assets::gltf libremetaverse::assets::gltf::GltfComponentType::UnsignedByte UnsignedByte: libremetaverse::assets::gltf::GltfComponentType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedInt enum_value LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedInt libremetaverse assets::gltf libremetaverse::assets::gltf::GltfComponentType::UnsignedInt UnsignedInt: libremetaverse::assets::gltf::GltfComponentType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedInt enum_value LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedInt libremetaverse assets::gltf libremetaverse::assets::gltf::GltfComponentType::UnsignedInt UnsignedInt: libremetaverse::assets::gltf::GltfComponentType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedShort enum_value LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedShort libremetaverse assets::gltf libremetaverse::assets::gltf::GltfComponentType::UnsignedShort UnsignedShort: libremetaverse::assets::gltf::GltfComponentType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedShort enum_value LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedShort libremetaverse assets::gltf libremetaverse::assets::gltf::GltfComponentType::UnsignedShort UnsignedShort: libremetaverse::assets::gltf::GltfComponentType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_COLOR_0 constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_COLOR_0 libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_COLOR_0 pub const ATTR_COLOR_0: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_COLOR_0 constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_COLOR_0 libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_COLOR_0 pub const ATTR_COLOR_0: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_JOINTS_0 constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_JOINTS_0 libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_JOINTS_0 pub const ATTR_JOINTS_0: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_JOINTS_0 constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_JOINTS_0 libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_JOINTS_0 pub const ATTR_JOINTS_0: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_NORMAL constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_NORMAL libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_NORMAL pub const ATTR_NORMAL: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_NORMAL constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_NORMAL libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_NORMAL pub const ATTR_NORMAL: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_POSITION constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_POSITION libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_POSITION pub const ATTR_POSITION: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_POSITION constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_POSITION libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_POSITION pub const ATTR_POSITION: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TANGENT constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TANGENT libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_TANGENT pub const ATTR_TANGENT: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TANGENT constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TANGENT libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_TANGENT pub const ATTR_TANGENT: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_0 constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_0 libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_TEXCOORD_0 pub const ATTR_TEXCOORD_0: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_0 constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_0 libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_TEXCOORD_0 pub const ATTR_TEXCOORD_0: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_1 constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_1 libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_TEXCOORD_1 pub const ATTR_TEXCOORD_1: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_1 constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_1 libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_TEXCOORD_1 pub const ATTR_TEXCOORD_1: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_WEIGHTS_0 constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_WEIGHTS_0 libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_WEIGHTS_0 pub const ATTR_WEIGHTS_0: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_WEIGHTS_0 constant System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_WEIGHTS_0 libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitive::ATTR_WEIGHTS_0 pub const ATTR_WEIGHTS_0: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineLoop enum_value LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineLoop libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitiveMode::LineLoop LineLoop: libremetaverse::assets::gltf::GltfPrimitiveMode owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineLoop enum_value LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineLoop libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitiveMode::LineLoop LineLoop: libremetaverse::assets::gltf::GltfPrimitiveMode owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineStrip enum_value LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineStrip libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitiveMode::LineStrip LineStrip: libremetaverse::assets::gltf::GltfPrimitiveMode owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineStrip enum_value LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineStrip libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitiveMode::LineStrip LineStrip: libremetaverse::assets::gltf::GltfPrimitiveMode owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.Lines enum_value LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.Lines libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitiveMode::Lines Lines: libremetaverse::assets::gltf::GltfPrimitiveMode owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.Lines enum_value LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.Lines libremetaverse assets::gltf libremetaverse::assets::gltf::GltfPrimitiveMode::Lines Lines: libremetaverse::assets::gltf::GltfPrimitiveMode owned_value sync none direct_snake_case direct mapped
@@ -1649,9 +1649,9 @@ F:LibreMetaverse.Http.EventQueueClient.OnEvent field LibreMetaverse.Http.EventQu
F:LibreMetaverse.HttpCapsClient.HDR_LLSD_BINARY field System.Net.Http.Headers.MediaTypeHeaderValue LibreMetaverse.HttpCapsClient.HDR_LLSD_BINARY libremetaverse libremetaverse::HttpCapsClient::hdr_llsd_binary pub fn hdr_llsd_binary() -> libremetaverse_types::compat::MediaTypeHeaderValue none sync infallible_placeholder direct_snake_case static_field_accessor mapped F:LibreMetaverse.HttpCapsClient.HDR_LLSD_BINARY field System.Net.Http.Headers.MediaTypeHeaderValue LibreMetaverse.HttpCapsClient.HDR_LLSD_BINARY libremetaverse libremetaverse::HttpCapsClient::hdr_llsd_binary pub fn hdr_llsd_binary() -> libremetaverse_types::compat::MediaTypeHeaderValue none sync infallible_placeholder direct_snake_case static_field_accessor mapped
F:LibreMetaverse.HttpCapsClient.HDR_LLSD_JSON field System.Net.Http.Headers.MediaTypeHeaderValue LibreMetaverse.HttpCapsClient.HDR_LLSD_JSON libremetaverse libremetaverse::HttpCapsClient::hdr_llsd_json pub fn hdr_llsd_json() -> libremetaverse_types::compat::MediaTypeHeaderValue none sync infallible_placeholder direct_snake_case static_field_accessor mapped F:LibreMetaverse.HttpCapsClient.HDR_LLSD_JSON field System.Net.Http.Headers.MediaTypeHeaderValue LibreMetaverse.HttpCapsClient.HDR_LLSD_JSON libremetaverse libremetaverse::HttpCapsClient::hdr_llsd_json pub fn hdr_llsd_json() -> libremetaverse_types::compat::MediaTypeHeaderValue none sync infallible_placeholder direct_snake_case static_field_accessor mapped
F:LibreMetaverse.HttpCapsClient.HDR_LLSD_XML field System.Net.Http.Headers.MediaTypeHeaderValue LibreMetaverse.HttpCapsClient.HDR_LLSD_XML libremetaverse libremetaverse::HttpCapsClient::hdr_llsd_xml pub fn hdr_llsd_xml() -> libremetaverse_types::compat::MediaTypeHeaderValue none sync infallible_placeholder direct_snake_case static_field_accessor mapped F:LibreMetaverse.HttpCapsClient.HDR_LLSD_XML field System.Net.Http.Headers.MediaTypeHeaderValue LibreMetaverse.HttpCapsClient.HDR_LLSD_XML libremetaverse libremetaverse::HttpCapsClient::hdr_llsd_xml pub fn hdr_llsd_xml() -> libremetaverse_types::compat::MediaTypeHeaderValue none sync infallible_placeholder direct_snake_case static_field_accessor mapped
F:LibreMetaverse.HttpCapsClient.LLSD_BINARY constant System.String LibreMetaverse.HttpCapsClient.LLSD_BINARY libremetaverse libremetaverse::HttpCapsClient::LLSD_BINARY pub const LLSD_BINARY: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.HttpCapsClient.LLSD_BINARY constant System.String LibreMetaverse.HttpCapsClient.LLSD_BINARY libremetaverse libremetaverse::HttpCapsClient::LLSD_BINARY pub const LLSD_BINARY: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.HttpCapsClient.LLSD_JSON constant System.String LibreMetaverse.HttpCapsClient.LLSD_JSON libremetaverse libremetaverse::HttpCapsClient::LLSD_JSON pub const LLSD_JSON: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.HttpCapsClient.LLSD_JSON constant System.String LibreMetaverse.HttpCapsClient.LLSD_JSON libremetaverse libremetaverse::HttpCapsClient::LLSD_JSON pub const LLSD_JSON: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.HttpCapsClient.LLSD_XML constant System.String LibreMetaverse.HttpCapsClient.LLSD_XML libremetaverse libremetaverse::HttpCapsClient::LLSD_XML pub const LLSD_XML: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.HttpCapsClient.LLSD_XML constant System.String LibreMetaverse.HttpCapsClient.LLSD_XML libremetaverse libremetaverse::HttpCapsClient::LLSD_XML pub const LLSD_XML: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.ImageCodec.BMP enum_value LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.BMP libremetaverse libremetaverse::ImageCodec::BMP BMP: libremetaverse::ImageCodec owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.ImageCodec.BMP enum_value LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.BMP libremetaverse libremetaverse::ImageCodec::BMP BMP: libremetaverse::ImageCodec owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.ImageCodec.DXT enum_value LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.DXT libremetaverse libremetaverse::ImageCodec::DXT DXT: libremetaverse::ImageCodec owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.ImageCodec.DXT enum_value LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.DXT libremetaverse libremetaverse::ImageCodec::DXT DXT: libremetaverse::ImageCodec owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.ImageCodec.Invalid enum_value LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.Invalid libremetaverse libremetaverse::ImageCodec::Invalid Invalid: libremetaverse::ImageCodec owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.ImageCodec.Invalid enum_value LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.Invalid libremetaverse libremetaverse::ImageCodec::Invalid Invalid: libremetaverse::ImageCodec owned_value sync none direct_snake_case direct mapped
@@ -2775,8 +2775,8 @@ F:LibreMetaverse.InstantMessageDialog.TaskInventoryDeclined enum_value LibreMeta
F:LibreMetaverse.InstantMessageDialog.TaskInventoryOffered enum_value LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.TaskInventoryOffered libremetaverse libremetaverse::InstantMessageDialog::TaskInventoryOffered TaskInventoryOffered: libremetaverse::InstantMessageDialog owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.InstantMessageDialog.TaskInventoryOffered enum_value LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.TaskInventoryOffered libremetaverse libremetaverse::InstantMessageDialog::TaskInventoryOffered TaskInventoryOffered: libremetaverse::InstantMessageDialog owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.InstantMessageOnline.Offline enum_value LibreMetaverse.InstantMessageOnline LibreMetaverse.InstantMessageOnline.Offline libremetaverse libremetaverse::InstantMessageOnline::Offline Offline: libremetaverse::InstantMessageOnline owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.InstantMessageOnline.Offline enum_value LibreMetaverse.InstantMessageOnline LibreMetaverse.InstantMessageOnline.Offline libremetaverse libremetaverse::InstantMessageOnline::Offline Offline: libremetaverse::InstantMessageOnline owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.InstantMessageOnline.Online enum_value LibreMetaverse.InstantMessageOnline LibreMetaverse.InstantMessageOnline.Online libremetaverse libremetaverse::InstantMessageOnline::Online Online: libremetaverse::InstantMessageOnline owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.InstantMessageOnline.Online enum_value LibreMetaverse.InstantMessageOnline LibreMetaverse.InstantMessageOnline.Online libremetaverse libremetaverse::InstantMessageOnline::Online Online: libremetaverse::InstantMessageOnline owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.InventoryAISClient.INVENTORY_CAP_NAME constant System.String LibreMetaverse.InventoryAISClient.INVENTORY_CAP_NAME libremetaverse libremetaverse::InventoryAISClient::INVENTORY_CAP_NAME pub const INVENTORY_CAP_NAME: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.InventoryAISClient.INVENTORY_CAP_NAME constant System.String LibreMetaverse.InventoryAISClient.INVENTORY_CAP_NAME libremetaverse libremetaverse::InventoryAISClient::INVENTORY_CAP_NAME pub const INVENTORY_CAP_NAME: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.InventoryAISClient.LIBRARY_CAP_NAME constant System.String LibreMetaverse.InventoryAISClient.LIBRARY_CAP_NAME libremetaverse libremetaverse::InventoryAISClient::LIBRARY_CAP_NAME pub const LIBRARY_CAP_NAME: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.InventoryAISClient.LIBRARY_CAP_NAME constant System.String LibreMetaverse.InventoryAISClient.LIBRARY_CAP_NAME libremetaverse libremetaverse::InventoryAISClient::LIBRARY_CAP_NAME pub const LIBRARY_CAP_NAME: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.InventoryFolder.VERSION_UNKNOWN constant System.Int32 LibreMetaverse.InventoryFolder.VERSION_UNKNOWN libremetaverse libremetaverse::InventoryFolder::VERSION_UNKNOWN pub const VERSION_UNKNOWN: i32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.InventoryFolder.VERSION_UNKNOWN constant System.Int32 LibreMetaverse.InventoryFolder.VERSION_UNKNOWN libremetaverse libremetaverse::InventoryFolder::VERSION_UNKNOWN pub const VERSION_UNKNOWN: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.InventoryItemFlags.None enum_value LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.None libremetaverse libremetaverse::InventoryItemFlags::NONE NONE: libremetaverse::InventoryItemFlags owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.InventoryItemFlags.None enum_value LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.None libremetaverse libremetaverse::InventoryItemFlags::NONE NONE: libremetaverse::InventoryItemFlags owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.InventoryItemFlags.ObjectHasMultipleItems enum_value LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.ObjectHasMultipleItems libremetaverse libremetaverse::InventoryItemFlags::OBJECT_HAS_MULTIPLE_ITEMS OBJECT_HAS_MULTIPLE_ITEMS: libremetaverse::InventoryItemFlags owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.InventoryItemFlags.ObjectHasMultipleItems enum_value LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.ObjectHasMultipleItems libremetaverse libremetaverse::InventoryItemFlags::OBJECT_HAS_MULTIPLE_ITEMS OBJECT_HAS_MULTIPLE_ITEMS: libremetaverse::InventoryItemFlags owned_value sync none direct_snake_case direct mapped
@@ -9190,8 +9190,8 @@ F:LibreMetaverse.RLV.RlvRestrictionType.Unsit enum_value LibreMetaverse.RLV.RlvR
F:LibreMetaverse.RLV.RlvRestrictionType.ViewNote enum_value LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ViewNote libremetaverse-rlv libremetaverse_rlv::RlvRestrictionType::ViewNote ViewNote: libremetaverse_rlv::RlvRestrictionType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.RLV.RlvRestrictionType.ViewNote enum_value LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ViewNote libremetaverse-rlv libremetaverse_rlv::RlvRestrictionType::ViewNote ViewNote: libremetaverse_rlv::RlvRestrictionType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.RLV.RlvRestrictionType.ViewScript enum_value LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ViewScript libremetaverse-rlv libremetaverse_rlv::RlvRestrictionType::ViewScript ViewScript: libremetaverse_rlv::RlvRestrictionType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.RLV.RlvRestrictionType.ViewScript enum_value LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ViewScript libremetaverse-rlv libremetaverse_rlv::RlvRestrictionType::ViewScript ViewScript: libremetaverse_rlv::RlvRestrictionType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.RLV.RlvRestrictionType.ViewTexture enum_value LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ViewTexture libremetaverse-rlv libremetaverse_rlv::RlvRestrictionType::ViewTexture ViewTexture: libremetaverse_rlv::RlvRestrictionType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.RLV.RlvRestrictionType.ViewTexture enum_value LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ViewTexture libremetaverse-rlv libremetaverse_rlv::RlvRestrictionType::ViewTexture ViewTexture: libremetaverse_rlv::RlvRestrictionType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.RLV.RlvService.RLVVersion constant System.String LibreMetaverse.RLV.RlvService.RLVVersion libremetaverse-rlv libremetaverse_rlv::RlvService::RLV_VERSION pub const RLV_VERSION: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.RLV.RlvService.RLVVersion constant System.String LibreMetaverse.RLV.RlvService.RLVVersion libremetaverse-rlv libremetaverse_rlv::RlvService::RLV_VERSION pub const RLV_VERSION: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.RLV.RlvService.RLVVersionNum constant System.String LibreMetaverse.RLV.RlvService.RLVVersionNum libremetaverse-rlv libremetaverse_rlv::RlvService::RLV_VERSION_NUM pub const RLV_VERSION_NUM: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.RLV.RlvService.RLVVersionNum constant System.String LibreMetaverse.RLV.RlvService.RLVVersionNum libremetaverse-rlv libremetaverse_rlv::RlvService::RLV_VERSION_NUM pub const RLV_VERSION_NUM: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.RLV.RlvWearableType.Alpha enum_value LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Alpha libremetaverse-rlv libremetaverse_rlv::RlvWearableType::Alpha Alpha: libremetaverse_rlv::RlvWearableType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.RLV.RlvWearableType.Alpha enum_value LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Alpha libremetaverse-rlv libremetaverse_rlv::RlvWearableType::Alpha Alpha: libremetaverse_rlv::RlvWearableType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.RLV.RlvWearableType.Eyes enum_value LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Eyes libremetaverse-rlv libremetaverse_rlv::RlvWearableType::Eyes Eyes: libremetaverse_rlv::RlvWearableType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.RLV.RlvWearableType.Eyes enum_value LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Eyes libremetaverse-rlv libremetaverse_rlv::RlvWearableType::Eyes Eyes: libremetaverse_rlv::RlvWearableType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.RLV.RlvWearableType.Gloves enum_value LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Gloves libremetaverse-rlv libremetaverse_rlv::RlvWearableType::Gloves Gloves: libremetaverse_rlv::RlvWearableType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.RLV.RlvWearableType.Gloves enum_value LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Gloves libremetaverse-rlv libremetaverse_rlv::RlvWearableType::Gloves Gloves: libremetaverse_rlv::RlvWearableType owned_value sync none direct_snake_case direct mapped
@@ -9433,8 +9433,8 @@ F:LibreMetaverse.SculptType.None enum_value LibreMetaverse.SculptType LibreMetav
F:LibreMetaverse.SculptType.Plane enum_value LibreMetaverse.SculptType LibreMetaverse.SculptType.Plane libremetaverse-types libremetaverse_types::SculptType::Plane Plane: libremetaverse_types::SculptType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.SculptType.Plane enum_value LibreMetaverse.SculptType LibreMetaverse.SculptType.Plane libremetaverse-types libremetaverse_types::SculptType::Plane Plane: libremetaverse_types::SculptType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.SculptType.Sphere enum_value LibreMetaverse.SculptType LibreMetaverse.SculptType.Sphere libremetaverse-types libremetaverse_types::SculptType::Sphere Sphere: libremetaverse_types::SculptType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.SculptType.Sphere enum_value LibreMetaverse.SculptType LibreMetaverse.SculptType.Sphere libremetaverse-types libremetaverse_types::SculptType::Sphere Sphere: libremetaverse_types::SculptType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.SculptType.Torus enum_value LibreMetaverse.SculptType LibreMetaverse.SculptType.Torus libremetaverse-types libremetaverse_types::SculptType::Torus Torus: libremetaverse_types::SculptType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.SculptType.Torus enum_value LibreMetaverse.SculptType LibreMetaverse.SculptType.Torus libremetaverse-types libremetaverse_types::SculptType::Torus Torus: libremetaverse_types::SculptType owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Settings.AditiLoginServer constant System.String LibreMetaverse.Settings.AditiLoginServer libremetaverse libremetaverse::Settings::ADITI_LOGIN_SERVER pub const ADITI_LOGIN_SERVER: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Settings.AditiLoginServer constant System.String LibreMetaverse.Settings.AditiLoginServer libremetaverse libremetaverse::Settings::ADITI_LOGIN_SERVER pub const ADITI_LOGIN_SERVER: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Settings.AgniLoginServer constant System.String LibreMetaverse.Settings.AgniLoginServer libremetaverse libremetaverse::Settings::AGNI_LOGIN_SERVER pub const AGNI_LOGIN_SERVER: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Settings.AgniLoginServer constant System.String LibreMetaverse.Settings.AgniLoginServer libremetaverse libremetaverse::Settings::AGNI_LOGIN_SERVER pub const AGNI_LOGIN_SERVER: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Settings.BindAddress field System.Net.IPAddress LibreMetaverse.Settings.BindAddress libremetaverse libremetaverse::Settings::bind_address pub fn bind_address() -> std::net::IpAddr none sync infallible_placeholder direct_snake_case static_field_accessor mapped F:LibreMetaverse.Settings.BindAddress field System.Net.IPAddress LibreMetaverse.Settings.BindAddress libremetaverse libremetaverse::Settings::bind_address pub fn bind_address() -> std::net::IpAddr none sync infallible_placeholder direct_snake_case static_field_accessor mapped
F:LibreMetaverse.Settings.DefaultEffectColor field LibreMetaverse.Color4 LibreMetaverse.Settings.DefaultEffectColor libremetaverse libremetaverse::Settings::default_effect_color pub default_effect_color: libremetaverse_types::Color4 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Settings.DefaultEffectColor field LibreMetaverse.Color4 LibreMetaverse.Settings.DefaultEffectColor libremetaverse libremetaverse::Settings::default_effect_color pub default_effect_color: libremetaverse_types::Color4 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Settings.EnableInventoryStore constant System.Boolean LibreMetaverse.Settings.EnableInventoryStore libremetaverse libremetaverse::Settings::ENABLE_INVENTORY_STORE pub const ENABLE_INVENTORY_STORE: bool owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Settings.EnableInventoryStore constant System.Boolean LibreMetaverse.Settings.EnableInventoryStore libremetaverse libremetaverse::Settings::ENABLE_INVENTORY_STORE pub const ENABLE_INVENTORY_STORE: bool owned_value sync none direct_snake_case direct mapped
@@ -10099,13 +10099,13 @@ F:LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceResponseResults.StatusString fiel
F:LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceResponseResults.VersionID field System.String LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceResponseResults.VersionID libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGatewayVoiceResponseResults::version_id pub version_id: Option<String> owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceResponseResults.VersionID field System.String LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceResponseResults.VersionID libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGatewayVoiceResponseResults::version_id pub version_id: Option<String> owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceSessionEventArgs.SessionHandle field System.String LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceSessionEventArgs.SessionHandle libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGatewayVoiceSessionEventArgs::session_handle pub session_handle: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceSessionEventArgs.SessionHandle field System.String LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceSessionEventArgs.SessionHandle libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGatewayVoiceSessionEventArgs::session_handle pub session_handle: String owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoiceManager.BlockingTimeout field System.Int32 LibreMetaverse.Voice.Vivox.VoiceManager.BlockingTimeout libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::blocking_timeout pub blocking_timeout: i32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoiceManager.BlockingTimeout field System.Int32 LibreMetaverse.Voice.Vivox.VoiceManager.BlockingTimeout libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::blocking_timeout pub blocking_timeout: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_ARGS constant System.String LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_ARGS libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::DAEMON_ARGS pub const DAEMON_ARGS: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_ARGS constant System.String LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_ARGS libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::DAEMON_ARGS pub const DAEMON_ARGS: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_LOG_LEVEL constant System.Int32 LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_LOG_LEVEL libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::DAEMON_LOG_LEVEL pub const DAEMON_LOG_LEVEL: i32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_LOG_LEVEL constant System.Int32 LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_LOG_LEVEL libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::DAEMON_LOG_LEVEL pub const DAEMON_LOG_LEVEL: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_PORT constant System.Int32 LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_PORT libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::DAEMON_PORT pub const DAEMON_PORT: i32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_PORT constant System.Int32 LibreMetaverse.Voice.Vivox.VoiceManager.DAEMON_PORT libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::DAEMON_PORT pub const DAEMON_PORT: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoiceManager.REQUEST_TERMINATOR constant System.String LibreMetaverse.Voice.Vivox.VoiceManager.REQUEST_TERMINATOR libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::REQUEST_TERMINATOR pub const REQUEST_TERMINATOR: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoiceManager.REQUEST_TERMINATOR constant System.String LibreMetaverse.Voice.Vivox.VoiceManager.REQUEST_TERMINATOR libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::REQUEST_TERMINATOR pub const REQUEST_TERMINATOR: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_DEBUG_SERVER constant System.String LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_DEBUG_SERVER libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::VOICE_DEBUG_SERVER pub const VOICE_DEBUG_SERVER: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_DEBUG_SERVER constant System.String LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_DEBUG_SERVER libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::VOICE_DEBUG_SERVER pub const VOICE_DEBUG_SERVER: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_MAJOR_VERSION constant System.Int32 LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_MAJOR_VERSION libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::VOICE_MAJOR_VERSION pub const VOICE_MAJOR_VERSION: i32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_MAJOR_VERSION constant System.Int32 LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_MAJOR_VERSION libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::VOICE_MAJOR_VERSION pub const VOICE_MAJOR_VERSION: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_RELEASE_SERVER constant System.String LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_RELEASE_SERVER libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::VOICE_RELEASE_SERVER pub const VOICE_RELEASE_SERVER: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_RELEASE_SERVER constant System.String LibreMetaverse.Voice.Vivox.VoiceManager.VOICE_RELEASE_SERVER libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::VOICE_RELEASE_SERVER pub const VOICE_RELEASE_SERVER: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoiceManager.VoiceServer field System.String LibreMetaverse.Voice.Vivox.VoiceManager.VoiceServer libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::voice_server pub voice_server: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoiceManager.VoiceServer field System.String LibreMetaverse.Voice.Vivox.VoiceManager.VoiceServer libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::voice_server pub voice_server: String owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoicePosition.AtOrientation field LibreMetaverse.Vector3d LibreMetaverse.Voice.Vivox.VoicePosition.AtOrientation libremetaverse-voice-vivox libremetaverse_voice_vivox::VoicePosition::at_orientation pub at_orientation: libremetaverse_types::Vector3d owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoicePosition.AtOrientation field LibreMetaverse.Vector3d LibreMetaverse.Voice.Vivox.VoicePosition.AtOrientation libremetaverse-voice-vivox libremetaverse_voice_vivox::VoicePosition::at_orientation pub at_orientation: libremetaverse_types::Vector3d owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.Vivox.VoicePosition.LeftOrientation field LibreMetaverse.Vector3d LibreMetaverse.Voice.Vivox.VoicePosition.LeftOrientation libremetaverse-voice-vivox libremetaverse_voice_vivox::VoicePosition::left_orientation pub left_orientation: libremetaverse_types::Vector3d owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.Vivox.VoicePosition.LeftOrientation field LibreMetaverse.Vector3d LibreMetaverse.Voice.Vivox.VoicePosition.LeftOrientation libremetaverse-voice-vivox libremetaverse_voice_vivox::VoicePosition::left_orientation pub left_orientation: libremetaverse_types::Vector3d owned_value sync none direct_snake_case direct mapped
@@ -10137,8 +10137,8 @@ F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.W field System.Int32 LibreMetave
F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.X field System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.X libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSessionInt4::x pub x: i32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.X field System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.X libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSessionInt4::x pub x: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Y field System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Y libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSessionInt4::y pub y: i32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Y field System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Y libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSessionInt4::y pub y: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Z field System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Z libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSessionInt4::z pub z: i32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Z field System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Z libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSessionInt4::z pub z: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.WebRTC.VoiceSession.PROVISION_VOICE_ACCOUNT_CAP constant System.String LibreMetaverse.Voice.WebRTC.VoiceSession.PROVISION_VOICE_ACCOUNT_CAP libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::PROVISION_VOICE_ACCOUNT_CAP pub const PROVISION_VOICE_ACCOUNT_CAP: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.WebRTC.VoiceSession.PROVISION_VOICE_ACCOUNT_CAP constant System.String LibreMetaverse.Voice.WebRTC.VoiceSession.PROVISION_VOICE_ACCOUNT_CAP libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::PROVISION_VOICE_ACCOUNT_CAP pub const PROVISION_VOICE_ACCOUNT_CAP: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.Voice.WebRTC.VoiceSession.VOICE_SIGNALING_CAP constant System.String LibreMetaverse.Voice.WebRTC.VoiceSession.VOICE_SIGNALING_CAP libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::VOICE_SIGNALING_CAP pub const VOICE_SIGNALING_CAP: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Voice.WebRTC.VoiceSession.VOICE_SIGNALING_CAP constant System.String LibreMetaverse.Voice.WebRTC.VoiceSession.VOICE_SIGNALING_CAP libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::VOICE_SIGNALING_CAP pub const VOICE_SIGNALING_CAP: &'static str owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.VolumeMorphInfo.BoneName field System.String LibreMetaverse.VolumeMorphInfo.BoneName libremetaverse libremetaverse::VolumeMorphInfo::bone_name pub bone_name: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.VolumeMorphInfo.BoneName field System.String LibreMetaverse.VolumeMorphInfo.BoneName libremetaverse libremetaverse::VolumeMorphInfo::bone_name pub bone_name: String owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.VolumeMorphInfo.HasPosition field System.Boolean LibreMetaverse.VolumeMorphInfo.HasPosition libremetaverse libremetaverse::VolumeMorphInfo::has_position pub has_position: bool owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.VolumeMorphInfo.HasPosition field System.Boolean LibreMetaverse.VolumeMorphInfo.HasPosition libremetaverse libremetaverse::VolumeMorphInfo::has_position pub has_position: bool owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.VolumeMorphInfo.HasScale field System.Boolean LibreMetaverse.VolumeMorphInfo.HasScale libremetaverse libremetaverse::VolumeMorphInfo::has_scale pub has_scale: bool owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.VolumeMorphInfo.HasScale field System.Boolean LibreMetaverse.VolumeMorphInfo.HasScale libremetaverse libremetaverse::VolumeMorphInfo::has_scale pub has_scale: bool owned_value sync none direct_snake_case direct mapped
@@ -10312,13 +10312,13 @@ M:LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID) metho
M:LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String) method System.Void LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID targetID, LibreMetaverse.UUID sessionID, System.String message) libremetaverse libremetaverse::AgentManager::send_teleport_lure_request_with_uuid_uuid_string pub fn send_teleport_lure_request_with_uuid_uuid_string(&self, target_id: libremetaverse_types::UUID, session_id: libremetaverse_types::UUID, message: String) -> Result<(), crate::Error> shared_self,owned,owned,owned sync Result<_, crate::Error> descriptive_overload_name method mapped M:LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String) method System.Void LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID targetID, LibreMetaverse.UUID sessionID, System.String message) libremetaverse libremetaverse::AgentManager::send_teleport_lure_request_with_uuid_uuid_string pub fn send_teleport_lure_request_with_uuid_uuid_string(&self, target_id: libremetaverse_types::UUID, session_id: libremetaverse_types::UUID, message: String) -> Result<(), crate::Error> shared_self,owned,owned,owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID,System.String) method System.Void LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID targetID, System.String message) libremetaverse libremetaverse::AgentManager::send_teleport_lure_request_with_uuid_string pub fn send_teleport_lure_request_with_uuid_string(&self, target_id: libremetaverse_types::UUID, message: String) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> descriptive_overload_name method mapped M:LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID,System.String) method System.Void LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID targetID, System.String message) libremetaverse libremetaverse::AgentManager::send_teleport_lure_request_with_uuid_string pub fn send_teleport_lure_request_with_uuid_string(&self, target_id: libremetaverse_types::UUID, message: String) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.AgentManager.SendViewerStatsAsync(LibreMetaverse.Messages.Linden.ViewerStatsMessage,System.Threading.CancellationToken) method System.Threading.Tasks.Task LibreMetaverse.AgentManager.SendViewerStatsAsync(LibreMetaverse.Messages.Linden.ViewerStatsMessage stats, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::send_viewer_stats pub async fn send_viewer_stats(&self, stats: libremetaverse::messages::linden::ViewerStatsMessage, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<(), crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.SendViewerStatsAsync(LibreMetaverse.Messages.Linden.ViewerStatsMessage,System.Threading.CancellationToken) method System.Threading.Tasks.Task LibreMetaverse.AgentManager.SendViewerStatsAsync(LibreMetaverse.Messages.Linden.ViewerStatsMessage stats, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::send_viewer_stats pub async fn send_viewer_stats(&self, stats: libremetaverse::messages::linden::ViewerStatsMessage, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<(), crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AgentManager.SetAgentAccessAsync(System.String,System.Threading.CancellationToken) method System.Threading.Tasks.Task<LibreMetaverse.AgentAccessEventArgs> LibreMetaverse.AgentManager.SetAgentAccessAsync(System.String access, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::set_agent_access pub async fn set_agent_access(&self, access: String, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<libremetaverse::AgentAccessEventArgs, crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.SetAgentAccessAsync(System.String,System.Threading.CancellationToken) method System.Threading.Tasks.Task<LibreMetaverse.AgentAccessEventArgs> LibreMetaverse.AgentManager.SetAgentAccessAsync(System.String access, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::set_agent_access_with_string_cancellation_token pub async fn set_agent_access_with_string_cancellation_token(&self, access: String, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<libremetaverse::AgentAccessEventArgs, crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.AgentManager.SetDisplayNameAsync(System.String,System.String,System.Threading.CancellationToken) method System.Threading.Tasks.Task LibreMetaverse.AgentManager.SetDisplayNameAsync(System.String oldName, System.String newName, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::set_display_name pub async fn set_display_name(&self, old_name: String, new_name: String, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<(), crate::Error> shared_self,owned,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.SetDisplayNameAsync(System.String,System.String,System.Threading.CancellationToken) method System.Threading.Tasks.Task LibreMetaverse.AgentManager.SetDisplayNameAsync(System.String oldName, System.String newName, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::set_display_name pub async fn set_display_name(&self, old_name: String, new_name: String, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<(), crate::Error> shared_self,owned,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AgentManager.SetExperiencePermissionAsync(LibreMetaverse.UUID,System.String,System.Threading.CancellationToken) method System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.SetExperiencePermissionAsync(LibreMetaverse.UUID experienceId, System.String permission, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::set_experience_permission pub async fn set_experience_permission(&self, experience_id: libremetaverse_types::UUID, permission: String, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<bool, crate::Error> shared_self,owned,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.SetExperiencePermissionAsync(LibreMetaverse.UUID,System.String,System.Threading.CancellationToken) method System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.SetExperiencePermissionAsync(LibreMetaverse.UUID experienceId, System.String permission, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::set_experience_permission pub async fn set_experience_permission(&self, experience_id: libremetaverse_types::UUID, permission: String, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<bool, crate::Error> shared_self,owned,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AgentManager.SetExperiencePreferencesAsync(LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage,System.Threading.CancellationToken) method System.Threading.Tasks.Task LibreMetaverse.AgentManager.SetExperiencePreferencesAsync(LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage preferences, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::set_experience_preferences pub async fn set_experience_preferences(&self, preferences: libremetaverse::messages::linden::ExperiencePreferencesMessage, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<(), crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.SetExperiencePreferencesAsync(LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage,System.Threading.CancellationToken) method System.Threading.Tasks.Task LibreMetaverse.AgentManager.SetExperiencePreferencesAsync(LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage preferences, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::set_experience_preferences_with_experience_preferences_message_cancellation_token pub async fn set_experience_preferences_with_experience_preferences_message_cancellation_token(&self, preferences: libremetaverse::messages::linden::ExperiencePreferencesMessage, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<(), crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.AgentManager.SetHeightWidth(System.UInt16,System.UInt16) method System.Void LibreMetaverse.AgentManager.SetHeightWidth(System.UInt16 height, System.UInt16 width) libremetaverse libremetaverse::AgentManager::set_height_width pub fn set_height_width(&self, height: u16, width: u16) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.SetHeightWidth(System.UInt16,System.UInt16) method System.Void LibreMetaverse.AgentManager.SetHeightWidth(System.UInt16 height, System.UInt16 width) libremetaverse libremetaverse::AgentManager::set_height_width pub fn set_height_width(&self, height: u16, width: u16) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AgentManager.SetHome method System.Void LibreMetaverse.AgentManager.SetHome() libremetaverse libremetaverse::AgentManager::set_home pub fn set_home(&self) -> Result<(), crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.SetHome method System.Void LibreMetaverse.AgentManager.SetHome() libremetaverse libremetaverse::AgentManager::set_home pub fn set_home(&self) -> Result<(), crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AgentManager.SetHoverHeightAsync(System.Double,System.Threading.CancellationToken) method System.Threading.Tasks.Task LibreMetaverse.AgentManager.SetHoverHeightAsync(System.Double hoverHeight, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::set_hover_height pub async fn set_hover_height(&self, hover_height: f64, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<(), crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.SetHoverHeightAsync(System.Double,System.Threading.CancellationToken) method System.Threading.Tasks.Task LibreMetaverse.AgentManager.SetHoverHeightAsync(System.Double hoverHeight, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::AgentManager::set_hover_height_with_double_cancellation_token pub async fn set_hover_height_with_double_cancellation_token(&self, hover_height: f64, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<(), crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.AgentManager.Sit method System.Void LibreMetaverse.AgentManager.Sit() libremetaverse libremetaverse::AgentManager::sit pub fn sit(&self) -> Result<(), crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.Sit method System.Void LibreMetaverse.AgentManager.Sit() libremetaverse libremetaverse::AgentManager::sit pub fn sit(&self) -> Result<(), crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AgentManager.SitOnGround method System.Void LibreMetaverse.AgentManager.SitOnGround() libremetaverse libremetaverse::AgentManager::sit_on_ground pub fn sit_on_ground(&self) -> Result<(), crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.SitOnGround method System.Void LibreMetaverse.AgentManager.SitOnGround() libremetaverse libremetaverse::AgentManager::sit_on_ground pub fn sit_on_ground(&self) -> Result<(), crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AgentManager.SphereEffect(LibreMetaverse.Vector3d,LibreMetaverse.Color4,System.Single,LibreMetaverse.UUID) method System.Void LibreMetaverse.AgentManager.SphereEffect(LibreMetaverse.Vector3d globalOffset, LibreMetaverse.Color4 color, System.Single duration, LibreMetaverse.UUID effectID) libremetaverse libremetaverse::AgentManager::sphere_effect pub fn sphere_effect(&self, global_offset: libremetaverse_types::Vector3d, color: libremetaverse_types::Color4, duration: f32, effect_id: libremetaverse_types::UUID) -> Result<(), crate::Error> shared_self,owned,owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.SphereEffect(LibreMetaverse.Vector3d,LibreMetaverse.Color4,System.Single,LibreMetaverse.UUID) method System.Void LibreMetaverse.AgentManager.SphereEffect(LibreMetaverse.Vector3d globalOffset, LibreMetaverse.Color4 color, System.Single duration, LibreMetaverse.UUID effectID) libremetaverse libremetaverse::AgentManager::sphere_effect pub fn sphere_effect(&self, global_offset: libremetaverse_types::Vector3d, color: libremetaverse_types::Color4, duration: f32, effect_id: libremetaverse_types::UUID) -> Result<(), crate::Error> shared_self,owned,owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
@@ -10524,14 +10524,14 @@ M:LibreMetaverse.Assets.AssetMaterial.ApplyOverride(LibreMetaverse.Assets.AssetM
M:LibreMetaverse.Assets.AssetMaterial.Decode method System.Boolean LibreMetaverse.Assets.AssetMaterial.Decode() libremetaverse assets libremetaverse::assets::AssetMaterial::decode pub fn decode(&self) -> Result<bool, crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.Decode method System.Boolean LibreMetaverse.Assets.AssetMaterial.Decode() libremetaverse assets libremetaverse::assets::AssetMaterial::decode pub fn decode(&self) -> Result<bool, crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.Assets.AssetMaterial.Encode method System.Void LibreMetaverse.Assets.AssetMaterial.Encode() libremetaverse assets libremetaverse::assets::AssetMaterial::encode pub fn encode(&self) -> Result<(), crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.Encode method System.Void LibreMetaverse.Assets.AssetMaterial.Encode() libremetaverse assets libremetaverse::assets::AssetMaterial::encode pub fn encode(&self) -> Result<(), crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.Assets.AssetMaterial.FromOverrideOsd(LibreMetaverse.StructuredData.OSDMap) method LibreMetaverse.Assets.AssetMaterial LibreMetaverse.Assets.AssetMaterial.FromOverrideOsd(LibreMetaverse.StructuredData.OSDMap data) libremetaverse assets libremetaverse::assets::AssetMaterial::from_override_osd pub fn from_override_osd(data: libremetaverse_structured_data::OSDMap) -> Result<libremetaverse::assets::AssetMaterial, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.FromOverrideOsd(LibreMetaverse.StructuredData.OSDMap) method LibreMetaverse.Assets.AssetMaterial LibreMetaverse.Assets.AssetMaterial.FromOverrideOsd(LibreMetaverse.StructuredData.OSDMap data) libremetaverse assets libremetaverse::assets::AssetMaterial::from_override_osd pub fn from_override_osd(data: libremetaverse_structured_data::OSDMap) -> Result<libremetaverse::assets::AssetMaterial, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.Assets.AssetMaterial.SetAlphaCutoff(System.Single,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetAlphaCutoff(System.Single cutoff, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_alpha_cutoff pub fn set_alpha_cutoff(&self, cutoff: f32, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.SetAlphaCutoff(System.Single,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetAlphaCutoff(System.Single cutoff, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_alpha_cutoff_with_single_boolean pub fn set_alpha_cutoff_with_single_boolean(&self, cutoff: f32, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.Assets.AssetMaterial.SetAlphaMode(LibreMetaverse.Assets.GltfAlphaMode,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetAlphaMode(LibreMetaverse.Assets.GltfAlphaMode mode, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_alpha_mode pub fn set_alpha_mode(&self, mode: libremetaverse::assets::GltfAlphaMode, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.SetAlphaMode(LibreMetaverse.Assets.GltfAlphaMode,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetAlphaMode(LibreMetaverse.Assets.GltfAlphaMode mode, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_alpha_mode_with_gltf_alpha_mode_boolean pub fn set_alpha_mode_with_gltf_alpha_mode_boolean(&self, mode: libremetaverse::assets::GltfAlphaMode, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.Assets.AssetMaterial.SetBaseColorFactor(LibreMetaverse.Color4,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetBaseColorFactor(LibreMetaverse.Color4 color, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_base_color_factor pub fn set_base_color_factor(&self, color: libremetaverse_types::Color4, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.SetBaseColorFactor(LibreMetaverse.Color4,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetBaseColorFactor(LibreMetaverse.Color4 color, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_base_color_factor_with_color4_boolean pub fn set_base_color_factor_with_color4_boolean(&self, color: libremetaverse_types::Color4, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.Assets.AssetMaterial.SetBaseMaterial method System.Void LibreMetaverse.Assets.AssetMaterial.SetBaseMaterial() libremetaverse assets libremetaverse::assets::AssetMaterial::set_base_material pub fn set_base_material(&self) -> Result<(), crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.SetBaseMaterial method System.Void LibreMetaverse.Assets.AssetMaterial.SetBaseMaterial() libremetaverse assets libremetaverse::assets::AssetMaterial::set_base_material pub fn set_base_material(&self) -> Result<(), crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.Assets.AssetMaterial.SetDoubleSided(System.Boolean,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetDoubleSided(System.Boolean doubleSided, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_double_sided pub fn set_double_sided(&self, double_sided: bool, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.SetDoubleSided(System.Boolean,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetDoubleSided(System.Boolean doubleSided, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_double_sided_with_boolean_boolean pub fn set_double_sided_with_boolean_boolean(&self, double_sided: bool, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.Assets.AssetMaterial.SetEmissiveFactor(LibreMetaverse.Vector3,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetEmissiveFactor(LibreMetaverse.Vector3 color, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_emissive_factor pub fn set_emissive_factor(&self, color: libremetaverse_types::Vector3, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.SetEmissiveFactor(LibreMetaverse.Vector3,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetEmissiveFactor(LibreMetaverse.Vector3 color, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_emissive_factor_with_vector3_boolean pub fn set_emissive_factor_with_vector3_boolean(&self, color: libremetaverse_types::Vector3, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.Assets.AssetMaterial.SetMetallicFactor(System.Single,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetMetallicFactor(System.Single metallic, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_metallic_factor pub fn set_metallic_factor(&self, metallic: f32, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.SetMetallicFactor(System.Single,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetMetallicFactor(System.Single metallic, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_metallic_factor_with_single_boolean pub fn set_metallic_factor_with_single_boolean(&self, metallic: f32, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.Assets.AssetMaterial.SetRoughnessFactor(System.Single,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetRoughnessFactor(System.Single roughness, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_roughness_factor pub fn set_roughness_factor(&self, roughness: f32, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.SetRoughnessFactor(System.Single,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetRoughnessFactor(System.Single roughness, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_roughness_factor_with_single_boolean pub fn set_roughness_factor_with_single_boolean(&self, roughness: f32, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.Assets.AssetMaterial.SetTextureId(System.Int32,LibreMetaverse.UUID,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetTextureId(System.Int32 slot, LibreMetaverse.UUID id, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_texture_id pub fn set_texture_id(&self, slot: i32, id: libremetaverse_types::UUID, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.SetTextureId(System.Int32,LibreMetaverse.UUID,System.Boolean) method System.Void LibreMetaverse.Assets.AssetMaterial.SetTextureId(System.Int32 slot, LibreMetaverse.UUID id, System.Boolean forOverride = default) libremetaverse assets libremetaverse::assets::AssetMaterial::set_texture_id pub fn set_texture_id(&self, slot: i32, id: libremetaverse_types::UUID, for_override: Option<bool>) -> Result<(), crate::Error> shared_self,owned,owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.Assets.AssetMaterial.SetTextureOffset(System.Int32,LibreMetaverse.Vector2) method System.Void LibreMetaverse.Assets.AssetMaterial.SetTextureOffset(System.Int32 slot, LibreMetaverse.Vector2 offset) libremetaverse assets libremetaverse::assets::AssetMaterial::set_texture_offset pub fn set_texture_offset(&self, slot: i32, offset: libremetaverse_types::Vector2) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.SetTextureOffset(System.Int32,LibreMetaverse.Vector2) method System.Void LibreMetaverse.Assets.AssetMaterial.SetTextureOffset(System.Int32 slot, LibreMetaverse.Vector2 offset) libremetaverse assets libremetaverse::assets::AssetMaterial::set_texture_offset pub fn set_texture_offset(&self, slot: i32, offset: libremetaverse_types::Vector2) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.Assets.AssetMaterial.SetTextureRotation(System.Int32,System.Single) method System.Void LibreMetaverse.Assets.AssetMaterial.SetTextureRotation(System.Int32 slot, System.Single rotation) libremetaverse assets libremetaverse::assets::AssetMaterial::set_texture_rotation pub fn set_texture_rotation(&self, slot: i32, rotation: f32) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Assets.AssetMaterial.SetTextureRotation(System.Int32,System.Single) method System.Void LibreMetaverse.Assets.AssetMaterial.SetTextureRotation(System.Int32 slot, System.Single rotation) libremetaverse assets libremetaverse::assets::AssetMaterial::set_texture_rotation pub fn set_texture_rotation(&self, slot: i32, rotation: f32) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
@@ -10727,9 +10727,9 @@ M:LibreMetaverse.AudioDevice.PlayFileOnce(System.String) method System.Void Libr
M:LibreMetaverse.AudioDevice.PlayRawPcmStreamAsync(System.IO.Stream,System.Int32,System.Int32,System.Threading.CancellationToken) method System.Threading.Tasks.Task LibreMetaverse.AudioDevice.PlayRawPcmStreamAsync(System.IO.Stream pcmStream, System.Int32 channels = default, System.Int32 sampleRate = default, System.Threading.CancellationToken ct = default) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::play_raw_pcm_stream pub async fn play_raw_pcm_stream(&self, pcm_stream: Box<dyn libremetaverse_types::compat::ReadWrite + Send>, channels: Option<i32>, sample_rate: Option<i32>, ct: Option<libremetaverse_types::compat::CancellationToken>) -> Result<(), crate::Error> shared_self,owned,optional_owned,optional_owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AudioDevice.PlayRawPcmStreamAsync(System.IO.Stream,System.Int32,System.Int32,System.Threading.CancellationToken) method System.Threading.Tasks.Task LibreMetaverse.AudioDevice.PlayRawPcmStreamAsync(System.IO.Stream pcmStream, System.Int32 channels = default, System.Int32 sampleRate = default, System.Threading.CancellationToken ct = default) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::play_raw_pcm_stream pub async fn play_raw_pcm_stream(&self, pcm_stream: Box<dyn libremetaverse_types::compat::ReadWrite + Send>, channels: Option<i32>, sample_rate: Option<i32>, ct: Option<libremetaverse_types::compat::CancellationToken>) -> Result<(), crate::Error> shared_self,owned,optional_owned,optional_owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AudioDevice.PlayRtpPacket(System.UInt32,System.Byte[]) method System.Void LibreMetaverse.AudioDevice.PlayRtpPacket(System.UInt32 ssrc, System.Byte[] payload) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::play_rtp_packet pub fn play_rtp_packet(&self, ssrc: u32, payload: Vec<u8>) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AudioDevice.PlayRtpPacket(System.UInt32,System.Byte[]) method System.Void LibreMetaverse.AudioDevice.PlayRtpPacket(System.UInt32 ssrc, System.Byte[] payload) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::play_rtp_packet pub fn play_rtp_packet(&self, ssrc: u32, payload: Vec<u8>) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AudioDevice.SetCaptureGainPercent(System.Int32) method System.Void LibreMetaverse.AudioDevice.SetCaptureGainPercent(System.Int32 percent) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_capture_gain_percent pub fn set_capture_gain_percent(&self, percent: i32) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AudioDevice.SetCaptureGainPercent(System.Int32) method System.Void LibreMetaverse.AudioDevice.SetCaptureGainPercent(System.Int32 percent) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_capture_gain_percent pub fn set_capture_gain_percent(&self, percent: i32) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AudioDevice.SetPlaybackDevice(System.String) method System.Void LibreMetaverse.AudioDevice.SetPlaybackDevice(System.String deviceName) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_playback_device pub fn set_playback_device(&self, device_name: Option<String>) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AudioDevice.SetPlaybackDevice(System.String) method System.Void LibreMetaverse.AudioDevice.SetPlaybackDevice(System.String deviceName) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_playback_device_with_string pub fn set_playback_device_with_string(&self, device_name: Option<String>) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.AudioDevice.SetPlaybackVolume(System.Single) method System.Void LibreMetaverse.AudioDevice.SetPlaybackVolume(System.Single normalized) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_playback_volume pub fn set_playback_volume(&self, normalized: f32) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AudioDevice.SetPlaybackVolume(System.Single) method System.Void LibreMetaverse.AudioDevice.SetPlaybackVolume(System.Single normalized) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_playback_volume pub fn set_playback_volume(&self, normalized: f32) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AudioDevice.SetRecordingDevice(System.String) method System.Void LibreMetaverse.AudioDevice.SetRecordingDevice(System.String deviceName) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_recording_device pub fn set_recording_device(&self, device_name: Option<String>) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AudioDevice.SetRecordingDevice(System.String) method System.Void LibreMetaverse.AudioDevice.SetRecordingDevice(System.String deviceName) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_recording_device_with_string pub fn set_recording_device_with_string(&self, device_name: Option<String>) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.AudioDevice.SetSsrcGainPercent(System.UInt32,System.Int32) method System.Void LibreMetaverse.AudioDevice.SetSsrcGainPercent(System.UInt32 ssrc, System.Int32 percent) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_ssrc_gain_percent pub fn set_ssrc_gain_percent(&self, ssrc: u32, percent: i32) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AudioDevice.SetSsrcGainPercent(System.UInt32,System.Int32) method System.Void LibreMetaverse.AudioDevice.SetSsrcGainPercent(System.UInt32 ssrc, System.Int32 percent) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_ssrc_gain_percent pub fn set_ssrc_gain_percent(&self, ssrc: u32, percent: i32) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AudioDevice.SetSsrcMute(System.UInt32,System.Boolean) method System.Void LibreMetaverse.AudioDevice.SetSsrcMute(System.UInt32 ssrc, System.Boolean muted) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_ssrc_mute pub fn set_ssrc_mute(&self, ssrc: u32, muted: bool) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AudioDevice.SetSsrcMute(System.UInt32,System.Boolean) method System.Void LibreMetaverse.AudioDevice.SetSsrcMute(System.UInt32 ssrc, System.Boolean muted) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::set_ssrc_mute pub fn set_ssrc_mute(&self, ssrc: u32, muted: bool) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.AudioDevice.StartFilePlayback(System.String,System.Boolean) method System.Void LibreMetaverse.AudioDevice.StartFilePlayback(System.String path, System.Boolean loop = default) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::start_file_playback pub fn start_file_playback(&self, path: String, loop_: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AudioDevice.StartFilePlayback(System.String,System.Boolean) method System.Void LibreMetaverse.AudioDevice.StartFilePlayback(System.String path, System.Boolean loop = default) libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::start_file_playback pub fn start_file_playback(&self, path: String, loop_: Option<bool>) -> Result<(), crate::Error> shared_self,owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped
@@ -11004,9 +11004,9 @@ M:LibreMetaverse.EnvironmentManager.GetParcelEnvironmentAsync(System.Int32,Syste
M:LibreMetaverse.EnvironmentManager.GetRegionEnvironmentAsync(System.Threading.CancellationToken) method System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExtEnvironmentMessage> LibreMetaverse.EnvironmentManager.GetRegionEnvironmentAsync(System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::get_region_environment pub async fn get_region_environment(&self, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<Option<libremetaverse::messages::linden::ExtEnvironmentMessage>, crate::Error> shared_self,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.EnvironmentManager.GetRegionEnvironmentAsync(System.Threading.CancellationToken) method System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExtEnvironmentMessage> LibreMetaverse.EnvironmentManager.GetRegionEnvironmentAsync(System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::get_region_environment pub async fn get_region_environment(&self, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<Option<libremetaverse::messages::linden::ExtEnvironmentMessage>, crate::Error> shared_self,optional_owned async Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.EnvironmentManager.ResetParcelEnvironmentAsync(System.Int32,System.Threading.CancellationToken) method System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.EnvironmentManager.ResetParcelEnvironmentAsync(System.Int32 parcelId, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::reset_parcel_environment pub async fn reset_parcel_environment(&self, parcel_id: i32, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<bool, crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.EnvironmentManager.ResetParcelEnvironmentAsync(System.Int32,System.Threading.CancellationToken) method System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.EnvironmentManager.ResetParcelEnvironmentAsync(System.Int32 parcelId, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::reset_parcel_environment pub async fn reset_parcel_environment(&self, parcel_id: i32, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<bool, crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.EnvironmentManager.ResetRegionEnvironmentAsync(System.Threading.CancellationToken) method System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.EnvironmentManager.ResetRegionEnvironmentAsync(System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::reset_region_environment pub async fn reset_region_environment(&self, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<bool, crate::Error> shared_self,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.EnvironmentManager.ResetRegionEnvironmentAsync(System.Threading.CancellationToken) method System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.EnvironmentManager.ResetRegionEnvironmentAsync(System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::reset_region_environment pub async fn reset_region_environment(&self, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<bool, crate::Error> shared_self,optional_owned async Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.EnvironmentManager.SetLegacyEnvironmentAsync(LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken) method System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.EnvironmentManager.SetLegacyEnvironmentAsync(LibreMetaverse.StructuredData.OSD settings, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::set_legacy_environment pub async fn set_legacy_environment(&self, settings: libremetaverse_structured_data::OSD, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<bool, crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.EnvironmentManager.SetLegacyEnvironmentAsync(LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken) method System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.EnvironmentManager.SetLegacyEnvironmentAsync(LibreMetaverse.StructuredData.OSD settings, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::set_legacy_environment_with_osd_cancellation_token pub async fn set_legacy_environment_with_osd_cancellation_token(&self, settings: libremetaverse_structured_data::OSD, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<bool, crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.EnvironmentManager.SetParcelEnvironmentAsync(System.Int32,LibreMetaverse.Messages.Linden.EnvironmentData,System.Threading.CancellationToken) method System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExtEnvironmentMessage> LibreMetaverse.EnvironmentManager.SetParcelEnvironmentAsync(System.Int32 parcelId, LibreMetaverse.Messages.Linden.EnvironmentData environment, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::set_parcel_environment pub async fn set_parcel_environment(&self, parcel_id: i32, environment: libremetaverse::messages::linden::EnvironmentData, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<Option<libremetaverse::messages::linden::ExtEnvironmentMessage>, crate::Error> shared_self,owned,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.EnvironmentManager.SetParcelEnvironmentAsync(System.Int32,LibreMetaverse.Messages.Linden.EnvironmentData,System.Threading.CancellationToken) method System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExtEnvironmentMessage> LibreMetaverse.EnvironmentManager.SetParcelEnvironmentAsync(System.Int32 parcelId, LibreMetaverse.Messages.Linden.EnvironmentData environment, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::set_parcel_environment pub async fn set_parcel_environment(&self, parcel_id: i32, environment: libremetaverse::messages::linden::EnvironmentData, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<Option<libremetaverse::messages::linden::ExtEnvironmentMessage>, crate::Error> shared_self,owned,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.EnvironmentManager.SetRegionEnvironmentAsync(LibreMetaverse.Messages.Linden.EnvironmentData,System.Threading.CancellationToken) method System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExtEnvironmentMessage> LibreMetaverse.EnvironmentManager.SetRegionEnvironmentAsync(LibreMetaverse.Messages.Linden.EnvironmentData environment, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::set_region_environment pub async fn set_region_environment(&self, environment: libremetaverse::messages::linden::EnvironmentData, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<Option<libremetaverse::messages::linden::ExtEnvironmentMessage>, crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.EnvironmentManager.SetRegionEnvironmentAsync(LibreMetaverse.Messages.Linden.EnvironmentData,System.Threading.CancellationToken) method System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExtEnvironmentMessage> LibreMetaverse.EnvironmentManager.SetRegionEnvironmentAsync(LibreMetaverse.Messages.Linden.EnvironmentData environment, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::EnvironmentManager::set_region_environment_with_environment_data_cancellation_token pub async fn set_region_environment_with_environment_data_cancellation_token(&self, environment: libremetaverse::messages::linden::EnvironmentData, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<Option<libremetaverse::messages::linden::ExtEnvironmentMessage>, crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.EstateBansReplyEventArgs.#ctor(System.UInt32,System.Int32,System.Collections.Generic.List{LibreMetaverse.UUID}) constructor LibreMetaverse.EstateBansReplyEventArgs(System.UInt32 estateID, System.Int32 count, System.Collections.Generic.List<LibreMetaverse.UUID> banned) libremetaverse libremetaverse::EstateBansReplyEventArgs::new pub fn new(estate_id: u32, count: i32, banned: Vec<libremetaverse_types::UUID>) -> Result<Self, crate::Error> owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.EstateBansReplyEventArgs.#ctor(System.UInt32,System.Int32,System.Collections.Generic.List{LibreMetaverse.UUID}) constructor LibreMetaverse.EstateBansReplyEventArgs(System.UInt32 estateID, System.Int32 count, System.Collections.Generic.List<LibreMetaverse.UUID> banned) libremetaverse libremetaverse::EstateBansReplyEventArgs::new pub fn new(estate_id: u32, count: i32, banned: Vec<libremetaverse_types::UUID>) -> Result<Self, crate::Error> owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.EstateCovenantReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Int64,System.String,LibreMetaverse.UUID) constructor LibreMetaverse.EstateCovenantReplyEventArgs(LibreMetaverse.UUID covenantID, System.Int64 timestamp, System.String estateName, LibreMetaverse.UUID estateOwnerID) libremetaverse libremetaverse::EstateCovenantReplyEventArgs::new pub fn new(covenant_id: libremetaverse_types::UUID, timestamp: i64, estate_name: String, estate_owner_id: libremetaverse_types::UUID) -> Result<Self, crate::Error> owned,owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.EstateCovenantReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Int64,System.String,LibreMetaverse.UUID) constructor LibreMetaverse.EstateCovenantReplyEventArgs(LibreMetaverse.UUID covenantID, System.Int64 timestamp, System.String estateName, LibreMetaverse.UUID estateOwnerID) libremetaverse libremetaverse::EstateCovenantReplyEventArgs::new pub fn new(covenant_id: libremetaverse_types::UUID, timestamp: i64, estate_name: String, estate_owner_id: libremetaverse_types::UUID) -> Result<Self, crate::Error> owned,owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.EstateExperienceReplyEventArgs.#ctor(System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{LibreMetaverse.UUID}) constructor LibreMetaverse.EstateExperienceReplyEventArgs(System.Collections.Generic.List<LibreMetaverse.UUID> blocked, System.Collections.Generic.List<LibreMetaverse.UUID> trusted, System.Collections.Generic.List<LibreMetaverse.UUID> allowed) libremetaverse libremetaverse::EstateExperienceReplyEventArgs::new pub fn new(blocked: Vec<libremetaverse_types::UUID>, trusted: Vec<libremetaverse_types::UUID>, allowed: Vec<libremetaverse_types::UUID>) -> Result<Self, crate::Error> owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.EstateExperienceReplyEventArgs.#ctor(System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{LibreMetaverse.UUID}) constructor LibreMetaverse.EstateExperienceReplyEventArgs(System.Collections.Generic.List<LibreMetaverse.UUID> blocked, System.Collections.Generic.List<LibreMetaverse.UUID> trusted, System.Collections.Generic.List<LibreMetaverse.UUID> allowed) libremetaverse libremetaverse::EstateExperienceReplyEventArgs::new pub fn new(blocked: Vec<libremetaverse_types::UUID>, trusted: Vec<libremetaverse_types::UUID>, allowed: Vec<libremetaverse_types::UUID>) -> Result<Self, crate::Error> owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
Can't render this file because it is too large.

View File

@@ -4,7 +4,7 @@ Generated by `python3 tools/generate_api_shims.py`; do not edit by hand.
| Assembly | Types | Members | Status | | Assembly | Types | Members | Status |
|---|---:|---:|---| |---|---:|---:|---|
| `LibreMetaverse` | 2,711 | 27,281 | pending milestone issue | | `LibreMetaverse` | 2,711 | 27,281 | partial callable shim (2,209 types / 22,805 members) |
| `LibreMetaverse.Imaging.Abstractions` | 3 | 20 | callable failure-only shim | | `LibreMetaverse.Imaging.Abstractions` | 3 | 20 | callable failure-only shim |
| `LibreMetaverse.Imaging.Skia` | 1 | 3 | callable failure-only shim | | `LibreMetaverse.Imaging.Skia` | 1 | 3 | callable failure-only shim |
| `LibreMetaverse.LslTools` | 164 | 768 | pending milestone issue | | `LibreMetaverse.LslTools` | 164 | 768 | pending milestone issue |
@@ -18,4 +18,8 @@ Generated by `python3 tools/generate_api_shims.py`; do not edit by hand.
| `LibreMetaverse.Voice.Vivox` | 64 | 531 | pending milestone issue | | `LibreMetaverse.Voice.Vivox` | 64 | 531 | pending milestone issue |
| `LibreMetaverse.Voice.WebRTC` | 12 | 210 | pending milestone issue | | `LibreMetaverse.Voice.WebRTC` | 12 | 210 | pending milestone issue |
Current callable coverage: **84 types / 1,487 members**. The partial `LibreMetaverse` row is milestone issue #7's wire/data slice: packets, messages, assets,
GLTF, archives/import-export, materials, rendering DTOs, bit packing, permissions, primitives, and
texture/media/particle records. Other main-assembly types remain pending shells for issues #8-#10.
Current callable coverage: **2,293 types / 24,292 members**.

View File

@@ -7,7 +7,7 @@ pub mod codec {
pub trait IImageCreator {} pub trait IImageCreator {}
pub struct ImageCreator<T>(pub std::marker::PhantomData<T>); pub struct ImageCreator<T>(pub std::marker::PhantomData<T>);
pub struct InterleavedImage; pub struct InterleavedImage;
pub struct BlkImgDataSrc; pub trait BlkImgDataSrc {}
} }
mod generated; mod generated;

View File

@@ -5,6 +5,9 @@ extern crate self as libremetaverse_structured_data;
mod generated; mod generated;
pub mod xml { pub mod xml {
/// Project-owned XML element boundary; external XML APIs are not copied.
pub struct Element;
/// Native XML reader boundary; external XML APIs are not copied. /// Native XML reader boundary; external XML APIs are not copied.
pub struct Reader; pub struct Reader;

View File

@@ -57,6 +57,33 @@ pub struct StringReader(pub String);
#[derive(Clone, Debug, Eq, PartialEq)] #[derive(Clone, Debug, Eq, PartialEq)]
pub struct StreamReader(pub Vec<u8>); pub struct StreamReader(pub Vec<u8>);
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct XmlTextReader(pub String);
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct XmlTextWriter(pub String);
#[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
pub struct CancellationToken;
#[derive(Clone, Debug)]
pub struct FrozenDictionary<TKey, TValue>(pub std::collections::HashMap<TKey, TValue>);
#[derive(Clone, Debug)]
pub struct IDictionary<TKey, TValue>(pub std::collections::HashMap<TKey, TValue>);
#[derive(Clone, Debug)]
pub struct SortedList<TKey, TValue>(pub std::collections::BTreeMap<TKey, TValue>);
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct Matrix4x4(pub [f32; 16]);
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct Quaternion(pub [f32; 4]);
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct Vector3(pub [f32; 3]);
#[derive(Clone, Debug, Eq, PartialEq)] #[derive(Clone, Debug, Eq, PartialEq)]
pub struct StringWriter(pub String); pub struct StringWriter(pub String);

File diff suppressed because it is too large Load Diff

View File

@@ -1,14 +1,23 @@
//! Public rewrite shell corresponding to the main `LibreMetaverse` assembly. //! Public rewrite shell corresponding to the main `LibreMetaverse` assembly.
extern crate self as libremetaverse;
mod generated; mod generated;
pub use TextureEntryFace as PrimitiveTextureEntryFace;
pub use generated::*; pub use generated::*;
pub use libremetaverse_imaging as imaging_abstractions; pub use libremetaverse_imaging as imaging_abstractions;
pub use libremetaverse_structured_data as structured_data; pub use libremetaverse_structured_data as structured_data;
pub use libremetaverse_types as types; pub use libremetaverse_types as types;
pub use libremetaverse_types::NotImplemented as Error; pub use libremetaverse_types::NotImplemented as Error;
/// Project-owned boundary types for external `MessagePack` signatures.
pub mod message_pack {
pub trait IMessagePackFormatter<T = ()> {}
pub struct MessagePackReader;
pub struct MessagePackSerializerOptions;
pub struct MessagePackWriter;
}
/// Common behavior for program shims while the network stack is unimplemented. /// Common behavior for program shims while the network stack is unimplemented.
pub mod shim { pub mod shim {
use std::process::ExitCode; use std::process::ExitCode;

View File

@@ -0,0 +1,69 @@
use libremetaverse::assets::gltf::GltfDocument;
use libremetaverse::assets::{ArchiveConstants, AssetTexture, OarFile};
use libremetaverse::import_export::ModelPrim;
use libremetaverse::materials::LegacyMaterial;
use libremetaverse::messages::linden::AgentDropGroupMessage;
use libremetaverse::packets::UseCircuitCodePacket;
use libremetaverse::{BitPack, PacketFrequency, PermissionMask, Permissions, Primitive};
fn member_id<T>(result: Result<T, libremetaverse::Error>) -> &'static str {
result
.err()
.expect("failure-only shim unexpectedly returned a value")
.csharp_member()
}
#[test]
fn each_wire_data_domain_is_callable_and_failure_only() {
assert_eq!(
member_id(UseCircuitCodePacket::new_with_constructor()),
"M:LibreMetaverse.Packets.UseCircuitCodePacket.#ctor"
);
assert_eq!(
member_id(AgentDropGroupMessage::new()),
"M:LibreMetaverse.Messages.Linden.AgentDropGroupMessage.#ctor"
);
assert_eq!(
member_id(AssetTexture::new_with_constructor()),
"M:LibreMetaverse.Assets.AssetTexture.#ctor"
);
assert_eq!(
member_id(Primitive::new_with_constructor()),
"M:LibreMetaverse.Primitive.#ctor"
);
assert_eq!(
member_id(LegacyMaterial::new_with_constructor()),
"M:LibreMetaverse.Materials.LegacyMaterial.#ctor"
);
assert_eq!(
member_id(GltfDocument::new()),
"M:LibreMetaverse.Assets.Gltf.GltfDocument.#ctor"
);
assert_eq!(
member_id(ModelPrim::new()),
"M:LibreMetaverse.ImportExport.ModelPrim.#ctor"
);
assert_eq!(
member_id(OarFile::package_archive(String::new(), String::new())),
"M:LibreMetaverse.Assets.OarFile.PackageArchive(System.String,System.String)"
);
assert_eq!(
member_id(BitPack::new(Vec::new(), 0)),
"M:LibreMetaverse.BitPack.#ctor(System.Byte[],System.Int32)"
);
assert_eq!(
member_id(Permissions::new(0, 0, 0, 0, 0)),
"M:LibreMetaverse.Permissions.#ctor(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32)"
);
}
#[test]
fn wire_widths_flags_and_constants_match_the_catalog() {
assert_eq!(PacketFrequency::High as u8, 2);
assert_eq!(PermissionMask::COPY.0, 32_768);
assert_eq!(ArchiveConstants::ASSETS_PATH, "assets/");
assert_eq!(
libremetaverse::PrimitiveParticleSystem::LEGACY_DATA_BLOCK_SIZE,
86
);
}

View File

@@ -28,6 +28,45 @@ TARGETS = {
"LibreMetaverse.StructuredData": ROOT / "crates/libremetaverse-structured-data/src/generated.rs", "LibreMetaverse.StructuredData": ROOT / "crates/libremetaverse-structured-data/src/generated.rs",
} }
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",
}
UNDERLYING = { UNDERLYING = {
"System.SByte": "i8", "System.Byte": "u8", "System.Int16": "i16", "System.UInt16": "u16", "System.SByte": "i8", "System.Byte": "u8", "System.Int16": "i16", "System.UInt16": "u16",
"System.Int32": "i32", "System.UInt32": "u32", "System.Int64": "i64", "System.UInt64": "u64", "System.Int32": "i32", "System.UInt32": "u32", "System.Int64": "i64", "System.UInt64": "u64",
@@ -134,6 +173,15 @@ def render_body(signature: str, member_id: str, error_model: str, trait: bool) -
return f" {signature} {{ {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()
return value
def render_type(item: dict, type_row: dict, member_rows: dict[str, dict[str, str]], mapper: mapping.Mapper) -> str: 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) rust_name = type_name(type_row)
if item["kind"] == "enum": if item["kind"] == "enum":
@@ -179,8 +227,7 @@ def render_type(item: dict, type_row: dict, member_rows: dict[str, dict[str, str
row = member_rows[member["doc_id"]] row = member_rows[member["doc_id"]]
lines.append(f" /// C# member: `{member['doc_id']}`.") lines.append(f" /// C# member: `{member['doc_id']}`.")
if member["kind"] == "constant": if member["kind"] == "constant":
value = member["value"]["value"] lines.append(f" {row['rust_signature']} = {rust_constant_value(member)};")
lines.append(f" {row['rust_signature']} = {value};")
continue continue
signatures = row["rust_signature"].split(" ; ") signatures = row["rust_signature"].split(" ; ")
for index, signature in enumerate(signatures): for index, signature in enumerate(signatures):
@@ -199,7 +246,53 @@ def render_type(item: dict, type_row: dict, member_rows: dict[str, dict[str, str
return "\n".join(lines) return "\n".join(lines)
def generate_sources(catalog: dict) -> tuple[dict[Path, str], dict[str, tuple[int, int]]]: 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 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_rows, resolved = mapping.build_type_rows(catalog)
type_by_id = {row["csharp_type_id"]: row for row in type_rows} type_by_id = {row["csharp_type_id"]: row for row in type_rows}
interfaces = { interfaces = {
@@ -216,7 +309,7 @@ def generate_sources(catalog: dict) -> tuple[dict[Path, str], dict[str, tuple[in
coverage = {} coverage = {}
for assembly in catalog["assemblies"]: for assembly in catalog["assemblies"]:
name = assembly["identity"]["name"] name = assembly["identity"]["name"]
if name not in TARGETS: if name not in TARGETS and name != "LibreMetaverse":
continue continue
chunks = [ chunks = [
"// @generated by tools/generate_api_shims.py; do not edit by hand.", "// @generated by tools/generate_api_shims.py; do not edit by hand.",
@@ -227,11 +320,16 @@ def generate_sources(catalog: dict) -> tuple[dict[Path, str], dict[str, tuple[in
"#![allow(non_snake_case)]", "#![allow(non_snake_case)]",
"", "",
] ]
for item in assembly["types"]: selected = assembly["types"] if name in TARGETS else [item for item in assembly["types"] if wire_type(item)]
chunks += [render_type(item, type_by_id[item["doc_id"]], member_rows, mapper), ""] 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") source = format_rust("\n".join(chunks).rstrip() + "\n")
expected_types = {item["doc_id"] for item in assembly["types"]} expected_types = selected_ids
expected_members = {member["doc_id"] for item in assembly["types"] for member in item["members"]} expected_members = {member["doc_id"] for item in selected for member in item["members"]}
emitted_types = set(re.findall(r"C# type: `(.*)`\.", source)) emitted_types = set(re.findall(r"C# type: `(.*)`\.", source))
emitted_members = set(re.findall(r"C# member: `(.*)`\.", source)) emitted_members = set(re.findall(r"C# member: `(.*)`\.", source))
if emitted_types != expected_types or emitted_members != expected_members: if emitted_types != expected_types or emitted_members != expected_members:
@@ -240,12 +338,12 @@ def generate_sources(catalog: dict) -> tuple[dict[Path, str], dict[str, tuple[in
f"types missing/stale={len(expected_types - emitted_types)}/{len(emitted_types - expected_types)}, " 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"members missing/stale={len(expected_members - emitted_members)}/{len(emitted_members - expected_members)}"
) )
outputs[TARGETS[name]] = source outputs[TARGETS.get(name, MAIN_TARGET)] = source
coverage[name] = (len(assembly["types"]), sum(len(item["members"]) for item in assembly["types"])) coverage[name] = (len(selected), sum(len(item["members"]) for item in selected), len(selected) == len(assembly["types"]))
return outputs, coverage return outputs, coverage
def coverage_report(catalog: dict, coverage: dict[str, tuple[int, int]]) -> str: def coverage_report(catalog: dict, coverage: dict[str, tuple[int, int, bool]]) -> str:
lines = [ lines = [
"# Callable shim coverage", "", "Generated by `python3 tools/generate_api_shims.py`; do not edit by hand.", "", "# Callable shim coverage", "", "Generated by `python3 tools/generate_api_shims.py`; do not edit by hand.", "",
"| Assembly | Types | Members | Status |", "|---|---:|---:|---|", "| Assembly | Types | Members | Status |", "|---|---:|---:|---|",
@@ -256,15 +354,22 @@ def coverage_report(catalog: dict, coverage: dict[str, tuple[int, int]]) -> str:
types = len(assembly["types"]) types = len(assembly["types"])
members = sum(len(item["members"]) for item in assembly["types"]) members = sum(len(item["members"]) for item in assembly["types"])
if name in coverage: if name in coverage:
got_types, got_members = coverage[name] got_types, got_members, complete = coverage[name]
if (types, members) != (got_types, got_members): if complete and (types, members) != (got_types, got_members):
raise ValueError(f"incomplete generated slice for {name}") raise ValueError(f"incomplete generated slice for {name}")
status = "callable failure-only shim" status = "callable failure-only shim" if complete else f"partial callable shim ({got_types:,} types / {got_members:,} members)"
total_types += types total_types += got_types
total_members += members total_members += got_members
else: else:
status = "pending milestone issue" status = "pending milestone issue"
lines.append(f"| `{name}` | {types:,} | {members:,} | {status} |") lines.append(f"| `{name}` | {types:,} | {members:,} | {status} |")
if "LibreMetaverse" in coverage and not coverage["LibreMetaverse"][2]:
lines += [
"",
"The partial `LibreMetaverse` row is milestone issue #7's wire/data slice: packets, messages, assets,",
"GLTF, archives/import-export, materials, rendering DTOs, bit packing, permissions, primitives, and",
"texture/media/particle records. Other main-assembly types remain pending shells for issues #8-#10.",
]
lines += ["", f"Current callable coverage: **{total_types:,} types / {total_members:,} members**.", ""] lines += ["", f"Current callable coverage: **{total_types:,} types / {total_members:,} members**.", ""]
return "\n".join(lines) return "\n".join(lines)

View File

@@ -590,6 +590,8 @@ def member_signature(mapper: Mapper, owner: dict, item: dict, rust_name: str) ->
if kind == "enum_value": if kind == "enum_value":
signature = f"{rust_name}: {value_type}" signature = f"{rust_name}: {value_type}"
elif kind == "constant": elif kind == "constant":
if item["type"] == "System.String":
value_type = "&'static str"
signature = f"pub const {rust_name}: {value_type}" signature = f"pub const {rust_name}: {value_type}"
elif item.get("static"): elif item.get("static"):
signature = f"pub fn {rust_name}() -> {value_type}" signature = f"pub fn {rust_name}() -> {value_type}"
@@ -665,6 +667,16 @@ def build_member_rows(catalog: dict, mapper: Mapper) -> list[dict[str, str]]:
for owner in assembly["types"]: for owner in assembly["types"]:
_, module, owner_path = declared_type_path(assembly_name, owner) _, module, owner_path = declared_type_path(assembly_name, owner)
groups = Counter(member_base_name(member) for member in owner["members"]) groups = Counter(member_base_name(member) for member in owner["members"])
synthetic_names = {
f"set_{member_base_name(member)}"
for member in owner["members"]
if member["kind"] in {"property", "indexer"}
and any(accessor["kind"] == "set" for accessor in member.get("accessors", []))
} | {
f"subscribe_{member_base_name(member)}"
for member in owner["members"]
if member["kind"] == "event"
}
enum_values = [member.get("value", {}).get("value") for member in owner["members"] if member["kind"] == "enum_value"] enum_values = [member.get("value", {}).get("value") for member in owner["members"] if member["kind"] == "enum_value"]
enum_constants = owner["kind"] == "enum" and ( enum_constants = owner["kind"] == "enum" and (
any(attribute["type"] == "System.FlagsAttribute" for attribute in owner.get("attributes", [])) any(attribute["type"] == "System.FlagsAttribute" for attribute in owner.get("attributes", []))
@@ -677,7 +689,7 @@ def build_member_rows(catalog: dict, mapper: Mapper) -> list[dict[str, str]]:
base_name = snake(item["name"]).upper() base_name = snake(item["name"]).upper()
rust_name = base_name rust_name = base_name
decision = "direct_snake_case" decision = "direct_snake_case"
if groups[base_name] > 1: if groups[base_name] > 1 or (item["kind"] == "method" and base_name in synthetic_names):
suffixes = [] suffixes = []
for parameter in item.get("parameters", []): for parameter in item.get("parameters", []):
suffixes.append(parameter_slug(parameter["type"])) suffixes.append(parameter_slug(parameter["type"]))