npm installnpm run devThis opens the app automatically at http://localhost:3001 with hot module reloading enabled.
npm run buildCreates a /dist folder with your production-ready app.
# Development - start local server with HMR
npm run dev
# Production build - creates /dist folder
npm run build
# Preview production build locally
npm run preview
# Lint code
npm run lint- Wave Animations: Beautiful animated wave patterns
- Particle System: Interactive particles with gravity wells
- Real-time Effects:
- Particle evolution with color harmonics
- Wave breathing animations
- Energy cascades and shockwaves
- Chromatic aberration effects
- Distortion fields
- Performance: 60+ FPS with real-time FPS monitor
├── src/
│ ├── App.tsx # Main component
│ ├── main.tsx # React entry point
│ ├── index.css # Global styles
│ ├── components/ # React components
│ ├── hooks/ # Custom hooks
│ ├── context/ # React Context
│ ├── config/ # Configuration
│ ├── types/ # TypeScript types
│ └── utils/ # Utilities
├── index.html # HTML entry point
├── vite.config.ts # Vite configuration
├── tsconfig.json # TypeScript config
└── package.json # Dependencies
Changes to .tsx, .ts, and .css files automatically reload in the browser without losing state.
Full TypeScript support with strict mode enabled. IDE autocomplete works out of the box.
Use @/ to import from the project root:
import { WaveParticles } from '@/components/WaveParticles'
import { useTheme } from '@/hooks/useTheme'Tailwind CSS is pre-configured with dark mode support. All CSS is compiled at build time to static files.
# Connect your repo to Vercel
# It auto-detects Vite and deploys the /dist foldernpm run build
# Upload contents of /dist folder to:
# - Netlify, GitHub Pages, AWS S3, etc.docker build -t wave-particle .
docker run -p 3000:80 wave-particleIf port 3001 is in use, edit vite.config.ts:
server: {
port: 3002, // Change to any available port
}Ensure imports use the @/ alias:
// ✅ Correct
import { Button } from '@/components/Button'
// ❌ Wrong
import { Button } from '../components/Button'Make sure src/index.css is imported in src/main.tsx:
import './index.css' // This line must be present- Check
README.mdfor detailed documentation - See
MIGRATION_GUIDE.mdfor Next.js to React migration details - Review the browser console for error messages
- Clear cache:
rm -rf dist node_modules && npm install
The Wave Particle System includes:
- Real-time canvas rendering with optimized drawing
- Particle physics with gravity and collision
- Wave generation with multiple frequencies
- Color harmonics based on particle density
- Context-based state for particle system management
Happy coding! 🚀