Networking/client lifecycle and the earlier world model/manager issues are available; mapped APIs and translated tests are fixed.
Project constraints
New native Rust behavior only; no bridge or C# fallback.
Preserve fixed APIs and translated assertions; reuse completed lower layers and keep privileged live actions opt-in.
Validate bounded untrusted inputs, cancellation, task cleanup, docs, and coverage in the same change.
## Objective
Implement primitive construction/state plus texture entries, object media, legacy/GLTF materials, particle systems, light/flexible/sculpt data, and OSD conversions.
## Deliverables
- Preserve bitfields, default values, face overrides, UV/color/material semantics, unknown bits, serialization, equality/hash, and copy behavior.
- Use bounded checked decoding for variable blobs.
- Keep data/model behavior independent from ObjectManager transport.
## Validation
- Primitive/texture/material/media/particle tests pass.
- Golden bytes/OSD round trips match.
- No public model shim remains in the owned scope.
## Prerequisite
Networking/client lifecycle and the earlier world model/manager issues are available; mapped APIs and translated tests are fixed.
## Project constraints
- New native Rust behavior only; no bridge or C# fallback.
- Preserve fixed APIs and translated assertions; reuse completed lower layers and keep privileged live actions opt-in.
- Validate bounded untrusted inputs, cancellation, task cleanup, docs, and coverage in the same change.
hugo
added this to the 09 - World vertical slices milestone 2026-08-08 08:21:44 +00:00
Replaced failure-only Primitive, ConstructionData, FlexibleData, LightData, LightImage, SculptData, ObjectProperties, TextureAnimation, TextureEntry, TextureEntryFace, ParticleSystem, and LegacyMaterial shims with native Rust models.
Added checked bounded decoding for texture entries, particle blocks, and extra parameters, including preservation of unknown extra-parameter payloads and particle/material/media flag bits.
Implemented all 45 texture faces, live default inheritance, per-face overrides, render material IDs, deterministic byte and OSD round trips, copy/equality/hash behavior, primitive classification, auxiliary data, particle legacy/extended formats, and helper codecs.
Kept model behavior separate from ObjectManager transport and retained existing native MediaEntry and AssetMaterial implementations.
Updated generated API mappings and coverage from 225 types / 15,463 members to 237 types / 15,757 members.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objective
Implement primitive construction/state plus texture entries, object media, legacy/GLTF materials, particle systems, light/flexible/sculpt data, and OSD conversions.
Deliverables
Validation
Prerequisite
Networking/client lifecycle and the earlier world model/manager issues are available; mapped APIs and translated tests are fixed.
Project constraints
Implemented and verified in commit
43820f6.Implementation:
Verification: