npm run dev- Grid View: See all personas in equal-sized tiles
- Speaker View: Watch as the active speaker takes center stage
- Animations: Notice breathing, blinking, and lip-sync movements
- Click Settings → Avatar Generation → Generate placeholder avatars
- Click Settings → Accessibility → Enable reduced motion if needed
- Click the 🎬/📊 button in header to toggle layout modes
Every persona now has lifelike animations:
- 🫁 Breathing: Subtle chest movement
- 👁️ Blinking: Random eye blinks every 2-6 seconds
- 🗣️ Lip-Sync: Mouth moves with speech
- 💫 Micro-movements: Slight body sway and head tilt
Two dynamic modes that switch automatically:
- 🎬 Speaker Mode: Large speaker + small thumbnails (when someone talks)
- 📊 Grid Mode: Equal tiles for everyone (when idle or asking questions)
Generate alternative avatars based on persona descriptions:
- 🎨 Placeholder: Instant generation (no API key needed)
- 🤖 AI Ready: DALL-E and Stable Diffusion support (coming soon)
| Action | How To |
|---|---|
| Toggle Layout | Click 🎬/📊 button in header |
| Skip Speaker | Click "Skip ⏭" button (appears when speaking) |
| Play Intro | Click 🎤 button on any persona |
| Open Settings | Click "Settings" button in header |
| Generate Avatars | Settings → Avatar Generation → Generate |
| Reduce Motion | Settings → Accessibility → Enable checkbox |
┌─────────────────────────────────────┐
│ │
│ [Large Speaker] │
│ Name & Bio │
│ Model Badge │
│ │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ [👤] [👤] [👤] [👤] ← Thumbnails │
└─────────────────────────────────────┘
┌──────────┬──────────┬──────────┐
│ [👤] │ [👤] │ [👤] │
│ Name │ Name │ Name │
│ Badge │ Badge │ Badge │
├──────────┼──────────┼──────────┤
│ [👤] │ [👤] │ │
│ Name │ Name │ │
│ Badge │ Badge │ │
└──────────┴──────────┴──────────┘
- ✅ Breathing motion (3s cycle)
- ✅ Random blinking (2-6s intervals)
- ✅ Lip-sync with audio
- ✅ Speaking glow effect
- ✅ Micro-movements (sway, tilt)
- ✅ Auto-switch on speaking
- ✅ Manual toggle available
- ✅ Smooth transitions
- ✅ Responsive design
- ✅ Dark professional theme
- ✅ Reduced motion support
- ✅ System preference detection
- ✅ Manual toggle
- ✅ Keyboard navigation
- ✅ Screen reader friendly
- Check if "Reduce motion" is enabled in Settings
- Verify browser supports CSS animations (Chrome 90+, Firefox 88+, Safari 14+)
- Ensure TTS is working (audio must play for amplitude detection)
- Check browser console for errors
- Check internet connection (placeholder service requires internet)
- Try clicking "Generate" button again
- Speaker mode: Large speaker + vertical thumbnail strip
- Grid mode: 3-column grid
- Speaker mode: Large speaker + horizontal thumbnail strip
- Grid mode: 2-column grid
- Enable GPU Acceleration: Already enabled by default
- Reduce Motion: Enable if experiencing lag
- Close Other Tabs: For best performance
- Use Modern Browser: Chrome/Edge recommended
App.tsx
├── VideoConferenceLayout.tsx
│ ├── AnimatedAvatar.tsx (Speaker)
│ └── AnimatedAvatar.tsx (Thumbnails/Grid)
└── Settings Panel
└── Avatar Generation Controls
src/components/AnimatedAvatar.tsx- Avatar animationssrc/components/VideoConferenceLayout.tsx- Layout logicsrc/services/avatarGenerator.ts- Avatar generationsrc/styles.css- Video conference styles
layoutMode: 'speaker' | 'grid'audioAmplitudes: Record<string, number>generatedAvatars: Record<string, string>reduceMotion: boolean
- Start app → Grid mode shows all personas
- Ask: "What are the ethical concerns with GeoAI?"
- Personas respond one by one
- Layout auto-switches to speaker mode for each
- Watch lip-sync and animations
- Open Settings
- Enable "Use AI-generated placeholder avatars"
- Click "Generate Placeholder Avatars"
- Watch as avatars update with colorful alternatives
- Open Settings
- Enable "Reduce motion"
- Notice animations stop
- Functionality remains intact
- Full Documentation: See
VIDEO_CONFERENCE_FEATURES.md - Implementation Details: See
IMPLEMENTATION_SUMMARY.md - Architecture Diagram: Rendered in implementation summary
You now have a fully immersive video conference experience with:
- 🎭 Lifelike animated avatars
- 🎬 Intelligent layout switching
- 🗣️ Real-time lip-sync
- 🎨 AI avatar generation
- ♿ Full accessibility support
Have fun exploring the GeoAI MetaPanel!
Version: 1.0.0
Last Updated: 2025-10-15
Status: Production Ready ✅