← ClaudeAtlas

compose-motionlisted

Jetpack Compose animation foundations - animate*AsState, AnimatedVisibility, Crossfade, updateTransition, SharedTransitionLayout, gestures.
AThevon/genjutsu · ★ 334 · Web & Frontend · score 79
Install: claude install-skill AThevon/genjutsu
> **Version-sensitive.** Every API name, SDK gate and browser-support claim below was > verified on **2026-09-08** against primary sources. What against, and when, is in > `_jutsu/VERSIONS.md`. If that date is old, re-verify before acting on a version number. # Compose Motion - Sub-skill > Jetpack Compose animation core. Loaded for Android Compose and Compose Multiplatform projects. > Concise rules here. Deep-dive in `references/`. > Baseline: Jetpack Compose 1.12.0 (current stable, Aug 2026) - i.e. Compose BOM 2026.08.x. Modern stable APIs only - no `swipeable`, no `animateContentSize` hacks where `AnimatedContent` is correct. Anything below flagged 'Compose 1.x+' is a *since* marker, not the target. --- ## API Decision Tree | Need | API | |---|---| | Single value over time | `animateFloatAsState`, `animateDpAsState`, `animateColorAsState`, etc. | | Visibility / mount-unmount | `AnimatedVisibility(visible) { ... }` | | Crossfade between states | `Crossfade(target) { state -> ... }` | | Multi-state coordinated | `updateTransition(target).animateFloat { ... }` | | Manual control / interruption | `Animatable(initialValue)` + `animateTo(...)` | | Looping / infinite | `rememberInfiniteTransition().animateFloat(...)` | | Shared elements | `SharedTransitionLayout` + `Modifier.sharedElement(...)` (Compose 1.7+) | | Layout swap with anim | `AnimatedContent(target) { ... }` | | Drag / swipe | `Modifier.draggable` + `Animatable.snapTo`/`animateTo`, or `Modifier.anchoredDraggable`