## Mapa mikro-animacji Swoosh

19 animacji + 5 przejść nawigacyjnych. Ekspresyjny styl: sprężynki, bounce, overshoot.

📋 Feed Screen — 7 animacji
FAB wejście SPRING
Przy otwarciu ekranu FAB skaluje się z 0 do 1 z wyraźnym overshootem — "wyskakuje" na ekran
FAB press SPRING
Przy tapnięciu kurczy się do 85% i sprężyście wraca do 100%. Czujesz "klik"
Karty postów wejście SLIDE
Karty wjeżdżają od dołu kaskadowo — każda z 50ms opóźnieniem. Efekt "wodospadu"
"Show more" expand SPRING
Karta rozszerza się sprężyście (animateContentSize). Tekst wchodzi z fade
Empty state FADE
Ikona i tekst "No posts yet" fade-in + delikatny scale z 0.9 do 1.0
Queue status chip BOUNCE
Podczas uploadu chip pulsuje. Przy zmianie statusu (success/fail) — bounce + zmiana koloru
Snackbar error SLIDE
Wjeżdża od dołu z lekkim overshootem. Znika z fade po timeout
✏️ Composer Screen — 6 animacji
Image preview SCALE
Po wybraniu zdjęcia — preview skaluje się z 0 z bouncy spring. Przycisk "X" rotuje wchodząc
Link preview card SLIDE
Po załadowaniu — karta wysuwa się od dołu z fade. Shimmer placeholder podczas ładowania
Schedule chip SPRING
Po wybraniu daty chip "wyskakuje" sprężyście. Ikonka zegara lekko się obraca
Publish button BOUNCE
Delikatny bounce przy aktywacji. Podczas publishingu — loading pulse. Po sukcesie — checkmark z scale-in
Character counter FADE
Płynna zmiana koloru (crossfade) przy przekroczeniu 280 znaków — neutral → czerwony
Action buttons SCALE
Rząd przycisków (Draft, Schedule, Publish) — kaskadowy scale-in z 50ms opóźnieniem
📖 Detail Screen — 4 animacje
Content reveal FADE
Elementy pojawiają się sekwencyjnie: status → tekst → obraz → metadata. Każdy z 80ms opóźnieniem
Status badge SPRING
Badge skaluje się z 0 z bounce — pierwszy element na ekranie, przyciąga uwagę
Delete dialog SCALE
Dialog skaluje się z centrum ekranu (0.8→1.0) + backdrop fade. Sprężyste wejście
Metadata sekcja SLIDE
Dolna sekcja z metadanymi wysuwa się od dołu — ostatnia w sekwencji reveal
⚙️ Settings Screen — 2 animacje
"Saved!" feedback SPRING
Zielony tekst "Saved!" wyskakuje z bounce (scale 0→1). Po 2s fade out
Disconnect dialog FADE
Analogicznie do delete — scale z centrum + backdrop. Przycisk "Disconnect" z lekkim czerwonym pulsem

### 🎛️ SwooshMotion — wspólne parametry

Bouncy
Spring: damping=0.55, stiffness=400
→ FAB, buttony, chipy
Snappy
Spring: damping=0.7, stiffness=800
→ expand/collapse, dialogi
Gentle
Spring: damping=0.8, stiffness=300
→ karty, content reveal
Quick
Tween: 200ms FastOutSlowIn
→ fade, color transitions

### 🔀 Przejścia nawigacyjne