Implement native object models (#68)
All checks were successful
Native code generation / deterministic (push) Successful in 14m42s
Imaging and meshing gate / native (push) Successful in 4m59s
Native Rust workspace compile / compile (push) Successful in 5m7s

This commit is contained in:
2026-08-10 13:32:08 +00:00
parent cf98152e41
commit 43820f6bd1
11 changed files with 3763 additions and 1441 deletions

View File

@@ -197,6 +197,18 @@ NATIVE_TYPES = {
"T:LibreMetaverse.Messages.Linden.EventQueueGetMessage": "crate::event_queue::EventQueueGetMessage",
"T:LibreMetaverse.Messages.Linden.AttachmentResourcesMessage": "crate::message_decoder::AttachmentResourcesMessage",
"T:LibreMetaverse.Primitive.PhysicsProperties": "crate::message_decoder::PrimitivePhysicsProperties",
"T:LibreMetaverse.Primitive": "crate::object_model::Primitive",
"T:LibreMetaverse.Primitive.ConstructionData": "crate::object_model::PrimitiveConstructionData",
"T:LibreMetaverse.Primitive.FlexibleData": "crate::object_model::PrimitiveFlexibleData",
"T:LibreMetaverse.Primitive.LightData": "crate::object_model::PrimitiveLightData",
"T:LibreMetaverse.Primitive.LightImage": "crate::object_model::PrimitiveLightImage",
"T:LibreMetaverse.Primitive.ObjectProperties": "crate::object_model::PrimitiveObjectProperties",
"T:LibreMetaverse.Primitive.ParticleSystem": "crate::object_model::PrimitiveParticleSystem",
"T:LibreMetaverse.Primitive.SculptData": "crate::object_model::PrimitiveSculptData",
"T:LibreMetaverse.Primitive.TextureAnimation": "crate::object_model::PrimitiveTextureAnimation",
"T:LibreMetaverse.Primitive.TextureEntry": "crate::object_model::PrimitiveTextureEntry",
"T:LibreMetaverse.Primitive.TextureEntryFace": "crate::object_model::PrimitiveTextureEntryFace",
"T:LibreMetaverse.Materials.LegacyMaterial": "crate::object_model::LegacyMaterial",
"T:LibreMetaverse.ArchetypeParam": "crate::genepool_catalog::ArchetypeParam",
"T:LibreMetaverse.AttentionData": "crate::attention_catalog::AttentionData",
"T:LibreMetaverse.AttentionSet": "crate::attention_catalog::AttentionSet",
@@ -330,6 +342,18 @@ NATIVE_DECLARATIONS = {
}
NATIVE_MEMBER_BODIES = {
"M:LibreMetaverse.Helpers.TEGlowByte(System.Single)":
"Ok(crate::object_model::te_glow_byte(glow))",
"M:LibreMetaverse.Helpers.TEGlowFloat(System.Byte[],System.Int32)":
"crate::object_model::te_glow_float(bytes, pos)",
"M:LibreMetaverse.Helpers.TEOffsetFloat(System.Byte[],System.Int32)":
"crate::object_model::te_offset_float(bytes, pos)",
"M:LibreMetaverse.Helpers.TEOffsetShort(System.Single)":
"Ok(crate::object_model::te_offset_short(offset))",
"M:LibreMetaverse.Helpers.TERotationFloat(System.Byte[],System.Int32)":
"crate::object_model::te_rotation_float(bytes, pos)",
"M:LibreMetaverse.Helpers.TERotationShort(System.Single)":
"Ok(crate::object_model::te_rotation_short(rotation))",
"M:LibreMetaverse.AvatarAnimationEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.Animation})":
"crate::avatar_manager::AvatarAnimationEventArgs::native_new(avatar_id, anims)",
"P:LibreMetaverse.AvatarAnimationEventArgs.Animations":
@@ -1871,8 +1895,6 @@ NATIVE_MEMBER_BODIES = {
"crate::foliage_catalog::grass_by_id(self.prim_data.state)",
"M:LibreMetaverse.Primitive.GetTreeDefinition":
"crate::foliage_catalog::TreeDefinitions::get(self.tree_species)",
"M:LibreMetaverse.Primitive.TextureEntryFace.#ctor(LibreMetaverse.Primitive.TextureEntryFace)":
"crate::visual_catalog::new_texture_entry_face()",
"M:LibreMetaverse.StructuredData.OSDParser.BufferCharactersEqual(System.IO.StringReader,System.Char[],System.Int32)":
"crate::notation::buffer_characters_equal(reader, buffer, offset)",
"M:LibreMetaverse.StructuredData.OSDParser.ConsumeBytes(System.IO.Stream,System.Int32)":