Fix fruits falling through the floor by replacing single-step physics
with fixed-timestep sub-stepping (16.67ms steps, max 5 per frame).
Add escaped-body cleanup as safety net. Tune physics constants for
better feel (higher density, more bounce, less float).
Update fruit radii to match the community-standard ratios (TomboFry/
moonfloof clones) scaled to our 400px container. Update colors to
match real fruit appearances. Fix "Grapes" → "Grape" per wiki.
Add CLAUDE.md with architecture overview and dev commands for future
Claude Code sessions. Update README with tech stack, project structure,
and how-to-play instructions. Add spec for fixing collision physics
tuning issues.
Browser-based physics puzzle game where players drop fruits that merge
into larger fruits on collision, using Matter.js for 2D physics and
Canvas2D for rendering. Includes 11-fruit progression chain, scoring,
game-over detection, mouse/touch input, and Vitest test suite.
Phaser's game.destroy() calls shutdown() on scenes, not destroy().
The old destroy() override was never called, causing stale event
listeners to persist and throw errors in React StrictMode.
Move all PowerShell functions to ~/Documents/PowerShell/alias.ps1
and source it from $PROFILE, keeping the profile clean and aliases
easy to manage independently.
Replace bash aliases with Windows PowerShell functions, adding
zclaude as the primary command for launching Claude via Z.ai
with GLM-5 model and custom API endpoint configuration.
- Bootstrap Next.js 15 project with TypeScript, Tailwind, and App Router
- Build full quiz with 5 pop culture questions mapping to 3 personalities
- Implement percentage-based results display with ranked breakdown
- Apply warm/cozy earthy palette inspired by Claude homepage aesthetic
- Components: QuizQuestion, QuizResults with hover states and progress bar
- Define 3 personality-to-coffee pairings (Zen Minimalist, Night Owl, Social Butterfly)
- Add percentage-based result display spec
- Add 5 pop culture quiz questions with personality mappings
- Generate 4 distinct style preview HTML files for visual direction
- Document warm/cozy + Claude homepage aesthetic as chosen style
Analyzed all 10 historical loyalty campaigns using parallel agents.
Key finding: every campaign was purely transactional — none created
emotional connection or identity for members.