Generate imaging and rendering API shims
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -86,6 +86,7 @@ name = "libremetaverse-rendering-simple"
|
|||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libremetaverse",
|
"libremetaverse",
|
||||||
|
"libremetaverse-imaging",
|
||||||
"libremetaverse-types",
|
"libremetaverse-types",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -7,9 +7,10 @@ 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. The Types and StructuredData assemblies now have complete callable,
|
target. Types, StructuredData, Imaging, PrimMesher, and both rendering adapters
|
||||||
failure-only signatures; the remaining assembly slices and semantic Rust test
|
now have complete callable, failure-only signatures; the remaining assembly
|
||||||
translations are still required before the public API shim is complete.
|
slices and semantic Rust test translations are still required before the public
|
||||||
|
API shim is complete.
|
||||||
|
|
||||||
The source snapshot, compatibility rules, dependency research, and ordered
|
The source snapshot, compatibility rules, dependency research, and ordered
|
||||||
implementation plan are in [RUSTREWRITE.md](RUSTREWRITE.md).
|
implementation plan are in [RUSTREWRITE.md](RUSTREWRITE.md).
|
||||||
|
|||||||
@@ -51,9 +51,9 @@ 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 Types and StructuredData slices expose 61 final Rust-facing types and all
|
- the completed Types, StructuredData, Imaging, PrimMesher, and rendering slices
|
||||||
1,237 callable members with real fields/constants/enum values and standardized
|
expose 84 final Rust-facing types and all 1,487 callable members with real
|
||||||
failing bodies;
|
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;
|
||||||
|
|||||||
@@ -11123,7 +11123,7 @@ M:LibreMetaverse.GridClient.DisposeAsync method System.Threading.Tasks.ValueTask
|
|||||||
M:LibreMetaverse.GridClient.ToString method System.String LibreMetaverse.GridClient.ToString() libremetaverse libremetaverse::GridClient::to_string pub fn to_string(&self) -> String shared_self sync infallible_placeholder direct_snake_case method mapped
|
M:LibreMetaverse.GridClient.ToString method System.String LibreMetaverse.GridClient.ToString() libremetaverse libremetaverse::GridClient::to_string pub fn to_string(&self) -> String shared_self sync infallible_placeholder direct_snake_case method mapped
|
||||||
M:LibreMetaverse.GridClientBakingTextureProvider.#ctor(LibreMetaverse.GridClient) constructor LibreMetaverse.GridClientBakingTextureProvider(LibreMetaverse.GridClient client) libremetaverse libremetaverse::GridClientBakingTextureProvider::new pub fn new(client: libremetaverse::GridClient) -> Result<Self, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.GridClientBakingTextureProvider.#ctor(LibreMetaverse.GridClient) constructor LibreMetaverse.GridClientBakingTextureProvider(LibreMetaverse.GridClient client) libremetaverse libremetaverse::GridClientBakingTextureProvider::new pub fn new(client: libremetaverse::GridClient) -> Result<Self, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.GridClientBakingTextureProvider.RequestTextureAsync(LibreMetaverse.UUID,System.Threading.CancellationToken) method System.Threading.Tasks.Task<LibreMetaverse.Assets.AssetTexture> LibreMetaverse.GridClientBakingTextureProvider.RequestTextureAsync(LibreMetaverse.UUID textureID, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::GridClientBakingTextureProvider::request_texture pub async fn request_texture(&self, texture_id: libremetaverse_types::UUID, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<Option<libremetaverse::assets::AssetTexture>, crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.GridClientBakingTextureProvider.RequestTextureAsync(LibreMetaverse.UUID,System.Threading.CancellationToken) method System.Threading.Tasks.Task<LibreMetaverse.Assets.AssetTexture> LibreMetaverse.GridClientBakingTextureProvider.RequestTextureAsync(LibreMetaverse.UUID textureID, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::GridClientBakingTextureProvider::request_texture pub async fn request_texture(&self, texture_id: libremetaverse_types::UUID, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<Option<libremetaverse::assets::AssetTexture>, crate::Error> shared_self,owned,optional_owned async Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.GridClientServiceCollectionExtensions.AddGridClient(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{LibreMetaverse.Settings}) method Microsoft.Extensions.DependencyInjection.IServiceCollection LibreMetaverse.GridClientServiceCollectionExtensions.AddGridClient(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<LibreMetaverse.Settings> configure = default) libremetaverse libremetaverse::GridClientServiceCollectionExtensions::add_grid_client pub fn add_grid_client(services: libremetaverse::services::IServiceCollection, configure: Option<Box<dyn Fn(libremetaverse::Settings) + Send + Sync>>) -> Result<libremetaverse::services::IServiceCollection, crate::Error> owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.GridClientServiceCollectionExtensions.AddGridClient(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{LibreMetaverse.Settings}) method Microsoft.Extensions.DependencyInjection.IServiceCollection LibreMetaverse.GridClientServiceCollectionExtensions.AddGridClient(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<LibreMetaverse.Settings> configure = default) libremetaverse libremetaverse::GridClientServiceCollectionExtensions::add_grid_client pub fn add_grid_client(services: Box<dyn libremetaverse::services::IServiceCollection>, configure: Option<Box<dyn Fn(libremetaverse::Settings) + Send + Sync>>) -> Result<Box<dyn libremetaverse::services::IServiceCollection>, crate::Error> owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.GridItemsEventArgs.#ctor(LibreMetaverse.GridItemType,System.Collections.Generic.List{LibreMetaverse.MapItem}) constructor LibreMetaverse.GridItemsEventArgs(LibreMetaverse.GridItemType type, System.Collections.Generic.List<LibreMetaverse.MapItem> items) libremetaverse libremetaverse::GridItemsEventArgs::new pub fn new(type_: libremetaverse::GridItemType, items: Vec<libremetaverse::MapItem>) -> Result<Self, crate::Error> owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.GridItemsEventArgs.#ctor(LibreMetaverse.GridItemType,System.Collections.Generic.List{LibreMetaverse.MapItem}) constructor LibreMetaverse.GridItemsEventArgs(LibreMetaverse.GridItemType type, System.Collections.Generic.List<LibreMetaverse.MapItem> items) libremetaverse libremetaverse::GridItemsEventArgs::new pub fn new(type_: libremetaverse::GridItemType, items: Vec<libremetaverse::MapItem>) -> Result<Self, crate::Error> owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.GridLayer.ContainsRegion(System.Int32,System.Int32) method System.Boolean LibreMetaverse.GridLayer.ContainsRegion(System.Int32 x, System.Int32 y) libremetaverse libremetaverse::GridLayer::contains_region pub fn contains_region(&self, x: i32, y: i32) -> Result<bool, crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.GridLayer.ContainsRegion(System.Int32,System.Int32) method System.Boolean LibreMetaverse.GridLayer.ContainsRegion(System.Int32 x, System.Int32 y) libremetaverse libremetaverse::GridLayer::contains_region pub fn contains_region(&self, x: i32, y: i32) -> Result<bool, crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.GridLayerEventArgs.#ctor(LibreMetaverse.GridLayer) constructor LibreMetaverse.GridLayerEventArgs(LibreMetaverse.GridLayer layer) libremetaverse libremetaverse::GridLayerEventArgs::new pub fn new(layer: libremetaverse::GridLayer) -> Result<Self, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.GridLayerEventArgs.#ctor(LibreMetaverse.GridLayer) constructor LibreMetaverse.GridLayerEventArgs(LibreMetaverse.GridLayer layer) libremetaverse libremetaverse::GridLayerEventArgs::new pub fn new(layer: libremetaverse::GridLayer) -> Result<Self, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
@@ -11282,8 +11282,8 @@ M:LibreMetaverse.Imaging.ManagedImage.ExportRaw method System.Byte[] LibreMetave
|
|||||||
M:LibreMetaverse.Imaging.ManagedImage.ResizeBilinear(System.Int32,System.Int32) method System.Void LibreMetaverse.Imaging.ManagedImage.ResizeBilinear(System.Int32 width, System.Int32 height) libremetaverse-imaging libremetaverse_imaging::ManagedImage::resize_bilinear pub fn resize_bilinear(&self, width: i32, height: i32) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Imaging.ManagedImage.ResizeBilinear(System.Int32,System.Int32) method System.Void LibreMetaverse.Imaging.ManagedImage.ResizeBilinear(System.Int32 width, System.Int32 height) libremetaverse-imaging libremetaverse_imaging::ManagedImage::resize_bilinear pub fn resize_bilinear(&self, width: i32, height: i32) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Imaging.ManagedImage.ResizeNearestNeighbor(System.Int32,System.Int32) method System.Void LibreMetaverse.Imaging.ManagedImage.ResizeNearestNeighbor(System.Int32 width, System.Int32 height) libremetaverse-imaging libremetaverse_imaging::ManagedImage::resize_nearest_neighbor pub fn resize_nearest_neighbor(&self, width: i32, height: i32) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Imaging.ManagedImage.ResizeNearestNeighbor(System.Int32,System.Int32) method System.Void LibreMetaverse.Imaging.ManagedImage.ResizeNearestNeighbor(System.Int32 width, System.Int32 height) libremetaverse-imaging libremetaverse_imaging::ManagedImage::resize_nearest_neighbor pub fn resize_nearest_neighbor(&self, width: i32, height: i32) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Imaging.ManagedImageCreator.#ctor constructor LibreMetaverse.Imaging.ManagedImageCreator() libremetaverse imaging libremetaverse::imaging::ManagedImageCreator::new pub fn new() -> Result<Self, crate::Error> none sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Imaging.ManagedImageCreator.#ctor constructor LibreMetaverse.Imaging.ManagedImageCreator() libremetaverse imaging libremetaverse::imaging::ManagedImageCreator::new pub fn new() -> Result<Self, crate::Error> none sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Imaging.ManagedImageCreator.Create(System.Int32,System.Int32,System.Int32,System.Byte[]) method CoreJ2K.Util.IImage LibreMetaverse.Imaging.ManagedImageCreator.Create(System.Int32 width, System.Int32 height, System.Int32 numComponents, System.Byte[] bytes) libremetaverse imaging libremetaverse::imaging::ManagedImageCreator::create pub fn create(&self, width: i32, height: i32, num_components: i32, bytes: Vec<u8>) -> Result<libremetaverse_imaging::codec::IImage, crate::Error> shared_self,owned,owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Imaging.ManagedImageCreator.Create(System.Int32,System.Int32,System.Int32,System.Byte[]) method CoreJ2K.Util.IImage LibreMetaverse.Imaging.ManagedImageCreator.Create(System.Int32 width, System.Int32 height, System.Int32 numComponents, System.Byte[] bytes) libremetaverse imaging libremetaverse::imaging::ManagedImageCreator::create pub fn create(&self, width: i32, height: i32, num_components: i32, bytes: Vec<u8>) -> Result<Box<dyn libremetaverse_imaging::codec::IImage>, crate::Error> shared_self,owned,owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Imaging.ManagedImageCreator.ToPortableImageSource(System.Object) method CoreJ2K.j2k.image.BlkImgDataSrc LibreMetaverse.Imaging.ManagedImageCreator.ToPortableImageSource(System.Object imageObject) libremetaverse imaging libremetaverse::imaging::ManagedImageCreator::to_portable_image_source pub fn to_portable_image_source(&self, image_object: libremetaverse_types::compat::Object) -> Result<libremetaverse_imaging::codec::BlkImgDataSrc, crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Imaging.ManagedImageCreator.ToPortableImageSource(System.Object) method CoreJ2K.j2k.image.BlkImgDataSrc LibreMetaverse.Imaging.ManagedImageCreator.ToPortableImageSource(System.Object imageObject) libremetaverse imaging libremetaverse::imaging::ManagedImageCreator::to_portable_image_source pub fn to_portable_image_source(&self, image_object: libremetaverse_types::compat::Object) -> Result<Box<dyn libremetaverse_imaging::codec::BlkImgDataSrc>, crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Imaging.ManagedImageInterleavedExtensions.ToManagedImage(CoreJ2K.Util.InterleavedImage) method LibreMetaverse.Imaging.ManagedImage LibreMetaverse.Imaging.ManagedImageInterleavedExtensions.ToManagedImage(CoreJ2K.Util.InterleavedImage image) libremetaverse imaging libremetaverse::imaging::ManagedImageInterleavedExtensions::to_managed_image pub fn to_managed_image(image: libremetaverse_imaging::codec::InterleavedImage) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Imaging.ManagedImageInterleavedExtensions.ToManagedImage(CoreJ2K.Util.InterleavedImage) method LibreMetaverse.Imaging.ManagedImage LibreMetaverse.Imaging.ManagedImageInterleavedExtensions.ToManagedImage(CoreJ2K.Util.InterleavedImage image) libremetaverse imaging libremetaverse::imaging::ManagedImageInterleavedExtensions::to_managed_image pub fn to_managed_image(image: libremetaverse_imaging::codec::InterleavedImage) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.#ctor constructor LibreMetaverse.Imaging.Skia.SkiaTextureCodec() libremetaverse-imaging-skia libremetaverse_imaging_skia::SkiaTextureCodec::new pub fn new() -> Result<Self, crate::Error> none sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.#ctor constructor LibreMetaverse.Imaging.Skia.SkiaTextureCodec() libremetaverse-imaging-skia libremetaverse_imaging_skia::SkiaTextureCodec::new pub fn new() -> Result<Self, crate::Error> none sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.Decode(System.IO.Stream) method LibreMetaverse.Imaging.ManagedImage LibreMetaverse.Imaging.Skia.SkiaTextureCodec.Decode(System.IO.Stream stream) libremetaverse-imaging-skia libremetaverse_imaging_skia::SkiaTextureCodec::decode pub fn decode(&self, stream: Box<dyn libremetaverse_types::compat::ReadWrite + Send>) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.Decode(System.IO.Stream) method LibreMetaverse.Imaging.ManagedImage LibreMetaverse.Imaging.Skia.SkiaTextureCodec.Decode(System.IO.Stream stream) libremetaverse-imaging-skia libremetaverse_imaging_skia::SkiaTextureCodec::decode pub fn decode(&self, stream: Box<dyn libremetaverse_types::compat::ReadWrite + Send>) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
@@ -11994,7 +11994,7 @@ M:LibreMetaverse.LoggedOutEventArgs.#ctor(System.Collections.Generic.List{LibreM
|
|||||||
M:LibreMetaverse.Logger.BeginClientScope(LibreMetaverse.GridClient) method System.IDisposable LibreMetaverse.Logger.BeginClientScope(LibreMetaverse.GridClient client) libremetaverse libremetaverse::Logger::begin_client_scope pub fn begin_client_scope(client: libremetaverse::GridClient) -> Result<libremetaverse_types::compat::Close, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Logger.BeginClientScope(LibreMetaverse.GridClient) method System.IDisposable LibreMetaverse.Logger.BeginClientScope(LibreMetaverse.GridClient client) libremetaverse libremetaverse::Logger::begin_client_scope pub fn begin_client_scope(client: libremetaverse::GridClient) -> Result<libremetaverse_types::compat::Close, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Logger.BeginRegionScope(LibreMetaverse.Simulator) method System.IDisposable LibreMetaverse.Logger.BeginRegionScope(LibreMetaverse.Simulator simulator) libremetaverse libremetaverse::Logger::begin_region_scope pub fn begin_region_scope(simulator: libremetaverse::Simulator) -> Result<libremetaverse_types::compat::Close, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Logger.BeginRegionScope(LibreMetaverse.Simulator) method System.IDisposable LibreMetaverse.Logger.BeginRegionScope(LibreMetaverse.Simulator simulator) libremetaverse libremetaverse::Logger::begin_region_scope pub fn begin_region_scope(simulator: libremetaverse::Simulator) -> Result<libremetaverse_types::compat::Close, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Logger.BeginScope(System.Object) method System.IDisposable LibreMetaverse.Logger.BeginScope(System.Object state) libremetaverse libremetaverse::Logger::begin_scope pub fn begin_scope(state: libremetaverse_types::compat::Object) -> Result<libremetaverse_types::compat::Close, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Logger.BeginScope(System.Object) method System.IDisposable LibreMetaverse.Logger.BeginScope(System.Object state) libremetaverse libremetaverse::Logger::begin_scope pub fn begin_scope(state: libremetaverse_types::compat::Object) -> Result<libremetaverse_types::compat::Close, crate::Error> owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Logger.CreateDefaultConsoleLoggerFactory method Microsoft.Extensions.Logging.ILoggerFactory LibreMetaverse.Logger.CreateDefaultConsoleLoggerFactory() libremetaverse libremetaverse::Logger::create_default_console_logger_factory pub fn create_default_console_logger_factory() -> Result<libremetaverse::logging::ILoggerFactory, crate::Error> none sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Logger.CreateDefaultConsoleLoggerFactory method Microsoft.Extensions.Logging.ILoggerFactory LibreMetaverse.Logger.CreateDefaultConsoleLoggerFactory() libremetaverse libremetaverse::Logger::create_default_console_logger_factory pub fn create_default_console_logger_factory() -> Result<Box<dyn libremetaverse::logging::ILoggerFactory>, crate::Error> none sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Logger.Critical(System.Object,LibreMetaverse.GridClient) method System.Void LibreMetaverse.Logger.Critical(System.Object message, LibreMetaverse.GridClient client = default) libremetaverse libremetaverse::Logger::critical_with_object_grid_client pub fn critical_with_object_grid_client(message: libremetaverse_types::compat::Object, client: Option<libremetaverse::GridClient>) -> Result<(), crate::Error> owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
|
M:LibreMetaverse.Logger.Critical(System.Object,LibreMetaverse.GridClient) method System.Void LibreMetaverse.Logger.Critical(System.Object message, LibreMetaverse.GridClient client = default) libremetaverse libremetaverse::Logger::critical_with_object_grid_client pub fn critical_with_object_grid_client(message: libremetaverse_types::compat::Object, client: Option<libremetaverse::GridClient>) -> Result<(), crate::Error> owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
|
||||||
M:LibreMetaverse.Logger.Critical(System.Object,System.Exception,LibreMetaverse.GridClient) method System.Void LibreMetaverse.Logger.Critical(System.Object message, System.Exception exception, LibreMetaverse.GridClient client = default) libremetaverse libremetaverse::Logger::critical_with_object_exception_grid_client pub fn critical_with_object_exception_grid_client(message: libremetaverse_types::compat::Object, exception: libremetaverse_types::compat::ExternalError, client: Option<libremetaverse::GridClient>) -> Result<(), crate::Error> owned,owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
|
M:LibreMetaverse.Logger.Critical(System.Object,System.Exception,LibreMetaverse.GridClient) method System.Void LibreMetaverse.Logger.Critical(System.Object message, System.Exception exception, LibreMetaverse.GridClient client = default) libremetaverse libremetaverse::Logger::critical_with_object_exception_grid_client pub fn critical_with_object_exception_grid_client(message: libremetaverse_types::compat::Object, exception: libremetaverse_types::compat::ExternalError, client: Option<libremetaverse::GridClient>) -> Result<(), crate::Error> owned,owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
|
||||||
M:LibreMetaverse.Logger.Critical(System.Object,System.Exception,System.String) method System.Void LibreMetaverse.Logger.Critical(System.Object message, System.Exception exception, System.String clientName) libremetaverse libremetaverse::Logger::critical_with_object_exception_string pub fn critical_with_object_exception_string(message: libremetaverse_types::compat::Object, exception: libremetaverse_types::compat::ExternalError, client_name: String) -> Result<(), crate::Error> owned,owned,owned sync Result<_, crate::Error> descriptive_overload_name method mapped
|
M:LibreMetaverse.Logger.Critical(System.Object,System.Exception,System.String) method System.Void LibreMetaverse.Logger.Critical(System.Object message, System.Exception exception, System.String clientName) libremetaverse libremetaverse::Logger::critical_with_object_exception_string pub fn critical_with_object_exception_string(message: libremetaverse_types::compat::Object, exception: libremetaverse_types::compat::ExternalError, client_name: String) -> Result<(), crate::Error> owned,owned,owned sync Result<_, crate::Error> descriptive_overload_name method mapped
|
||||||
@@ -12020,7 +12020,7 @@ M:LibreMetaverse.Logger.LogCallback.#ctor(System.Object,System.IntPtr) construct
|
|||||||
M:LibreMetaverse.Logger.LogCallback.BeginInvoke(System.Object,Microsoft.Extensions.Logging.LogLevel,System.AsyncCallback,System.Object) method System.IAsyncResult LibreMetaverse.Logger.LogCallback.BeginInvoke(System.Object message, Microsoft.Extensions.Logging.LogLevel level, System.AsyncCallback callback, System.Object object) libremetaverse libremetaverse::LoggerLogCallback::begin_invoke pub fn begin_invoke(&self, message: libremetaverse_types::compat::Object, level: libremetaverse::logging::LogLevel, callback: Box<dyn Fn(&dyn std::any::Any) + Send + Sync>, object: libremetaverse_types::compat::Object) -> Result<Box<dyn std::any::Any + Send + Sync>, crate::Error> shared_self,owned,owned,owned,owned sync Result<_, crate::Error> direct_snake_case native_callback_replaces_delegate_apm intentional_difference
|
M:LibreMetaverse.Logger.LogCallback.BeginInvoke(System.Object,Microsoft.Extensions.Logging.LogLevel,System.AsyncCallback,System.Object) method System.IAsyncResult LibreMetaverse.Logger.LogCallback.BeginInvoke(System.Object message, Microsoft.Extensions.Logging.LogLevel level, System.AsyncCallback callback, System.Object object) libremetaverse libremetaverse::LoggerLogCallback::begin_invoke pub fn begin_invoke(&self, message: libremetaverse_types::compat::Object, level: libremetaverse::logging::LogLevel, callback: Box<dyn Fn(&dyn std::any::Any) + Send + Sync>, object: libremetaverse_types::compat::Object) -> Result<Box<dyn std::any::Any + Send + Sync>, crate::Error> shared_self,owned,owned,owned,owned sync Result<_, crate::Error> direct_snake_case native_callback_replaces_delegate_apm intentional_difference
|
||||||
M:LibreMetaverse.Logger.LogCallback.EndInvoke(System.IAsyncResult) method System.Void LibreMetaverse.Logger.LogCallback.EndInvoke(System.IAsyncResult result) libremetaverse libremetaverse::LoggerLogCallback::end_invoke pub fn end_invoke(&self, result: Box<dyn std::any::Any + Send + Sync>) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case native_callback_replaces_delegate_apm intentional_difference
|
M:LibreMetaverse.Logger.LogCallback.EndInvoke(System.IAsyncResult) method System.Void LibreMetaverse.Logger.LogCallback.EndInvoke(System.IAsyncResult result) libremetaverse libremetaverse::LoggerLogCallback::end_invoke pub fn end_invoke(&self, result: Box<dyn std::any::Any + Send + Sync>) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case native_callback_replaces_delegate_apm intentional_difference
|
||||||
M:LibreMetaverse.Logger.LogCallback.Invoke(System.Object,Microsoft.Extensions.Logging.LogLevel) method System.Void LibreMetaverse.Logger.LogCallback.Invoke(System.Object message, Microsoft.Extensions.Logging.LogLevel level) libremetaverse libremetaverse::LoggerLogCallback::invoke pub fn invoke(&self, message: libremetaverse_types::compat::Object, level: libremetaverse::logging::LogLevel) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Logger.LogCallback.Invoke(System.Object,Microsoft.Extensions.Logging.LogLevel) method System.Void LibreMetaverse.Logger.LogCallback.Invoke(System.Object message, Microsoft.Extensions.Logging.LogLevel level) libremetaverse libremetaverse::LoggerLogCallback::invoke pub fn invoke(&self, message: libremetaverse_types::compat::Object, level: libremetaverse::logging::LogLevel) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Logger.SetLoggerFactory(Microsoft.Extensions.Logging.ILoggerFactory,System.String) method System.Void LibreMetaverse.Logger.SetLoggerFactory(Microsoft.Extensions.Logging.ILoggerFactory factory, System.String name) libremetaverse libremetaverse::Logger::set_logger_factory pub fn set_logger_factory(factory: libremetaverse::logging::ILoggerFactory, name: String) -> Result<(), crate::Error> owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
M:LibreMetaverse.Logger.SetLoggerFactory(Microsoft.Extensions.Logging.ILoggerFactory,System.String) method System.Void LibreMetaverse.Logger.SetLoggerFactory(Microsoft.Extensions.Logging.ILoggerFactory factory, System.String name) libremetaverse libremetaverse::Logger::set_logger_factory pub fn set_logger_factory(factory: Box<dyn libremetaverse::logging::ILoggerFactory>, name: String) -> Result<(), crate::Error> owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
|
||||||
M:LibreMetaverse.Logger.Shutdown method System.Void LibreMetaverse.Logger.Shutdown() libremetaverse libremetaverse::Logger::shutdown_with_method pub fn shutdown_with_method() -> Result<(), crate::Error> none sync Result<_, crate::Error> descriptive_overload_name method mapped
|
M:LibreMetaverse.Logger.Shutdown method System.Void LibreMetaverse.Logger.Shutdown() libremetaverse libremetaverse::Logger::shutdown_with_method pub fn shutdown_with_method() -> Result<(), crate::Error> none sync Result<_, crate::Error> descriptive_overload_name method mapped
|
||||||
M:LibreMetaverse.Logger.ShutdownAsync(System.Nullable{System.TimeSpan},System.Threading.CancellationToken) method System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Logger.ShutdownAsync(System.Nullable<System.TimeSpan> timeout = default, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::Logger::shutdown_with_nullable_cancellation_token pub async fn shutdown_with_nullable_cancellation_token(timeout: Option<Option<std::time::Duration>>, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<bool, crate::Error> optional_owned,optional_owned async Result<_, crate::Error> descriptive_overload_name method mapped
|
M:LibreMetaverse.Logger.ShutdownAsync(System.Nullable{System.TimeSpan},System.Threading.CancellationToken) method System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Logger.ShutdownAsync(System.Nullable<System.TimeSpan> timeout = default, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::Logger::shutdown_with_nullable_cancellation_token pub async fn shutdown_with_nullable_cancellation_token(timeout: Option<Option<std::time::Duration>>, cancellation_token: Option<libremetaverse_types::compat::CancellationToken>) -> Result<bool, crate::Error> optional_owned,optional_owned async Result<_, crate::Error> descriptive_overload_name method mapped
|
||||||
M:LibreMetaverse.Logger.Trace(System.Object,LibreMetaverse.GridClient) method System.Void LibreMetaverse.Logger.Trace(System.Object message, LibreMetaverse.GridClient client = default) libremetaverse libremetaverse::Logger::trace_with_object_grid_client pub fn trace_with_object_grid_client(message: libremetaverse_types::compat::Object, client: Option<libremetaverse::GridClient>) -> Result<(), crate::Error> owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
|
M:LibreMetaverse.Logger.Trace(System.Object,LibreMetaverse.GridClient) method System.Void LibreMetaverse.Logger.Trace(System.Object message, LibreMetaverse.GridClient client = default) libremetaverse libremetaverse::Logger::trace_with_object_grid_client pub fn trace_with_object_grid_client(message: libremetaverse_types::compat::Object, client: Option<libremetaverse::GridClient>) -> Result<(), crate::Error> owned,optional_owned sync Result<_, crate::Error> descriptive_overload_name method mapped
|
||||||
|
|||||||
|
Can't render this file because it is too large.
|
@@ -5,17 +5,17 @@ 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 | pending milestone issue |
|
||||||
| `LibreMetaverse.Imaging.Abstractions` | 3 | 20 | pending milestone issue |
|
| `LibreMetaverse.Imaging.Abstractions` | 3 | 20 | callable failure-only shim |
|
||||||
| `LibreMetaverse.Imaging.Skia` | 1 | 3 | pending milestone issue |
|
| `LibreMetaverse.Imaging.Skia` | 1 | 3 | callable failure-only shim |
|
||||||
| `LibreMetaverse.LslTools` | 164 | 768 | pending milestone issue |
|
| `LibreMetaverse.LslTools` | 164 | 768 | pending milestone issue |
|
||||||
| `LibreMetaverse.PrimMesher` | 17 | 207 | pending milestone issue |
|
| `LibreMetaverse.PrimMesher` | 17 | 207 | callable failure-only shim |
|
||||||
| `LibreMetaverse.RLV` | 28 | 499 | pending milestone issue |
|
| `LibreMetaverse.RLV` | 28 | 499 | pending milestone issue |
|
||||||
| `LibreMetaverse.Rendering.MeshFoundry` | 1 | 14 | pending milestone issue |
|
| `LibreMetaverse.Rendering.MeshFoundry` | 1 | 14 | callable failure-only shim |
|
||||||
| `LibreMetaverse.Rendering.Simple` | 1 | 6 | pending milestone issue |
|
| `LibreMetaverse.Rendering.Simple` | 1 | 6 | callable failure-only shim |
|
||||||
| `LibreMetaverse.StructuredData` | 16 | 295 | callable failure-only shim |
|
| `LibreMetaverse.StructuredData` | 16 | 295 | callable failure-only shim |
|
||||||
| `LibreMetaverse.Types` | 45 | 942 | callable failure-only shim |
|
| `LibreMetaverse.Types` | 45 | 942 | callable failure-only shim |
|
||||||
| `LibreMetaverse.Utilities` | 3 | 13 | pending milestone issue |
|
| `LibreMetaverse.Utilities` | 3 | 13 | pending milestone issue |
|
||||||
| `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: **61 types / 1,237 members**.
|
Current callable coverage: **84 types / 1,487 members**.
|
||||||
|
|||||||
@@ -1,11 +1,35 @@
|
|||||||
// @generated by tools/generate_surface.py; do not edit by hand.
|
// @generated by tools/generate_api_shims.py; do not edit by hand.
|
||||||
// Source: LibreMetaverse 2aa70bb68513b39795da5d13c88f31b86e85a3ba
|
#![allow(clippy::missing_errors_doc)]
|
||||||
|
#![allow(clippy::must_use_candidate)]
|
||||||
|
#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]
|
||||||
#![allow(non_camel_case_types)]
|
#![allow(non_camel_case_types)]
|
||||||
|
#![allow(non_snake_case)]
|
||||||
|
|
||||||
/// `class` shim for C# `LibreMetaverse.Imaging.Skia.SkiaTextureCodec`; members remain intentionally unimplemented.
|
/// C# type: `T:LibreMetaverse.Imaging.Skia.SkiaTextureCodec`.
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
||||||
pub struct SkiaTextureCodec;
|
pub struct SkiaTextureCodec;
|
||||||
impl SkiaTextureCodec {
|
impl SkiaTextureCodec {
|
||||||
pub const CSHARP_NAME: &'static str = "LibreMetaverse.Imaging.Skia.SkiaTextureCodec";
|
/// C# member: `M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.#ctor`.
|
||||||
pub const CSHARP_KIND: &'static str = "class";
|
pub fn new() -> Result<Self, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.#ctor",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.Decode(System.IO.Stream)`.
|
||||||
|
pub fn decode(
|
||||||
|
&self,
|
||||||
|
stream: Box<dyn libremetaverse_types::compat::ReadWrite + Send>,
|
||||||
|
) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.Decode(System.IO.Stream)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.ToManagedImage(SkiaSharp.SKBitmap)`.
|
||||||
|
pub fn to_managed_image(
|
||||||
|
bitmap: libremetaverse_imaging_skia::backend::SKBitmap,
|
||||||
|
) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.ToManagedImage(SkiaSharp.SKBitmap)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl libremetaverse_imaging::ITextureCodec for SkiaTextureCodec {}
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
//! Skia imaging adapter corresponding to `LibreMetaverse.Imaging.Skia`.
|
//! Skia imaging adapter corresponding to `LibreMetaverse.Imaging.Skia`.
|
||||||
|
|
||||||
|
extern crate self as libremetaverse_imaging_skia;
|
||||||
|
|
||||||
|
pub mod backend {
|
||||||
|
/// Project-owned bitmap boundary; no `SkiaSharp` API is copied.
|
||||||
|
pub struct SKBitmap;
|
||||||
|
}
|
||||||
|
|
||||||
mod generated;
|
mod generated;
|
||||||
|
|
||||||
pub use generated::*;
|
pub use generated::*;
|
||||||
|
|||||||
@@ -1,24 +1,100 @@
|
|||||||
// @generated by tools/generate_surface.py; do not edit by hand.
|
// @generated by tools/generate_api_shims.py; do not edit by hand.
|
||||||
// Source: LibreMetaverse 2aa70bb68513b39795da5d13c88f31b86e85a3ba
|
#![allow(clippy::missing_errors_doc)]
|
||||||
|
#![allow(clippy::must_use_candidate)]
|
||||||
|
#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]
|
||||||
#![allow(non_camel_case_types)]
|
#![allow(non_camel_case_types)]
|
||||||
|
#![allow(non_snake_case)]
|
||||||
|
|
||||||
/// Shim for C# `LibreMetaverse.Imaging.ITextureCodec`.
|
/// C# type: `T:LibreMetaverse.Imaging.ITextureCodec`.
|
||||||
pub trait ITextureCodec {
|
pub trait ITextureCodec {
|
||||||
const CSHARP_NAME: &'static str = "LibreMetaverse.Imaging.ITextureCodec";
|
/// C# member: `M:LibreMetaverse.Imaging.ITextureCodec.Decode(System.IO.Stream)`.
|
||||||
|
fn decode(
|
||||||
|
&self,
|
||||||
|
stream: Box<dyn libremetaverse_types::compat::ReadWrite + Send>,
|
||||||
|
) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Imaging.ITextureCodec.Decode(System.IO.Stream)",
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// `enum` shim for C# `LibreMetaverse.Imaging.ImageChannels`; members remain intentionally unimplemented.
|
/// C# type: `T:LibreMetaverse.Imaging.ManagedImage`.
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
pub struct ManagedImage {
|
||||||
pub struct ImageChannels;
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Alpha`.
|
||||||
impl ImageChannels {
|
pub alpha: Vec<u8>,
|
||||||
pub const CSHARP_NAME: &'static str = "LibreMetaverse.Imaging.ImageChannels";
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Blue`.
|
||||||
pub const CSHARP_KIND: &'static str = "enum";
|
pub blue: Vec<u8>,
|
||||||
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Bump`.
|
||||||
|
pub bump: Vec<u8>,
|
||||||
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Channels`.
|
||||||
|
pub channels: libremetaverse_imaging::ManagedImageImageChannels,
|
||||||
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Green`.
|
||||||
|
pub green: Vec<u8>,
|
||||||
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Height`.
|
||||||
|
pub height: i32,
|
||||||
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Red`.
|
||||||
|
pub red: Vec<u8>,
|
||||||
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Width`.
|
||||||
|
pub width: i32,
|
||||||
|
data: Vec<u8>,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// `class` shim for C# `LibreMetaverse.Imaging.ManagedImage`; members remain intentionally unimplemented.
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
||||||
pub struct ManagedImage;
|
|
||||||
impl ManagedImage {
|
impl ManagedImage {
|
||||||
pub const CSHARP_NAME: &'static str = "LibreMetaverse.Imaging.ManagedImage";
|
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.#ctor(System.Int32,System.Int32,LibreMetaverse.Imaging.ManagedImage.ImageChannels)`.
|
||||||
pub const CSHARP_KIND: &'static str = "class";
|
pub fn new(
|
||||||
|
width: i32,
|
||||||
|
height: i32,
|
||||||
|
channels: libremetaverse_imaging::ManagedImageImageChannels,
|
||||||
|
) -> Result<Self, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Imaging.ManagedImage.#ctor(System.Int32,System.Int32,LibreMetaverse.Imaging.ManagedImage.ImageChannels)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.Clear`.
|
||||||
|
pub fn clear(&self) -> Result<(), crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented("M:LibreMetaverse.Imaging.ManagedImage.Clear")
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.Clone`.
|
||||||
|
pub fn clone(&self) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented("M:LibreMetaverse.Imaging.ManagedImage.Clone")
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ConvertChannels(LibreMetaverse.Imaging.ManagedImage.ImageChannels)`.
|
||||||
|
pub fn convert_channels(
|
||||||
|
&self,
|
||||||
|
channels: libremetaverse_imaging::ManagedImageImageChannels,
|
||||||
|
) -> Result<(), crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Imaging.ManagedImage.ConvertChannels(LibreMetaverse.Imaging.ManagedImage.ImageChannels)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ExportRaw`.
|
||||||
|
pub fn export_raw(&self) -> Result<Vec<u8>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented("M:LibreMetaverse.Imaging.ManagedImage.ExportRaw")
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ResizeBilinear(System.Int32,System.Int32)`.
|
||||||
|
pub fn resize_bilinear(&self, width: i32, height: i32) -> Result<(), crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Imaging.ManagedImage.ResizeBilinear(System.Int32,System.Int32)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ResizeNearestNeighbor(System.Int32,System.Int32)`.
|
||||||
|
pub fn resize_nearest_neighbor(&self, width: i32, height: i32) -> Result<(), crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Imaging.ManagedImage.ResizeNearestNeighbor(System.Int32,System.Int32)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// C# type: `T:LibreMetaverse.Imaging.ManagedImage.ImageChannels`.
|
||||||
|
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
|
||||||
|
#[repr(transparent)]
|
||||||
|
pub struct ManagedImageImageChannels(pub i32);
|
||||||
|
impl ManagedImageImageChannels {
|
||||||
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Alpha`.
|
||||||
|
pub const ALPHA: Self = Self(4);
|
||||||
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Bump`.
|
||||||
|
pub const BUMP: Self = Self(8);
|
||||||
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Color`.
|
||||||
|
pub const COLOR: Self = Self(2);
|
||||||
|
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Gray`.
|
||||||
|
pub const GRAY: Self = Self(1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,15 @@
|
|||||||
//! Imaging abstractions corresponding to `LibreMetaverse.Imaging.Abstractions`.
|
//! Imaging abstractions corresponding to `LibreMetaverse.Imaging.Abstractions`.
|
||||||
|
|
||||||
|
extern crate self as libremetaverse_imaging;
|
||||||
|
|
||||||
|
pub mod codec {
|
||||||
|
pub trait IImage {}
|
||||||
|
pub trait IImageCreator {}
|
||||||
|
pub struct ImageCreator<T>(pub std::marker::PhantomData<T>);
|
||||||
|
pub struct InterleavedImage;
|
||||||
|
pub struct BlkImgDataSrc;
|
||||||
|
}
|
||||||
|
|
||||||
mod generated;
|
mod generated;
|
||||||
|
|
||||||
pub use generated::*;
|
pub use generated::*;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,7 @@
|
|||||||
//! Primitive mesher corresponding to `LibreMetaverse.PrimMesher`.
|
//! Primitive mesher corresponding to `LibreMetaverse.PrimMesher`.
|
||||||
|
|
||||||
|
extern crate self as libremetaverse_prim_mesher;
|
||||||
|
|
||||||
mod generated;
|
mod generated;
|
||||||
|
|
||||||
pub use generated::*;
|
pub use generated::*;
|
||||||
|
|||||||
@@ -1,11 +1,154 @@
|
|||||||
// @generated by tools/generate_surface.py; do not edit by hand.
|
// @generated by tools/generate_api_shims.py; do not edit by hand.
|
||||||
// Source: LibreMetaverse 2aa70bb68513b39795da5d13c88f31b86e85a3ba
|
#![allow(clippy::missing_errors_doc)]
|
||||||
|
#![allow(clippy::must_use_candidate)]
|
||||||
|
#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]
|
||||||
#![allow(non_camel_case_types)]
|
#![allow(non_camel_case_types)]
|
||||||
|
#![allow(non_snake_case)]
|
||||||
|
|
||||||
/// `class` shim for C# `LibreMetaverse.Rendering.MeshFoundry`; members remain intentionally unimplemented.
|
/// C# type: `T:LibreMetaverse.Rendering.MeshFoundry`.
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
||||||
pub struct MeshFoundry;
|
pub struct MeshFoundry;
|
||||||
impl MeshFoundry {
|
impl MeshFoundry {
|
||||||
pub const CSHARP_NAME: &'static str = "LibreMetaverse.Rendering.MeshFoundry";
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.#ctor`.
|
||||||
pub const CSHARP_KIND: &'static str = "class";
|
pub fn new() -> Result<Self, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented("M:LibreMetaverse.Rendering.MeshFoundry.#ctor")
|
||||||
}
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
|
||||||
|
pub fn generate_faceted_mesh(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
lod: libremetaverse::rendering::DetailLevel,
|
||||||
|
) -> Result<Option<libremetaverse::rendering::FacetedMesh>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMeshMesh(LibreMetaverse.Primitive,System.Byte[])`.
|
||||||
|
pub fn generate_faceted_mesh_mesh_with_primitive_bytes(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
mesh_data: Vec<u8>,
|
||||||
|
) -> Result<Option<libremetaverse::rendering::FacetedMesh>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMeshMesh(LibreMetaverse.Primitive,System.Byte[])",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMeshMesh(LibreMetaverse.Primitive,System.Byte[],LibreMetaverse.Rendering.DetailLevel)`.
|
||||||
|
pub fn generate_faceted_mesh_mesh_with_primitive_bytes_detail_level(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
mesh_data: Vec<u8>,
|
||||||
|
lod: libremetaverse::rendering::DetailLevel,
|
||||||
|
) -> Result<Option<libremetaverse::rendering::FacetedMesh>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMeshMesh(LibreMetaverse.Primitive,System.Byte[],LibreMetaverse.Rendering.DetailLevel)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)`.
|
||||||
|
pub fn generate_faceted_sculpt_mesh(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
sculpt_texture: libremetaverse_imaging::ManagedImage,
|
||||||
|
lod: libremetaverse::rendering::DetailLevel,
|
||||||
|
) -> Result<Option<libremetaverse::rendering::FacetedMesh>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
|
||||||
|
pub fn generate_simple_mesh(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
lod: libremetaverse::rendering::DetailLevel,
|
||||||
|
) -> Result<Option<libremetaverse::rendering::SimpleMesh>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleMeshWithNormals(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
|
||||||
|
pub fn generate_simple_mesh_with_normals(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
lod: libremetaverse::rendering::DetailLevel,
|
||||||
|
) -> Result<Option<libremetaverse::rendering::SimpleMesh>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleMeshWithNormals(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)`.
|
||||||
|
pub fn generate_simple_sculpt_mesh(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
sculpt_texture: libremetaverse_imaging::ManagedImage,
|
||||||
|
lod: libremetaverse::rendering::DetailLevel,
|
||||||
|
) -> Result<Option<libremetaverse::rendering::SimpleMesh>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsConvexHulls(LibreMetaverse.Primitive,System.Byte[])`.
|
||||||
|
pub fn mesh_sub_mesh_as_convex_hulls_with_primitive_bytes(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
compressed_mesh_data: Vec<u8>,
|
||||||
|
) -> Result<Vec<Vec<libremetaverse_types::Vector3>>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsConvexHulls(LibreMetaverse.Primitive,System.Byte[])",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsConvexHulls(LibreMetaverse.Primitive,System.Byte[],System.Collections.Generic.List{LibreMetaverse.Vector3}@)`.
|
||||||
|
pub fn mesh_sub_mesh_as_convex_hulls_with_primitive_bytes_list(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
compressed_mesh_data: Vec<u8>,
|
||||||
|
bounding_hull: &mut Vec<libremetaverse_types::Vector3>,
|
||||||
|
) -> Result<Vec<Vec<libremetaverse_types::Vector3>>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsConvexHulls(LibreMetaverse.Primitive,System.Byte[],System.Collections.Generic.List{LibreMetaverse.Vector3}@)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsSimpleMesh(LibreMetaverse.Primitive,System.Byte[])`.
|
||||||
|
pub fn mesh_sub_mesh_as_simple_mesh(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
compressed_mesh_data: Vec<u8>,
|
||||||
|
) -> Result<Option<libremetaverse::rendering::SimpleMesh>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsSimpleMesh(LibreMetaverse.Primitive,System.Byte[])",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.TerrainMesh(System.Single[0:,0:],System.Single,System.Single,System.Single,System.Single)`.
|
||||||
|
pub fn terrain_mesh(
|
||||||
|
&self,
|
||||||
|
z_map: Vec<f32>,
|
||||||
|
x_begin: f32,
|
||||||
|
x_end: f32,
|
||||||
|
y_begin: f32,
|
||||||
|
y_end: f32,
|
||||||
|
) -> Result<libremetaverse::rendering::Face, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.TerrainMesh(System.Single[0:,0:],System.Single,System.Single,System.Single,System.Single)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.TransformTexCoords(System.Collections.Generic.List{LibreMetaverse.Rendering.Vertex},LibreMetaverse.Vector3,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Vector3)`.
|
||||||
|
pub fn transform_tex_coords(
|
||||||
|
&self,
|
||||||
|
vertices: Vec<libremetaverse::rendering::Vertex>,
|
||||||
|
center: libremetaverse_types::Vector3,
|
||||||
|
te_face: libremetaverse::PrimitiveTextureEntryFace,
|
||||||
|
prim_scale: libremetaverse_types::Vector3,
|
||||||
|
) -> Result<(), crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.TransformTexCoords(System.Collections.Generic.List{LibreMetaverse.Rendering.Vertex},LibreMetaverse.Vector3,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Vector3)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.UnpackMesh(System.Byte[])`.
|
||||||
|
pub fn unpack_mesh(
|
||||||
|
&self,
|
||||||
|
asset_data: Vec<u8>,
|
||||||
|
) -> Result<Option<libremetaverse_structured_data::OSDMap>, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.MeshFoundry.UnpackMesh(System.Byte[])",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl libremetaverse::rendering::IRendering for MeshFoundry {}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
//! `MeshFoundry` renderer corresponding to `LibreMetaverse.Rendering.MeshFoundry`.
|
//! `MeshFoundry` renderer corresponding to `LibreMetaverse.Rendering.MeshFoundry`.
|
||||||
|
|
||||||
|
extern crate self as libremetaverse_rendering_mesh_foundry;
|
||||||
|
|
||||||
mod generated;
|
mod generated;
|
||||||
|
|
||||||
pub use generated::*;
|
pub use generated::*;
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ description = "Simple renderer shims for the MetaCrate LibreMetaverse rewrite"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libremetaverse = { path = "../libremetaverse" }
|
libremetaverse = { path = "../libremetaverse" }
|
||||||
|
libremetaverse-imaging = { path = "../libremetaverse-imaging" }
|
||||||
libremetaverse-types = { path = "../libremetaverse-types" }
|
libremetaverse-types = { path = "../libremetaverse-types" }
|
||||||
|
|
||||||
[lints]
|
[lints]
|
||||||
|
|||||||
@@ -1,11 +1,70 @@
|
|||||||
// @generated by tools/generate_surface.py; do not edit by hand.
|
// @generated by tools/generate_api_shims.py; do not edit by hand.
|
||||||
// Source: LibreMetaverse 2aa70bb68513b39795da5d13c88f31b86e85a3ba
|
#![allow(clippy::missing_errors_doc)]
|
||||||
|
#![allow(clippy::must_use_candidate)]
|
||||||
|
#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]
|
||||||
#![allow(non_camel_case_types)]
|
#![allow(non_camel_case_types)]
|
||||||
|
#![allow(non_snake_case)]
|
||||||
|
|
||||||
/// `class` shim for C# `LibreMetaverse.Rendering.SimpleRenderer`; members remain intentionally unimplemented.
|
/// C# type: `T:LibreMetaverse.Rendering.SimpleRenderer`.
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
||||||
pub struct SimpleRenderer;
|
pub struct SimpleRenderer;
|
||||||
impl SimpleRenderer {
|
impl SimpleRenderer {
|
||||||
pub const CSHARP_NAME: &'static str = "LibreMetaverse.Rendering.SimpleRenderer";
|
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.#ctor`.
|
||||||
pub const CSHARP_KIND: &'static str = "class";
|
pub fn new() -> Result<Self, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented("M:LibreMetaverse.Rendering.SimpleRenderer.#ctor")
|
||||||
}
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.GenerateFacetedMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
|
||||||
|
pub fn generate_faceted_mesh(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
lod: libremetaverse::rendering::DetailLevel,
|
||||||
|
) -> Result<libremetaverse::rendering::FacetedMesh, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.SimpleRenderer.GenerateFacetedMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.GenerateFacetedSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)`.
|
||||||
|
pub fn generate_faceted_sculpt_mesh(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
sculpt_texture: libremetaverse_imaging::ManagedImage,
|
||||||
|
lod: libremetaverse::rendering::DetailLevel,
|
||||||
|
) -> Result<libremetaverse::rendering::FacetedMesh, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.SimpleRenderer.GenerateFacetedSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.GenerateSimpleMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
|
||||||
|
pub fn generate_simple_mesh(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
lod: libremetaverse::rendering::DetailLevel,
|
||||||
|
) -> Result<libremetaverse::rendering::SimpleMesh, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.SimpleRenderer.GenerateSimpleMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.GenerateSimpleSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)`.
|
||||||
|
pub fn generate_simple_sculpt_mesh(
|
||||||
|
&self,
|
||||||
|
prim: libremetaverse::Primitive,
|
||||||
|
sculpt_texture: libremetaverse_imaging::ManagedImage,
|
||||||
|
lod: libremetaverse::rendering::DetailLevel,
|
||||||
|
) -> Result<libremetaverse::rendering::SimpleMesh, crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.SimpleRenderer.GenerateSimpleSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.TransformTexCoords(System.Collections.Generic.List{LibreMetaverse.Rendering.Vertex},LibreMetaverse.Vector3,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Vector3)`.
|
||||||
|
pub fn transform_tex_coords(
|
||||||
|
&self,
|
||||||
|
vertices: Vec<libremetaverse::rendering::Vertex>,
|
||||||
|
center: libremetaverse_types::Vector3,
|
||||||
|
te_face: libremetaverse::PrimitiveTextureEntryFace,
|
||||||
|
prim_scale: libremetaverse_types::Vector3,
|
||||||
|
) -> Result<(), crate::Error> {
|
||||||
|
libremetaverse_types::not_implemented(
|
||||||
|
"M:LibreMetaverse.Rendering.SimpleRenderer.TransformTexCoords(System.Collections.Generic.List{LibreMetaverse.Rendering.Vertex},LibreMetaverse.Vector3,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Vector3)",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl libremetaverse::rendering::IRendering for SimpleRenderer {}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
//! Simple renderer corresponding to `LibreMetaverse.Rendering.Simple`.
|
//! Simple renderer corresponding to `LibreMetaverse.Rendering.Simple`.
|
||||||
|
|
||||||
|
extern crate self as libremetaverse_rendering_simple;
|
||||||
|
|
||||||
mod generated;
|
mod generated;
|
||||||
|
|
||||||
pub use generated::*;
|
pub use generated::*;
|
||||||
|
|||||||
@@ -54,6 +54,9 @@ pub struct IEqualityComparer<T>(pub PhantomData<fn(T)>);
|
|||||||
#[derive(Clone, Debug, Eq, PartialEq)]
|
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||||
pub struct StringReader(pub String);
|
pub struct StringReader(pub String);
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||||
|
pub struct StreamReader(pub Vec<u8>);
|
||||||
|
|
||||||
#[derive(Clone, Debug, Eq, PartialEq)]
|
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||||
pub struct StringWriter(pub String);
|
pub struct StringWriter(pub String);
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
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;
|
||||||
|
|||||||
42
tests/compat/tests/rendering_shims.rs
Normal file
42
tests/compat/tests/rendering_shims.rs
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
use libremetaverse::Primitive;
|
||||||
|
use libremetaverse::rendering::{DetailLevel, SimpleMesh};
|
||||||
|
use libremetaverse_prim_mesher::PrimMesh;
|
||||||
|
use libremetaverse_rendering_mesh_foundry::MeshFoundry;
|
||||||
|
use libremetaverse_rendering_simple::SimpleRenderer;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn mesh_and_renderer_calls_compile_with_typed_elements() {
|
||||||
|
let _: fn(i32, f32, f32, f32, i32) -> Result<PrimMesh, libremetaverse_prim_mesher::Error> =
|
||||||
|
PrimMesh::new;
|
||||||
|
let _: fn(
|
||||||
|
&SimpleRenderer,
|
||||||
|
Primitive,
|
||||||
|
DetailLevel,
|
||||||
|
) -> Result<SimpleMesh, libremetaverse_rendering_simple::Error> =
|
||||||
|
SimpleRenderer::generate_simple_mesh;
|
||||||
|
let _: fn(
|
||||||
|
&MeshFoundry,
|
||||||
|
Primitive,
|
||||||
|
DetailLevel,
|
||||||
|
) -> Result<Option<SimpleMesh>, libremetaverse_rendering_mesh_foundry::Error> =
|
||||||
|
MeshFoundry::generate_simple_mesh;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn owned_constructors_fail_with_exact_member_ids() {
|
||||||
|
let Err(prim_error) = PrimMesh::new(4, 0.0, 1.0, 0.0, 4) else {
|
||||||
|
panic!("failure-only PrimMesh constructor unexpectedly returned a value");
|
||||||
|
};
|
||||||
|
assert_eq!(
|
||||||
|
prim_error.csharp_member(),
|
||||||
|
"M:LibreMetaverse.PrimMesher.PrimMesh.#ctor(System.Int32,System.Single,System.Single,System.Single,System.Int32)"
|
||||||
|
);
|
||||||
|
|
||||||
|
let Err(renderer_error) = SimpleRenderer::new() else {
|
||||||
|
panic!("failure-only renderer constructor unexpectedly returned a value");
|
||||||
|
};
|
||||||
|
assert_eq!(
|
||||||
|
renderer_error.csharp_member(),
|
||||||
|
"M:LibreMetaverse.Rendering.SimpleRenderer.#ctor"
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -19,6 +19,11 @@ LEDGER = ROOT / "api/RUST-MAPPING.tsv"
|
|||||||
COVERAGE = ROOT / "api/SHIM-COVERAGE.md"
|
COVERAGE = ROOT / "api/SHIM-COVERAGE.md"
|
||||||
|
|
||||||
TARGETS = {
|
TARGETS = {
|
||||||
|
"LibreMetaverse.Imaging.Abstractions": ROOT / "crates/libremetaverse-imaging/src/generated.rs",
|
||||||
|
"LibreMetaverse.Imaging.Skia": ROOT / "crates/libremetaverse-imaging-skia/src/generated.rs",
|
||||||
|
"LibreMetaverse.PrimMesher": ROOT / "crates/libremetaverse-prim-mesher/src/generated.rs",
|
||||||
|
"LibreMetaverse.Rendering.MeshFoundry": ROOT / "crates/libremetaverse-rendering-mesh-foundry/src/generated.rs",
|
||||||
|
"LibreMetaverse.Rendering.Simple": ROOT / "crates/libremetaverse-rendering-simple/src/generated.rs",
|
||||||
"LibreMetaverse.Types": ROOT / "crates/libremetaverse-types/src/generated.rs",
|
"LibreMetaverse.Types": ROOT / "crates/libremetaverse-types/src/generated.rs",
|
||||||
"LibreMetaverse.StructuredData": ROOT / "crates/libremetaverse-structured-data/src/generated.rs",
|
"LibreMetaverse.StructuredData": ROOT / "crates/libremetaverse-structured-data/src/generated.rs",
|
||||||
}
|
}
|
||||||
@@ -52,6 +57,7 @@ PRIVATE_LAYOUTS = {
|
|||||||
"T:LibreMetaverse.StructuredData.OSDString": [("value", "String")],
|
"T:LibreMetaverse.StructuredData.OSDString": [("value", "String")],
|
||||||
"T:LibreMetaverse.StructuredData.OSDUUID": [("value", "libremetaverse_types::UUID")],
|
"T:LibreMetaverse.StructuredData.OSDUUID": [("value", "libremetaverse_types::UUID")],
|
||||||
"T:LibreMetaverse.StructuredData.OSDUri": [("value", "libremetaverse_types::compat::Uri")],
|
"T:LibreMetaverse.StructuredData.OSDUri": [("value", "libremetaverse_types::compat::Uri")],
|
||||||
|
"T:LibreMetaverse.Imaging.ManagedImage": [("data", "Vec<u8>")],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -65,8 +71,10 @@ def format_rust(source: str) -> str:
|
|||||||
input=source,
|
input=source,
|
||||||
text=True,
|
text=True,
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
check=True,
|
check=False,
|
||||||
)
|
)
|
||||||
|
if result.returncode:
|
||||||
|
raise ValueError(result.stderr.strip())
|
||||||
return result.stdout
|
return result.stdout
|
||||||
|
|
||||||
|
|
||||||
@@ -183,7 +191,7 @@ def render_type(item: dict, type_row: dict, member_rows: dict[str, dict[str, str
|
|||||||
if not trait:
|
if not trait:
|
||||||
for interface in item.get("interfaces", []):
|
for interface in item.get("interfaces", []):
|
||||||
base, arguments, _ = mapping.type_parts(interface)
|
base, arguments, _ = mapping.type_parts(interface)
|
||||||
if base not in mapper.interfaces:
|
if base not in mapper.interfaces or not base.startswith("LibreMetaverse."):
|
||||||
continue
|
continue
|
||||||
mapped_arguments = [mapper.type(argument, None, set(names)) for argument in arguments]
|
mapped_arguments = [mapper.type(argument, None, set(names)) for argument in arguments]
|
||||||
trait_path = mapper.resolved[base] + generic_suffix(mapped_arguments)
|
trait_path = mapper.resolved[base] + generic_suffix(mapped_arguments)
|
||||||
@@ -194,7 +202,14 @@ def render_type(item: dict, type_row: dict, member_rows: dict[str, dict[str, str
|
|||||||
def generate_sources(catalog: dict) -> tuple[dict[Path, str], dict[str, tuple[int, int]]]:
|
def generate_sources(catalog: dict) -> tuple[dict[Path, str], dict[str, tuple[int, int]]]:
|
||||||
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 = {mapping.type_parts(item["signature"])[0] for assembly in catalog["assemblies"] for item in assembly["types"] if item["kind"] == "interface"}
|
interfaces = {
|
||||||
|
*{mapping.type_parts(item["signature"])[0] for assembly in catalog["assemblies"] for item in assembly["types"] if item["kind"] == "interface"},
|
||||||
|
*{
|
||||||
|
mapping.type_parts(item["signature"])[0]
|
||||||
|
for item in catalog["external_types"]
|
||||||
|
if item["kind"] == "interface" and not item["assembly"]["name"].startswith("System")
|
||||||
|
},
|
||||||
|
}
|
||||||
mapper = mapping.Mapper(resolved, interfaces)
|
mapper = mapping.Mapper(resolved, interfaces)
|
||||||
member_rows = {row["csharp_id"]: row for row in csv.DictReader(LEDGER.open(), delimiter="\t")}
|
member_rows = {row["csharp_id"]: row for row in csv.DictReader(LEDGER.open(), delimiter="\t")}
|
||||||
outputs = {}
|
outputs = {}
|
||||||
|
|||||||
@@ -826,7 +826,14 @@ def coverage_report(catalog: dict, type_rows: list[dict[str, str]], member_rows:
|
|||||||
def generate() -> dict[Path, str]:
|
def generate() -> dict[Path, str]:
|
||||||
catalog = json.loads(CATALOG.read_text())
|
catalog = json.loads(CATALOG.read_text())
|
||||||
type_rows, resolved = build_type_rows(catalog)
|
type_rows, resolved = build_type_rows(catalog)
|
||||||
interfaces = {type_parts(item["signature"])[0] for assembly in catalog["assemblies"] for item in assembly["types"] if item["kind"] == "interface"}
|
interfaces = {
|
||||||
|
*{type_parts(item["signature"])[0] for assembly in catalog["assemblies"] for item in assembly["types"] if item["kind"] == "interface"},
|
||||||
|
*{
|
||||||
|
type_parts(item["signature"])[0]
|
||||||
|
for item in catalog["external_types"]
|
||||||
|
if item["kind"] == "interface" and not item["assembly"]["name"].startswith("System")
|
||||||
|
},
|
||||||
|
}
|
||||||
mapper = Mapper(resolved, interfaces)
|
mapper = Mapper(resolved, interfaces)
|
||||||
member_rows = build_member_rows(catalog, mapper)
|
member_rows = build_member_rows(catalog, mapper)
|
||||||
validate(catalog, type_rows, member_rows, mapper)
|
validate(catalog, type_rows, member_rows, mapper)
|
||||||
|
|||||||
Reference in New Issue
Block a user