# screen-shake — Screen Shake Effect

Camera shake for impact feedback — explosions, match failures, boss attacks, hard landings.

## Presets

| Preset | Intensity | Duration | Use Case |
|--------|-----------|----------|----------|
| `micro` | 3px | 150ms | Soft button tap |
| `small` | 6px | 200ms | Item pickup, coin collect |
| `medium` | 10px | 300ms | Match combo, hit feedback |
| `large` | 20px | 500ms | Explosion, level fail |
| `boss` | 35px | 800ms | Boss attack, catastrophic event |

## Parameters

| Parameter | Default | Description |
|-----------|---------|-------------|
| `intensity` | 8 | Shake amplitude in pixels |
| `duration` | 300ms | Shake duration |
| `decay` | 0.9 | Per-frame decay factor (closer to 1 = longer tail) |
| `frequency` | 20 | Oscillations per second |

## Decision Notes

| Decision | Reason |
|----------|--------|
| Decay-based over fixed amplitude | Natural shake feels organic; linear doesn't |
| Camera shake > entity shake | Shaking individual entities creates sync issues in multi-entity scenes |
| 300ms default | Long enough to feel impactful, short enough to not interrupt gameplay |
