Bug: bake and publish avatar appearance after login #139
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?
Bug
After the grid agent logs in, other residents continue to see its avatar as an orange cloud. The agent must complete appearance baking, publish the resulting appearance, and restore its worn attachments within a bounded recovery period.
Preliminary source evaluation
The native baking implementation exists, but the login trigger is missing:
AgentSettings.send_appearancedefaults totrue, but current source only declares/tests that setting; no login path consumes it.AppearanceManager::native_newregisters a login callback that recordscof_version, but it does not startrequest_set_appearanceafter successful login/readiness.AgentWearablesUpdatecan spawn an appearance request only when server baking is not active. In a region advertising the agent appearance service, that handler deliberately does not populate legacy wearables or start the bake.RebakeAvatarTexturesrequests correctly start a forced rebake, but that only helps after the simulator asks.request_set_appearancealready performs the needed core work: refresh Current Outfit Folder wearables/attachments, useUpdateAvatarAppearancefor server baking or cached/local bake and upload for legacy regions, then sendAgentSetAppearance.request_agent_wornalready resolves COF links and records object/mesh attachment points. Attachment state still needs verification against actual rezzed simulator child prims; baking the body alone is not sufficient.Likely root fix: consume
send_appearanceexactly once per ready login generation, after capabilities and inventory/COF are usable; run one non-forced appearance request, observe its result, and use bounded delayed forced rebakes only while authoritative appearance evidence still reports cloud/incomplete state. Cancel and generation-fence the work on teleport, disconnect, relogin, or shutdown. Do not run an unbounded rebake loop.Required diagnostics
AgentSetAppearanceserial, simulatorAvatarAppearanceacknowledgement, retry/rebake number, elapsed time, and final state.AvatarAppearancedata (valid required baked texture IDs/visual parameters and expected COF version), not merely from a successful local method return.Camera/view verification
Run two authenticated agents. After the target agent reports appearance ready, use the observing agent's bounded camera tool to frame the target avatar from multiple angles. The scene renderer must include avatar appearance and attachments rather than the current simple resident proxy; renderer issue #136 covers that fidelity work.
Before closing this bug, attach to this issue:
Include non-secret timing and appearance-state metadata with the attachments. Text logs alone do not satisfy visual acceptance.
Acceptance criteria
busystuck.No implementation is part of this issue creation pass.
Implemented and pushed as
5a533df.Completion review against the issue:
Verification:
Evidence: