[Windows app] v2 custom pet idle animation is continuously overridden by lookFrame

Open
#35,442 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
58/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
rust
Domain
desktop

Research direction

Start in the current desktop renderer at the avatar path where lookFrame is passed during idle, running, and waving states. Reproduce with the described custom v2 pet, then verify that pointer inactivity allows the idle row to loop while directional frames still work during active states.

Written by the indexing model from the issue text.

Description

app bug pets windows-os
Summary

Custom v2 pets in the Codex desktop floating avatar overlay do not play their idle animation. A non-null lookFrame appears to continuously override the idle animation row, leaving the pet visually static.

Steps to reproduce
  1. Install a valid custom v2 pet with an 8x11 atlas and spriteVersionNumber: 2.
  2. Give the idle row several visibly different frames (for example: blink, sit, groom, return to standing).
  3. Select the custom pet and restart Codex.
  4. Leave the pet idle without running a task.
Expected behavior

After the pointer has remained stationary for a short period, the idle row should loop so the pet can blink, breathe, wag its tail, or occasionally groom.

Actual behavior

The pet remains on a static directional-looking frame. The atlas validates successfully and its idle preview animates correctly outside Codex, but the floating overlay does not play it.

Suspected cause

In the current desktop renderer, lookFrame is passed to the avatar during idle, running, and waving states. When lookFrame remains non-null, it takes precedence over the state animation. Clearing lookFrame after pointer inactivity, or allowing the idle animation to take priority after a timeout, should restore idle motion.

Environment
  • Codex desktop app on Windows
  • Windows build: 10.0.26200.0
  • Custom pet format: v2, 1536x2288 WebP atlas, spriteVersionNumber: 2
  • Reproduced with a newly installed cache-busting pet ID and after restarting Codex
Additional validation
  • The installed atlas matches the generated atlas by SHA-256.
  • The idle row contains multiple distinct non-empty frames.
  • The v2 atlas dimensions, transparency, look-direction rows, and manifest validate without errors.
Dominant language
Rust
Stars
125k
Forks
19.5k
Avg merge
1m
Merged PRs (30d)
1k

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.