Stack fixa: Lenis (smooth scroll) + GSAP + ScrollTrigger. Um motor de movimento — não misture Framer Motion, libs de reveal ou smooth scroll em CSS como motor principal.
Regras
- Entradas/saídas importantes: duração mínima
0.6s(prefira0.8–1.4s). - Eases: família
power3ouexpo. Padrão de entrada:power3.out. - Sequências editoriais:
stagger: 0.2. - Anime prioritariamente
transform,opacity,clip-path. - Respeite
prefers-reduced-motion(desligar ou simplificar motion). - Preserve a stack do projeto; instale só o que faltar.
- Cleanup de timelines, triggers e Lenis no unmount / ciclo de vida correto.
Setup mental
- Lenis controla sensação de scroll.
- GSAP controla timelines e propriedades.
- ScrollTrigger liga timelines ao scroll (
pin,scrubquando necessário). - Sincronize Lenis com o ticker do GSAP e chame
ScrollTrigger.update.
Workflow
- Definir o papel do motion (atenção, revelação, atmosfera) — não animar por animar.
- Escolher beats: entrada, sustentação, saída.
- Implementar com Lenis + GSAP + ScrollTrigger.
- Testar reduced motion e mobile (reduzir deslocamentos / pin se necessário).
Checklist
- Só Lenis + GSAP + ScrollTrigger como motores
- Durações e eases dentro do padrão
-
prefers-reduced-motiontratado - Cleanup feito