Conversation
Hidden mini-game accessible via Konami code (↑↑↓↓←→←→BA) or triple-clicking the settings gear icon. Features a canvas-based platformer with Wapuu as the player character, enemies, collectibles, pits, and a goal flag. Best score is persisted to app.json and displayed in Settings → Account. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Synthesized 8-bit-style sounds for jump, collect, stomp, hit, die, and win events using the Web Audio API. No external files needed — sounds are generated programmatically and can be swapped for real audio files later. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…d-timestep game loop - Add wapuu player sprites (idle/walk), Gutenberg enemy sprite, coin v2 - Add parallax far/near background layers with zoom and bottom-alignment - Add animated water in pits, lowered surface by 1/3 - Fix game loop to fixed 60fps timestep (independent of display refresh rate) - Fix tile gap rendering with floored cameraX and 1px tile overlap - Fix player animation: idle/walk sprite switching based on vx, no oscillation - Add idleTimer field to Player entity - Enemy sprites flip horizontally based on movement direction Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Documents the OpenAI → Unfaker → Piskel workflow for generating pixel art sprites. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… 32px Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Move src/components/easter-egg/ → src/modules/wapuu-world/ - Move src/assets/easter-egg/ → src/modules/wapuu-world/assets/ - Move src/hooks/use-konami-code.ts → src/modules/wapuu-world/use-konami-code.ts - Rename EasterEggGame.tsx → wapuu-world-game.tsx, export WapuuWorldGame - Rename Redux state/actions: isEasterEggOpen → isWapuuWorldOpen, openEasterEgg → openWapuuWorld, closeEasterEgg → closeWapuuWorld - Update all imports in app.tsx and top-bar.tsx Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 90s countdown shown in HUD (turns orange at ≤30s, red at ≤10s) - Timeout triggers game over - Remaining seconds × 10 added to win score (max score now 2750) - Start screen shown on open with 3s auto-start countdown - Enemies animate in background during start screen - Press Space or Enter to skip countdown Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove emoji from canvas title to fix centering (monospace emoji width is inconsistent) - Match death screen layout and overlay opacity - Auto-start delay changed from 3s to 5s Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Ha, thanks!
I see that now, I tried with other elements, but with the sidebar toggle, it didn't work great. I reduced it to 200ms for now. |
📊 Performance Test ResultsComparing 30d1c45 vs trunk app-size
site-editor
site-startup
Results are median values from multiple test runs. Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff) |
sejas
left a comment
There was a problem hiding this comment.
I tested it again and it works good. The settings button delay is much smaller.
I also created this PR for you to consider: #3287
- It changes the three clicks by a long click. That way we can avoid adding any delay
- It loads de sprite images only when the easter egg starts and it doesn't add any memory/time to loading the app or the settings modal.
|
@sejas, I also tested and built the artifact on Mac and Windows, and everything worked fine. |
- `media-streamer.test.ts`: `RemoteSessionLogger`'s constructor signature changed in trunk (#3282) from `(logPath: string)` to `(options: RemoteSessionLoggerOptions)`. Update the five test call sites to use `{ logPath: '/dev/null' }`. - `top-bar.tsx`: drop unused `useEffect`, `useRef`, `useAppDispatch`, and `openWapuuWorld` imports (leftover from #3270).
Related issues
How AI was used in this PR
Built entirely with Claude Code. Sprite art created via OpenAI image generation, then manually edited in Preview → Unfaker → Piskelapp pipeline (documented in
SPRITES.md). Code was written and iterated through conversation, with extensive testing and debugging.Proposed Changes
Adds a hidden Mario-style platformer Easter egg accessible via:
Features:
app.json, displayed in Settings → Account with a progress bar and link to wapuu.studiosrc/modules/wapuu-world/Testing Instructions
npm startPre-merge Checklist
🤖 Generated with Claude Code