Zaktualizowana mapa mikro-animacji Swoosh

Pełna mapa uwzględniająca nowe funkcje: multi-account, search, swipe-to-dismiss, galeria, stats, preview. Ekspresyjny styl.

📋 Feed Screen 12
FAB wejście SPRING
Scale 0→1 z overshoot przy otwarciu feedu. Znika gdy search aktywny.
FAB press SPRING
Kurczy się do 85% na tap, sprężyście wraca. BouncyQuick — kończy przed nawigacją.
Karty — staggered wejście SLIDE
Kaskadowe slide-in od dołu, 50ms delay. Tylko initial load, max 8 kart. Tracking via mutableStateMapOf.
"Show more" expand SPRING
AnimatedContent z expandVertically/shrinkVertically. Sprężysta zmiana wysokości.
Empty state FADE
Fade-in + scale 0.9→1.0. Dotyczy wszystkich empty state'ów (connection error, filter empty, search no results).
Queue status chip BOUNCE
Puls podczas uploadu. Bounce + color crossfade na zmianę statusu. Shake na FAILED.
Snackbar SLIDE
Slide-in od dołu z overshoot (error snackbar + pin/unpin confirmation).
Search bar SLIDE NEW
SearchTopBar wjeżdża od góry z fade. Zamknięcie — reverse. Focus z delay.
Filter chips FADE NEW
Chips bar fade-in/out przy przełączeniu search. Już ma animateColorAsState — rozszerzyć o wejście.
Account switcher SLIDE NEW
ModalBottomSheet ma domyślną animację — dodać staggered wejście account items.
Pinned section header FADE NEW
Header "📌 Pinned" — fade-in z slide gdy pojawiają się pinned posty.
Account switch overlay FADE NEW
Crossfade "Switching account..." — płynne przejście z fade + scale spinner.
✏️ Composer Screen 9
Image grid preview SCALE
Nowe zdjęcia scale-in z bounce. Usunięcie — scale-out z fade. Cały ImageGridPreview.
Link preview card SLIDE
Slide-up + fade po załadowaniu. Pulsing placeholder zamiast LinearProgressIndicator.
Schedule chip SPRING
Pop-in z bouncy spring po wybraniu daty.
Publish button BOUNCE
Bounce na aktywację. Loading pulse. Checkmark scale-in na success.
Character counter color FADE
Trzy-stopniowy color crossfade: neutral → tertiary (280) → error (500).
Action buttons SCALE
Kaskadowy scale-in: Publish → [Draft, Schedule]. Dopasowany do Column+Row layout.
Error text SLIDE
Slide-in z lewej + fade.
Hashtag chips SPRING NEW
Extracted tags FlowRow — staggered scale-in chipów gdy tagi się pojawiają.
Edit/Preview tabs FADE NEW
Crossfade między edit mode a preview mode. Płynne przejście contentu.
📖 Detail Screen 5
Content reveal FADE
Sekwencyjne: status → tekst → tagi → galeria → link → stats. 80ms delay each.
Status badge SPRING
Scale-in z bounce — pierwszy element w sekwencji.
Delete dialog SCALE
AnimatedDialog — scale z centrum + backdrop fade.
PostStatsSection SLIDE
Slide-up jako ostatni w sekwencji. Expand/collapse już animowane.
Pin toggle feedback BOUNCE NEW
Ikona pina bouncy rotate przy toggle. Zmiana filled↔outlined z crossfade.
⚙️ Settings Screen 3
Account card FADE NEW
Card z current account — fade-in + subtle scale przy wejściu na ekran.
Disconnect confirm SCALE
AnimatedDialog z scale-in. Nowe zachowanie: dialog przed disconnect.
Theme chip selection SPRING NEW
Bouncy scale pulse na wybranym theme chipie (System/Light/Dark).
📊 Stats Screen 3 NEW
Stats cards wejście SCALE NEW
4 StatsCards — staggered scale-in z bounce. Efekt "odliczania" statystyk.
Writing stats reveal SLIDE NEW
OutlinedCard slide-up z fade po cards. Kaskadowe pojawienie WritingStatRows.
Number count-up FADE NEW
Wartości liczbowe animowane od 0 do docelowej (animateIntAsState). Subtelne ale efektowne.

🎛️ SwooshMotion — wspólne parametry

Bouncy
damping=0.65, stiff=400
→ FAB, chipy, badges
BouncyQuick
damping=0.7, stiff=1000
→ press feedback
Snappy
damping=0.7, stiff=800
→ expand, dialogi
Gentle
damping=0.8, stiff=300
→ karty, reveal
Quick
200ms FastOutSlowIn
→ fade, color
ReducedMotion
Checks ANIMATOR_DURATION_SCALE
→ snap() fallback

🔀 Przejścia nawigacyjne — 8 tras

Podsumowanie: 32 animacje + 8 przejść nawigacyjnych.
Nowe pliki: SwooshMotion.kt, AnimatedDialog.kt, PulsingPlaceholder.kt (3 pliki)
Modyfikowane: FeedScreen, ComposerScreen, DetailScreen, SettingsScreen, StatsScreen, NavGraph (6 plików)
12 nowych animacji względem pierwotnego planu (zielone NEW), wynikające z nowych funkcji aplikacji.