Translate appearance and outfit parity tests

This commit is contained in:
2026-08-08 20:29:15 +02:00
parent ffe559db61
commit a78f9fba76
21 changed files with 4111 additions and 1902 deletions

View File

@@ -4,10 +4,14 @@ extern crate self as libremetaverse;
mod generated;
#[cfg(test)]
mod appearance_baker_semantics;
#[cfg(test)]
mod asset_archive_semantics;
#[cfg(test)]
mod avatar_animesh_semantics;
#[cfg(test)]
mod batch_link_internal_semantics;
type Terrain = Vec<Vec<f32>>;
type TerrainLoaded = Box<dyn Fn(Terrain, i64, i64) + Send + Sync>;
@@ -71,6 +75,68 @@ impl animesh::AnimeshPlayer {
}
}
#[allow(dead_code)]
trait CofLinkItem {
fn inventory_item(&self) -> &InventoryItem;
fn wearable_type(&self) -> Option<libremetaverse_types::WearableType>;
}
impl CofLinkItem for InventoryWearable {
fn inventory_item(&self) -> &InventoryItem {
&self.base
}
fn wearable_type(&self) -> Option<libremetaverse_types::WearableType> {
Some(self.wearable_type())
}
}
impl CofLinkItem for InventoryObject {
fn inventory_item(&self) -> &InventoryItem {
&self.base
}
fn wearable_type(&self) -> Option<libremetaverse_types::WearableType> {
None
}
}
#[allow(clippy::unused_self, dead_code)]
impl appearance::CurrentOutfitFolder {
fn get_cof_link_description(&self, _item: &dyn CofLinkItem) -> Result<String, Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Appearance.CurrentOutfitFolder.GetCofLinkDescription(LibreMetaverse.InventoryItem)",
)
}
}
#[allow(clippy::unused_async, dead_code)]
impl InventoryAISClient {
async fn create_inventory_links(
&self,
_parent_uuid: libremetaverse_types::UUID,
_new_inventory: libremetaverse_structured_data::OSD,
_cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
) -> Result<Vec<InventoryItem>, Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.InventoryAISClient.CreateInventoryLinksAsync(LibreMetaverse.UUID,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)",
)
}
}
#[allow(dead_code)]
impl imaging::Baker {
fn resize_to_bake_dimensions(
_source: libremetaverse_imaging::ManagedImage,
_width: i32,
_height: i32,
) -> Result<Option<libremetaverse_imaging::ManagedImage>, Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.Baker.ResizeToBakeDimensions(LibreMetaverse.Imaging.ManagedImage,System.Int32,System.Int32)",
)
}
}
pub use generated::*;
pub use libremetaverse_imaging as imaging_abstractions;
pub use libremetaverse_structured_data as structured_data;