hoist-the-flag-not-the-animation
Installation
SKILL.md
Hoist the flag, not the animation
A shell that owns "are the overlay controls showing?" is right. A shell that owns "…and here is the alpha, already tweened" has quietly made a design decision on behalf of every look that will ever render.
// adapted — derived inside the look, from the shell's boolean
val controlsAlpha by animateFloatAsState(
targetValue = if (state.showControls) 1f else 0f,
animationSpec = tween(durationMillis = if (state.showControls) 180 else 500, easing = LinearEasing),
)