Estado atual
O jcode-harness ja tem algumas animacoes basicas:
- Spinner braile (⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏) — theme.rs
- Tool activity bars (●◆··◆) — theme.rs
- Prompt entry animation com shimmer (450ms) — ui.rs
- Idle donut — ui_animations.rs
- Flag enable_decorative_animations para reduced motion
O que precisa ser adicionado
1. Fade-in de novas mensagens
- Mensagens do assistant aparecem com fade-in de 200-300ms
- Tool results aparecem com slide-in da direita
- User messages sem animacao (resposta imediata)
- Respeitar enable_decorative_animations (static quando false)
2. Smooth scrolling
- Scroll animado ao inves de jumps instantaneos
- Easing function: ease-out para scroll down (nova msg), ease-in-out para scroll manual
- Duracao: ~150ms
- Interrompivel: novo input cancela animacao
3. Indicador de "thinking" pulsando
- Pulso sutil no canto do chat enquanto o modelo processa
- Efeito de "respiracao" (fade in/out do accent color)
- Ou dots animados: "thinking." → "thinking.." → "thinking..."
4. Barra de progresso de tool calls
- Tool calls longas mostram progresso estimado
- Barra horizontal preenchendo:
[████████░░░░░░░░] 56% · running tests...
- Baseada em output streaming ou tempo estimado
5. Transicao entre tabs da sidebar
- Crossfade de 150ms ao trocar de tab
- Conteudo mantido ate novo conteudo estar pronto
6. Notificacao toast
- Alertas do sistema aparecem como toast no canto superior direito
- Slide-in + auto-dismiss apos 3-5 segundos
- Ex: "Memory pipeline complete", "5 new changelog entries"
Respeitar preferencias
- Verificar JCODE_REDUCED_MOTION env var
- Verificar prefer-motion do terminal (se disponivel)
- Animacoes automaticamente desabilitadas em testes/CI
Arquivos a modificar
- src/tui/ui_animations.rs — expandir significativamente
- src/tui/ui.rs — integrar fade-in e smooth scroll
- src/tui/ui_transitions.rs — transicoes entre estados
- crates/jcode-tui-style/src/theme.rs — constantes de animacao
Estado atual
O jcode-harness ja tem algumas animacoes basicas:
O que precisa ser adicionado
1. Fade-in de novas mensagens
2. Smooth scrolling
3. Indicador de "thinking" pulsando
4. Barra de progresso de tool calls
5. Transicao entre tabs da sidebar
6. Notificacao toast
Respeitar preferencias
Arquivos a modificar