{
  "estilo": "tutorial-tela",
  "nome": "Tutorial de tela",
  "versao": 1,
  "fps": 30,
  "pecas": [
    {
      "nome": "Cursor",
      "categoria": "formas",
      "tipo": "componente",
      "arquivo": "formas/Cursor.tsx",
      "descricao": "o ponteiro GRANDE (seta de 34 × 50 na janela; com zoom 2 vira ~70 px), contorno branco e sombra.",
      "params": [
        "chaves",
        "cliques?",
        "aparece?",
        "some?"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "forma",
        "cursor"
      ]
    },
    {
      "nome": "DestaqueCaixa",
      "categoria": "formas",
      "tipo": "componente",
      "arquivo": "formas/DestaqueCaixa.tsx",
      "descricao": "o foco no controle da vez, dentro da janela.",
      "params": [
        "x",
        "y",
        "largura",
        "altura",
        "de",
        "ate",
        "holofote?"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "forma",
        "destaque",
        "caixa"
      ]
    },
    {
      "nome": "JanelaApp",
      "categoria": "formas",
      "tipo": "componente",
      "arquivo": "formas/JanelaApp.tsx",
      "descricao": "a \"gravação\": um app de lista nítido (janela 1400 × 940 com barra, lateral e lista) que MUDA DE ESTADO por quadros, sempre causado pelo clique do cursor: o botão afunda, o modal abre, o…",
      "params": [
        "endereco?",
        "lateral?",
        "titulo",
        "subtitulo?",
        "botao",
        "itens",
        "modal",
        "tempos"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "forma",
        "janela",
        "app"
      ]
    },
    {
      "nome": "TeclaAtalho",
      "categoria": "formas",
      "tipo": "componente",
      "arquivo": "formas/TeclaAtalho.tsx",
      "descricao": "teclas de verdade (190 px, brancas, com a borda de baixo de 14 px) que entram com mola e são APERTADAS em sequência (descem 10 px, a borda some, a letra fica laranja).",
      "params": [
        "teclas",
        "legenda?",
        "y?",
        "inicio?",
        "aperta?"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "forma",
        "tecla",
        "atalho"
      ]
    },
    {
      "nome": "Fundo",
      "categoria": "texturas",
      "tipo": "componente",
      "arquivo": "texturas/Fundo.tsx",
      "descricao": "o chão limpo do tutorial. Cinza-azulado claro com luz no meio, uma grade de pontos de 32 px a 7% e uma deriva lenta da grade (nada fica parado).",
      "params": [],
      "duracao": null,
      "tags": [
        "texturas",
        "fundo"
      ]
    },
    {
      "nome": "Particulas",
      "categoria": "texturas",
      "tipo": "componente",
      "arquivo": "texturas/Particulas.tsx",
      "descricao": "Camada de pontos e traços flutuando em 3 profundidades (movimento de fundo constante).",
      "params": [
        "quantidade?",
        "cor?",
        "semente?",
        "velocidade?",
        "opacidade?"
      ],
      "duracao": null,
      "tags": [
        "fundo",
        "movimento",
        "densidade"
      ]
    },
    {
      "nome": "Cena",
      "categoria": "transicoes",
      "tipo": "componente",
      "arquivo": "transicoes/Cena.tsx",
      "descricao": "Janela de tempo com entrada em movimento (subir, zoom, lados) e saída que cruza 10 quadros com a próxima.",
      "params": [
        "de",
        "ate",
        "entrada?",
        "ultima?",
        "children"
      ],
      "duracao": [
        24,
        150
      ],
      "tags": [
        "corte",
        "troca",
        "tempo"
      ]
    },
    {
      "nome": "CorteImpacto",
      "categoria": "transicoes",
      "tipo": "componente",
      "arquivo": "transicoes/CorteImpacto.tsx",
      "descricao": "Soco de corte: clarão, tremida e zoom-pop que decaem em ~10 quadros.",
      "params": [
        "em",
        "forca?",
        "clarao?",
        "corClarao?",
        "children"
      ],
      "duracao": [
        10,
        14
      ],
      "tags": [
        "corte",
        "impacto",
        "energia"
      ]
    },
    {
      "nome": "PassoChamada",
      "categoria": "tipografia",
      "tipo": "componente",
      "arquivo": "tipografia/PassoChamada.tsx",
      "descricao": "a legenda do passo, na TELA (não na janela).",
      "params": [
        "numero",
        "total?",
        "texto",
        "y?",
        "inicio",
        "fim"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "tipografia",
        "passo",
        "chamada"
      ]
    },
    {
      "nome": "TituloTela",
      "categoria": "tipografia",
      "tipo": "componente",
      "arquivo": "tipografia/TituloTela.tsx",
      "descricao": "o título do tutorial, grande (96 px, peso 800, −0,03 em), alinhado à esquerda em x 88.",
      "params": [
        "linhas",
        "y?",
        "tamanho?",
        "inicio?",
        "fim?",
        "alinhar?"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "tipografia",
        "titulo",
        "tela"
      ]
    },
    {
      "nome": "CameraTela",
      "categoria": "camera",
      "tipo": "componente",
      "arquivo": "camera/CameraTela.tsx",
      "descricao": "a câmera da gravação. Chaves {em, x, y, zoom} (x, y = ponto da JANELA que vai pro CENTRO da tela; zoom 0,7 = janela inteira, 2–2,4 = um controle enche a tela).",
      "params": [
        "chaves",
        "entra?",
        "sai?",
        "children"
      ],
      "duracao": null,
      "tags": [
        "camera",
        "camera",
        "tela"
      ]
    },
    {
      "nome": "CameraDeriva",
      "categoria": "camera",
      "tipo": "componente",
      "arquivo": "camera/CameraDeriva.tsx",
      "descricao": "Câmera 3D com perspectiva: chaves {em,z,x,y,giro} levam o foco de uma a outra e por baixo roda uma deriva que nunca para.",
      "params": [
        "chaves?",
        "deriva?",
        "perspectiva?",
        "children"
      ],
      "duracao": null,
      "tags": [
        "3d",
        "camera",
        "movimento"
      ]
    },
    {
      "nome": "assinatura",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/assinatura.mp3",
      "descricao": "acorde da marca.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        60,
        60
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.85
    },
    {
      "nome": "clique",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/clique.mp3",
      "descricao": "clique de botão.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        15,
        15
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.9
    },
    {
      "nome": "digitar",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/digitar.mp3",
      "descricao": "tecla digitada.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        12,
        12
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.6
    },
    {
      "nome": "impacto",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/impacto.mp3",
      "descricao": "impacto grave.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        42,
        42
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.85
    },
    {
      "nome": "pop-cartao",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/pop-cartao.mp3",
      "descricao": "pop de cartão/selo que pousa.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        21,
        21
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.9
    },
    {
      "nome": "pop-palavra",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/pop-palavra.mp3",
      "descricao": "pop curto de palavra.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        18,
        18
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.9
    },
    {
      "nome": "subida",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/subida.mp3",
      "descricao": "riser de 1,2 s.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        36,
        36
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.65
    },
    {
      "nome": "sucesso",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/sucesso.mp3",
      "descricao": "acorde de tarefa concluída.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        36,
        36
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.8
    },
    {
      "nome": "swoosh",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/swoosh.mp3",
      "descricao": "swoosh lateral.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        30,
        30
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.85
    },
    {
      "nome": "whoosh-entra",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/whoosh-entra.mp3",
      "descricao": "whoosh de entrada.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        30,
        30
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.8
    },
    {
      "nome": "whoosh-sai",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/whoosh-sai.mp3",
      "descricao": "whoosh de saída.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        30,
        30
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.65
    },
    {
      "nome": "Som",
      "categoria": "sons",
      "tipo": "componente",
      "arquivo": "sons/Som.tsx",
      "descricao": "Componentes Efeito (um som no quadro em) e Trilha (música com fade de saída) que tocam os áudios acima.",
      "params": [
        "som",
        "em",
        "volume?"
      ],
      "duracao": null,
      "tags": [
        "audio",
        "codigo"
      ]
    },
    {
      "nome": "trilha",
      "categoria": "trilha",
      "tipo": "audio",
      "arquivo": "trilha/passo-108bpm.mp3",
      "descricao": "8.6 s de trilha, preset calm-punch, 108 bpm, tom F (108 bpm); repetir em laço para vídeos longos.",
      "params": [
        "volume?",
        "saida?"
      ],
      "duracao": [
        258,
        258
      ],
      "tags": [
        "trilha",
        "musica"
      ],
      "bpm": 108
    },
    {
      "nome": "paleta",
      "categoria": "paleta",
      "tipo": "dados",
      "arquivo": "cores/paleta.json",
      "descricao": "Cores, sombras, area segura, curvas e medidas do estilo (cores/paleta.png é a amostra visual).",
      "params": [],
      "duracao": null,
      "tags": [
        "cor"
      ]
    }
  ]
}
