Storyboard
Mapa vivo de todas as telas do app, descobertas sozinhas a partir das rotas. Só em debug.
O Storyboard é um canvas com miniaturas vivas de todas as telas do seu app e das navegações entre elas. Você vê o app inteiro de uma vez, abre qualquer tela com um clique e, com o Copiar para IA, diz ao assistente exatamente qual tela quer mudar.
Só aparece em debug. Em produção ele não existe.
Não é uma lista que você mantém. As telas são descobertas do router: criou uma rota, a tela aparece. Desligou um módulo no kasy new, a rota some e a tela também.
Implementação
- Rode o app em debug na web (
kasy run --web). O Storyboard abre pela barra do preview do dispositivo, que só existe na web. - Abra o Storyboard pelo botão na barra do preview do dispositivo.
- Use a busca para achar uma tela por nome ou rota. Dois cliques abrem a tela no app.
- Selecione uma tela e toque em Copiar para IA. Cole no chat do assistente.
O texto copiado tem a tela, a rota, o widget e a seção, por exemplo:
Contexto do Storyboard (Kasy)
Tela: Login por telefone
Rota: /signinWithPhone
Widget: PhoneAuthPage
Seção: Entrada e login- Depois que a IA mexer no código, toque em Recarregar. Ele faz o mesmo hot reload do
re remonta as telas, então você vê ao vivo o que mudou.
Pedir para a IA organizar o mapa
Tudo que é apresentação fica em lib/core/storyboard/storyboard_registry.dart. Peça, por exemplo:
- "Renomeia a tela
/pedidospara Meus pedidos no Storyboard." - "Coloca as telas de checkout numa seção só."
- "Adiciona uma seta de Carrinho para Pagamento com o rótulo Finalizar compra."
Regra das setas: só existe seta para um botão ou link que realmente existe no código da tela. Seta inventada engana quem lê o mapa.
Informações
Como as telas são agrupadas
- As abas do app viram a seção Abas do app, e as telas do
/adminvão para o Console admin. - Rotas com o mesmo primeiro trecho viram uma seção (
/pedidose/pedidos/detalheformam "Pedidos"). - Uma tela nova e isolada fica em Suas telas.
- Rota aninhada gera a seta de sub-tela sozinha.
Cada tela aparece uma vez
Quando duas rotas abrem a mesma tela (por exemplo, o Feedback das Configurações e o do console admin), o Storyboard mostra um card só. Os caminhos continuam no mapa: as setas que levavam à rota repetida apontam para esse card.
- É automático quando as duas rotas abrem a mesma classe de página (
FeedbackPage, por exemplo). - Se a mesma tela aparece embrulhada de outro jeito, a IA marca a rota no registro com
aliasOf. - Se uma rota abre a mesma página com um conteúdo bem diferente e você quer ver as duas, a IA marca
showSeparately. - Uma rota que mostra telas diferentes conforme o parâmetro (como os paywalls) vira um card por variante com
variants.
Setas
- Navegação: curadas no
storyboard_registry.dart. - Sub-tela: automática, de rotas aninhadas.
- Aprendida no uso: enquanto você usa o app, o Storyboard anota "tela A levou à tela B" e desenha uma seta tracejada. O botão Limpar apaga o que foi aprendido.
Telas com parâmetros e dados de exemplo
Uma rota como /drive/ride/:rideId precisa de um valor para renderizar. O registro aceita um sampleLocation (por exemplo /drive/ride/preview) e o app usa o valor preview (kStoryboardPreviewParam) para mostrar dados de exemplo só em debug. Telas de login aparecem como Visitante para não serem desviadas quando você já está logado.
Desempenho e zoom
Ao abrir, o mapa foca na seção Entrada e login (não no projeto inteiro). Longe no zoom, os cards ficam leves (título e rota); ao aproximar, todas as telas visíveis carregam ao vivo, uma por vez (spinner), sem guardar imagens. Setas vistas no uso ficam ocultas por padrão (ligue na barra se quiser).
Cada miniatura é a tela de verdade
Cada card roda a própria rota num app isolado, com o mesmo tema e idioma. A tela selecionada e as que estão à vista com zoom rodam ao vivo; o resto vira uma foto da própria tela, para o mapa ficar leve. Chegue perto ou selecione a tela para ela voltar a rodar ao vivo.
Atualizado em 03/11/2026

