[Windows app] v2 custom pet idle animation is continuously overridden by lookFrame
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 58/100
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
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
- Install a valid custom v2 pet with an 8x11 atlas and
spriteVersionNumber: 2. - Give the idle row several visibly different frames (for example: blink, sit, groom, return to standing).
- Select the custom pet and restart Codex.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from openai/codex
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
bug CLI windows-os
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
macOS sandbox blocks hw.optional.arm64 sysctl, causing Flutter to misdetect Apple Silicon as x64 Openbug CLI sandbox
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug CLI TUI
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
CLI config enhancement skills
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
A-linter
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
oxc-project/oxc#26863 ·