# Usage Guide ## Quick Start 1. Open [index.html](index.html) in your browser 2. Press `H`, `?`, or `/` to see keyboard controls (or tap the `?` button on mobile) 3. Use URL parameters to configure the page 4. On mobile: Tap any kbd button in the help window to trigger that action ## URL Parameters Reference ### Background Configuration **bg** - Background animation state - `static` - Static gradient (no animation) - `animated` - Animated gradient (default) **gradient** - Gradient type - `linear` - Linear gradient (default) - `radial` - Radial gradient - `conic` - Conic gradient **palette** - Color palette theme - `default` - Purple, pink, and blue tones (default) - `blue-yellow` - Ocean sunset with deep blues and golden yellows - `dark` - Deep space with moody dark tones - `light` - Pastel dream with soft colors - `fire` - Vibrant warm colors (red, orange, yellow) - `nature` - Fresh natural tones (green, teal) ### Logo Configuration **logo** - Logo animation state - `static` - No animations - `animated` - Element animations only - `full` - Full-body + element animations (default) **logoAnim** - Full-body logo animation - `shake` - Gentle shaking motion - `rotate` - Continuous rotation - `tilt` - 3D tilting effect - `interactive` - Logo follows cursor (desktop) or device orientation (mobile) - `mixed` - Auto tilt animation that becomes interactive on movement (default) - `all` - All animations combined **elementAnim** - Internal SVG element animation - `neon` - Neon blinking effect - `color` - Color changing animation - `explosion` - Explosion/implosion effect - `fly` - Paths fly out and return - `all` - All animations combined (default) ### Performance Configuration **speed** - Animation speed multiplier - Range: `0.1` (very slow) to `5` (very fast) - Default: `1` (normal speed) - Examples: `0.5` (half speed), `2` (double speed), `3` (triple speed) ## Example URLs ### Minimal Animation ``` index.html?bg=static&logo=static ``` ### Neon Effect Only ``` index.html?bg=animated&gradient=radial&logo=animated&elementAnim=neon ``` ### Full Chaos Mode ``` index.html?bg=animated&gradient=conic&logo=full&logoAnim=all&elementAnim=all ``` ### Gentle Rotation ``` index.html?bg=animated&gradient=linear&logo=full&logoAnim=rotate&elementAnim=color ``` ### Explosion Effect ``` index.html?bg=static&gradient=radial&logo=animated&elementAnim=explosion ``` ### Slow Motion ``` index.html?speed=0.5 ``` ### Fast Mode ``` index.html?speed=2.5&logoAnim=all&elementAnim=all ``` ### Ultra Slow Chaos ``` index.html?speed=0.25&bg=animated&gradient=conic&logo=full&logoAnim=all&elementAnim=all ``` ### Color Palettes ``` index.html?palette=blue-yellow index.html?palette=dark index.html?palette=fire&logoAnim=all index.html?palette=nature&gradient=radial ``` ### Interactive Mode ``` index.html?logoAnim=interactive ``` ### Mixed Mode (Default) ``` index.html?logoAnim=mixed ``` ## Keyboard Controls While on the page, you can use these keys to change settings in real-time: - `B` - Toggle background animation (animated ↔ static) - `G` - Cycle gradient types (linear → radial → conic) - `P` - Cycle color palettes (default → blue-yellow → dark → light → fire → nature) - `L` - Cycle logo states (static → animated → full) - `A` - Cycle logo body animations (shake → rotate → tilt → interactive → mixed → all) - `E` - Cycle element animations (neon → color → explosion → fly → all) - `+` or `=` - Increase animation speed (+0.25x) - `-` or `_` - Decrease animation speed (-0.25x) - `0` - Reset speed to 1x - `R` - Reset all to default configuration - `H`, `?`, or `/` - Show help dialog - `ESC` - Close help dialog **Mobile Users:** Tap any kbd button in the help window to trigger that keyboard shortcut. **Note:** A liquid glass toast notification will appear showing your current configuration when you change settings. ## Mobile Features ### Touch Controls - Tap the `?` button at bottom-right to open help window - Tap any kbd button in help to trigger that keyboard shortcut - Touch-friendly larger buttons on small screens ### Gyroscope Support - Interactive and mixed modes use device orientation on mobile - Logo tilts based on how you tilt your phone/tablet - ±35° tilt range for dramatic movement - iOS 13+ requires permission (automatically requested) ### Responsive Design - Logo sized at ~60% of screen height for visibility - Mobile-first unified viewBox approach - Same great experience on all screen sizes - Optimized touch targets ## Performance Tips 1. **Reduced Motion**: The page respects `prefers-reduced-motion` system settings 2. **Browser Compatibility**: Best viewed in modern browsers (Chrome, Firefox, Safari, Edge) 3. **Mobile Browsers**: Fully supported on iOS Safari and Chrome Mobile 4. **Performance**: All animations use CSS transforms and opacity for 60fps performance 5. **Hardware Acceleration**: GPU-accelerated animations for smooth playback ## Customization ### Using Color Palettes The easiest way to change colors is using the built-in palettes via URL parameter or P key: ``` ?palette=blue-yellow # Ocean sunset theme ?palette=fire # Warm red/orange/yellow ?palette=nature # Green/teal natural tones ?palette=dark # Deep space dark theme ?palette=light # Soft pastel colors ``` ### Creating Custom Palettes Add a new palette class in [css/styles.css](css/styles.css): ```css .palette--custom { --gradient-color-1: #your-color-1; --gradient-color-2: #your-color-2; --gradient-color-3: #your-color-3; --gradient-color-4: #your-color-4; } ``` Then use `?palette=custom` in the URL. ### Changing Animation Speed Edit the timing variables in [css/styles.css](css/styles.css:10-16): ```css :root { --gradient-duration: 15s; --logo-shake-duration: 3s; --logo-rotate-duration: 8s; --logo-tilt-duration: 4s; --neon-duration: 2s; --color-change-duration: 5s; --explosion-duration: 3s; } ``` ### Changing Logo Size Logo size is controlled via the SVG viewBox for optimal mobile-first responsive design. To adjust, edit the viewBox in [js/app.js](js/app.js): ```javascript function setupViewBox() { const logo = elements.logo; // Smaller viewBox = larger logo (510 logo units / 900 viewBox = ~57% screen) logo.setAttribute('viewBox', '-200 -200 900 900'); } ``` For example: - `viewBox="-200 -200 900 900"` - Logo at ~57% (current) - `viewBox="-300 -300 1100 1100"` - Logo at ~46% - `viewBox="-100 -100 700 700"` - Logo at ~73% ## Troubleshooting ### Animations not working - Check browser console for errors - Verify JavaScript is enabled - Try a different browser - Check if reduced motion is enabled in system settings ### Page looks broken - Clear browser cache ### Slow performance - Try simpler animation combinations - Reduce animation speed in CSS or use `?speed=0.5` - Use static background: `?bg=static` - Use simpler logo animations: `?logoAnim=tilt` - Close other browser tabs - Disable element animations: `?elementAnim=neon` or `?logo=animated&logoAnim=mixed` ### Interactive mode not working on mobile - Grant gyroscope permission when prompted (iOS 13+) - Try tilting your device more dramatically (±35° range) - Check if device has gyroscope sensor - Fallback to cursor mode if gyroscope unavailable ### Help button not visible - Check bottom-right corner of screen - Button is always positioned at bottom on all devices - Try refreshing the page if it's missing