Uh oh!
There was an error while loading. Please reload this page.
feat(tui): add terminal pet companion with CAVA audio visualizer - #24935
feat(tui): add terminal pet companion with CAVA audio visualizer#24935ZoeImport wants to merge 4 commits into
Conversation
Add interactive ASCII pet widget to TUI sidebar with: - Autonomous pet movement (walk/run left-right) - Weather system (sunny/rain/cloudy) affecting pet behavior - Pet hides or sleeps when raining, plays when sunny - CAVA audio spectrum visualizer (16-bar, 3-row display) - Audio level drives pet running speed - Ball physics for play mode - Real-time weather effects (rain drops) Components: - pet.tsx: Pet animation and behavior logic - spectrum.tsx: CAVA integration with fallback simulation - widgets.tsx: Container integrating pet + audio + stats The pet runs independently and responds to weather/audio dynamically.
- Replace 'bold' prop with <b> tags - Remove invalid 'key' prop from text elements - Fix closing tags in JSX
- Refactor pet widget with class-based architecture (PetStateMachine, PetLayoutRenderer) - Fix layout height stability (no more jittering from rain drops) - Place ball and pet on same horizontal line - Simplify CAVA to single-line spectrum display - Improve CAVA spawn with proper shell wrapper - Add comprehensive pet config examples
Thanks for updating your PR! It now meets our contributing guidelines. 👍 |
- anomalyco/opencode#24933 merge-after-nits: --file MIME detection fix - anomalyco/opencode#24935 request-changes: in-tree pet+CAVA bundle, ship as plugin only - openai/codex#20176 merge-after-nits: SessionSource via JSON deserialize is brittle - openai/codex#20178 merge-as-is: 1714-line obsolete adapter deletion
- Reduce CAVA widget from 3 lines to 1 line - Display format: ♪ [spectrum bars] [level%] - Minimizes terminal font rendering issues with block characters - More compact sidebar layout
Automated PR Cleanup Thank you for contributing to opencode. Due to the high volume of PRs from users and AI agents, we periodically close older PRs using automated criteria so maintainers can focus review time on the most active and community-supported contributions. This PR was closed because it matched the following cleanup criteria:
PRs created within the last month are not affected by this cleanup. If you believe this PR was closed incorrectly, or if you are still actively working on it, please leave a comment explaining why it should be reopened. A maintainer can review and reopen it if appropriate. Thanks again for taking the time to contribute. |
Issue for this PR
Closes#24937
Type of change
What does this PR do?
Adds an interactive ASCII pet companion to the TUI sidebar. The pet walks autonomously, responds to weather, and reacts to audio via CAVA.
Implementation:
Why it works:
Technical:
PetStateMachineclass for behavior logicPetLayoutRendererclass for positioningHow did you verify your code works?
Screenshots / recordings
Will add GIF showing pet movement, weather transitions, and CAVA response
Checklist