An interactive animated grid pattern visualization built with React and Vite. This demo creates block-wave patterns that travel horizontally across a grid with configurable parameters.
- Animated Wave Patterns: Multiple seeds generate block-waves that travel horizontally with row-based phase offsets
- Interactive Controls: Adjust rows, columns, animation speed, block width, phase offset, and custom seed positions
- Real-time Configuration: Modify pattern parameters while the animation is running
- Pattern Operations: Start/stop animation, randomize grid, or clear to reset
- Visual Feedback: Color-coded intensity levels with smooth transitions
pattern-demo/
├── src/
│ ├── App.jsx # Main application component with UI controls
│ ├── pattern.jsx # Pattern generation logic and grid utilities
│ ├── main.jsx # Application entry point
│ ├── index.css # Global styles
│ ├── App.css # Component-specific styles
│ └── assets/ # Static assets
├── public/ # Public assets
├── index.html # HTML template
├── vite.config.js # Vite configuration
├── eslint.config.js # ESLint configuration
└── package.json # Project dependencies
- Node.js (v16 or higher recommended)
- npm or pnpm
npm install
# or
pnpm installnpm run dev
# or
pnpm devOpen your browser and navigate to the local development URL (typically http://localhost:5173).
npm run build
# or
pnpm buildnpm run preview
# or
pnpm preview- Rows/Cols: Grid dimensions (5-80 rows, 5-160 columns)
- MS / Tick: Animation speed in milliseconds per frame (minimum 20ms)
- Speed: Phase progression per tick (affects wave travel speed)
- Block Width: Width of each wave block
- Phase: Row offset amount (creates diagonal wave effect)
- Seeds: Custom starting positions for waves (comma-separated list)
- React 19: UI framework
- Vite: Build tool and dev server
- Bootstrap 5: UI styling
- ESLint: Code linting
For patterns that closely match the reference video, try:
- Block Width: 4
- Phase: 2
- Adjust Speed and MS/Tick to your preference