Implement appearance baking pipeline (#66)
This commit is contained in:
@@ -292,13 +292,20 @@ NATIVE_TYPES = {
|
||||
NATIVE_DECLARATIONS = {
|
||||
"T:LibreMetaverse.AgentManager": "crate::agent_manager::AgentManager",
|
||||
"T:LibreMetaverse.AppearanceManager": "crate::appearance_manager::AppearanceManager",
|
||||
"T:LibreMetaverse.AppearanceSetEventArgs": "crate::appearance_manager::AppearanceSetEventArgs",
|
||||
"T:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy": "crate::current_outfit::CompositeCurrentOutfitPolicy",
|
||||
"T:LibreMetaverse.Appearance.CurrentOutfitFolder": "crate::current_outfit::CurrentOutfitFolder",
|
||||
"T:LibreMetaverse.Appearance.InitialOutfit": "crate::initial_outfit::InitialOutfit",
|
||||
"T:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress": "crate::initial_outfit::InitialOutfitProgress",
|
||||
"T:LibreMetaverse.Appearance.InitialOutfitHandler": "crate::initial_outfit::InitialOutfitHandler",
|
||||
"T:LibreMetaverse.GridClientBakingTextureProvider": "crate::baking_texture_provider::GridClientBakingTextureProvider",
|
||||
"T:LibreMetaverse.Imaging.Baker": "crate::appearance_baker::Baker",
|
||||
"T:LibreMetaverse.GridClient": "crate::client_core::GridClient",
|
||||
"T:LibreMetaverse.InventoryManager": "crate::inventory_manager::InventoryManager",
|
||||
"T:LibreMetaverse.InventoryAISClient": "crate::inventory_ais::InventoryAISClient",
|
||||
"T:LibreMetaverse.NetworkManager": "crate::network_manager::NetworkManager",
|
||||
"T:LibreMetaverse.ObjectManager": "crate::object_material::ObjectManager",
|
||||
"T:LibreMetaverse.RebakeAvatarTexturesEventArgs": "crate::appearance_manager::RebakeAvatarTexturesEventArgs",
|
||||
"T:LibreMetaverse.Settings": "crate::client_core::Settings",
|
||||
"T:LibreMetaverse.Simulator": "crate::network_manager::Simulator",
|
||||
"T:LibreMetaverse.StructuredData.OSDParser": "crate::model::OSDParser",
|
||||
@@ -371,18 +378,106 @@ NATIVE_MEMBER_BODIES = {
|
||||
"self.native_set_cof(value)",
|
||||
"P:LibreMetaverse.Appearance.CurrentOutfitFolder.MaxClothingLayers":
|
||||
"crate::current_outfit::MAX_CLOTHING_LAYERS",
|
||||
"M:LibreMetaverse.Appearance.InitialOutfit.#ctor(LibreMetaverse.GridClient,LibreMetaverse.Appearance.CurrentOutfitFolder)":
|
||||
"crate::initial_outfit::InitialOutfit::native_new(client, cof)",
|
||||
"M:LibreMetaverse.Appearance.InitialOutfit.CheckSystemFoldersAsync(System.Threading.CancellationToken)":
|
||||
"self.native_check_system_folders(cancellation_token).await",
|
||||
"M:LibreMetaverse.Appearance.InitialOutfit.CopyFolderAsync(LibreMetaverse.InventoryFolder,LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress})":
|
||||
"self.native_copy_folder(folder, destination, cancellation_token, progress).await",
|
||||
"M:LibreMetaverse.Appearance.InitialOutfit.CreateFolderAsync(LibreMetaverse.UUID,System.String,LibreMetaverse.FolderType,System.Threading.CancellationToken)":
|
||||
"self.native_create_folder(parent, name, type_, cancellation_token).await",
|
||||
"M:LibreMetaverse.Appearance.InitialOutfit.FindNodeByName(LibreMetaverse.InventoryNode,System.String)":
|
||||
"crate::initial_outfit::InitialOutfit::native_find_node_by_name(root, name)",
|
||||
"M:LibreMetaverse.Appearance.InitialOutfit.SetInitialOutfitAsync(System.String,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress})":
|
||||
"self.native_set_initial_outfit(outfit, cancellation_token, progress).await",
|
||||
"M:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.#ctor":
|
||||
"crate::initial_outfit::InitialOutfitProgress::native_new()",
|
||||
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.CurrentItemName":
|
||||
"self.native_current_item_name()",
|
||||
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.CurrentItemName#set":
|
||||
"self.native_set_current_item_name(value)",
|
||||
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.ItemsCopied":
|
||||
"self.native_items_copied()",
|
||||
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.ItemsCopied#set":
|
||||
"self.native_set_items_copied(value)",
|
||||
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Message":
|
||||
"self.native_message()",
|
||||
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Message#set":
|
||||
"self.native_set_message(value)",
|
||||
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Phase":
|
||||
"self.native_phase()",
|
||||
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Phase#set":
|
||||
"self.native_set_phase(value)",
|
||||
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.TotalItems":
|
||||
"self.native_total_items()",
|
||||
"P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.TotalItems#set":
|
||||
"self.native_set_total_items(value)",
|
||||
"M:LibreMetaverse.Appearance.InitialOutfitHandler.#ctor(LibreMetaverse.GridClient,LibreMetaverse.Appearance.CurrentOutfitFolder,System.IProgress{LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress})":
|
||||
"crate::initial_outfit::InitialOutfitHandler::native_new(client, cof, progress)",
|
||||
"M:LibreMetaverse.Appearance.InitialOutfitHandler.Dispose":
|
||||
"self.native_dispose()",
|
||||
"M:LibreMetaverse.AppearanceManager.#ctor(LibreMetaverse.GridClient)":
|
||||
"crate::appearance_manager::AppearanceManager::native_new(client)",
|
||||
"M:LibreMetaverse.AppearanceSetEventArgs.#ctor(System.Boolean)":
|
||||
"Ok(crate::appearance_manager::AppearanceSetEventArgs::native_new(success))",
|
||||
"P:LibreMetaverse.AppearanceSetEventArgs.Success":
|
||||
"self.native_success()",
|
||||
"M:LibreMetaverse.RebakeAvatarTexturesEventArgs.#ctor(LibreMetaverse.UUID)":
|
||||
"Ok(crate::appearance_manager::RebakeAvatarTexturesEventArgs::native_new(texture_id))",
|
||||
"P:LibreMetaverse.RebakeAvatarTexturesEventArgs.TextureID":
|
||||
"self.native_texture_id()",
|
||||
"E:LibreMetaverse.AppearanceManager.AgentWearablesReply":
|
||||
"self.native_subscribe_agent_wearables_reply(handler)",
|
||||
"E:LibreMetaverse.AppearanceManager.AppearanceSet":
|
||||
"self.native_subscribe_appearance_set(handler)",
|
||||
"E:LibreMetaverse.AppearanceManager.CachedBakesReply":
|
||||
"self.native_subscribe_cached_bakes_reply(handler)",
|
||||
"E:LibreMetaverse.AppearanceManager.RebakeAvatarRequested":
|
||||
"self.native_subscribe_rebake_avatar_requested(handler)",
|
||||
"F:LibreMetaverse.AppearanceManager.ATTACHMENT_ADD":
|
||||
"crate::appearance_manager::ATTACHMENT_ADD",
|
||||
"F:LibreMetaverse.AppearanceManager.BAKED_TEXTURE_HASH":
|
||||
"crate::appearance_manager::baked_texture_hash()",
|
||||
"F:LibreMetaverse.AppearanceManager.BakeIndexToTextureIndex":
|
||||
"crate::appearance_manager::bake_index_to_texture_index()",
|
||||
"F:LibreMetaverse.AppearanceManager.DEFAULT_AVATAR_TEXTURE":
|
||||
"crate::appearance_manager::default_avatar_texture()",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX1":
|
||||
"crate::appearance_manager::img_use_baked(crate::BakeType::BakedAux1)",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX2":
|
||||
"crate::appearance_manager::img_use_baked(crate::BakeType::BakedAux2)",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX3":
|
||||
"crate::appearance_manager::img_use_baked(crate::BakeType::BakedAux3)",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_EYES":
|
||||
"crate::appearance_manager::img_use_baked(crate::BakeType::Eyes)",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_HAIR":
|
||||
"crate::appearance_manager::img_use_baked(crate::BakeType::Hair)",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_HEAD":
|
||||
"crate::appearance_manager::img_use_baked(crate::BakeType::Head)",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_INDICES":
|
||||
"crate::appearance_manager::img_use_baked_indices()",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LEFTARM":
|
||||
"crate::appearance_manager::img_use_baked(crate::BakeType::BakedLeftArm)",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LEFTLEG":
|
||||
"crate::appearance_manager::img_use_baked(crate::BakeType::BakedLeftLeg)",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LOWER":
|
||||
"crate::appearance_manager::img_use_baked(crate::BakeType::LowerBody)",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_SKIRT":
|
||||
"crate::appearance_manager::img_use_baked(crate::BakeType::Skirt)",
|
||||
"F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_UPPER":
|
||||
"crate::appearance_manager::img_use_baked(crate::BakeType::UpperBody)",
|
||||
"F:LibreMetaverse.AppearanceManager.WEARABLE_BAKE_MAP":
|
||||
"crate::appearance_manager::wearable_bake_map()",
|
||||
"M:LibreMetaverse.AppearanceManager.AddAttachments(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Boolean,System.Boolean)":
|
||||
"self.native_add_attachments(attachments, remove_existing_first, replace.unwrap_or(false))",
|
||||
"M:LibreMetaverse.AppearanceManager.AddToOutfit(LibreMetaverse.InventoryItem,System.Boolean)":
|
||||
"self.native_add_to_outfit(vec![wearable_item], replace.unwrap_or(false))",
|
||||
"M:LibreMetaverse.AppearanceManager.AddToOutfit(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Boolean)":
|
||||
"self.native_add_to_outfit(wearable_items, replace.unwrap_or(false))",
|
||||
"M:LibreMetaverse.AppearanceManager.BakeTypeToAgentTextureIndex(LibreMetaverse.BakeType)":
|
||||
"Ok(crate::appearance_manager::bake_type_to_agent_texture_index(index))",
|
||||
"M:LibreMetaverse.AppearanceManager.BakeTypeToTextures(LibreMetaverse.BakeType)":
|
||||
"Ok(crate::appearance_manager::bake_type_to_textures(bake_type))",
|
||||
"M:LibreMetaverse.AppearanceManager.Attach(LibreMetaverse.InventoryItem,LibreMetaverse.AttachmentPoint,System.Boolean)":
|
||||
"self.native_attach(item, attach_point, replace.unwrap_or(false))",
|
||||
"M:LibreMetaverse.AppearanceManager.Attach(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.String,LibreMetaverse.Permissions,System.UInt32,LibreMetaverse.AttachmentPoint,System.Boolean)":
|
||||
@@ -391,6 +486,8 @@ NATIVE_MEMBER_BODIES = {
|
||||
"self.native_detach(item.base.uuid())",
|
||||
"M:LibreMetaverse.AppearanceManager.Detach(LibreMetaverse.UUID)":
|
||||
"self.native_detach(item_id)",
|
||||
"M:LibreMetaverse.AppearanceManager.DecodeWearableParams(LibreMetaverse.AppearanceManager.WearableData,LibreMetaverse.AppearanceManager.TextureData[]@)":
|
||||
"crate::appearance_manager::decode_wearable_params(wearable, textures)",
|
||||
"M:LibreMetaverse.AppearanceManager.Dispose":
|
||||
"self.native_dispose()",
|
||||
"M:LibreMetaverse.AppearanceManager.GetAttachments":
|
||||
@@ -403,6 +500,8 @@ NATIVE_MEMBER_BODIES = {
|
||||
"self.native_get_attachments_by_id()",
|
||||
"M:LibreMetaverse.AppearanceManager.GetCurrentOutfitFolderAsync(System.Threading.CancellationToken)":
|
||||
"self.native_get_current_outfit_folder(cancellation_token).await",
|
||||
"M:LibreMetaverse.AppearanceManager.GetColorFromParams(System.Collections.Generic.List{LibreMetaverse.AppearanceManager.ColorParamInfo})":
|
||||
"crate::appearance_manager::color_from_params(param)",
|
||||
"M:LibreMetaverse.AppearanceManager.GetFolderWearablesAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
|
||||
"self.native_get_folder_wearables(folder, cancellation_token).await",
|
||||
"M:LibreMetaverse.AppearanceManager.GetWearableAssets(LibreMetaverse.WearableType)":
|
||||
@@ -411,6 +510,8 @@ NATIVE_MEMBER_BODIES = {
|
||||
"self.native_get_wearables()",
|
||||
"M:LibreMetaverse.AppearanceManager.GetWearablesByType":
|
||||
"self.native_get_wearables_by_type()",
|
||||
"M:LibreMetaverse.AppearanceManager.GetCurrentParamValues":
|
||||
"self.native_get_current_param_values()",
|
||||
"M:LibreMetaverse.AppearanceManager.IsItemWorn(LibreMetaverse.InventoryItem)":
|
||||
"self.native_is_item_worn(item.base.uuid())",
|
||||
"M:LibreMetaverse.AppearanceManager.IsItemWorn(LibreMetaverse.UUID)":
|
||||
@@ -425,6 +526,16 @@ NATIVE_MEMBER_BODIES = {
|
||||
"self.native_replace_outfit(wearable_items, safe).await",
|
||||
"M:LibreMetaverse.AppearanceManager.RequestAgentWornAsync(System.Threading.CancellationToken)":
|
||||
"self.native_request_agent_worn(cancellation_token).await",
|
||||
"M:LibreMetaverse.AppearanceManager.MakeAppearancePacket":
|
||||
"self.native_make_appearance_packet()",
|
||||
"M:LibreMetaverse.AppearanceManager.MorphLayerForBakeType(LibreMetaverse.BakeType)":
|
||||
"Ok(crate::appearance_manager::morph_layer_for_bake_type(bake_type))",
|
||||
"M:LibreMetaverse.AppearanceManager.RequestCachedBakes":
|
||||
"self.native_request_cached_bakes()",
|
||||
"M:LibreMetaverse.AppearanceManager.RequestSetAppearance(System.Boolean)":
|
||||
"self.native_request_set_appearance(force_rebake.unwrap_or(false)).await",
|
||||
"M:LibreMetaverse.AppearanceManager.ServerBakingRegion":
|
||||
"self.native_server_baking_region()",
|
||||
"M:LibreMetaverse.AppearanceManager.SendOutfitToCurrentSimulatorAsync(System.Threading.CancellationToken)":
|
||||
"self.native_send_outfit(cancellation_token).await",
|
||||
"M:LibreMetaverse.AppearanceManager.UpdateLastReceivedCOFVersion(System.Int32)":
|
||||
@@ -441,6 +552,42 @@ NATIVE_MEMBER_BODIES = {
|
||||
"self.native_last_cof_version()",
|
||||
"P:LibreMetaverse.AppearanceManager.ManagerBusy":
|
||||
"self.native_manager_busy()",
|
||||
"P:LibreMetaverse.AppearanceManager.TextureProvider":
|
||||
"self.native_texture_provider()",
|
||||
"P:LibreMetaverse.AppearanceManager.TextureProvider#set":
|
||||
"self.native_set_texture_provider(value)",
|
||||
"M:LibreMetaverse.AppearanceManager.TextureData.#ctor":
|
||||
"crate::appearance_manager::texture_data_defaults()",
|
||||
"M:LibreMetaverse.AppearanceManager.TextureData.ToString":
|
||||
"crate::appearance_manager::texture_data_to_string(self)",
|
||||
"M:LibreMetaverse.AppearanceManager.WearableData.#ctor":
|
||||
"crate::appearance_manager::wearable_data_defaults()",
|
||||
"M:LibreMetaverse.AppearanceManager.WearableData.ToString":
|
||||
"crate::appearance_manager::wearable_data_to_string(self)",
|
||||
"M:LibreMetaverse.GridClientBakingTextureProvider.#ctor(LibreMetaverse.GridClient)":
|
||||
"crate::baking_texture_provider::GridClientBakingTextureProvider::native_new(client)",
|
||||
"M:LibreMetaverse.GridClientBakingTextureProvider.RequestTextureAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)":
|
||||
"self.native_request_texture(texture_id, cancellation_token).await",
|
||||
"M:LibreMetaverse.Imaging.Baker.#ctor(LibreMetaverse.BakeType)":
|
||||
"crate::appearance_baker::Baker::native_new(bake_type)",
|
||||
"M:LibreMetaverse.Imaging.Baker.AddTexture(LibreMetaverse.AppearanceManager.TextureData)":
|
||||
"self.native_add_texture(tdata)",
|
||||
"M:LibreMetaverse.Imaging.Baker.Bake":
|
||||
"self.native_bake()",
|
||||
"M:LibreMetaverse.Imaging.Baker.BakeTypeFor(LibreMetaverse.AvatarTextureIndex)":
|
||||
"Ok(crate::appearance_baker::Baker::native_bake_type_for(index))",
|
||||
"M:LibreMetaverse.Imaging.Baker.LoadResourceLayer(System.String)":
|
||||
"crate::appearance_baker::Baker::native_load_resource_layer(file_name)",
|
||||
"P:LibreMetaverse.Imaging.Baker.BakeHeight":
|
||||
"self.native_bake_height()",
|
||||
"P:LibreMetaverse.Imaging.Baker.BakeType":
|
||||
"self.native_bake_type()",
|
||||
"P:LibreMetaverse.Imaging.Baker.BakeWidth":
|
||||
"self.native_bake_width()",
|
||||
"P:LibreMetaverse.Imaging.Baker.BakedTexture":
|
||||
"self.native_baked_texture()",
|
||||
"P:LibreMetaverse.Imaging.Baker.Textures":
|
||||
"self.native_textures()",
|
||||
"P:LibreMetaverse.GridClient.Appearance":
|
||||
"self.native_appearance().unwrap_or_else(|_| panic!(\"failed to construct AppearanceManager\"))",
|
||||
"P:LibreMetaverse.GridClient.Appearance#set":
|
||||
@@ -1787,7 +1934,7 @@ NATIVE_MESSAGE_CODEC_TYPES = {
|
||||
}
|
||||
OPEN_ENUM_IDS = {"T:LibreMetaverse.BakeType", "T:LibreMetaverse.HoleType"}
|
||||
TRAIT_SUPERTRAITS = {
|
||||
"T:LibreMetaverse.IBakingTextureProvider": "std::any::Any",
|
||||
"T:LibreMetaverse.IBakingTextureProvider": "std::any::Any + Send + Sync",
|
||||
"T:LibreMetaverse.Interfaces.IMessage": "std::any::Any",
|
||||
"T:LibreMetaverse.Appearance.ICurrentOutfitPolicy": "Send + Sync",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user