The Animation Debugger provides real-time information about the current animation state, making it easier to understand and modify the complex scene transitions.
- Keyboard Shortcut: Press
Ctrl + D(Windows/Linux) orCmd + D(Mac) - The debugger overlay will appear in the top-right corner of the screen
- Note: Only available in development mode (
yarn dev)
- Current Time: Current scroll position in milliseconds
- Total Duration: Total animation duration (8200ms)
- Progress Bar: Visual representation of overall progress
- Scene Name: Which narrative phase is currently active
- Scene Progress: How far through the current scene you are
- Scene Emojis: Visual indicators for each scene type
- Element List: All CSS selectors currently being animated
- Count: Total number of active animations
- Truncated Display: Shows first 8 elements to avoid overflow
- All Scenes: Complete timeline with start/end times
- Status Indicators:
▶️ Currently active scene- ✅ Completed scenes
- ⏳ Upcoming scenes
| Scene | Time Range | Description | Emoji |
|---|---|---|---|
| DESK | 10-800ms | Drawing workspace elements | 🖥️ |
| FREELANCE | 800-1200ms | Transition to freelance work | 🏠 |
| COMPANY | 1200-1600ms | Corporate work phase | 🏢 |
| FOUNDER | 1600-1800ms | Starting own company | 🚀 |
| FRAME | 1800-2500ms | Landscape and environment | 🖼️ |
| LIGHTS OFF | 4300-6300ms | Dramatic lighting effects | 🌙 |
| CONTACTS | 6100-8400ms | Terminal interfaces | 💻 |
- Use the debugger to see which scene is active
- Check which elements are currently animating
- Note the current time position
- Scene timing is defined in
SCENE_TIMINGobject intransitions.js - Individual animation timing can be found in the respective generator functions
- Look for DEBUG comments in the code for timing details
- Create new animation functions following the existing patterns
- Add them to the main
createTransitions()function - Use the debugger to verify they appear at the right time
- If an animation isn't working, check if its selector appears in Active Animations
- Use browser DevTools Console for additional logging
- The debugger tracks all style applications in real-time
- The debugger updates every 100ms to avoid performance issues
- It only tracks elements that have active style changes
- Toggle off when not needed to reduce overhead
- Automatically excluded from production builds for optimal performance
The debugger is conditionally integrated with:
transitions.js- Dynamic import and initialization (development only)tickFunction.js- Conditional debugger updates (development only)animationDebugger.js- Full implementation with production stub
- Start with Overview: Use the timeline to understand the scene flow
- Focus on Active Elements: Look at which selectors are currently animating
- Time-based Changes: Use current time to understand when things happen
- Scene-based Grouping: Animations are logically grouped by narrative scene
- Console Logging: Additional debug info is available in browser console
Happy debugging! 🎉