### Summary The Codex Desktop `/pet` overlay opens and activity bubbles render, but the pet/avatar sprite itself is invisible. This happens with built-in pets and custom pets, survives clearing pet state/cache, and still reproduces after reinstalling Codex Desktop. ### Environment - App: Codex Desktop - Version: 26.429.30905 - Build: 2345 - Bundle ID: com.openai.codex - macOS: 26.4.1 (25E253) - Display setup: multi-monitor; Codex window has been moved between displays during testing ### Steps to Reproduce 1. Open Codex Desktop. 2. Run `/pet` or otherwise wake the pet. 3. Observe the overlay/activity bubbles. 4. Try selecting a built-in pet, e.g. `Codex`. 5. Restart Codex and try `/pet` again. ### Expected Behavior The pet/avatar sprite should be visible and draggable, with activity bubbles appearing near it. ### Actual Behavior Only the activity bubbles are visible. The pet/avatar sprite is not visible at all, so it cannot be dragged directly. The overlay appears to exist and persists bounds, but the mascot sprite layer does not paint. ### Troubleshooting Already Tried I tried the following, and the issue still reproduces: - Selected a built-in/default pet instead of a custom pet. - Validated custom pet assets separately. - Deleted/reset `electron-avatar-overlay-bounds` from `~/.codex/.codex-global-state.json`. - Removed/reset these avatar state keys: - `selected-avatar-id` - `electron-avatar-overlay-open` - `electron-avatar-overlay-bounds` - Moved `~/.codex/pets` out of the way so custom pets cannot be involved. - Cleared/moved Electron renderer/GPU caches: - `~/Library/Application Support/Codex/Cache` - `~/Library/Application Support/Codex/Code Cache` - `~/Library/Application Support/Codex/GPUCache` - `~/Library/Application Support/Codex/DawnGraphiteCache` - `~/Library/Application Support/Codex/DawnWebGPUCache` - `~/Library/Application Support/Codex/blob_storage` - Fully quit/restarted Codex. - Deleted and reinstalled Codex Desktop. - Tried waking the pet again after reinstall. ### Additional Observations - Activity bubbles render and move, so the overlay window is not completely broken. - The issue is not limited to custom pets; built-in pets are also invisible. - At one point, moving the main Codex window to another display left the pet activity bubbles on the previous display. - Accessibility/window inspection suggested a very small visible/hit target associated with the pet/badge, but not the full avatar sprite. - After reset/reinstall, current state regenerated with: - `selected-avatar-id`: `codex` - `electron-avatar-overlay-open`: `true` - `electron-avatar-overlay-bounds`: present ### Suspected Area This looks like the avatar/mascot sprite layer is failing to render, while the notification tray/activity bubble layer renders normally. It may be related to the CSS/background-image rendering for the avatar sprite, GPU/compositor behavior, or overlay window rendering on macOS multi-display setups. ### Workaround No workaround found. Clearing pet state, clearing renderer caches, switching pets, restarting, and reinstalling did not restore the pet sprite.