Appearance: implement wearables, Current Outfit Folder, and policy services #65
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Implement wearable state, attachment mapping, COF links, composite/current outfit policies, outfit add/remove/replace, attach/detach, and worn queries.
Deliverables
Validation
Prerequisite
Networking/client lifecycle and all foundational implementation milestones are complete; mapped APIs and translated tests are fixed.
Project constraints
Implemented in
a9927fcand pushed to main.Implemented native Rust AppearanceManager, CurrentOutfitFolder, and CompositeCurrentOutfitPolicy services: layered wearable/body-part state; item/asset/slot queries; COF discovery and link resolution; add/remove/full replace transactions; attachment point add/replace/detach packets with permission and flag preservation; bounded ancestry/folder traversal; cancellation-aware serialized COF operations; stable policy snapshots; post-commit events; and rollback/compensation for failed link and attachment mutations. Client ownership now uses the cycle-safe weak runtime handle, and generated mappings/API coverage plus docs were updated.
Verification:
The unrelated baking/texture-provider appearance cases belong to the next appearance pipeline issue and were not included in this issue scope.