{
  "estilo": "pixel",
  "nome": "Pixel art",
  "versao": 1,
  "fps": 30,
  "pecas": [
    {
      "nome": "CaixaDialogo",
      "categoria": "formas",
      "tipo": "componente",
      "arquivo": "formas/CaixaDialogo.tsx",
      "descricao": "caixa de RPG com borda de pixel em 3 camadas, nome de quem fala, texto que digita e ▼ piscando.",
      "params": [
        "texto",
        "nome?",
        "inicio?",
        "ritmo?",
        "y?",
        "largura?",
        "tamanho?"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "forma",
        "caixa",
        "dialogo"
      ]
    },
    {
      "nome": "HudPlacar",
      "categoria": "formas",
      "tipo": "componente",
      "arquivo": "formas/HudPlacar.tsx",
      "descricao": "faixa de HUD de fliperama no topo: PONTOS que sobem de moeda em moeda, vidas em coração e a fase.",
      "params": [
        "pontos?",
        "vidas?",
        "fase?",
        "inicio?",
        "y?",
        "rotulo?"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "forma",
        "hud",
        "placar"
      ]
    },
    {
      "nome": "MenuPixel",
      "categoria": "formas",
      "tipo": "componente",
      "arquivo": "formas/MenuPixel.tsx",
      "descricao": "menu de início de jogo. Os itens entram em fila e a seta ► pula de um para o outro a cada `troca` quadros.",
      "params": [
        "itens",
        "inicio?",
        "troca?",
        "y?",
        "tamanho?"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "forma",
        "menu",
        "pixel"
      ]
    },
    {
      "nome": "Overlay",
      "categoria": "formas",
      "tipo": "componente",
      "arquivo": "formas/Overlay.tsx",
      "descricao": "a moldura de fliperama que se repete em todo plano: borda de pixel com cantos em degrau e linha clara por dentro.",
      "params": [],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "forma",
        "overlay"
      ]
    },
    {
      "nome": "Sprite",
      "categoria": "formas",
      "tipo": "componente",
      "arquivo": "formas/Sprite.tsx",
      "descricao": "personagem ou item em pixel art desenhado por grade de texto (cada letra = uma cor da paleta de 8 bits).",
      "params": [
        "nome?",
        "x?",
        "y?",
        "escala?",
        "inicio?",
        "movimento?",
        "espelhar?",
        "cor?",
        "sombra?"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "forma",
        "sprite"
      ]
    },
    {
      "nome": "ChuvaDeSprites",
      "categoria": "texturas",
      "tipo": "componente",
      "arquivo": "texturas/ChuvaDeSprites.tsx",
      "descricao": "chuva de itens de 8 bits (moedas, estrelas, corações) caindo e balançando por toda a tela, atrás do texto.",
      "params": [
        "nomes?",
        "quantidade?",
        "inicio?",
        "escala?",
        "velocidade?"
      ],
      "duracao": null,
      "tags": [
        "texturas",
        "chuva",
        "de"
      ]
    },
    {
      "nome": "Fundo",
      "categoria": "texturas",
      "tipo": "componente",
      "arquivo": "texturas/Fundo.tsx",
      "descricao": "céu de 8 bits com nuvens de pixel em duas camadas, sol quadrado e chão de blocos que rola.",
      "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 de um plano. Entra com movimento (nunca corte seco), sai com movimento e sobrepõe 10 quadros com a próxima.",
      "params": [
        "de",
        "ate",
        "entrada?",
        "ultima?",
        "children"
      ],
      "duracao": [
        24,
        150
      ],
      "tags": [
        "transicoes",
        "cena"
      ]
    },
    {
      "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": "AssinaturaMarca",
      "categoria": "tipografia",
      "tipo": "componente",
      "arquivo": "tipografia/AssinaturaMarca.tsx",
      "descricao": "tela final de título de jogo: logo em blocos, personagem pulando e PRESS START piscando.",
      "params": [
        "linhas",
        "detalhe?",
        "endereco?",
        "sprite?",
        "inicio?"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "tipografia",
        "assinatura",
        "marca"
      ]
    },
    {
      "nome": "TituloPixel",
      "categoria": "tipografia",
      "tipo": "componente",
      "arquivo": "tipografia/TituloPixel.tsx",
      "descricao": "1 a 3 linhas enormes em Press Start 2P com contorno e sombra dura.",
      "params": [
        "linhas",
        "inicio?",
        "intervalo?",
        "y?",
        "tamanho?",
        "cores?",
        "fim?"
      ],
      "duracao": [
        30,
        90
      ],
      "tags": [
        "tipografia",
        "titulo",
        "pixel"
      ]
    },
    {
      "nome": "Camera",
      "categoria": "camera",
      "tipo": "componente",
      "arquivo": "camera/Camera.tsx",
      "descricao": "deriva constante por baixo de tudo e um soco em cada batida.",
      "params": [
        "batidas?",
        "forca?",
        "children"
      ],
      "duracao": null,
      "tags": [
        "camera",
        "camera"
      ]
    },
    {
      "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": "Efeito assinatura.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        44,
        44
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.9
    },
    {
      "nome": "clique",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/clique.mp3",
      "descricao": "Efeito clique.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        15,
        15
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.8
    },
    {
      "nome": "impacto",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/impacto.mp3",
      "descricao": "Efeito impacto.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        44,
        44
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.9
    },
    {
      "nome": "pop-cartao",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/pop-cartao.mp3",
      "descricao": "Efeito pop-cartao.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        16,
        16
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.9
    },
    {
      "nome": "pop-palavra",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/pop-palavra.mp3",
      "descricao": "Efeito pop-palavra.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        14,
        14
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 1
    },
    {
      "nome": "subida",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/subida.mp3",
      "descricao": "Efeito subida.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        45,
        45
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.7
    },
    {
      "nome": "swoosh",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/swoosh.mp3",
      "descricao": "Efeito swoosh.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        23,
        23
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 1
    },
    {
      "nome": "tick",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/tick.mp3",
      "descricao": "Efeito tick.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        13,
        13
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.6
    },
    {
      "nome": "whoosh-entra",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/whoosh-entra.mp3",
      "descricao": "Efeito whoosh-entra.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        22,
        22
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.9
    },
    {
      "nome": "whoosh-sai",
      "categoria": "sons",
      "tipo": "audio",
      "arquivo": "sons/whoosh-sai.mp3",
      "descricao": "Efeito whoosh-sai.",
      "params": [
        "em",
        "volume?"
      ],
      "duracao": [
        20,
        20
      ],
      "tags": [
        "sfx"
      ],
      "volumeSugerido": 0.8
    },
    {
      "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/trilha.mp3",
      "descricao": "trilha de 8,7 s, 124 bpm (124 bpm); repetir em laço para vídeos longos.",
      "params": [
        "volume?",
        "saida?"
      ],
      "duracao": [
        261,
        261
      ],
      "tags": [
        "trilha",
        "musica"
      ],
      "bpm": 124
    },
    {
      "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"
      ]
    }
  ]
}
