primocode 10.17.1 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSES/fontes-OFL.txt +95 -0
- package/LICENSES/opencode-MIT.txt +24 -0
- package/LICENSES/pptxgenjs-MIT.txt +31 -0
- package/README.md +50 -20
- package/agentes/acessibilidade.md +10 -0
- package/agentes/ambiente.md +10 -0
- package/agentes/api.md +10 -0
- package/agentes/backend.md +10 -0
- package/agentes/copy.md +10 -0
- package/agentes/css-layout.md +10 -0
- package/agentes/dados.md +10 -0
- package/agentes/depuracao.md +10 -0
- package/agentes/design.md +10 -0
- package/agentes/docs.md +10 -0
- package/agentes/frontend.md +10 -0
- package/agentes/geral/capacidades/arquivos.json +132 -0
- package/agentes/geral/capacidades/codigo.json +132 -0
- package/agentes/geral/capacidades/dados.json +126 -0
- package/agentes/geral/capacidades/depuracao.json +126 -0
- package/agentes/geral/capacidades/escrita.json +126 -0
- package/agentes/geral/capacidades/git.json +126 -0
- package/agentes/geral/capacidades/pesquisa.json +126 -0
- package/agentes/geral/capacidades/seguranca.json +132 -0
- package/agentes/geral/capacidades/shell.json +132 -0
- package/agentes/geral/capacidades/web.json +126 -0
- package/agentes/git-pr.md +10 -0
- package/agentes/indice.md +86 -0
- package/agentes/nextjs.md +10 -0
- package/agentes/node.md +10 -0
- package/agentes/performance.md +10 -0
- package/agentes/pesquisa.md +10 -0
- package/agentes/python.md +10 -0
- package/agentes/react.md +10 -0
- package/agentes/refatoracao.md +10 -0
- package/agentes/revisor.md +10 -0
- package/agentes/seguranca.md +10 -0
- package/agentes/sql.md +10 -0
- package/agentes/testes.md +10 -0
- package/agentes/typescript.md +10 -0
- package/agentes/ux.md +10 -0
- package/bin/primocode.js +1112 -275
- package/editor/THIRD_PARTY_NOTICES.md +3 -3
- package/editor/assets/baixar.json +8 -0
- package/editor/helpers/camera_viva.py +67 -4
- package/editor/modelo-projeto/assets/fontes/OFL-Inter.txt +93 -0
- package/editor/modelo-projeto/assets/fontes/larguras.json +1 -1
- package/editor/modelo-projeto/build.py +164 -19
- package/editor/modelo-projeto/ferramentas/medir_fontes.py +1 -1
- package/kits/CATALOGO.md +65 -0
- package/kits/KITS.md +179 -0
- package/kits/adesivos/SKILL.md +53 -0
- package/kits/adesivos/assets/ASSETS.md +22 -0
- package/kits/adesivos/assets/fontes/OFL-BowlbyOne.txt +92 -0
- package/kits/adesivos/assets/fontes/OFL-Nunito.txt +92 -0
- package/kits/adesivos/assets/fontes/bowlby-latin.woff2 +0 -0
- package/kits/adesivos/assets/fontes/nunito-latin.woff2 +0 -0
- package/kits/adesivos/assets/sons/assinatura.mp3 +0 -0
- package/kits/adesivos/assets/sons/cola.mp3 +0 -0
- package/kits/adesivos/assets/sons/confete.mp3 +0 -0
- package/kits/adesivos/assets/sons/impacto.mp3 +0 -0
- package/kits/adesivos/assets/sons/palavra.mp3 +0 -0
- package/kits/adesivos/assets/sons/pop.mp3 +0 -0
- package/kits/adesivos/assets/sons/swipe.mp3 +0 -0
- package/kits/adesivos/assets/sons/whoosh.mp3 +0 -0
- package/kits/adesivos/assets/trilha/pop-colorido-112bpm.mp3 +0 -0
- package/kits/adesivos/capa.jpg +0 -0
- package/kits/adesivos/elementos/AdesivoForma.tsx +42 -0
- package/kits/adesivos/elementos/AdesivoFoto.tsx +36 -0
- package/kits/adesivos/elementos/AdesivoTexto.tsx +35 -0
- package/kits/adesivos/elementos/AssinaturaMarca.tsx +36 -0
- package/kits/adesivos/elementos/Camera.tsx +22 -0
- package/kits/adesivos/elementos/Cena.tsx +48 -0
- package/kits/adesivos/elementos/ChuvaDeAdesivos.tsx +29 -0
- package/kits/adesivos/elementos/Fundo.tsx +21 -0
- package/kits/adesivos/elementos/Montagem.tsx +68 -0
- package/kits/adesivos/elementos/SeloPreco.tsx +38 -0
- package/kits/adesivos/elementos/Som.tsx +33 -0
- package/kits/adesivos/elementos/TituloEtiquetas.tsx +33 -0
- package/kits/adesivos/elementos/base.ts +101 -0
- package/kits/adesivos/elementos/index.ts +16 -0
- package/kits/adesivos/exemplos/fotos/foto-01.jpg +0 -0
- package/kits/adesivos/exemplos/fotos/foto-02.jpg +0 -0
- package/kits/adesivos/exemplos/fotos/foto-03.jpg +0 -0
- package/kits/adesivos/exemplos/logo-grude.svg +1 -0
- package/kits/adesivos/exemplos/plano.json +328 -0
- package/kits/adesivos/exemplos/roteiro.md +21 -0
- package/kits/adesivos/preview.tsx +15 -0
- package/kits/adesivos/receita.json +212 -0
- package/kits/adesivos/regras/area-segura.md +17 -0
- package/kits/adesivos/regras/cor.md +23 -0
- package/kits/adesivos/regras/movimento.md +17 -0
- package/kits/adesivos/regras/ritmo.md +16 -0
- package/kits/adesivos/regras/som.md +20 -0
- package/kits/adesivos/regras/tipografia.md +16 -0
- package/kits/antes-depois/SKILL.md +57 -0
- package/kits/antes-depois/assets/ASSETS.md +23 -0
- package/kits/antes-depois/assets/fontes/OFL-ArchivoBlack.txt +93 -0
- package/kits/antes-depois/assets/fontes/OFL-Manrope.txt +93 -0
- package/kits/antes-depois/assets/fontes/archivoblack.woff2 +0 -0
- package/kits/antes-depois/assets/fontes/manrope.woff2 +0 -0
- package/kits/antes-depois/assets/sons/assinatura.mp3 +0 -0
- package/kits/antes-depois/assets/sons/clique.mp3 +0 -0
- package/kits/antes-depois/assets/sons/impacto.mp3 +0 -0
- package/kits/antes-depois/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/antes-depois/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/antes-depois/assets/sons/subida.mp3 +0 -0
- package/kits/antes-depois/assets/sons/swoosh.mp3 +0 -0
- package/kits/antes-depois/assets/sons/tick.mp3 +0 -0
- package/kits/antes-depois/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/antes-depois/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/antes-depois/assets/trilha/corte-118bpm.mp3 +0 -0
- package/kits/antes-depois/capa.jpg +0 -0
- package/kits/antes-depois/elementos/BarraMedidor.tsx +43 -0
- package/kits/antes-depois/elementos/Camera.tsx +21 -0
- package/kits/antes-depois/elementos/Cena.tsx +41 -0
- package/kits/antes-depois/elementos/FaixaMarquee.tsx +35 -0
- package/kits/antes-depois/elementos/Fundo.tsx +24 -0
- package/kits/antes-depois/elementos/ListaMudancas.tsx +37 -0
- package/kits/antes-depois/elementos/Montagem.tsx +59 -0
- package/kits/antes-depois/elementos/NumeroDelta.tsx +36 -0
- package/kits/antes-depois/elementos/RotuloAntesDepois.tsx +26 -0
- package/kits/antes-depois/elementos/Som.tsx +40 -0
- package/kits/antes-depois/elementos/TelaDividida.tsx +68 -0
- package/kits/antes-depois/elementos/base.ts +82 -0
- package/kits/antes-depois/elementos/index.ts +15 -0
- package/kits/antes-depois/exemplos/fotos/foto-07.jpg +0 -0
- package/kits/antes-depois/exemplos/fotos/foto-08.jpg +0 -0
- package/kits/antes-depois/exemplos/plano.json +276 -0
- package/kits/antes-depois/exemplos/roteiro.md +19 -0
- package/kits/antes-depois/preview.tsx +13 -0
- package/kits/antes-depois/receita.json +21 -0
- package/kits/antes-depois/regras/area-segura.md +21 -0
- package/kits/antes-depois/regras/cor.md +15 -0
- package/kits/antes-depois/regras/movimento.md +23 -0
- package/kits/antes-depois/regras/ritmo.md +15 -0
- package/kits/antes-depois/regras/som.md +20 -0
- package/kits/antes-depois/regras/tipografia.md +18 -0
- package/kits/apple-tipografico/SKILL.md +73 -0
- package/kits/apple-tipografico/assets/ASSETS.md +23 -0
- package/kits/apple-tipografico/assets/fontes/OFL-Inter.txt +93 -0
- package/kits/apple-tipografico/assets/fontes/inter-latin-500-800.woff2 +0 -0
- package/kits/apple-tipografico/assets/sons/assinatura.mp3 +0 -0
- package/kits/apple-tipografico/assets/sons/clique.mp3 +0 -0
- package/kits/apple-tipografico/assets/sons/impacto.mp3 +0 -0
- package/kits/apple-tipografico/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/apple-tipografico/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/apple-tipografico/assets/sons/subida.mp3 +0 -0
- package/kits/apple-tipografico/assets/sons/swoosh.mp3 +0 -0
- package/kits/apple-tipografico/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/apple-tipografico/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/apple-tipografico/assets/trilha/tech-claro-125bpm.mp3 +0 -0
- package/kits/apple-tipografico/capa.jpg +0 -0
- package/kits/apple-tipografico/elementos/AssinaturaPreta.tsx +33 -0
- package/kits/apple-tipografico/elementos/Camera.tsx +23 -0
- package/kits/apple-tipografico/elementos/CartaoRadial.tsx +41 -0
- package/kits/apple-tipografico/elementos/Cena.tsx +55 -0
- package/kits/apple-tipografico/elementos/Fundo.tsx +21 -0
- package/kits/apple-tipografico/elementos/LegendaCurta.tsx +51 -0
- package/kits/apple-tipografico/elementos/Montagem.tsx +55 -0
- package/kits/apple-tipografico/elementos/Produto3D.tsx +140 -0
- package/kits/apple-tipografico/elementos/ProdutoFoto.tsx +47 -0
- package/kits/apple-tipografico/elementos/Som.tsx +40 -0
- package/kits/apple-tipografico/elementos/base.ts +111 -0
- package/kits/apple-tipografico/elementos/index.ts +18 -0
- package/kits/apple-tipografico/elementos/modelos.ts +108 -0
- package/kits/apple-tipografico/elementos/raymarch.ts +249 -0
- package/kits/apple-tipografico/exemplos/logo-lume.svg +1 -0
- package/kits/apple-tipografico/exemplos/plano.json +56 -0
- package/kits/apple-tipografico/exemplos/roteiro.md +19 -0
- package/kits/apple-tipografico/preview.tsx +12 -0
- package/kits/apple-tipografico/receita.json +22 -0
- package/kits/apple-tipografico/regras/area-segura.md +19 -0
- package/kits/apple-tipografico/regras/cor.md +24 -0
- package/kits/apple-tipografico/regras/movimento.md +29 -0
- package/kits/apple-tipografico/regras/ritmo.md +29 -0
- package/kits/apple-tipografico/regras/som.md +20 -0
- package/kits/apple-tipografico/regras/tipografia.md +21 -0
- package/kits/aquarela/SKILL.md +52 -0
- package/kits/aquarela/assets/ASSETS.md +21 -0
- package/kits/aquarela/assets/fontes/OFL-Caveat.txt +92 -0
- package/kits/aquarela/assets/fontes/OFL-Fraunces.txt +92 -0
- package/kits/aquarela/assets/fontes/caveat-latin.woff2 +0 -0
- package/kits/aquarela/assets/fontes/fraunces-latin.woff2 +0 -0
- package/kits/aquarela/assets/sons/assinatura.mp3 +0 -0
- package/kits/aquarela/assets/sons/gota.mp3 +0 -0
- package/kits/aquarela/assets/sons/impacto.mp3 +0 -0
- package/kits/aquarela/assets/sons/palavra.mp3 +0 -0
- package/kits/aquarela/assets/sons/papel-cai.mp3 +0 -0
- package/kits/aquarela/assets/sons/pop-mancha.mp3 +0 -0
- package/kits/aquarela/assets/sons/risco.mp3 +0 -0
- package/kits/aquarela/assets/sons/whoosh-pincel.mp3 +0 -0
- package/kits/aquarela/assets/trilha/calma-com-punch-108bpm.mp3 +0 -0
- package/kits/aquarela/capa.jpg +0 -0
- package/kits/aquarela/elementos/AnotacaoManual.tsx +40 -0
- package/kits/aquarela/elementos/AssinaturaMarca.tsx +33 -0
- package/kits/aquarela/elementos/Camera.tsx +22 -0
- package/kits/aquarela/elementos/Cena.tsx +48 -0
- package/kits/aquarela/elementos/Fundo.tsx +24 -0
- package/kits/aquarela/elementos/ManchaTinta.tsx +46 -0
- package/kits/aquarela/elementos/Montagem.tsx +60 -0
- package/kits/aquarela/elementos/PapelRasgado.tsx +50 -0
- package/kits/aquarela/elementos/Pincelada.tsx +43 -0
- package/kits/aquarela/elementos/Pingos.tsx +31 -0
- package/kits/aquarela/elementos/Som.tsx +33 -0
- package/kits/aquarela/elementos/TituloPincel.tsx +51 -0
- package/kits/aquarela/elementos/base.ts +97 -0
- package/kits/aquarela/elementos/index.ts +16 -0
- package/kits/aquarela/exemplos/logo-mare.svg +1 -0
- package/kits/aquarela/exemplos/plano.json +62 -0
- package/kits/aquarela/exemplos/roteiro.md +21 -0
- package/kits/aquarela/preview.tsx +12 -0
- package/kits/aquarela/receita.json +213 -0
- package/kits/aquarela/regras/area-segura.md +17 -0
- package/kits/aquarela/regras/cor.md +23 -0
- package/kits/aquarela/regras/movimento.md +19 -0
- package/kits/aquarela/regras/ritmo.md +17 -0
- package/kits/aquarela/regras/som.md +20 -0
- package/kits/aquarela/regras/tipografia.md +16 -0
- package/kits/aurora/SKILL.md +52 -0
- package/kits/aurora/assets/ASSETS.md +21 -0
- package/kits/aurora/assets/fontes/OFL-InstrumentSerif.txt +92 -0
- package/kits/aurora/assets/fontes/OFL-Manrope.txt +92 -0
- package/kits/aurora/assets/fontes/instrument-latin.woff2 +0 -0
- package/kits/aurora/assets/fontes/manrope-latin.woff2 +0 -0
- package/kits/aurora/assets/sons/assinatura.mp3 +0 -0
- package/kits/aurora/assets/sons/brilho.mp3 +0 -0
- package/kits/aurora/assets/sons/meteoro.mp3 +0 -0
- package/kits/aurora/assets/sons/onda.mp3 +0 -0
- package/kits/aurora/assets/sons/sino.mp3 +0 -0
- package/kits/aurora/assets/sons/sopro.mp3 +0 -0
- package/kits/aurora/assets/sons/subida.mp3 +0 -0
- package/kits/aurora/assets/sons/toque.mp3 +0 -0
- package/kits/aurora/assets/trilha/suave-88bpm.mp3 +0 -0
- package/kits/aurora/capa.jpg +0 -0
- package/kits/aurora/elementos/AssinaturaMarca.tsx +24 -0
- package/kits/aurora/elementos/Camera.tsx +22 -0
- package/kits/aurora/elementos/CartaoVidro.tsx +29 -0
- package/kits/aurora/elementos/Cena.tsx +48 -0
- package/kits/aurora/elementos/CeuEstrelado.tsx +22 -0
- package/kits/aurora/elementos/CortinaDeLuz.tsx +36 -0
- package/kits/aurora/elementos/Fundo.tsx +35 -0
- package/kits/aurora/elementos/Legenda.tsx +23 -0
- package/kits/aurora/elementos/Montagem.tsx +68 -0
- package/kits/aurora/elementos/Montanhas.tsx +24 -0
- package/kits/aurora/elementos/Som.tsx +33 -0
- package/kits/aurora/elementos/TituloSerif.tsx +36 -0
- package/kits/aurora/elementos/base.ts +93 -0
- package/kits/aurora/elementos/index.ts +16 -0
- package/kits/aurora/exemplos/logo-boreal.svg +1 -0
- package/kits/aurora/exemplos/plano.json +204 -0
- package/kits/aurora/exemplos/roteiro.md +19 -0
- package/kits/aurora/preview.tsx +12 -0
- package/kits/aurora/receita.json +146 -0
- package/kits/aurora/regras/area-segura.md +18 -0
- package/kits/aurora/regras/cor.md +24 -0
- package/kits/aurora/regras/movimento.md +20 -0
- package/kits/aurora/regras/ritmo.md +14 -0
- package/kits/aurora/regras/som.md +20 -0
- package/kits/aurora/regras/tipografia.md +15 -0
- package/kits/bauhaus/SKILL.md +52 -0
- package/kits/bauhaus/assets/ASSETS.md +18 -0
- package/kits/bauhaus/assets/fontes/OFL-bebas-neue.txt +93 -0
- package/kits/bauhaus/assets/fontes/OFL-jost-900.txt +93 -0
- package/kits/bauhaus/assets/fontes/bebas-neue.woff2 +0 -0
- package/kits/bauhaus/assets/fontes/jost-900.woff2 +0 -0
- package/kits/bauhaus/assets/sons/assinatura.mp3 +0 -0
- package/kits/bauhaus/assets/sons/clique.mp3 +0 -0
- package/kits/bauhaus/assets/sons/impacto.mp3 +0 -0
- package/kits/bauhaus/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/bauhaus/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/bauhaus/assets/sons/subida.mp3 +0 -0
- package/kits/bauhaus/assets/sons/swoosh.mp3 +0 -0
- package/kits/bauhaus/assets/sons/tick.mp3 +0 -0
- package/kits/bauhaus/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/bauhaus/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/bauhaus/assets/trilha/trilha.mp3 +0 -0
- package/kits/bauhaus/capa.jpg +0 -0
- package/kits/bauhaus/elementos/AssinaturaMarca.tsx +26 -0
- package/kits/bauhaus/elementos/BarraDiagonal.tsx +20 -0
- package/kits/bauhaus/elementos/Camera.tsx +21 -0
- package/kits/bauhaus/elementos/Cena.tsx +36 -0
- package/kits/bauhaus/elementos/ComposicaoGeometrica.tsx +54 -0
- package/kits/bauhaus/elementos/Fundo.tsx +13 -0
- package/kits/bauhaus/elementos/ListaFaixas.tsx +27 -0
- package/kits/bauhaus/elementos/Montagem.tsx +55 -0
- package/kits/bauhaus/elementos/NumeroBauhaus.tsx +21 -0
- package/kits/bauhaus/elementos/Overlay.tsx +18 -0
- package/kits/bauhaus/elementos/Som.tsx +30 -0
- package/kits/bauhaus/elementos/TituloBauhaus.tsx +32 -0
- package/kits/bauhaus/elementos/base.ts +74 -0
- package/kits/bauhaus/elementos/index.ts +16 -0
- package/kits/bauhaus/exemplos/plano.json +221 -0
- package/kits/bauhaus/exemplos/roteiro.md +20 -0
- package/kits/bauhaus/preview.tsx +12 -0
- package/kits/bauhaus/receita.json +174 -0
- package/kits/bauhaus/regras/area-segura.md +15 -0
- package/kits/bauhaus/regras/cor.md +13 -0
- package/kits/bauhaus/regras/movimento.md +17 -0
- package/kits/bauhaus/regras/ritmo.md +15 -0
- package/kits/bauhaus/regras/som.md +18 -0
- package/kits/bauhaus/regras/tipografia.md +20 -0
- package/kits/brutalista/SKILL.md +54 -0
- package/kits/brutalista/assets/ASSETS.md +23 -0
- package/kits/brutalista/assets/fontes/OFL-ArchivoBlack.txt +93 -0
- package/kits/brutalista/assets/fontes/OFL-JetBrainsMono.txt +93 -0
- package/kits/brutalista/assets/fontes/archivo-black.woff2 +0 -0
- package/kits/brutalista/assets/fontes/jetbrains-mono.woff2 +0 -0
- package/kits/brutalista/assets/sons/assinatura.mp3 +0 -0
- package/kits/brutalista/assets/sons/clique.mp3 +0 -0
- package/kits/brutalista/assets/sons/impacto.mp3 +0 -0
- package/kits/brutalista/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/brutalista/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/brutalista/assets/sons/subida.mp3 +0 -0
- package/kits/brutalista/assets/sons/swoosh.mp3 +0 -0
- package/kits/brutalista/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/brutalista/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/brutalista/assets/trilha/bruta-108bpm.mp3 +0 -0
- package/kits/brutalista/capa.jpg +0 -0
- package/kits/brutalista/elementos/AssinaturaMarca.tsx +21 -0
- package/kits/brutalista/elementos/BlocoSombra.tsx +18 -0
- package/kits/brutalista/elementos/Camera.tsx +23 -0
- package/kits/brutalista/elementos/CartaoFotoBruto.tsx +19 -0
- package/kits/brutalista/elementos/Cena.tsx +41 -0
- package/kits/brutalista/elementos/ContadorGrande.tsx +21 -0
- package/kits/brutalista/elementos/FitaAlerta.tsx +20 -0
- package/kits/brutalista/elementos/Fundo.tsx +9 -0
- package/kits/brutalista/elementos/ListaBruta.tsx +23 -0
- package/kits/brutalista/elementos/MonoEnorme.tsx +43 -0
- package/kits/brutalista/elementos/Montagem.tsx +62 -0
- package/kits/brutalista/elementos/QuadroCor.tsx +14 -0
- package/kits/brutalista/elementos/Som.tsx +38 -0
- package/kits/brutalista/elementos/Terminal.tsx +25 -0
- package/kits/brutalista/elementos/base.ts +71 -0
- package/kits/brutalista/elementos/index.ts +18 -0
- package/kits/brutalista/exemplos/fotos/foto-02.jpg +0 -0
- package/kits/brutalista/exemplos/fotos/foto-03.jpg +0 -0
- package/kits/brutalista/exemplos/fotos/foto-05.jpg +0 -0
- package/kits/brutalista/exemplos/fotos/foto-07.jpg +0 -0
- package/kits/brutalista/exemplos/fotos/foto-08.jpg +0 -0
- package/kits/brutalista/exemplos/logo-bloco.svg +1 -0
- package/kits/brutalista/exemplos/plano.json +52 -0
- package/kits/brutalista/exemplos/roteiro.md +19 -0
- package/kits/brutalista/preview.tsx +20 -0
- package/kits/brutalista/receita.json +195 -0
- package/kits/brutalista/regras/area-segura.md +18 -0
- package/kits/brutalista/regras/cor.md +12 -0
- package/kits/brutalista/regras/movimento.md +16 -0
- package/kits/brutalista/regras/ritmo.md +16 -0
- package/kits/brutalista/regras/som.md +21 -0
- package/kits/brutalista/regras/tipografia.md +16 -0
- package/kits/campos-de-cor/SKILL.md +55 -0
- package/kits/campos-de-cor/assets/ASSETS.md +19 -0
- package/kits/campos-de-cor/assets/fontes/OFL-Archivo-Black.txt +93 -0
- package/kits/campos-de-cor/assets/fontes/OFL-DM-Mono.txt +93 -0
- package/kits/campos-de-cor/assets/fontes/OFL-Playfair-Italic.txt +93 -0
- package/kits/campos-de-cor/assets/fontes/archivo-black.woff2 +0 -0
- package/kits/campos-de-cor/assets/fontes/dm-mono.woff2 +0 -0
- package/kits/campos-de-cor/assets/fontes/playfair-italic.woff2 +0 -0
- package/kits/campos-de-cor/assets/sons/assinatura.mp3 +0 -0
- package/kits/campos-de-cor/assets/sons/clique.mp3 +0 -0
- package/kits/campos-de-cor/assets/sons/impacto.mp3 +0 -0
- package/kits/campos-de-cor/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/campos-de-cor/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/campos-de-cor/assets/sons/subida.mp3 +0 -0
- package/kits/campos-de-cor/assets/sons/swoosh.mp3 +0 -0
- package/kits/campos-de-cor/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/campos-de-cor/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/campos-de-cor/assets/trilha/trilha.mp3 +0 -0
- package/kits/campos-de-cor/capa.jpg +0 -0
- package/kits/campos-de-cor/elementos/AssinaturaMarca.tsx +18 -0
- package/kits/campos-de-cor/elementos/Asterisco.tsx +26 -0
- package/kits/campos-de-cor/elementos/Camera.tsx +23 -0
- package/kits/campos-de-cor/elementos/CampoDeCor.tsx +39 -0
- package/kits/campos-de-cor/elementos/Cena.tsx +46 -0
- package/kits/campos-de-cor/elementos/FitaDeTexto.tsx +24 -0
- package/kits/campos-de-cor/elementos/FormaGeometrica.tsx +37 -0
- package/kits/campos-de-cor/elementos/Fundo.tsx +11 -0
- package/kits/campos-de-cor/elementos/LegendaItalica.tsx +12 -0
- package/kits/campos-de-cor/elementos/ListaRegua.tsx +30 -0
- package/kits/campos-de-cor/elementos/Montagem.tsx +62 -0
- package/kits/campos-de-cor/elementos/PalavraGigante.tsx +44 -0
- package/kits/campos-de-cor/elementos/Som.tsx +39 -0
- package/kits/campos-de-cor/elementos/base.ts +87 -0
- package/kits/campos-de-cor/elementos/index.ts +17 -0
- package/kits/campos-de-cor/exemplos/logo-pulso.svg +1 -0
- package/kits/campos-de-cor/exemplos/plano.json +258 -0
- package/kits/campos-de-cor/exemplos/roteiro.md +19 -0
- package/kits/campos-de-cor/preview.tsx +12 -0
- package/kits/campos-de-cor/receita.json +174 -0
- package/kits/campos-de-cor/regras/area-segura.md +15 -0
- package/kits/campos-de-cor/regras/cor.md +14 -0
- package/kits/campos-de-cor/regras/movimento.md +15 -0
- package/kits/campos-de-cor/regras/ritmo.md +15 -0
- package/kits/campos-de-cor/regras/som.md +18 -0
- package/kits/campos-de-cor/regras/tipografia.md +13 -0
- package/kits/cartaz-cinetico/SKILL.md +52 -0
- package/kits/cartaz-cinetico/assets/ASSETS.md +22 -0
- package/kits/cartaz-cinetico/assets/fontes/OFL-Anton.txt +93 -0
- package/kits/cartaz-cinetico/assets/fontes/OFL-Archivo.txt +93 -0
- package/kits/cartaz-cinetico/assets/fontes/anton.woff2 +0 -0
- package/kits/cartaz-cinetico/assets/fontes/archivo.woff2 +0 -0
- package/kits/cartaz-cinetico/assets/sons/assinatura.mp3 +0 -0
- package/kits/cartaz-cinetico/assets/sons/clique.mp3 +0 -0
- package/kits/cartaz-cinetico/assets/sons/impacto.mp3 +0 -0
- package/kits/cartaz-cinetico/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/cartaz-cinetico/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/cartaz-cinetico/assets/sons/subida.mp3 +0 -0
- package/kits/cartaz-cinetico/assets/sons/swoosh.mp3 +0 -0
- package/kits/cartaz-cinetico/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/cartaz-cinetico/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/cartaz-cinetico/assets/trilha/cartaz-124bpm.mp3 +0 -0
- package/kits/cartaz-cinetico/capa.jpg +0 -0
- package/kits/cartaz-cinetico/elementos/AssinaturaMarca.tsx +31 -0
- package/kits/cartaz-cinetico/elementos/Camera.tsx +22 -0
- package/kits/cartaz-cinetico/elementos/CartazPalavra.tsx +40 -0
- package/kits/cartaz-cinetico/elementos/Cena.tsx +41 -0
- package/kits/cartaz-cinetico/elementos/CirculoPoster.tsx +22 -0
- package/kits/cartaz-cinetico/elementos/EcoPalavra.tsx +27 -0
- package/kits/cartaz-cinetico/elementos/Fundo.tsx +16 -0
- package/kits/cartaz-cinetico/elementos/Montagem.tsx +59 -0
- package/kits/cartaz-cinetico/elementos/PilhaCartaz.tsx +40 -0
- package/kits/cartaz-cinetico/elementos/RoletaPalavras.tsx +30 -0
- package/kits/cartaz-cinetico/elementos/Selo.tsx +25 -0
- package/kits/cartaz-cinetico/elementos/Som.tsx +38 -0
- package/kits/cartaz-cinetico/elementos/base.ts +72 -0
- package/kits/cartaz-cinetico/elementos/index.ts +16 -0
- package/kits/cartaz-cinetico/exemplos/logo-feira.svg +1 -0
- package/kits/cartaz-cinetico/exemplos/plano.json +55 -0
- package/kits/cartaz-cinetico/exemplos/roteiro.md +20 -0
- package/kits/cartaz-cinetico/preview.tsx +16 -0
- package/kits/cartaz-cinetico/receita.json +209 -0
- package/kits/cartaz-cinetico/regras/area-segura.md +19 -0
- package/kits/cartaz-cinetico/regras/cor.md +13 -0
- package/kits/cartaz-cinetico/regras/movimento.md +16 -0
- package/kits/cartaz-cinetico/regras/ritmo.md +17 -0
- package/kits/cartaz-cinetico/regras/som.md +21 -0
- package/kits/cartaz-cinetico/regras/tipografia.md +16 -0
- package/kits/colagem/SKILL.md +53 -0
- package/kits/colagem/assets/ASSETS.md +25 -0
- package/kits/colagem/assets/fontes/OFL-abril-fatface.txt +93 -0
- package/kits/colagem/assets/fontes/OFL-special-elite.txt +93 -0
- package/kits/colagem/assets/fontes/abril-fatface.woff2 +0 -0
- package/kits/colagem/assets/fontes/special-elite.woff2 +0 -0
- package/kits/colagem/assets/sons/assinatura.mp3 +0 -0
- package/kits/colagem/assets/sons/clique.mp3 +0 -0
- package/kits/colagem/assets/sons/impacto.mp3 +0 -0
- package/kits/colagem/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/colagem/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/colagem/assets/sons/subida.mp3 +0 -0
- package/kits/colagem/assets/sons/swoosh.mp3 +0 -0
- package/kits/colagem/assets/sons/tick.mp3 +0 -0
- package/kits/colagem/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/colagem/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/colagem/assets/trilha/trilha.mp3 +0 -0
- package/kits/colagem/capa.jpg +0 -0
- package/kits/colagem/elementos/AssinaturaMarca.tsx +17 -0
- package/kits/colagem/elementos/Camera.tsx +21 -0
- package/kits/colagem/elementos/Cena.tsx +36 -0
- package/kits/colagem/elementos/FitaAdesiva.tsx +11 -0
- package/kits/colagem/elementos/FotoRasgada.tsx +26 -0
- package/kits/colagem/elementos/Fundo.tsx +16 -0
- package/kits/colagem/elementos/ListaRecortes.tsx +23 -0
- package/kits/colagem/elementos/Montagem.tsx +56 -0
- package/kits/colagem/elementos/NotaDatilografada.tsx +35 -0
- package/kits/colagem/elementos/Overlay.tsx +8 -0
- package/kits/colagem/elementos/RecorteForma.tsx +23 -0
- package/kits/colagem/elementos/Som.tsx +30 -0
- package/kits/colagem/elementos/TituloRecorte.tsx +34 -0
- package/kits/colagem/elementos/base.ts +77 -0
- package/kits/colagem/elementos/index.ts +17 -0
- package/kits/colagem/elementos/rasgado.ts +16 -0
- package/kits/colagem/exemplos/fotos/foto-01.jpg +0 -0
- package/kits/colagem/exemplos/fotos/foto-02.jpg +0 -0
- package/kits/colagem/exemplos/plano.json +228 -0
- package/kits/colagem/exemplos/roteiro.md +20 -0
- package/kits/colagem/preview.tsx +13 -0
- package/kits/colagem/receita.json +171 -0
- package/kits/colagem/regras/area-segura.md +15 -0
- package/kits/colagem/regras/cor.md +16 -0
- package/kits/colagem/regras/movimento.md +18 -0
- package/kits/colagem/regras/ritmo.md +15 -0
- package/kits/colagem/regras/som.md +18 -0
- package/kits/colagem/regras/tipografia.md +18 -0
- package/kits/contagem/SKILL.md +52 -0
- package/kits/contagem/assets/ASSETS.md +20 -0
- package/kits/contagem/assets/fontes/OFL-BigShouldersDisplay.txt +93 -0
- package/kits/contagem/assets/fontes/OFL-SpaceMono.txt +93 -0
- package/kits/contagem/assets/fontes/bigshoulders.woff2 +0 -0
- package/kits/contagem/assets/fontes/spacemono.woff2 +0 -0
- package/kits/contagem/assets/sons/assinatura.mp3 +0 -0
- package/kits/contagem/assets/sons/clique.mp3 +0 -0
- package/kits/contagem/assets/sons/confete.mp3 +0 -0
- package/kits/contagem/assets/sons/impacto.mp3 +0 -0
- package/kits/contagem/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/contagem/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/contagem/assets/sons/subida.mp3 +0 -0
- package/kits/contagem/assets/sons/swoosh.mp3 +0 -0
- package/kits/contagem/assets/sons/tick.mp3 +0 -0
- package/kits/contagem/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/contagem/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/contagem/assets/trilha/pulso-128bpm.mp3 +0 -0
- package/kits/contagem/capa.jpg +0 -0
- package/kits/contagem/elementos/AnelTempo.tsx +36 -0
- package/kits/contagem/elementos/BarraDias.tsx +41 -0
- package/kits/contagem/elementos/Camera.tsx +21 -0
- package/kits/contagem/elementos/CarimboData.tsx +37 -0
- package/kits/contagem/elementos/Cena.tsx +39 -0
- package/kits/contagem/elementos/Fundo.tsx +27 -0
- package/kits/contagem/elementos/Montagem.tsx +58 -0
- package/kits/contagem/elementos/NumeroRolando.tsx +49 -0
- package/kits/contagem/elementos/RelogioFlip.tsx +51 -0
- package/kits/contagem/elementos/Som.tsx +41 -0
- package/kits/contagem/elementos/base.ts +79 -0
- package/kits/contagem/elementos/index.ts +14 -0
- package/kits/contagem/exemplos/plano.json +48 -0
- package/kits/contagem/exemplos/roteiro.md +19 -0
- package/kits/contagem/preview.tsx +9 -0
- package/kits/contagem/receita.json +21 -0
- package/kits/contagem/regras/area-segura.md +16 -0
- package/kits/contagem/regras/cor.md +14 -0
- package/kits/contagem/regras/movimento.md +23 -0
- package/kits/contagem/regras/ritmo.md +15 -0
- package/kits/contagem/regras/som.md +21 -0
- package/kits/contagem/regras/tipografia.md +16 -0
- package/kits/convite-evento/SKILL.md +53 -0
- package/kits/convite-evento/assets/ASSETS.md +19 -0
- package/kits/convite-evento/assets/fontes/OFL-InstrumentSerif.txt +93 -0
- package/kits/convite-evento/assets/fontes/OFL-Unbounded.txt +93 -0
- package/kits/convite-evento/assets/fontes/instrumentserif-i.woff2 +0 -0
- package/kits/convite-evento/assets/fontes/unbounded.woff2 +0 -0
- package/kits/convite-evento/assets/sons/assinatura.mp3 +0 -0
- package/kits/convite-evento/assets/sons/clique.mp3 +0 -0
- package/kits/convite-evento/assets/sons/confete.mp3 +0 -0
- package/kits/convite-evento/assets/sons/impacto.mp3 +0 -0
- package/kits/convite-evento/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/convite-evento/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/convite-evento/assets/sons/subida.mp3 +0 -0
- package/kits/convite-evento/assets/sons/swoosh.mp3 +0 -0
- package/kits/convite-evento/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/convite-evento/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/convite-evento/assets/trilha/festa-112bpm.mp3 +0 -0
- package/kits/convite-evento/capa.jpg +0 -0
- package/kits/convite-evento/elementos/BotaoInscricao.tsx +36 -0
- package/kits/convite-evento/elementos/Camera.tsx +21 -0
- package/kits/convite-evento/elementos/Cena.tsx +39 -0
- package/kits/convite-evento/elementos/DataGigante.tsx +37 -0
- package/kits/convite-evento/elementos/Fundo.tsx +30 -0
- package/kits/convite-evento/elementos/IngressoBilhete.tsx +40 -0
- package/kits/convite-evento/elementos/LugarGigante.tsx +38 -0
- package/kits/convite-evento/elementos/Montagem.tsx +59 -0
- package/kits/convite-evento/elementos/SeloRotativo.tsx +32 -0
- package/kits/convite-evento/elementos/Som.tsx +40 -0
- package/kits/convite-evento/elementos/TituloEvento.tsx +33 -0
- package/kits/convite-evento/elementos/base.ts +82 -0
- package/kits/convite-evento/elementos/index.ts +15 -0
- package/kits/convite-evento/exemplos/plano.json +49 -0
- package/kits/convite-evento/exemplos/roteiro.md +19 -0
- package/kits/convite-evento/preview.tsx +9 -0
- package/kits/convite-evento/receita.json +21 -0
- package/kits/convite-evento/regras/area-segura.md +20 -0
- package/kits/convite-evento/regras/cor.md +13 -0
- package/kits/convite-evento/regras/movimento.md +20 -0
- package/kits/convite-evento/regras/ritmo.md +15 -0
- package/kits/convite-evento/regras/som.md +20 -0
- package/kits/convite-evento/regras/tipografia.md +18 -0
- package/kits/corte-podcast/SKILL.md +53 -0
- package/kits/corte-podcast/assets/ASSETS.md +19 -0
- package/kits/corte-podcast/assets/fontes/OFL-Anton.txt +93 -0
- package/kits/corte-podcast/assets/fontes/OFL-IBMPlexMono.txt +93 -0
- package/kits/corte-podcast/assets/fontes/anton.woff2 +0 -0
- package/kits/corte-podcast/assets/fontes/plexmono.woff2 +0 -0
- package/kits/corte-podcast/assets/sons/assinatura.mp3 +0 -0
- package/kits/corte-podcast/assets/sons/clique.mp3 +0 -0
- package/kits/corte-podcast/assets/sons/impacto.mp3 +0 -0
- package/kits/corte-podcast/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/corte-podcast/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/corte-podcast/assets/sons/subida.mp3 +0 -0
- package/kits/corte-podcast/assets/sons/swoosh.mp3 +0 -0
- package/kits/corte-podcast/assets/sons/tick.mp3 +0 -0
- package/kits/corte-podcast/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/corte-podcast/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/corte-podcast/assets/trilha/lofi-pulso-100bpm.mp3 +0 -0
- package/kits/corte-podcast/capa.jpg +0 -0
- package/kits/corte-podcast/elementos/BarraEpisodio.tsx +43 -0
- package/kits/corte-podcast/elementos/Camera.tsx +21 -0
- package/kits/corte-podcast/elementos/CartaoConvidado.tsx +32 -0
- package/kits/corte-podcast/elementos/Cena.tsx +41 -0
- package/kits/corte-podcast/elementos/CitacaoGrande.tsx +42 -0
- package/kits/corte-podcast/elementos/Fundo.tsx +27 -0
- package/kits/corte-podcast/elementos/LegendaKaraoke.tsx +32 -0
- package/kits/corte-podcast/elementos/Montagem.tsx +59 -0
- package/kits/corte-podcast/elementos/OndaAudio.tsx +41 -0
- package/kits/corte-podcast/elementos/SeloEpisodio.tsx +33 -0
- package/kits/corte-podcast/elementos/Som.tsx +40 -0
- package/kits/corte-podcast/elementos/base.ts +82 -0
- package/kits/corte-podcast/elementos/index.ts +15 -0
- package/kits/corte-podcast/exemplos/plano.json +62 -0
- package/kits/corte-podcast/exemplos/roteiro.md +20 -0
- package/kits/corte-podcast/preview.tsx +9 -0
- package/kits/corte-podcast/receita.json +21 -0
- package/kits/corte-podcast/regras/area-segura.md +18 -0
- package/kits/corte-podcast/regras/cor.md +15 -0
- package/kits/corte-podcast/regras/movimento.md +18 -0
- package/kits/corte-podcast/regras/ritmo.md +16 -0
- package/kits/corte-podcast/regras/som.md +20 -0
- package/kits/corte-podcast/regras/tipografia.md +16 -0
- package/kits/cubos/SKILL.md +51 -0
- package/kits/cubos/assets/ASSETS.md +21 -0
- package/kits/cubos/assets/fontes/OFL-ArchivoBlack.txt +92 -0
- package/kits/cubos/assets/fontes/OFL-DMSans.txt +92 -0
- package/kits/cubos/assets/fontes/archivoblack-latin.woff2 +0 -0
- package/kits/cubos/assets/fontes/dmsans-latin.woff2 +0 -0
- package/kits/cubos/assets/sons/assinatura.mp3 +0 -0
- package/kits/cubos/assets/sons/bloco.mp3 +0 -0
- package/kits/cubos/assets/sons/desmonta.mp3 +0 -0
- package/kits/cubos/assets/sons/encaixa.mp3 +0 -0
- package/kits/cubos/assets/sons/estala.mp3 +0 -0
- package/kits/cubos/assets/sons/gira.mp3 +0 -0
- package/kits/cubos/assets/sons/queda.mp3 +0 -0
- package/kits/cubos/assets/sons/whoosh.mp3 +0 -0
- package/kits/cubos/assets/trilha/calma-com-punch-108bpm.mp3 +0 -0
- package/kits/cubos/capa.jpg +0 -0
- package/kits/cubos/elementos/AssinaturaMarca.tsx +29 -0
- package/kits/cubos/elementos/Camera.tsx +22 -0
- package/kits/cubos/elementos/Cena.tsx +48 -0
- package/kits/cubos/elementos/Cubo.tsx +40 -0
- package/kits/cubos/elementos/CuboGiratorio.tsx +37 -0
- package/kits/cubos/elementos/Fundo.tsx +15 -0
- package/kits/cubos/elementos/Montagem.tsx +67 -0
- package/kits/cubos/elementos/MontagemDeCubos.tsx +58 -0
- package/kits/cubos/elementos/PlacaBloco.tsx +29 -0
- package/kits/cubos/elementos/Som.tsx +33 -0
- package/kits/cubos/elementos/TorreDeCubos.tsx +39 -0
- package/kits/cubos/elementos/base.ts +97 -0
- package/kits/cubos/elementos/index.ts +15 -0
- package/kits/cubos/exemplos/logo-encaixa.svg +1 -0
- package/kits/cubos/exemplos/plano.json +45 -0
- package/kits/cubos/exemplos/roteiro.md +20 -0
- package/kits/cubos/preview.tsx +12 -0
- package/kits/cubos/receita.json +151 -0
- package/kits/cubos/regras/area-segura.md +18 -0
- package/kits/cubos/regras/cor.md +23 -0
- package/kits/cubos/regras/movimento.md +17 -0
- package/kits/cubos/regras/ritmo.md +14 -0
- package/kits/cubos/regras/som.md +20 -0
- package/kits/cubos/regras/tipografia.md +15 -0
- package/kits/dashboard-dados/SKILL.md +51 -0
- package/kits/dashboard-dados/assets/ASSETS.md +18 -0
- package/kits/dashboard-dados/assets/fontes/OFL-IBM-Plex-Mono.txt +93 -0
- package/kits/dashboard-dados/assets/fontes/OFL-Montserrat.txt +93 -0
- package/kits/dashboard-dados/assets/fontes/montserrat.woff2 +0 -0
- package/kits/dashboard-dados/assets/fontes/plex-mono.woff2 +0 -0
- package/kits/dashboard-dados/assets/sons/assinatura.mp3 +0 -0
- package/kits/dashboard-dados/assets/sons/clique.mp3 +0 -0
- package/kits/dashboard-dados/assets/sons/impacto.mp3 +0 -0
- package/kits/dashboard-dados/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/dashboard-dados/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/dashboard-dados/assets/sons/subida.mp3 +0 -0
- package/kits/dashboard-dados/assets/sons/swoosh.mp3 +0 -0
- package/kits/dashboard-dados/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/dashboard-dados/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/dashboard-dados/assets/trilha/trilha.mp3 +0 -0
- package/kits/dashboard-dados/capa.jpg +0 -0
- package/kits/dashboard-dados/elementos/AssinaturaMarca.tsx +19 -0
- package/kits/dashboard-dados/elementos/BarrasCrescendo.tsx +27 -0
- package/kits/dashboard-dados/elementos/Camera.tsx +23 -0
- package/kits/dashboard-dados/elementos/Cena.tsx +46 -0
- package/kits/dashboard-dados/elementos/Fundo.tsx +12 -0
- package/kits/dashboard-dados/elementos/LinhaTendencia.tsx +29 -0
- package/kits/dashboard-dados/elementos/Montagem.tsx +60 -0
- package/kits/dashboard-dados/elementos/NumeroGigante.tsx +21 -0
- package/kits/dashboard-dados/elementos/RankingBarras.tsx +27 -0
- package/kits/dashboard-dados/elementos/RoscaDados.tsx +39 -0
- package/kits/dashboard-dados/elementos/Som.tsx +39 -0
- package/kits/dashboard-dados/elementos/base.ts +87 -0
- package/kits/dashboard-dados/elementos/index.ts +16 -0
- package/kits/dashboard-dados/exemplos/logo-radar.svg +1 -0
- package/kits/dashboard-dados/exemplos/plano.json +325 -0
- package/kits/dashboard-dados/exemplos/roteiro.md +20 -0
- package/kits/dashboard-dados/preview.tsx +12 -0
- package/kits/dashboard-dados/receita.json +173 -0
- package/kits/dashboard-dados/regras/area-segura.md +13 -0
- package/kits/dashboard-dados/regras/cor.md +17 -0
- package/kits/dashboard-dados/regras/movimento.md +17 -0
- package/kits/dashboard-dados/regras/ritmo.md +14 -0
- package/kits/dashboard-dados/regras/som.md +18 -0
- package/kits/dashboard-dados/regras/tipografia.md +16 -0
- package/kits/depoimento/SKILL.md +54 -0
- package/kits/depoimento/assets/ASSETS.md +20 -0
- package/kits/depoimento/assets/fontes/OFL-Newsreader.txt +93 -0
- package/kits/depoimento/assets/fontes/OFL-SpaceGrotesk.txt +93 -0
- package/kits/depoimento/assets/fontes/newsreader-i.woff2 +0 -0
- package/kits/depoimento/assets/fontes/spacegrotesk.woff2 +0 -0
- package/kits/depoimento/assets/sons/assinatura.mp3 +0 -0
- package/kits/depoimento/assets/sons/clique.mp3 +0 -0
- package/kits/depoimento/assets/sons/estrela.mp3 +0 -0
- package/kits/depoimento/assets/sons/impacto.mp3 +0 -0
- package/kits/depoimento/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/depoimento/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/depoimento/assets/sons/subida.mp3 +0 -0
- package/kits/depoimento/assets/sons/swoosh.mp3 +0 -0
- package/kits/depoimento/assets/sons/verificado.mp3 +0 -0
- package/kits/depoimento/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/depoimento/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/depoimento/assets/trilha/calor-104bpm.mp3 +0 -0
- package/kits/depoimento/capa.jpg +0 -0
- package/kits/depoimento/elementos/Avatar.tsx +37 -0
- package/kits/depoimento/elementos/Camera.tsx +21 -0
- package/kits/depoimento/elementos/CartaoDepoimento.tsx +69 -0
- package/kits/depoimento/elementos/Cena.tsx +39 -0
- package/kits/depoimento/elementos/Estrelas.tsx +34 -0
- package/kits/depoimento/elementos/FaixaAvatares.tsx +41 -0
- package/kits/depoimento/elementos/Fundo.tsx +23 -0
- package/kits/depoimento/elementos/Montagem.tsx +60 -0
- package/kits/depoimento/elementos/NotaGigante.tsx +38 -0
- package/kits/depoimento/elementos/PilhaCartoes.tsx +37 -0
- package/kits/depoimento/elementos/SeloVerificado.tsx +29 -0
- package/kits/depoimento/elementos/Som.tsx +41 -0
- package/kits/depoimento/elementos/base.ts +83 -0
- package/kits/depoimento/elementos/index.ts +16 -0
- package/kits/depoimento/exemplos/plano.json +57 -0
- package/kits/depoimento/exemplos/roteiro.md +19 -0
- package/kits/depoimento/preview.tsx +9 -0
- package/kits/depoimento/receita.json +21 -0
- package/kits/depoimento/regras/area-segura.md +17 -0
- package/kits/depoimento/regras/cor.md +16 -0
- package/kits/depoimento/regras/movimento.md +20 -0
- package/kits/depoimento/regras/ritmo.md +15 -0
- package/kits/depoimento/regras/som.md +21 -0
- package/kits/depoimento/regras/tipografia.md +17 -0
- package/kits/estudio/package.json +13 -0
- package/kits/estudio/render.mjs +48 -0
- package/kits/infografico/SKILL.md +54 -0
- package/kits/infografico/assets/ASSETS.md +19 -0
- package/kits/infografico/assets/fontes/OFL-Caveat.txt +93 -0
- package/kits/infografico/assets/fontes/OFL-Outfit.txt +93 -0
- package/kits/infografico/assets/fontes/caveat.woff2 +0 -0
- package/kits/infografico/assets/fontes/outfit.woff2 +0 -0
- package/kits/infografico/assets/sons/assinatura.mp3 +0 -0
- package/kits/infografico/assets/sons/clique.mp3 +0 -0
- package/kits/infografico/assets/sons/impacto.mp3 +0 -0
- package/kits/infografico/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/infografico/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/infografico/assets/sons/subida.mp3 +0 -0
- package/kits/infografico/assets/sons/swoosh.mp3 +0 -0
- package/kits/infografico/assets/sons/traco.mp3 +0 -0
- package/kits/infografico/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/infografico/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/infografico/assets/trilha/explica-100bpm.mp3 +0 -0
- package/kits/infografico/capa.jpg +0 -0
- package/kits/infografico/elementos/Anotacao.tsx +34 -0
- package/kits/infografico/elementos/CadeiaPassos.tsx +49 -0
- package/kits/infografico/elementos/Camera.tsx +21 -0
- package/kits/infografico/elementos/Cena.tsx +39 -0
- package/kits/infografico/elementos/Fundo.tsx +23 -0
- package/kits/infografico/elementos/GraficoBarras.tsx +41 -0
- package/kits/infografico/elementos/Icone.tsx +35 -0
- package/kits/infografico/elementos/Montagem.tsx +60 -0
- package/kits/infografico/elementos/NoProcesso.tsx +33 -0
- package/kits/infografico/elementos/NumeroDestaque.tsx +35 -0
- package/kits/infografico/elementos/SetaCurva.tsx +33 -0
- package/kits/infografico/elementos/Som.tsx +40 -0
- package/kits/infografico/elementos/base.ts +80 -0
- package/kits/infografico/elementos/index.ts +16 -0
- package/kits/infografico/exemplos/plano.json +49 -0
- package/kits/infografico/exemplos/roteiro.md +19 -0
- package/kits/infografico/preview.tsx +9 -0
- package/kits/infografico/receita.json +21 -0
- package/kits/infografico/regras/area-segura.md +17 -0
- package/kits/infografico/regras/cor.md +15 -0
- package/kits/infografico/regras/movimento.md +20 -0
- package/kits/infografico/regras/ritmo.md +15 -0
- package/kits/infografico/regras/som.md +20 -0
- package/kits/infografico/regras/tipografia.md +16 -0
- package/kits/isometrico/SKILL.md +52 -0
- package/kits/isometrico/assets/ASSETS.md +18 -0
- package/kits/isometrico/assets/fontes/OFL-Archivo.txt +93 -0
- package/kits/isometrico/assets/fontes/OFL-Jost.txt +93 -0
- package/kits/isometrico/assets/fontes/archivo.woff2 +0 -0
- package/kits/isometrico/assets/fontes/jost.woff2 +0 -0
- package/kits/isometrico/assets/sons/assinatura.mp3 +0 -0
- package/kits/isometrico/assets/sons/clique.mp3 +0 -0
- package/kits/isometrico/assets/sons/impacto.mp3 +0 -0
- package/kits/isometrico/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/isometrico/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/isometrico/assets/sons/subida.mp3 +0 -0
- package/kits/isometrico/assets/sons/swoosh.mp3 +0 -0
- package/kits/isometrico/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/isometrico/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/isometrico/assets/trilha/trilha.mp3 +0 -0
- package/kits/isometrico/capa.jpg +0 -0
- package/kits/isometrico/elementos/AssinaturaMarca.tsx +24 -0
- package/kits/isometrico/elementos/BlocosMontando.tsx +36 -0
- package/kits/isometrico/elementos/Camera.tsx +23 -0
- package/kits/isometrico/elementos/Cena.tsx +46 -0
- package/kits/isometrico/elementos/CidadeDeDados.tsx +33 -0
- package/kits/isometrico/elementos/Fundo.tsx +13 -0
- package/kits/isometrico/elementos/LegendaPlaca.tsx +18 -0
- package/kits/isometrico/elementos/Montagem.tsx +60 -0
- package/kits/isometrico/elementos/RedeDeBlocos.tsx +41 -0
- package/kits/isometrico/elementos/Som.tsx +39 -0
- package/kits/isometrico/elementos/TextoNoChao.tsx +28 -0
- package/kits/isometrico/elementos/base.ts +86 -0
- package/kits/isometrico/elementos/index.ts +16 -0
- package/kits/isometrico/elementos/iso.tsx +49 -0
- package/kits/isometrico/exemplos/logo-nodo.svg +1 -0
- package/kits/isometrico/exemplos/plano.json +433 -0
- package/kits/isometrico/exemplos/roteiro.md +20 -0
- package/kits/isometrico/preview.tsx +12 -0
- package/kits/isometrico/receita.json +155 -0
- package/kits/isometrico/regras/area-segura.md +13 -0
- package/kits/isometrico/regras/cor.md +18 -0
- package/kits/isometrico/regras/movimento.md +16 -0
- package/kits/isometrico/regras/ritmo.md +13 -0
- package/kits/isometrico/regras/som.md +18 -0
- package/kits/isometrico/regras/tipografia.md +12 -0
- package/kits/jornal/SKILL.md +54 -0
- package/kits/jornal/assets/ASSETS.md +24 -0
- package/kits/jornal/assets/fontes/OFL-PlayfairDisplay.txt +93 -0
- package/kits/jornal/assets/fontes/OFL-UnifrakturMaguntia.txt +93 -0
- package/kits/jornal/assets/fontes/playfair-italic.woff2 +0 -0
- package/kits/jornal/assets/fontes/playfair.woff2 +0 -0
- package/kits/jornal/assets/fontes/unifraktur.woff2 +0 -0
- package/kits/jornal/assets/sons/assinatura.mp3 +0 -0
- package/kits/jornal/assets/sons/clique.mp3 +0 -0
- package/kits/jornal/assets/sons/impacto.mp3 +0 -0
- package/kits/jornal/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/jornal/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/jornal/assets/sons/subida.mp3 +0 -0
- package/kits/jornal/assets/sons/swoosh.mp3 +0 -0
- package/kits/jornal/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/jornal/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/jornal/assets/trilha/redacao-96bpm.mp3 +0 -0
- package/kits/jornal/capa.jpg +0 -0
- package/kits/jornal/elementos/AssinaturaMarca.tsx +25 -0
- package/kits/jornal/elementos/Cabecalho.tsx +21 -0
- package/kits/jornal/elementos/Camera.tsx +22 -0
- package/kits/jornal/elementos/Carimbo.tsx +18 -0
- package/kits/jornal/elementos/Cena.tsx +41 -0
- package/kits/jornal/elementos/Colunas.tsx +24 -0
- package/kits/jornal/elementos/FotoMeiaTinta.tsx +20 -0
- package/kits/jornal/elementos/Fundo.tsx +18 -0
- package/kits/jornal/elementos/JornalGirando.tsx +27 -0
- package/kits/jornal/elementos/Manchete.tsx +30 -0
- package/kits/jornal/elementos/Montagem.tsx +61 -0
- package/kits/jornal/elementos/Som.tsx +38 -0
- package/kits/jornal/elementos/Ticker.tsx +19 -0
- package/kits/jornal/elementos/base.ts +76 -0
- package/kits/jornal/elementos/index.ts +17 -0
- package/kits/jornal/exemplos/fotos/foto-03.jpg +0 -0
- package/kits/jornal/exemplos/fotos/foto-07.jpg +0 -0
- package/kits/jornal/exemplos/logo-esquina.svg +1 -0
- package/kits/jornal/exemplos/plano.json +48 -0
- package/kits/jornal/exemplos/roteiro.md +19 -0
- package/kits/jornal/preview.tsx +17 -0
- package/kits/jornal/receita.json +170 -0
- package/kits/jornal/regras/area-segura.md +19 -0
- package/kits/jornal/regras/cor.md +14 -0
- package/kits/jornal/regras/movimento.md +16 -0
- package/kits/jornal/regras/ritmo.md +15 -0
- package/kits/jornal/regras/som.md +21 -0
- package/kits/jornal/regras/tipografia.md +17 -0
- package/kits/legenda-viva/SKILL.md +52 -0
- package/kits/legenda-viva/assets/ASSETS.md +23 -0
- package/kits/legenda-viva/assets/fontes/OFL-Inter.txt +93 -0
- package/kits/legenda-viva/assets/fontes/OFL-Montserrat.txt +93 -0
- package/kits/legenda-viva/assets/fontes/inter.woff2 +0 -0
- package/kits/legenda-viva/assets/fontes/montserrat.woff2 +0 -0
- package/kits/legenda-viva/assets/sons/assinatura.mp3 +0 -0
- package/kits/legenda-viva/assets/sons/clique.mp3 +0 -0
- package/kits/legenda-viva/assets/sons/impacto.mp3 +0 -0
- package/kits/legenda-viva/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/legenda-viva/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/legenda-viva/assets/sons/subida.mp3 +0 -0
- package/kits/legenda-viva/assets/sons/swoosh.mp3 +0 -0
- package/kits/legenda-viva/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/legenda-viva/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/legenda-viva/assets/trilha/voz-118bpm.mp3 +0 -0
- package/kits/legenda-viva/capa.jpg +0 -0
- package/kits/legenda-viva/elementos/AssinaturaMarca.tsx +29 -0
- package/kits/legenda-viva/elementos/Camera.tsx +22 -0
- package/kits/legenda-viva/elementos/Cena.tsx +41 -0
- package/kits/legenda-viva/elementos/ChipTema.tsx +19 -0
- package/kits/legenda-viva/elementos/Fundo.tsx +6 -0
- package/kits/legenda-viva/elementos/LegendaCaixa.tsx +36 -0
- package/kits/legenda-viva/elementos/LegendaPalavra.tsx +32 -0
- package/kits/legenda-viva/elementos/Montagem.tsx +59 -0
- package/kits/legenda-viva/elementos/OndaVoz.tsx +23 -0
- package/kits/legenda-viva/elementos/PalavraGigante.tsx +18 -0
- package/kits/legenda-viva/elementos/QuadroFalante.tsx +17 -0
- package/kits/legenda-viva/elementos/Som.tsx +38 -0
- package/kits/legenda-viva/elementos/base.ts +73 -0
- package/kits/legenda-viva/elementos/index.ts +16 -0
- package/kits/legenda-viva/exemplos/fotos/foto-01.jpg +0 -0
- package/kits/legenda-viva/exemplos/fotos/foto-02.jpg +0 -0
- package/kits/legenda-viva/exemplos/fotos/foto-03.jpg +0 -0
- package/kits/legenda-viva/exemplos/fotos/foto-05.jpg +0 -0
- package/kits/legenda-viva/exemplos/logo-dica.svg +1 -0
- package/kits/legenda-viva/exemplos/plano.json +45 -0
- package/kits/legenda-viva/exemplos/roteiro.md +18 -0
- package/kits/legenda-viva/preview.tsx +19 -0
- package/kits/legenda-viva/receita.json +171 -0
- package/kits/legenda-viva/regras/area-segura.md +19 -0
- package/kits/legenda-viva/regras/cor.md +14 -0
- package/kits/legenda-viva/regras/movimento.md +16 -0
- package/kits/legenda-viva/regras/ritmo.md +15 -0
- package/kits/legenda-viva/regras/som.md +21 -0
- package/kits/legenda-viva/regras/tipografia.md +16 -0
- package/kits/luxo/SKILL.md +55 -0
- package/kits/luxo/assets/ASSETS.md +20 -0
- package/kits/luxo/assets/fontes/OFL-CormorantGaramond.txt +93 -0
- package/kits/luxo/assets/fontes/OFL-Jost.txt +93 -0
- package/kits/luxo/assets/fontes/cormorant-i.woff2 +0 -0
- package/kits/luxo/assets/fontes/cormorant.woff2 +0 -0
- package/kits/luxo/assets/fontes/jost.woff2 +0 -0
- package/kits/luxo/assets/sons/assinatura.mp3 +0 -0
- package/kits/luxo/assets/sons/clique.mp3 +0 -0
- package/kits/luxo/assets/sons/impacto.mp3 +0 -0
- package/kits/luxo/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/luxo/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/luxo/assets/sons/sino.mp3 +0 -0
- package/kits/luxo/assets/sons/subida.mp3 +0 -0
- package/kits/luxo/assets/sons/swoosh.mp3 +0 -0
- package/kits/luxo/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/luxo/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/luxo/assets/trilha/ambar-78bpm.mp3 +0 -0
- package/kits/luxo/capa.jpg +0 -0
- package/kits/luxo/elementos/Camera.tsx +21 -0
- package/kits/luxo/elementos/Cena.tsx +36 -0
- package/kits/luxo/elementos/ConviteOuro.tsx +34 -0
- package/kits/luxo/elementos/Fundo.tsx +26 -0
- package/kits/luxo/elementos/LegendaFina.tsx +25 -0
- package/kits/luxo/elementos/LinhaOuro.tsx +24 -0
- package/kits/luxo/elementos/MolduraArco.tsx +36 -0
- package/kits/luxo/elementos/Monograma.tsx +35 -0
- package/kits/luxo/elementos/Montagem.tsx +59 -0
- package/kits/luxo/elementos/Som.tsx +40 -0
- package/kits/luxo/elementos/TituloSerifa.tsx +35 -0
- package/kits/luxo/elementos/base.ts +85 -0
- package/kits/luxo/elementos/index.ts +15 -0
- package/kits/luxo/exemplos/fotos/foto-07.jpg +0 -0
- package/kits/luxo/exemplos/fotos/foto-08.jpg +0 -0
- package/kits/luxo/exemplos/plano.json +145 -0
- package/kits/luxo/exemplos/roteiro.md +18 -0
- package/kits/luxo/preview.tsx +13 -0
- package/kits/luxo/receita.json +18 -0
- package/kits/luxo/regras/area-segura.md +16 -0
- package/kits/luxo/regras/cor.md +16 -0
- package/kits/luxo/regras/movimento.md +19 -0
- package/kits/luxo/regras/ritmo.md +14 -0
- package/kits/luxo/regras/som.md +21 -0
- package/kits/luxo/regras/tipografia.md +17 -0
- package/kits/manifest.json +552 -0
- package/kits/mapa/SKILL.md +54 -0
- package/kits/mapa/assets/ASSETS.md +20 -0
- package/kits/mapa/assets/fontes/OFL-DMMono.txt +93 -0
- package/kits/mapa/assets/fontes/OFL-DMSans.txt +93 -0
- package/kits/mapa/assets/fontes/dmmono.woff2 +0 -0
- package/kits/mapa/assets/fontes/dmsans.woff2 +0 -0
- package/kits/mapa/assets/sons/assinatura.mp3 +0 -0
- package/kits/mapa/assets/sons/clique.mp3 +0 -0
- package/kits/mapa/assets/sons/impacto.mp3 +0 -0
- package/kits/mapa/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/mapa/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/mapa/assets/sons/quique.mp3 +0 -0
- package/kits/mapa/assets/sons/subida.mp3 +0 -0
- package/kits/mapa/assets/sons/swoosh.mp3 +0 -0
- package/kits/mapa/assets/sons/traco.mp3 +0 -0
- package/kits/mapa/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/mapa/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/mapa/assets/trilha/rota-100bpm.mp3 +0 -0
- package/kits/mapa/capa.jpg +0 -0
- package/kits/mapa/elementos/Camera.tsx +21 -0
- package/kits/mapa/elementos/CartaoEndereco.tsx +40 -0
- package/kits/mapa/elementos/Cena.tsx +41 -0
- package/kits/mapa/elementos/ChipTempo.tsx +29 -0
- package/kits/mapa/elementos/Fundo.tsx +25 -0
- package/kits/mapa/elementos/MapaBase.tsx +63 -0
- package/kits/mapa/elementos/Montagem.tsx +59 -0
- package/kits/mapa/elementos/Pino.tsx +38 -0
- package/kits/mapa/elementos/RotaAnimada.tsx +38 -0
- package/kits/mapa/elementos/Som.tsx +41 -0
- package/kits/mapa/elementos/TituloLocal.tsx +38 -0
- package/kits/mapa/elementos/base.ts +89 -0
- package/kits/mapa/elementos/index.ts +15 -0
- package/kits/mapa/exemplos/plano.json +48 -0
- package/kits/mapa/exemplos/roteiro.md +19 -0
- package/kits/mapa/preview.tsx +9 -0
- package/kits/mapa/receita.json +21 -0
- package/kits/mapa/regras/area-segura.md +15 -0
- package/kits/mapa/regras/cor.md +18 -0
- package/kits/mapa/regras/movimento.md +21 -0
- package/kits/mapa/regras/ritmo.md +15 -0
- package/kits/mapa/regras/som.md +21 -0
- package/kits/mapa/regras/tipografia.md +16 -0
- package/kits/massinha/SKILL.md +53 -0
- package/kits/massinha/assets/ASSETS.md +18 -0
- package/kits/massinha/assets/fontes/OFL-chewy.txt +93 -0
- package/kits/massinha/assets/fontes/OFL-nunito-800.txt +93 -0
- package/kits/massinha/assets/fontes/chewy.woff2 +0 -0
- package/kits/massinha/assets/fontes/nunito-800.woff2 +0 -0
- package/kits/massinha/assets/sons/assinatura.mp3 +0 -0
- package/kits/massinha/assets/sons/clique.mp3 +0 -0
- package/kits/massinha/assets/sons/impacto.mp3 +0 -0
- package/kits/massinha/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/massinha/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/massinha/assets/sons/subida.mp3 +0 -0
- package/kits/massinha/assets/sons/swoosh.mp3 +0 -0
- package/kits/massinha/assets/sons/tick.mp3 +0 -0
- package/kits/massinha/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/massinha/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/massinha/assets/trilha/trilha.mp3 +0 -0
- package/kits/massinha/capa.jpg +0 -0
- package/kits/massinha/elementos/AssinaturaMarca.tsx +20 -0
- package/kits/massinha/elementos/BichinhoMassa.tsx +30 -0
- package/kits/massinha/elementos/BolasMassa.tsx +25 -0
- package/kits/massinha/elementos/Camera.tsx +21 -0
- package/kits/massinha/elementos/Cena.tsx +36 -0
- package/kits/massinha/elementos/FormaMassa.tsx +23 -0
- package/kits/massinha/elementos/Fundo.tsx +12 -0
- package/kits/massinha/elementos/ListaMassa.tsx +19 -0
- package/kits/massinha/elementos/Montagem.tsx +56 -0
- package/kits/massinha/elementos/Overlay.tsx +11 -0
- package/kits/massinha/elementos/PlacaMassa.tsx +24 -0
- package/kits/massinha/elementos/Som.tsx +30 -0
- package/kits/massinha/elementos/TituloMassa.tsx +31 -0
- package/kits/massinha/elementos/argila.ts +21 -0
- package/kits/massinha/elementos/base.ts +79 -0
- package/kits/massinha/elementos/index.ts +17 -0
- package/kits/massinha/exemplos/plano.json +220 -0
- package/kits/massinha/exemplos/roteiro.md +20 -0
- package/kits/massinha/preview.tsx +12 -0
- package/kits/massinha/receita.json +170 -0
- package/kits/massinha/regras/area-segura.md +15 -0
- package/kits/massinha/regras/cor.md +18 -0
- package/kits/massinha/regras/movimento.md +17 -0
- package/kits/massinha/regras/ritmo.md +15 -0
- package/kits/massinha/regras/som.md +17 -0
- package/kits/massinha/regras/tipografia.md +18 -0
- package/kits/memphis/SKILL.md +52 -0
- package/kits/memphis/assets/ASSETS.md +18 -0
- package/kits/memphis/assets/fontes/OFL-bowlby-one.txt +93 -0
- package/kits/memphis/assets/fontes/OFL-dm-sans-800.txt +93 -0
- package/kits/memphis/assets/fontes/bowlby-one.woff2 +0 -0
- package/kits/memphis/assets/fontes/dm-sans-800.woff2 +0 -0
- package/kits/memphis/assets/sons/assinatura.mp3 +0 -0
- package/kits/memphis/assets/sons/clique.mp3 +0 -0
- package/kits/memphis/assets/sons/impacto.mp3 +0 -0
- package/kits/memphis/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/memphis/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/memphis/assets/sons/subida.mp3 +0 -0
- package/kits/memphis/assets/sons/swoosh.mp3 +0 -0
- package/kits/memphis/assets/sons/tick.mp3 +0 -0
- package/kits/memphis/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/memphis/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/memphis/assets/trilha/trilha.mp3 +0 -0
- package/kits/memphis/capa.jpg +0 -0
- package/kits/memphis/elementos/AssinaturaMarca.tsx +20 -0
- package/kits/memphis/elementos/Camera.tsx +21 -0
- package/kits/memphis/elementos/CartaoMemphis.tsx +16 -0
- package/kits/memphis/elementos/Cena.tsx +36 -0
- package/kits/memphis/elementos/FitaMarquee.tsx +21 -0
- package/kits/memphis/elementos/FormasMemphis.tsx +46 -0
- package/kits/memphis/elementos/Fundo.tsx +15 -0
- package/kits/memphis/elementos/ListaPilulas.tsx +17 -0
- package/kits/memphis/elementos/Montagem.tsx +56 -0
- package/kits/memphis/elementos/NumeroGigante.tsx +19 -0
- package/kits/memphis/elementos/Overlay.tsx +23 -0
- package/kits/memphis/elementos/Som.tsx +30 -0
- package/kits/memphis/elementos/TituloMemphis.tsx +28 -0
- package/kits/memphis/elementos/base.ts +78 -0
- package/kits/memphis/elementos/index.ts +17 -0
- package/kits/memphis/exemplos/plano.json +314 -0
- package/kits/memphis/exemplos/roteiro.md +20 -0
- package/kits/memphis/preview.tsx +12 -0
- package/kits/memphis/receita.json +174 -0
- package/kits/memphis/regras/area-segura.md +14 -0
- package/kits/memphis/regras/cor.md +17 -0
- package/kits/memphis/regras/movimento.md +18 -0
- package/kits/memphis/regras/ritmo.md +15 -0
- package/kits/memphis/regras/som.md +18 -0
- package/kits/memphis/regras/tipografia.md +19 -0
- package/kits/metal-liquido/SKILL.md +51 -0
- package/kits/metal-liquido/assets/ASSETS.md +21 -0
- package/kits/metal-liquido/assets/fontes/OFL-SpaceGrotesk.txt +92 -0
- package/kits/metal-liquido/assets/fontes/OFL-Unbounded.txt +92 -0
- package/kits/metal-liquido/assets/fontes/grotesk-latin.woff2 +0 -0
- package/kits/metal-liquido/assets/fontes/unbounded-latin.woff2 +0 -0
- package/kits/metal-liquido/assets/sons/assinatura.mp3 +0 -0
- package/kits/metal-liquido/assets/sons/clique.mp3 +0 -0
- package/kits/metal-liquido/assets/sons/cromo.mp3 +0 -0
- package/kits/metal-liquido/assets/sons/liquido.mp3 +0 -0
- package/kits/metal-liquido/assets/sons/quique.mp3 +0 -0
- package/kits/metal-liquido/assets/sons/subida.mp3 +0 -0
- package/kits/metal-liquido/assets/sons/varre.mp3 +0 -0
- package/kits/metal-liquido/assets/sons/whoosh.mp3 +0 -0
- package/kits/metal-liquido/assets/trilha/sombrio-114bpm.mp3 +0 -0
- package/kits/metal-liquido/capa.jpg +0 -0
- package/kits/metal-liquido/elementos/AnelCromo.tsx +28 -0
- package/kits/metal-liquido/elementos/AssinaturaMarca.tsx +26 -0
- package/kits/metal-liquido/elementos/BolhasCromadas.tsx +53 -0
- package/kits/metal-liquido/elementos/Camera.tsx +22 -0
- package/kits/metal-liquido/elementos/Cena.tsx +48 -0
- package/kits/metal-liquido/elementos/EsferaCromo.tsx +32 -0
- package/kits/metal-liquido/elementos/Fundo.tsx +20 -0
- package/kits/metal-liquido/elementos/Montagem.tsx +67 -0
- package/kits/metal-liquido/elementos/PilulaCromo.tsx +23 -0
- package/kits/metal-liquido/elementos/Som.tsx +33 -0
- package/kits/metal-liquido/elementos/TituloCromo.tsx +32 -0
- package/kits/metal-liquido/elementos/base.ts +94 -0
- package/kits/metal-liquido/elementos/index.ts +15 -0
- package/kits/metal-liquido/exemplos/logo-mercurio.svg +1 -0
- package/kits/metal-liquido/exemplos/plano.json +48 -0
- package/kits/metal-liquido/exemplos/roteiro.md +20 -0
- package/kits/metal-liquido/preview.tsx +12 -0
- package/kits/metal-liquido/receita.json +173 -0
- package/kits/metal-liquido/regras/area-segura.md +16 -0
- package/kits/metal-liquido/regras/cor.md +23 -0
- package/kits/metal-liquido/regras/movimento.md +18 -0
- package/kits/metal-liquido/regras/ritmo.md +14 -0
- package/kits/metal-liquido/regras/som.md +20 -0
- package/kits/metal-liquido/regras/tipografia.md +15 -0
- package/kits/minimal/SKILL.md +54 -0
- package/kits/minimal/assets/ASSETS.md +19 -0
- package/kits/minimal/assets/fontes/OFL-HankenGrotesk.txt +93 -0
- package/kits/minimal/assets/fontes/OFL-SplineSansMono.txt +93 -0
- package/kits/minimal/assets/fontes/hanken.woff2 +0 -0
- package/kits/minimal/assets/fontes/splinemono.woff2 +0 -0
- package/kits/minimal/assets/sons/assinatura.mp3 +0 -0
- package/kits/minimal/assets/sons/clique.mp3 +0 -0
- package/kits/minimal/assets/sons/impacto.mp3 +0 -0
- package/kits/minimal/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/minimal/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/minimal/assets/sons/subida.mp3 +0 -0
- package/kits/minimal/assets/sons/swoosh.mp3 +0 -0
- package/kits/minimal/assets/sons/toque.mp3 +0 -0
- package/kits/minimal/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/minimal/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/minimal/assets/trilha/vazio-90bpm.mp3 +0 -0
- package/kits/minimal/capa.jpg +0 -0
- package/kits/minimal/elementos/Camera.tsx +21 -0
- package/kits/minimal/elementos/Cena.tsx +39 -0
- package/kits/minimal/elementos/FormaMorph.tsx +44 -0
- package/kits/minimal/elementos/FraseUnica.tsx +33 -0
- package/kits/minimal/elementos/Fundo.tsx +20 -0
- package/kits/minimal/elementos/LinhaFina.tsx +24 -0
- package/kits/minimal/elementos/Montagem.tsx +59 -0
- package/kits/minimal/elementos/NumeroSolo.tsx +33 -0
- package/kits/minimal/elementos/PontoMovel.tsx +27 -0
- package/kits/minimal/elementos/RodapeMinimal.tsx +26 -0
- package/kits/minimal/elementos/Som.tsx +40 -0
- package/kits/minimal/elementos/base.ts +80 -0
- package/kits/minimal/elementos/index.ts +15 -0
- package/kits/minimal/exemplos/plano.json +48 -0
- package/kits/minimal/exemplos/roteiro.md +19 -0
- package/kits/minimal/preview.tsx +9 -0
- package/kits/minimal/receita.json +21 -0
- package/kits/minimal/regras/area-segura.md +15 -0
- package/kits/minimal/regras/cor.md +12 -0
- package/kits/minimal/regras/movimento.md +20 -0
- package/kits/minimal/regras/ritmo.md +15 -0
- package/kits/minimal/regras/som.md +21 -0
- package/kits/minimal/regras/tipografia.md +15 -0
- package/kits/neon-cidade/SKILL.md +51 -0
- package/kits/neon-cidade/assets/ASSETS.md +21 -0
- package/kits/neon-cidade/assets/fontes/OFL-BarlowCondensed.txt +92 -0
- package/kits/neon-cidade/assets/fontes/OFL-TiltNeon.txt +92 -0
- package/kits/neon-cidade/assets/fontes/barlow-latin.woff2 +0 -0
- package/kits/neon-cidade/assets/fontes/tiltneon-latin.woff2 +0 -0
- package/kits/neon-cidade/assets/sons/assinatura.mp3 +0 -0
- package/kits/neon-cidade/assets/sons/balanca.mp3 +0 -0
- package/kits/neon-cidade/assets/sons/clique.mp3 +0 -0
- package/kits/neon-cidade/assets/sons/impacto.mp3 +0 -0
- package/kits/neon-cidade/assets/sons/liga.mp3 +0 -0
- package/kits/neon-cidade/assets/sons/tick.mp3 +0 -0
- package/kits/neon-cidade/assets/sons/whoosh.mp3 +0 -0
- package/kits/neon-cidade/assets/sons/zumbido.mp3 +0 -0
- package/kits/neon-cidade/assets/trilha/noite-100bpm.mp3 +0 -0
- package/kits/neon-cidade/capa.jpg +0 -0
- package/kits/neon-cidade/elementos/AssinaturaMarca.tsx +24 -0
- package/kits/neon-cidade/elementos/CaixaLuminosa.tsx +40 -0
- package/kits/neon-cidade/elementos/Camera.tsx +22 -0
- package/kits/neon-cidade/elementos/Cena.tsx +48 -0
- package/kits/neon-cidade/elementos/Chuva.tsx +23 -0
- package/kits/neon-cidade/elementos/FormaNeon.tsx +42 -0
- package/kits/neon-cidade/elementos/Fundo.tsx +18 -0
- package/kits/neon-cidade/elementos/Horizonte.tsx +34 -0
- package/kits/neon-cidade/elementos/LetreiroNeon.tsx +46 -0
- package/kits/neon-cidade/elementos/Montagem.tsx +67 -0
- package/kits/neon-cidade/elementos/Som.tsx +33 -0
- package/kits/neon-cidade/elementos/base.ts +100 -0
- package/kits/neon-cidade/elementos/index.ts +15 -0
- package/kits/neon-cidade/exemplos/logo-fenix.svg +1 -0
- package/kits/neon-cidade/exemplos/plano.json +50 -0
- package/kits/neon-cidade/exemplos/roteiro.md +20 -0
- package/kits/neon-cidade/preview.tsx +12 -0
- package/kits/neon-cidade/receita.json +151 -0
- package/kits/neon-cidade/regras/area-segura.md +18 -0
- package/kits/neon-cidade/regras/cor.md +23 -0
- package/kits/neon-cidade/regras/movimento.md +18 -0
- package/kits/neon-cidade/regras/ritmo.md +14 -0
- package/kits/neon-cidade/regras/som.md +20 -0
- package/kits/neon-cidade/regras/tipografia.md +15 -0
- package/kits/notion-editorial/SKILL.md +51 -0
- package/kits/notion-editorial/assets/ASSETS.md +19 -0
- package/kits/notion-editorial/assets/fontes/OFL-Cormorant-Italic.txt +93 -0
- package/kits/notion-editorial/assets/fontes/OFL-Cormorant.txt +93 -0
- package/kits/notion-editorial/assets/fontes/OFL-Jost.txt +93 -0
- package/kits/notion-editorial/assets/fontes/cormorant-italic.woff2 +0 -0
- package/kits/notion-editorial/assets/fontes/cormorant.woff2 +0 -0
- package/kits/notion-editorial/assets/fontes/jost.woff2 +0 -0
- package/kits/notion-editorial/assets/sons/assinatura.mp3 +0 -0
- package/kits/notion-editorial/assets/sons/clique.mp3 +0 -0
- package/kits/notion-editorial/assets/sons/impacto.mp3 +0 -0
- package/kits/notion-editorial/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/notion-editorial/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/notion-editorial/assets/sons/subida.mp3 +0 -0
- package/kits/notion-editorial/assets/sons/swoosh.mp3 +0 -0
- package/kits/notion-editorial/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/notion-editorial/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/notion-editorial/assets/trilha/trilha.mp3 +0 -0
- package/kits/notion-editorial/capa.jpg +0 -0
- package/kits/notion-editorial/elementos/AssinaturaMarca.tsx +20 -0
- package/kits/notion-editorial/elementos/BlocoNota.tsx +38 -0
- package/kits/notion-editorial/elementos/Camera.tsx +23 -0
- package/kits/notion-editorial/elementos/Cena.tsx +46 -0
- package/kits/notion-editorial/elementos/Diagrama.tsx +29 -0
- package/kits/notion-editorial/elementos/Fundo.tsx +12 -0
- package/kits/notion-editorial/elementos/Montagem.tsx +60 -0
- package/kits/notion-editorial/elementos/PassosNumerados.tsx +23 -0
- package/kits/notion-editorial/elementos/RabiscoIcone.tsx +33 -0
- package/kits/notion-editorial/elementos/Som.tsx +39 -0
- package/kits/notion-editorial/elementos/TextoSerifa.tsx +53 -0
- package/kits/notion-editorial/elementos/base.ts +87 -0
- package/kits/notion-editorial/elementos/desenho.tsx +36 -0
- package/kits/notion-editorial/elementos/index.ts +16 -0
- package/kits/notion-editorial/exemplos/logo-pauta.svg +1 -0
- package/kits/notion-editorial/exemplos/plano.json +254 -0
- package/kits/notion-editorial/exemplos/roteiro.md +20 -0
- package/kits/notion-editorial/preview.tsx +12 -0
- package/kits/notion-editorial/receita.json +165 -0
- package/kits/notion-editorial/regras/area-segura.md +13 -0
- package/kits/notion-editorial/regras/cor.md +15 -0
- package/kits/notion-editorial/regras/movimento.md +16 -0
- package/kits/notion-editorial/regras/ritmo.md +14 -0
- package/kits/notion-editorial/regras/som.md +18 -0
- package/kits/notion-editorial/regras/tipografia.md +15 -0
- package/kits/papel-recortado/SKILL.md +57 -0
- package/kits/papel-recortado/assets/ASSETS.md +18 -0
- package/kits/papel-recortado/assets/fontes/OFL-fredoka-700.txt +93 -0
- package/kits/papel-recortado/assets/fontes/OFL-nunito-700.txt +93 -0
- package/kits/papel-recortado/assets/fontes/fredoka-700.woff2 +0 -0
- package/kits/papel-recortado/assets/fontes/nunito-700.woff2 +0 -0
- package/kits/papel-recortado/assets/sons/assinatura.mp3 +0 -0
- package/kits/papel-recortado/assets/sons/clique.mp3 +0 -0
- package/kits/papel-recortado/assets/sons/impacto.mp3 +0 -0
- package/kits/papel-recortado/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/papel-recortado/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/papel-recortado/assets/sons/subida.mp3 +0 -0
- package/kits/papel-recortado/assets/sons/swoosh.mp3 +0 -0
- package/kits/papel-recortado/assets/sons/tick.mp3 +0 -0
- package/kits/papel-recortado/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/papel-recortado/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/papel-recortado/assets/trilha/trilha.mp3 +0 -0
- package/kits/papel-recortado/capa.jpg +0 -0
- package/kits/papel-recortado/elementos/CamadaPapel.tsx +81 -0
- package/kits/papel-recortado/elementos/Camera.tsx +28 -0
- package/kits/papel-recortado/elementos/CartaoCamadas.tsx +38 -0
- package/kits/papel-recortado/elementos/Cena.tsx +29 -0
- package/kits/papel-recortado/elementos/EtiquetaPapel.tsx +40 -0
- package/kits/papel-recortado/elementos/Filtros.tsx +33 -0
- package/kits/papel-recortado/elementos/Fita.tsx +21 -0
- package/kits/papel-recortado/elementos/FolhaPopUp.tsx +49 -0
- package/kits/papel-recortado/elementos/Fundo.tsx +10 -0
- package/kits/papel-recortado/elementos/LetrasRecortadas.tsx +48 -0
- package/kits/papel-recortado/elementos/MolduraPapel.tsx +12 -0
- package/kits/papel-recortado/elementos/Montagem.tsx +42 -0
- package/kits/papel-recortado/elementos/Som.tsx +30 -0
- package/kits/papel-recortado/elementos/base.ts +51 -0
- package/kits/papel-recortado/elementos/index.ts +15 -0
- package/kits/papel-recortado/exemplos/plano.json +410 -0
- package/kits/papel-recortado/exemplos/roteiro.md +13 -0
- package/kits/papel-recortado/preview.tsx +9 -0
- package/kits/papel-recortado/receita.json +14 -0
- package/kits/papel-recortado/regras/area-segura.md +13 -0
- package/kits/papel-recortado/regras/cor.md +16 -0
- package/kits/papel-recortado/regras/movimento.md +17 -0
- package/kits/papel-recortado/regras/ritmo.md +13 -0
- package/kits/papel-recortado/regras/som.md +17 -0
- package/kits/papel-recortado/regras/tipografia.md +12 -0
- package/kits/pixel/SKILL.md +52 -0
- package/kits/pixel/assets/ASSETS.md +18 -0
- package/kits/pixel/assets/fontes/OFL-pressstart2p.txt +93 -0
- package/kits/pixel/assets/fontes/OFL-vt323.txt +93 -0
- package/kits/pixel/assets/fontes/pressstart2p.woff2 +0 -0
- package/kits/pixel/assets/fontes/vt323.woff2 +0 -0
- package/kits/pixel/assets/sons/assinatura.mp3 +0 -0
- package/kits/pixel/assets/sons/clique.mp3 +0 -0
- package/kits/pixel/assets/sons/impacto.mp3 +0 -0
- package/kits/pixel/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/pixel/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/pixel/assets/sons/subida.mp3 +0 -0
- package/kits/pixel/assets/sons/swoosh.mp3 +0 -0
- package/kits/pixel/assets/sons/tick.mp3 +0 -0
- package/kits/pixel/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/pixel/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/pixel/assets/trilha/trilha.mp3 +0 -0
- package/kits/pixel/capa.jpg +0 -0
- package/kits/pixel/elementos/AssinaturaMarca.tsx +18 -0
- package/kits/pixel/elementos/CaixaDialogo.tsx +22 -0
- package/kits/pixel/elementos/Camera.tsx +21 -0
- package/kits/pixel/elementos/Cena.tsx +36 -0
- package/kits/pixel/elementos/ChuvaDeSprites.tsx +15 -0
- package/kits/pixel/elementos/Fundo.tsx +23 -0
- package/kits/pixel/elementos/HudPlacar.tsx +19 -0
- package/kits/pixel/elementos/MenuPixel.tsx +19 -0
- package/kits/pixel/elementos/Montagem.tsx +56 -0
- package/kits/pixel/elementos/Overlay.tsx +14 -0
- package/kits/pixel/elementos/Som.tsx +30 -0
- package/kits/pixel/elementos/Sprite.tsx +33 -0
- package/kits/pixel/elementos/TituloPixel.tsx +31 -0
- package/kits/pixel/elementos/base.ts +79 -0
- package/kits/pixel/elementos/index.ts +17 -0
- package/kits/pixel/exemplos/plano.json +309 -0
- package/kits/pixel/exemplos/roteiro.md +20 -0
- package/kits/pixel/preview.tsx +12 -0
- package/kits/pixel/receita.json +175 -0
- package/kits/pixel/regras/area-segura.md +14 -0
- package/kits/pixel/regras/cor.md +17 -0
- package/kits/pixel/regras/movimento.md +18 -0
- package/kits/pixel/regras/ritmo.md +15 -0
- package/kits/pixel/regras/som.md +18 -0
- package/kits/pixel/regras/tipografia.md +18 -0
- package/kits/pontos-3d/SKILL.md +51 -0
- package/kits/pontos-3d/assets/ASSETS.md +21 -0
- package/kits/pontos-3d/assets/fontes/OFL-JetBrainsMono.txt +92 -0
- package/kits/pontos-3d/assets/fontes/OFL-Sora.txt +92 -0
- package/kits/pontos-3d/assets/fontes/jetbrains-latin.woff2 +0 -0
- package/kits/pontos-3d/assets/fontes/sora-latin.woff2 +0 -0
- package/kits/pontos-3d/assets/sons/assinatura.mp3 +0 -0
- package/kits/pontos-3d/assets/sons/clique.mp3 +0 -0
- package/kits/pontos-3d/assets/sons/impacto.mp3 +0 -0
- package/kits/pontos-3d/assets/sons/pop.mp3 +0 -0
- package/kits/pontos-3d/assets/sons/subida.mp3 +0 -0
- package/kits/pontos-3d/assets/sons/tick.mp3 +0 -0
- package/kits/pontos-3d/assets/sons/varre.mp3 +0 -0
- package/kits/pontos-3d/assets/sons/whoosh.mp3 +0 -0
- package/kits/pontos-3d/assets/trilha/tech-120bpm.mp3 +0 -0
- package/kits/pontos-3d/capa.jpg +0 -0
- package/kits/pontos-3d/elementos/AssinaturaMarca.tsx +23 -0
- package/kits/pontos-3d/elementos/Camera.tsx +22 -0
- package/kits/pontos-3d/elementos/Cena.tsx +48 -0
- package/kits/pontos-3d/elementos/Contador.tsx +32 -0
- package/kits/pontos-3d/elementos/Fundo.tsx +20 -0
- package/kits/pontos-3d/elementos/Montagem.tsx +67 -0
- package/kits/pontos-3d/elementos/NuvemDePontos.tsx +84 -0
- package/kits/pontos-3d/elementos/RotuloPonto.tsx +32 -0
- package/kits/pontos-3d/elementos/Som.tsx +33 -0
- package/kits/pontos-3d/elementos/TextoDePontos.tsx +55 -0
- package/kits/pontos-3d/elementos/TituloSora.tsx +36 -0
- package/kits/pontos-3d/elementos/base.ts +92 -0
- package/kits/pontos-3d/elementos/index.ts +15 -0
- package/kits/pontos-3d/exemplos/logo-malha.svg +1 -0
- package/kits/pontos-3d/exemplos/plano.json +46 -0
- package/kits/pontos-3d/exemplos/roteiro.md +20 -0
- package/kits/pontos-3d/preview.tsx +12 -0
- package/kits/pontos-3d/receita.json +153 -0
- package/kits/pontos-3d/regras/area-segura.md +17 -0
- package/kits/pontos-3d/regras/cor.md +21 -0
- package/kits/pontos-3d/regras/movimento.md +19 -0
- package/kits/pontos-3d/regras/ritmo.md +14 -0
- package/kits/pontos-3d/regras/som.md +20 -0
- package/kits/pontos-3d/regras/tipografia.md +16 -0
- package/kits/produto-3d/SKILL.md +59 -0
- package/kits/produto-3d/assets/ASSETS.md +18 -0
- package/kits/produto-3d/assets/fontes/OFL-IBMPlexMono.txt +93 -0
- package/kits/produto-3d/assets/fontes/OFL-Syncopate.txt +92 -0
- package/kits/produto-3d/assets/fontes/plex-mono.woff2 +0 -0
- package/kits/produto-3d/assets/fontes/syncopate-latin.woff2 +0 -0
- package/kits/produto-3d/assets/sons/assinatura.mp3 +0 -0
- package/kits/produto-3d/assets/sons/clique.mp3 +0 -0
- package/kits/produto-3d/assets/sons/impacto.mp3 +0 -0
- package/kits/produto-3d/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/produto-3d/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/produto-3d/assets/sons/subida.mp3 +0 -0
- package/kits/produto-3d/assets/sons/swoosh.mp3 +0 -0
- package/kits/produto-3d/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/produto-3d/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/produto-3d/assets/trilha/trilha.mp3 +0 -0
- package/kits/produto-3d/capa.jpg +0 -0
- package/kits/produto-3d/elementos/AssinaturaMarca.tsx +28 -0
- package/kits/produto-3d/elementos/Camera.tsx +23 -0
- package/kits/produto-3d/elementos/Cena.tsx +55 -0
- package/kits/produto-3d/elementos/Fundo.tsx +45 -0
- package/kits/produto-3d/elementos/Montagem.tsx +53 -0
- package/kits/produto-3d/elementos/NumeroDestaque.tsx +35 -0
- package/kits/produto-3d/elementos/Produto3D.tsx +144 -0
- package/kits/produto-3d/elementos/RotuloChamada.tsx +43 -0
- package/kits/produto-3d/elementos/Som.tsx +39 -0
- package/kits/produto-3d/elementos/TituloMinimo.tsx +45 -0
- package/kits/produto-3d/elementos/VarreduraLuz.tsx +22 -0
- package/kits/produto-3d/elementos/base.ts +109 -0
- package/kits/produto-3d/elementos/index.ts +13 -0
- package/kits/produto-3d/elementos/modelos.ts +92 -0
- package/kits/produto-3d/elementos/raymarch.ts +295 -0
- package/kits/produto-3d/exemplos/plano.json +53 -0
- package/kits/produto-3d/exemplos/roteiro.md +15 -0
- package/kits/produto-3d/preview.tsx +9 -0
- package/kits/produto-3d/receita.json +16 -0
- package/kits/produto-3d/regras/area-segura.md +14 -0
- package/kits/produto-3d/regras/cor.md +20 -0
- package/kits/produto-3d/regras/movimento.md +19 -0
- package/kits/produto-3d/regras/ritmo.md +15 -0
- package/kits/produto-3d/regras/som.md +18 -0
- package/kits/produto-3d/regras/tipografia.md +13 -0
- package/kits/quadro-giz/SKILL.md +52 -0
- package/kits/quadro-giz/assets/ASSETS.md +18 -0
- package/kits/quadro-giz/assets/fontes/OFL-patrick-hand.txt +93 -0
- package/kits/quadro-giz/assets/fontes/OFL-schoolbell.txt +93 -0
- package/kits/quadro-giz/assets/fontes/patrick-hand.woff2 +0 -0
- package/kits/quadro-giz/assets/fontes/schoolbell.woff2 +0 -0
- package/kits/quadro-giz/assets/sons/assinatura.mp3 +0 -0
- package/kits/quadro-giz/assets/sons/clique.mp3 +0 -0
- package/kits/quadro-giz/assets/sons/impacto.mp3 +0 -0
- package/kits/quadro-giz/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/quadro-giz/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/quadro-giz/assets/sons/subida.mp3 +0 -0
- package/kits/quadro-giz/assets/sons/swoosh.mp3 +0 -0
- package/kits/quadro-giz/assets/sons/tick.mp3 +0 -0
- package/kits/quadro-giz/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/quadro-giz/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/quadro-giz/assets/trilha/trilha.mp3 +0 -0
- package/kits/quadro-giz/capa.jpg +0 -0
- package/kits/quadro-giz/elementos/ApagadorVarrendo.tsx +32 -0
- package/kits/quadro-giz/elementos/AssinaturaMarca.tsx +20 -0
- package/kits/quadro-giz/elementos/Camera.tsx +21 -0
- package/kits/quadro-giz/elementos/CartaoGiz.tsx +25 -0
- package/kits/quadro-giz/elementos/Cena.tsx +36 -0
- package/kits/quadro-giz/elementos/ContaNoQuadro.tsx +34 -0
- package/kits/quadro-giz/elementos/DesenhoGiz.tsx +29 -0
- package/kits/quadro-giz/elementos/Fundo.tsx +21 -0
- package/kits/quadro-giz/elementos/ListaGiz.tsx +21 -0
- package/kits/quadro-giz/elementos/Montagem.tsx +56 -0
- package/kits/quadro-giz/elementos/Overlay.tsx +12 -0
- package/kits/quadro-giz/elementos/Som.tsx +30 -0
- package/kits/quadro-giz/elementos/TituloGiz.tsx +29 -0
- package/kits/quadro-giz/elementos/base.ts +78 -0
- package/kits/quadro-giz/elementos/index.ts +17 -0
- package/kits/quadro-giz/elementos/traco.ts +9 -0
- package/kits/quadro-giz/exemplos/plano.json +237 -0
- package/kits/quadro-giz/exemplos/roteiro.md +20 -0
- package/kits/quadro-giz/preview.tsx +12 -0
- package/kits/quadro-giz/receita.json +193 -0
- package/kits/quadro-giz/regras/area-segura.md +15 -0
- package/kits/quadro-giz/regras/cor.md +17 -0
- package/kits/quadro-giz/regras/movimento.md +18 -0
- package/kits/quadro-giz/regras/ritmo.md +16 -0
- package/kits/quadro-giz/regras/som.md +18 -0
- package/kits/quadro-giz/regras/tipografia.md +19 -0
- package/kits/rabisco/SKILL.md +51 -0
- package/kits/rabisco/assets/ASSETS.md +18 -0
- package/kits/rabisco/assets/fontes/OFL-caveat-700.txt +93 -0
- package/kits/rabisco/assets/fontes/OFL-permanent-marker.txt +93 -0
- package/kits/rabisco/assets/fontes/caveat-700.woff2 +0 -0
- package/kits/rabisco/assets/fontes/permanent-marker.woff2 +0 -0
- package/kits/rabisco/assets/sons/assinatura.mp3 +0 -0
- package/kits/rabisco/assets/sons/clique.mp3 +0 -0
- package/kits/rabisco/assets/sons/impacto.mp3 +0 -0
- package/kits/rabisco/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/rabisco/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/rabisco/assets/sons/subida.mp3 +0 -0
- package/kits/rabisco/assets/sons/swoosh.mp3 +0 -0
- package/kits/rabisco/assets/sons/tick.mp3 +0 -0
- package/kits/rabisco/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/rabisco/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/rabisco/assets/trilha/trilha.mp3 +0 -0
- package/kits/rabisco/capa.jpg +0 -0
- package/kits/rabisco/elementos/AssinaturaMarca.tsx +21 -0
- package/kits/rabisco/elementos/Bonequinho.tsx +31 -0
- package/kits/rabisco/elementos/Camera.tsx +21 -0
- package/kits/rabisco/elementos/CartaoRabiscado.tsx +27 -0
- package/kits/rabisco/elementos/Cena.tsx +36 -0
- package/kits/rabisco/elementos/Fundo.tsx +17 -0
- package/kits/rabisco/elementos/ListaRabiscada.tsx +23 -0
- package/kits/rabisco/elementos/Montagem.tsx +55 -0
- package/kits/rabisco/elementos/Overlay.tsx +8 -0
- package/kits/rabisco/elementos/Som.tsx +30 -0
- package/kits/rabisco/elementos/TituloRabisco.tsx +28 -0
- package/kits/rabisco/elementos/TracoDesenhando.tsx +31 -0
- package/kits/rabisco/elementos/base.ts +76 -0
- package/kits/rabisco/elementos/index.ts +16 -0
- package/kits/rabisco/elementos/traco.ts +10 -0
- package/kits/rabisco/exemplos/plano.json +238 -0
- package/kits/rabisco/exemplos/roteiro.md +20 -0
- package/kits/rabisco/preview.tsx +12 -0
- package/kits/rabisco/receita.json +171 -0
- package/kits/rabisco/regras/area-segura.md +14 -0
- package/kits/rabisco/regras/cor.md +15 -0
- package/kits/rabisco/regras/movimento.md +18 -0
- package/kits/rabisco/regras/ritmo.md +15 -0
- package/kits/rabisco/regras/som.md +17 -0
- package/kits/rabisco/regras/tipografia.md +18 -0
- package/kits/retro-70/SKILL.md +53 -0
- package/kits/retro-70/assets/ASSETS.md +23 -0
- package/kits/retro-70/assets/fontes/OFL-Fredoka.txt +93 -0
- package/kits/retro-70/assets/fontes/OFL-Shrikhand.txt +93 -0
- package/kits/retro-70/assets/fontes/fredoka.woff2 +0 -0
- package/kits/retro-70/assets/fontes/shrikhand.woff2 +0 -0
- package/kits/retro-70/assets/sons/assinatura.mp3 +0 -0
- package/kits/retro-70/assets/sons/clique.mp3 +0 -0
- package/kits/retro-70/assets/sons/impacto.mp3 +0 -0
- package/kits/retro-70/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/retro-70/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/retro-70/assets/sons/subida.mp3 +0 -0
- package/kits/retro-70/assets/sons/swoosh.mp3 +0 -0
- package/kits/retro-70/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/retro-70/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/retro-70/assets/trilha/solar-104bpm.mp3 +0 -0
- package/kits/retro-70/capa.jpg +0 -0
- package/kits/retro-70/elementos/ArcoListras.tsx +25 -0
- package/kits/retro-70/elementos/AssinaturaMarca.tsx +21 -0
- package/kits/retro-70/elementos/Camera.tsx +22 -0
- package/kits/retro-70/elementos/CartaoData.tsx +24 -0
- package/kits/retro-70/elementos/Cena.tsx +41 -0
- package/kits/retro-70/elementos/FaixaOnda.tsx +27 -0
- package/kits/retro-70/elementos/Flor70.tsx +25 -0
- package/kits/retro-70/elementos/FotoArredondada.tsx +19 -0
- package/kits/retro-70/elementos/Fundo.tsx +11 -0
- package/kits/retro-70/elementos/Montagem.tsx +60 -0
- package/kits/retro-70/elementos/RaiosDeSol.tsx +27 -0
- package/kits/retro-70/elementos/Som.tsx +38 -0
- package/kits/retro-70/elementos/TituloGordo.tsx +28 -0
- package/kits/retro-70/elementos/base.ts +73 -0
- package/kits/retro-70/elementos/index.ts +17 -0
- package/kits/retro-70/exemplos/fotos/foto-02.jpg +0 -0
- package/kits/retro-70/exemplos/fotos/foto-03.jpg +0 -0
- package/kits/retro-70/exemplos/logo-girassol.svg +1 -0
- package/kits/retro-70/exemplos/plano.json +50 -0
- package/kits/retro-70/exemplos/roteiro.md +19 -0
- package/kits/retro-70/preview.tsx +17 -0
- package/kits/retro-70/receita.json +172 -0
- package/kits/retro-70/regras/area-segura.md +20 -0
- package/kits/retro-70/regras/cor.md +14 -0
- package/kits/retro-70/regras/movimento.md +16 -0
- package/kits/retro-70/regras/ritmo.md +15 -0
- package/kits/retro-70/regras/som.md +21 -0
- package/kits/retro-70/regras/tipografia.md +17 -0
- package/kits/revista/SKILL.md +52 -0
- package/kits/revista/assets/ASSETS.md +24 -0
- package/kits/revista/assets/fontes/OFL-CormorantGaramond.txt +93 -0
- package/kits/revista/assets/fontes/OFL-Jost.txt +93 -0
- package/kits/revista/assets/fontes/cormorant-italic.woff2 +0 -0
- package/kits/revista/assets/fontes/cormorant.woff2 +0 -0
- package/kits/revista/assets/fontes/jost.woff2 +0 -0
- package/kits/revista/assets/sons/assinatura.mp3 +0 -0
- package/kits/revista/assets/sons/clique.mp3 +0 -0
- package/kits/revista/assets/sons/impacto.mp3 +0 -0
- package/kits/revista/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/revista/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/revista/assets/sons/subida.mp3 +0 -0
- package/kits/revista/assets/sons/swoosh.mp3 +0 -0
- package/kits/revista/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/revista/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/revista/assets/trilha/editorial-100bpm.mp3 +0 -0
- package/kits/revista/capa.jpg +0 -0
- package/kits/revista/elementos/AssinaturaMarca.tsx +23 -0
- package/kits/revista/elementos/Camera.tsx +22 -0
- package/kits/revista/elementos/Cena.tsx +41 -0
- package/kits/revista/elementos/CitacaoGrande.tsx +27 -0
- package/kits/revista/elementos/ColagemFotos.tsx +22 -0
- package/kits/revista/elementos/Folio.tsx +19 -0
- package/kits/revista/elementos/FotoSangrando.tsx +24 -0
- package/kits/revista/elementos/Fundo.tsx +11 -0
- package/kits/revista/elementos/Montagem.tsx +59 -0
- package/kits/revista/elementos/PaginaDupla.tsx +36 -0
- package/kits/revista/elementos/Som.tsx +38 -0
- package/kits/revista/elementos/TituloEditorial.tsx +31 -0
- package/kits/revista/elementos/base.ts +76 -0
- package/kits/revista/elementos/index.ts +16 -0
- package/kits/revista/exemplos/fotos/foto-02.jpg +0 -0
- package/kits/revista/exemplos/fotos/foto-03.jpg +0 -0
- package/kits/revista/exemplos/fotos/foto-05.jpg +0 -0
- package/kits/revista/exemplos/fotos/foto-06.jpg +0 -0
- package/kits/revista/exemplos/fotos/foto-07.jpg +0 -0
- package/kits/revista/exemplos/fotos/foto-08.jpg +0 -0
- package/kits/revista/exemplos/logo-linho.svg +1 -0
- package/kits/revista/exemplos/plano.json +44 -0
- package/kits/revista/exemplos/roteiro.md +19 -0
- package/kits/revista/preview.tsx +21 -0
- package/kits/revista/receita.json +168 -0
- package/kits/revista/regras/area-segura.md +19 -0
- package/kits/revista/regras/cor.md +14 -0
- package/kits/revista/regras/movimento.md +15 -0
- package/kits/revista/regras/ritmo.md +15 -0
- package/kits/revista/regras/som.md +21 -0
- package/kits/revista/regras/tipografia.md +17 -0
- package/kits/risografia/SKILL.md +53 -0
- package/kits/risografia/assets/ASSETS.md +18 -0
- package/kits/risografia/assets/fontes/OFL-bricolage-800.txt +93 -0
- package/kits/risografia/assets/fontes/OFL-space-mono-700.txt +93 -0
- package/kits/risografia/assets/fontes/bricolage-800.woff2 +0 -0
- package/kits/risografia/assets/fontes/space-mono-700.woff2 +0 -0
- package/kits/risografia/assets/sons/assinatura.mp3 +0 -0
- package/kits/risografia/assets/sons/clique.mp3 +0 -0
- package/kits/risografia/assets/sons/impacto.mp3 +0 -0
- package/kits/risografia/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/risografia/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/risografia/assets/sons/subida.mp3 +0 -0
- package/kits/risografia/assets/sons/swoosh.mp3 +0 -0
- package/kits/risografia/assets/sons/tick.mp3 +0 -0
- package/kits/risografia/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/risografia/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/risografia/assets/trilha/trilha.mp3 +0 -0
- package/kits/risografia/capa.jpg +0 -0
- package/kits/risografia/elementos/AssinaturaMarca.tsx +21 -0
- package/kits/risografia/elementos/BolaReticula.tsx +26 -0
- package/kits/risografia/elementos/Camera.tsx +21 -0
- package/kits/risografia/elementos/Cena.tsx +36 -0
- package/kits/risografia/elementos/FormaRiso.tsx +24 -0
- package/kits/risografia/elementos/Fundo.tsx +12 -0
- package/kits/risografia/elementos/ListaRiso.tsx +22 -0
- package/kits/risografia/elementos/Montagem.tsx +56 -0
- package/kits/risografia/elementos/NumeroRiso.tsx +21 -0
- package/kits/risografia/elementos/Overlay.tsx +18 -0
- package/kits/risografia/elementos/Som.tsx +30 -0
- package/kits/risografia/elementos/TarjaCarimbo.tsx +20 -0
- package/kits/risografia/elementos/TituloRiso.tsx +26 -0
- package/kits/risografia/elementos/base.ts +73 -0
- package/kits/risografia/elementos/index.ts +17 -0
- package/kits/risografia/exemplos/plano.json +209 -0
- package/kits/risografia/exemplos/roteiro.md +20 -0
- package/kits/risografia/preview.tsx +12 -0
- package/kits/risografia/receita.json +169 -0
- package/kits/risografia/regras/area-segura.md +14 -0
- package/kits/risografia/regras/cor.md +12 -0
- package/kits/risografia/regras/movimento.md +18 -0
- package/kits/risografia/regras/ritmo.md +15 -0
- package/kits/risografia/regras/som.md +17 -0
- package/kits/risografia/regras/tipografia.md +18 -0
- package/kits/saas-linear/SKILL.md +60 -0
- package/kits/saas-linear/assets/ASSETS.md +19 -0
- package/kits/saas-linear/assets/fontes/OFL-Inter.txt +93 -0
- package/kits/saas-linear/assets/fontes/OFL-Newsreader.txt +93 -0
- package/kits/saas-linear/assets/fontes/inter-400.woff2 +0 -0
- package/kits/saas-linear/assets/fontes/inter-600.woff2 +0 -0
- package/kits/saas-linear/assets/fontes/newsreader-400.woff2 +0 -0
- package/kits/saas-linear/assets/sons/assinatura.mp3 +0 -0
- package/kits/saas-linear/assets/sons/clique.mp3 +0 -0
- package/kits/saas-linear/assets/sons/impacto.mp3 +0 -0
- package/kits/saas-linear/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/saas-linear/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/saas-linear/assets/sons/subida.mp3 +0 -0
- package/kits/saas-linear/assets/sons/swoosh.mp3 +0 -0
- package/kits/saas-linear/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/saas-linear/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/saas-linear/assets/trilha/trilha.mp3 +0 -0
- package/kits/saas-linear/capa.jpg +0 -0
- package/kits/saas-linear/elementos/Agenda.tsx +46 -0
- package/kits/saas-linear/elementos/CaixaPrompt.tsx +41 -0
- package/kits/saas-linear/elementos/Camera.tsx +38 -0
- package/kits/saas-linear/elementos/CartoesIntegracao.tsx +57 -0
- package/kits/saas-linear/elementos/Cena.tsx +38 -0
- package/kits/saas-linear/elementos/Cursor.tsx +40 -0
- package/kits/saas-linear/elementos/FraseSerifa.tsx +25 -0
- package/kits/saas-linear/elementos/Fundo.tsx +18 -0
- package/kits/saas-linear/elementos/Marca.tsx +20 -0
- package/kits/saas-linear/elementos/MarcaFinal.tsx +22 -0
- package/kits/saas-linear/elementos/Menu.tsx +46 -0
- package/kits/saas-linear/elementos/Monitor.tsx +28 -0
- package/kits/saas-linear/elementos/Montagem.tsx +67 -0
- package/kits/saas-linear/elementos/Saudacao.tsx +27 -0
- package/kits/saas-linear/elementos/Som.tsx +39 -0
- package/kits/saas-linear/elementos/base.ts +84 -0
- package/kits/saas-linear/elementos/index.ts +21 -0
- package/kits/saas-linear/exemplos/plano.json +459 -0
- package/kits/saas-linear/exemplos/roteiro.md +15 -0
- package/kits/saas-linear/preview.tsx +9 -0
- package/kits/saas-linear/receita.json +32 -0
- package/kits/saas-linear/regras/area-segura.md +17 -0
- package/kits/saas-linear/regras/cor.md +19 -0
- package/kits/saas-linear/regras/movimento.md +20 -0
- package/kits/saas-linear/regras/ritmo.md +14 -0
- package/kits/saas-linear/regras/som.md +16 -0
- package/kits/saas-linear/regras/tipografia.md +17 -0
- package/kits/stripe-ondas/SKILL.md +52 -0
- package/kits/stripe-ondas/assets/ASSETS.md +18 -0
- package/kits/stripe-ondas/assets/fontes/OFL-DM-Mono.txt +93 -0
- package/kits/stripe-ondas/assets/fontes/OFL-Inter.txt +93 -0
- package/kits/stripe-ondas/assets/fontes/dm-mono.woff2 +0 -0
- package/kits/stripe-ondas/assets/fontes/inter.woff2 +0 -0
- package/kits/stripe-ondas/assets/sons/assinatura.mp3 +0 -0
- package/kits/stripe-ondas/assets/sons/clique.mp3 +0 -0
- package/kits/stripe-ondas/assets/sons/impacto.mp3 +0 -0
- package/kits/stripe-ondas/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/stripe-ondas/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/stripe-ondas/assets/sons/subida.mp3 +0 -0
- package/kits/stripe-ondas/assets/sons/swoosh.mp3 +0 -0
- package/kits/stripe-ondas/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/stripe-ondas/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/stripe-ondas/assets/trilha/trilha.mp3 +0 -0
- package/kits/stripe-ondas/capa.jpg +0 -0
- package/kits/stripe-ondas/elementos/AssinaturaMarca.tsx +18 -0
- package/kits/stripe-ondas/elementos/Camera.tsx +23 -0
- package/kits/stripe-ondas/elementos/CartaoPagamento.tsx +35 -0
- package/kits/stripe-ondas/elementos/Cena.tsx +46 -0
- package/kits/stripe-ondas/elementos/FaixaDeOndas.tsx +49 -0
- package/kits/stripe-ondas/elementos/Fundo.tsx +11 -0
- package/kits/stripe-ondas/elementos/GraficoOnda.tsx +34 -0
- package/kits/stripe-ondas/elementos/Montagem.tsx +61 -0
- package/kits/stripe-ondas/elementos/PainelCodigo.tsx +36 -0
- package/kits/stripe-ondas/elementos/SelosDeMetodo.tsx +27 -0
- package/kits/stripe-ondas/elementos/Som.tsx +39 -0
- package/kits/stripe-ondas/elementos/TituloLimpo.tsx +27 -0
- package/kits/stripe-ondas/elementos/base.ts +85 -0
- package/kits/stripe-ondas/elementos/index.ts +16 -0
- package/kits/stripe-ondas/exemplos/logo-cais.svg +1 -0
- package/kits/stripe-ondas/exemplos/plano.json +366 -0
- package/kits/stripe-ondas/exemplos/roteiro.md +20 -0
- package/kits/stripe-ondas/preview.tsx +12 -0
- package/kits/stripe-ondas/receita.json +177 -0
- package/kits/stripe-ondas/regras/area-segura.md +16 -0
- package/kits/stripe-ondas/regras/cor.md +17 -0
- package/kits/stripe-ondas/regras/movimento.md +16 -0
- package/kits/stripe-ondas/regras/ritmo.md +14 -0
- package/kits/stripe-ondas/regras/som.md +18 -0
- package/kits/stripe-ondas/regras/tipografia.md +15 -0
- package/kits/suica/SKILL.md +56 -0
- package/kits/suica/assets/ASSETS.md +23 -0
- package/kits/suica/assets/fontes/OFL-IBMPlexMono.txt +93 -0
- package/kits/suica/assets/fontes/OFL-InterTight.txt +93 -0
- package/kits/suica/assets/fontes/inter-tight.woff2 +0 -0
- package/kits/suica/assets/fontes/plex-mono.woff2 +0 -0
- package/kits/suica/assets/sons/assinatura.mp3 +0 -0
- package/kits/suica/assets/sons/clique.mp3 +0 -0
- package/kits/suica/assets/sons/impacto.mp3 +0 -0
- package/kits/suica/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/suica/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/suica/assets/sons/subida.mp3 +0 -0
- package/kits/suica/assets/sons/swoosh.mp3 +0 -0
- package/kits/suica/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/suica/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/suica/assets/trilha/frio-120bpm.mp3 +0 -0
- package/kits/suica/capa.jpg +0 -0
- package/kits/suica/elementos/AssinaturaMarca.tsx +21 -0
- package/kits/suica/elementos/Camera.tsx +22 -0
- package/kits/suica/elementos/Cena.tsx +41 -0
- package/kits/suica/elementos/DiscoFoto.tsx +20 -0
- package/kits/suica/elementos/Fundo.tsx +16 -0
- package/kits/suica/elementos/GradeFotos.tsx +21 -0
- package/kits/suica/elementos/Indice.tsx +17 -0
- package/kits/suica/elementos/ListaIndice.tsx +25 -0
- package/kits/suica/elementos/Montagem.tsx +60 -0
- package/kits/suica/elementos/NumeroGigante.tsx +21 -0
- package/kits/suica/elementos/Regua.tsx +20 -0
- package/kits/suica/elementos/Som.tsx +38 -0
- package/kits/suica/elementos/TituloGrade.tsx +38 -0
- package/kits/suica/elementos/base.ts +76 -0
- package/kits/suica/elementos/index.ts +17 -0
- package/kits/suica/exemplos/fotos/foto-01.jpg +0 -0
- package/kits/suica/exemplos/fotos/foto-02.jpg +0 -0
- package/kits/suica/exemplos/fotos/foto-03.jpg +0 -0
- package/kits/suica/exemplos/fotos/foto-05.jpg +0 -0
- package/kits/suica/exemplos/fotos/foto-06.jpg +0 -0
- package/kits/suica/exemplos/fotos/foto-07.jpg +0 -0
- package/kits/suica/exemplos/logo-ponto.svg +1 -0
- package/kits/suica/exemplos/plano.json +268 -0
- package/kits/suica/exemplos/roteiro.md +19 -0
- package/kits/suica/preview.tsx +21 -0
- package/kits/suica/receita.json +197 -0
- package/kits/suica/regras/area-segura.md +18 -0
- package/kits/suica/regras/cor.md +13 -0
- package/kits/suica/regras/movimento.md +15 -0
- package/kits/suica/regras/ritmo.md +17 -0
- package/kits/suica/regras/som.md +21 -0
- package/kits/suica/regras/tipografia.md +16 -0
- package/kits/synthwave/SKILL.md +52 -0
- package/kits/synthwave/assets/ASSETS.md +22 -0
- package/kits/synthwave/assets/fontes/OFL-Orbitron.txt +93 -0
- package/kits/synthwave/assets/fontes/OFL-Rajdhani.txt +93 -0
- package/kits/synthwave/assets/fontes/orbitron.woff2 +0 -0
- package/kits/synthwave/assets/fontes/rajdhani.woff2 +0 -0
- package/kits/synthwave/assets/sons/assinatura.mp3 +0 -0
- package/kits/synthwave/assets/sons/clique.mp3 +0 -0
- package/kits/synthwave/assets/sons/impacto.mp3 +0 -0
- package/kits/synthwave/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/synthwave/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/synthwave/assets/sons/subida.mp3 +0 -0
- package/kits/synthwave/assets/sons/swoosh.mp3 +0 -0
- package/kits/synthwave/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/synthwave/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/synthwave/assets/trilha/noite-110bpm.mp3 +0 -0
- package/kits/synthwave/capa.jpg +0 -0
- package/kits/synthwave/elementos/AssinaturaMarca.tsx +26 -0
- package/kits/synthwave/elementos/Camera.tsx +22 -0
- package/kits/synthwave/elementos/Cena.tsx +41 -0
- package/kits/synthwave/elementos/Estrelas.tsx +27 -0
- package/kits/synthwave/elementos/Fundo.tsx +20 -0
- package/kits/synthwave/elementos/Montagem.tsx +59 -0
- package/kits/synthwave/elementos/Montanhas.tsx +27 -0
- package/kits/synthwave/elementos/Palmeiras.tsx +30 -0
- package/kits/synthwave/elementos/QuadroHUD.tsx +33 -0
- package/kits/synthwave/elementos/SolListrado.tsx +29 -0
- package/kits/synthwave/elementos/Som.tsx +38 -0
- package/kits/synthwave/elementos/TituloNeon.tsx +30 -0
- package/kits/synthwave/elementos/base.ts +75 -0
- package/kits/synthwave/elementos/index.ts +16 -0
- package/kits/synthwave/exemplos/logo-arcade.svg +1 -0
- package/kits/synthwave/exemplos/plano.json +50 -0
- package/kits/synthwave/exemplos/roteiro.md +19 -0
- package/kits/synthwave/preview.tsx +16 -0
- package/kits/synthwave/receita.json +170 -0
- package/kits/synthwave/regras/area-segura.md +19 -0
- package/kits/synthwave/regras/cor.md +16 -0
- package/kits/synthwave/regras/movimento.md +16 -0
- package/kits/synthwave/regras/ritmo.md +15 -0
- package/kits/synthwave/regras/som.md +21 -0
- package/kits/synthwave/regras/tipografia.md +16 -0
- package/kits/terminal/SKILL.md +57 -0
- package/kits/terminal/assets/ASSETS.md +20 -0
- package/kits/terminal/assets/fontes/OFL-jetbrains-mono-700.txt +93 -0
- package/kits/terminal/assets/fontes/OFL-vt323.txt +93 -0
- package/kits/terminal/assets/fontes/jetbrains-mono-700.woff2 +0 -0
- package/kits/terminal/assets/fontes/vt323.woff2 +0 -0
- package/kits/terminal/assets/sons/assinatura.mp3 +0 -0
- package/kits/terminal/assets/sons/clique.mp3 +0 -0
- package/kits/terminal/assets/sons/digitar.mp3 +0 -0
- package/kits/terminal/assets/sons/impacto.mp3 +0 -0
- package/kits/terminal/assets/sons/liga-crt.mp3 +0 -0
- package/kits/terminal/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/terminal/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/terminal/assets/sons/subida.mp3 +0 -0
- package/kits/terminal/assets/sons/swoosh.mp3 +0 -0
- package/kits/terminal/assets/sons/tick.mp3 +0 -0
- package/kits/terminal/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/terminal/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/terminal/assets/trilha/trilha.mp3 +0 -0
- package/kits/terminal/capa.jpg +0 -0
- package/kits/terminal/elementos/ArteAscii.tsx +61 -0
- package/kits/terminal/elementos/BarraProgresso.tsx +42 -0
- package/kits/terminal/elementos/BarraStatus.tsx +18 -0
- package/kits/terminal/elementos/BootBios.tsx +41 -0
- package/kits/terminal/elementos/Camera.tsx +23 -0
- package/kits/terminal/elementos/Cena.tsx +25 -0
- package/kits/terminal/elementos/Fundo.tsx +22 -0
- package/kits/terminal/elementos/LinhaComando.tsx +31 -0
- package/kits/terminal/elementos/Monitor.tsx +42 -0
- package/kits/terminal/elementos/Montagem.tsx +52 -0
- package/kits/terminal/elementos/PainelCaixa.tsx +35 -0
- package/kits/terminal/elementos/Som.tsx +32 -0
- package/kits/terminal/elementos/Tela.tsx +25 -0
- package/kits/terminal/elementos/TextoGrande.tsx +35 -0
- package/kits/terminal/elementos/base.ts +67 -0
- package/kits/terminal/elementos/index.ts +16 -0
- package/kits/terminal/exemplos/plano.json +330 -0
- package/kits/terminal/exemplos/roteiro.md +14 -0
- package/kits/terminal/preview.tsx +9 -0
- package/kits/terminal/receita.json +14 -0
- package/kits/terminal/regras/area-segura.md +18 -0
- package/kits/terminal/regras/cor.md +16 -0
- package/kits/terminal/regras/movimento.md +15 -0
- package/kits/terminal/regras/ritmo.md +14 -0
- package/kits/terminal/regras/som.md +17 -0
- package/kits/terminal/regras/tipografia.md +15 -0
- package/kits/tiktok-energia/SKILL.md +51 -0
- package/kits/tiktok-energia/assets/ASSETS.md +22 -0
- package/kits/tiktok-energia/assets/fontes/OFL-Anton.txt +92 -0
- package/kits/tiktok-energia/assets/fontes/OFL-Rubik.txt +92 -0
- package/kits/tiktok-energia/assets/fontes/anton-latin.woff2 +0 -0
- package/kits/tiktok-energia/assets/fontes/rubik-latin.woff2 +0 -0
- package/kits/tiktok-energia/assets/sons/assinatura.mp3 +0 -0
- package/kits/tiktok-energia/assets/sons/corte.mp3 +0 -0
- package/kits/tiktok-energia/assets/sons/palavra.mp3 +0 -0
- package/kits/tiktok-energia/assets/sons/pop.mp3 +0 -0
- package/kits/tiktok-energia/assets/sons/soco.mp3 +0 -0
- package/kits/tiktok-energia/assets/sons/subida.mp3 +0 -0
- package/kits/tiktok-energia/assets/sons/whoosh.mp3 +0 -0
- package/kits/tiktok-energia/assets/sons/zap.mp3 +0 -0
- package/kits/tiktok-energia/assets/trilha/tech-128bpm.mp3 +0 -0
- package/kits/tiktok-energia/capa.jpg +0 -0
- package/kits/tiktok-energia/elementos/AssinaturaMarca.tsx +25 -0
- package/kits/tiktok-energia/elementos/Camera.tsx +22 -0
- package/kits/tiktok-energia/elementos/Cena.tsx +48 -0
- package/kits/tiktok-energia/elementos/CorteDeCor.tsx +22 -0
- package/kits/tiktok-energia/elementos/EmojiSticker.tsx +21 -0
- package/kits/tiktok-energia/elementos/FotoSoco.tsx +27 -0
- package/kits/tiktok-energia/elementos/Fundo.tsx +8 -0
- package/kits/tiktok-energia/elementos/Montagem.tsx +67 -0
- package/kits/tiktok-energia/elementos/PalavraSoco.tsx +29 -0
- package/kits/tiktok-energia/elementos/Som.tsx +33 -0
- package/kits/tiktok-energia/elementos/TextoCaixa.tsx +25 -0
- package/kits/tiktok-energia/elementos/base.ts +92 -0
- package/kits/tiktok-energia/elementos/index.ts +15 -0
- package/kits/tiktok-energia/exemplos/fotos/foto-03.jpg +0 -0
- package/kits/tiktok-energia/exemplos/logo-pulo.svg +1 -0
- package/kits/tiktok-energia/exemplos/plano.json +66 -0
- package/kits/tiktok-energia/exemplos/roteiro.md +22 -0
- package/kits/tiktok-energia/preview.tsx +13 -0
- package/kits/tiktok-energia/receita.json +166 -0
- package/kits/tiktok-energia/regras/area-segura.md +19 -0
- package/kits/tiktok-energia/regras/cor.md +20 -0
- package/kits/tiktok-energia/regras/movimento.md +17 -0
- package/kits/tiktok-energia/regras/ritmo.md +15 -0
- package/kits/tiktok-energia/regras/som.md +20 -0
- package/kits/tiktok-energia/regras/tipografia.md +15 -0
- package/kits/tunel/SKILL.md +51 -0
- package/kits/tunel/assets/ASSETS.md +21 -0
- package/kits/tunel/assets/fontes/OFL-ChakraPetch.txt +92 -0
- package/kits/tunel/assets/fontes/OFL-Syncopate.txt +92 -0
- package/kits/tunel/assets/fontes/chakra-latin.woff2 +0 -0
- package/kits/tunel/assets/fontes/syncopate-latin.woff2 +0 -0
- package/kits/tunel/assets/sons/assinatura.mp3 +0 -0
- package/kits/tunel/assets/sons/clique.mp3 +0 -0
- package/kits/tunel/assets/sons/impacto.mp3 +0 -0
- package/kits/tunel/assets/sons/passa.mp3 +0 -0
- package/kits/tunel/assets/sons/subida.mp3 +0 -0
- package/kits/tunel/assets/sons/tick.mp3 +0 -0
- package/kits/tunel/assets/sons/varre.mp3 +0 -0
- package/kits/tunel/assets/sons/whoosh.mp3 +0 -0
- package/kits/tunel/assets/trilha/tech-128bpm.mp3 +0 -0
- package/kits/tunel/capa.jpg +0 -0
- package/kits/tunel/elementos/AssinaturaMarca.tsx +22 -0
- package/kits/tunel/elementos/Camera.tsx +22 -0
- package/kits/tunel/elementos/Cena.tsx +48 -0
- package/kits/tunel/elementos/Fundo.tsx +13 -0
- package/kits/tunel/elementos/LinhasDeVelocidade.tsx +25 -0
- package/kits/tunel/elementos/Montagem.tsx +67 -0
- package/kits/tunel/elementos/NumeroGigante.tsx +28 -0
- package/kits/tunel/elementos/PlacaVoadora.tsx +28 -0
- package/kits/tunel/elementos/Som.tsx +33 -0
- package/kits/tunel/elementos/TituloTunel.tsx +32 -0
- package/kits/tunel/elementos/TunelDeFormas.tsx +52 -0
- package/kits/tunel/elementos/base.ts +97 -0
- package/kits/tunel/elementos/index.ts +15 -0
- package/kits/tunel/exemplos/logo-rota21.svg +1 -0
- package/kits/tunel/exemplos/plano.json +51 -0
- package/kits/tunel/exemplos/roteiro.md +20 -0
- package/kits/tunel/preview.tsx +12 -0
- package/kits/tunel/receita.json +153 -0
- package/kits/tunel/regras/area-segura.md +18 -0
- package/kits/tunel/regras/cor.md +21 -0
- package/kits/tunel/regras/movimento.md +17 -0
- package/kits/tunel/regras/ritmo.md +14 -0
- package/kits/tunel/regras/som.md +20 -0
- package/kits/tunel/regras/tipografia.md +15 -0
- package/kits/tutorial-tela/SKILL.md +55 -0
- package/kits/tutorial-tela/assets/ASSETS.md +20 -0
- package/kits/tutorial-tela/assets/fontes/OFL-JetBrainsMono.txt +93 -0
- package/kits/tutorial-tela/assets/fontes/OFL-PlusJakartaSans.txt +93 -0
- package/kits/tutorial-tela/assets/fontes/jakarta.woff2 +0 -0
- package/kits/tutorial-tela/assets/fontes/jbmono.woff2 +0 -0
- package/kits/tutorial-tela/assets/sons/assinatura.mp3 +0 -0
- package/kits/tutorial-tela/assets/sons/clique.mp3 +0 -0
- package/kits/tutorial-tela/assets/sons/digitar.mp3 +0 -0
- package/kits/tutorial-tela/assets/sons/impacto.mp3 +0 -0
- package/kits/tutorial-tela/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/tutorial-tela/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/tutorial-tela/assets/sons/subida.mp3 +0 -0
- package/kits/tutorial-tela/assets/sons/sucesso.mp3 +0 -0
- package/kits/tutorial-tela/assets/sons/swoosh.mp3 +0 -0
- package/kits/tutorial-tela/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/tutorial-tela/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/tutorial-tela/assets/trilha/passo-108bpm.mp3 +0 -0
- package/kits/tutorial-tela/capa.jpg +0 -0
- package/kits/tutorial-tela/elementos/CameraTela.tsx +29 -0
- package/kits/tutorial-tela/elementos/Cursor.tsx +36 -0
- package/kits/tutorial-tela/elementos/DestaqueCaixa.tsx +17 -0
- package/kits/tutorial-tela/elementos/Fundo.tsx +12 -0
- package/kits/tutorial-tela/elementos/JanelaApp.tsx +81 -0
- package/kits/tutorial-tela/elementos/Montagem.tsx +49 -0
- package/kits/tutorial-tela/elementos/PassoChamada.tsx +22 -0
- package/kits/tutorial-tela/elementos/Som.tsx +41 -0
- package/kits/tutorial-tela/elementos/TeclaAtalho.tsx +29 -0
- package/kits/tutorial-tela/elementos/TituloTela.tsx +30 -0
- package/kits/tutorial-tela/elementos/base.ts +65 -0
- package/kits/tutorial-tela/elementos/index.ts +12 -0
- package/kits/tutorial-tela/exemplos/plano.json +41 -0
- package/kits/tutorial-tela/exemplos/roteiro.md +14 -0
- package/kits/tutorial-tela/preview.tsx +9 -0
- package/kits/tutorial-tela/receita.json +15 -0
- package/kits/tutorial-tela/regras/area-segura.md +13 -0
- package/kits/tutorial-tela/regras/cor.md +17 -0
- package/kits/tutorial-tela/regras/movimento.md +20 -0
- package/kits/tutorial-tela/regras/ritmo.md +24 -0
- package/kits/tutorial-tela/regras/som.md +21 -0
- package/kits/tutorial-tela/regras/tipografia.md +15 -0
- package/kits/ugc-reels/SKILL.md +53 -0
- package/kits/ugc-reels/assets/ASSETS.md +22 -0
- package/kits/ugc-reels/assets/fontes/OFL-Caveat.txt +92 -0
- package/kits/ugc-reels/assets/fontes/OFL-Montserrat.txt +92 -0
- package/kits/ugc-reels/assets/fontes/caveat-latin.woff2 +0 -0
- package/kits/ugc-reels/assets/fontes/montserrat-latin.woff2 +0 -0
- package/kits/ugc-reels/assets/sons/assinatura.mp3 +0 -0
- package/kits/ugc-reels/assets/sons/corte.mp3 +0 -0
- package/kits/ugc-reels/assets/sons/impacto.mp3 +0 -0
- package/kits/ugc-reels/assets/sons/notificacao.mp3 +0 -0
- package/kits/ugc-reels/assets/sons/palavra.mp3 +0 -0
- package/kits/ugc-reels/assets/sons/pop.mp3 +0 -0
- package/kits/ugc-reels/assets/sons/toque.mp3 +0 -0
- package/kits/ugc-reels/assets/sons/whoosh.mp3 +0 -0
- package/kits/ugc-reels/assets/trilha/pop-120bpm.mp3 +0 -0
- package/kits/ugc-reels/capa.jpg +0 -0
- package/kits/ugc-reels/elementos/AssinaturaMarca.tsx +28 -0
- package/kits/ugc-reels/elementos/BotaoLink.tsx +24 -0
- package/kits/ugc-reels/elementos/CabecalhoPerfil.tsx +38 -0
- package/kits/ugc-reels/elementos/Camera.tsx +22 -0
- package/kits/ugc-reels/elementos/Cena.tsx +48 -0
- package/kits/ugc-reels/elementos/Comentario.tsx +29 -0
- package/kits/ugc-reels/elementos/Fundo.tsx +8 -0
- package/kits/ugc-reels/elementos/LegendaEmoji.tsx +43 -0
- package/kits/ugc-reels/elementos/Montagem.tsx +69 -0
- package/kits/ugc-reels/elementos/NotaDeMao.tsx +29 -0
- package/kits/ugc-reels/elementos/Reacoes.tsx +26 -0
- package/kits/ugc-reels/elementos/Som.tsx +33 -0
- package/kits/ugc-reels/elementos/VideoCelular.tsx +37 -0
- package/kits/ugc-reels/elementos/base.ts +92 -0
- package/kits/ugc-reels/elementos/index.ts +17 -0
- package/kits/ugc-reels/exemplos/fotos/foto-02.jpg +0 -0
- package/kits/ugc-reels/exemplos/fotos/foto-03.jpg +0 -0
- package/kits/ugc-reels/exemplos/fotos/foto-04.jpg +0 -0
- package/kits/ugc-reels/exemplos/fotos/foto-06.jpg +0 -0
- package/kits/ugc-reels/exemplos/logo-rotina.svg +1 -0
- package/kits/ugc-reels/exemplos/plano.json +54 -0
- package/kits/ugc-reels/exemplos/roteiro.md +20 -0
- package/kits/ugc-reels/preview.tsx +16 -0
- package/kits/ugc-reels/receita.json +147 -0
- package/kits/ugc-reels/regras/area-segura.md +18 -0
- package/kits/ugc-reels/regras/cor.md +22 -0
- package/kits/ugc-reels/regras/movimento.md +19 -0
- package/kits/ugc-reels/regras/ritmo.md +14 -0
- package/kits/ugc-reels/regras/som.md +20 -0
- package/kits/ugc-reels/regras/tipografia.md +16 -0
- package/kits/vercel-mono/SKILL.md +51 -0
- package/kits/vercel-mono/assets/ASSETS.md +18 -0
- package/kits/vercel-mono/assets/fontes/OFL-Inter.txt +93 -0
- package/kits/vercel-mono/assets/fontes/OFL-JetBrains-Mono.txt +93 -0
- package/kits/vercel-mono/assets/fontes/inter.woff2 +0 -0
- package/kits/vercel-mono/assets/fontes/jetbrains-mono.woff2 +0 -0
- package/kits/vercel-mono/assets/sons/assinatura.mp3 +0 -0
- package/kits/vercel-mono/assets/sons/clique.mp3 +0 -0
- package/kits/vercel-mono/assets/sons/impacto.mp3 +0 -0
- package/kits/vercel-mono/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/vercel-mono/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/vercel-mono/assets/sons/subida.mp3 +0 -0
- package/kits/vercel-mono/assets/sons/swoosh.mp3 +0 -0
- package/kits/vercel-mono/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/vercel-mono/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/vercel-mono/assets/trilha/trilha.mp3 +0 -0
- package/kits/vercel-mono/capa.jpg +0 -0
- package/kits/vercel-mono/elementos/AssinaturaMarca.tsx +18 -0
- package/kits/vercel-mono/elementos/Camera.tsx +23 -0
- package/kits/vercel-mono/elementos/Cena.tsx +46 -0
- package/kits/vercel-mono/elementos/FaixaOutline.tsx +25 -0
- package/kits/vercel-mono/elementos/Fundo.tsx +6 -0
- package/kits/vercel-mono/elementos/GradeDeNumeros.tsx +27 -0
- package/kits/vercel-mono/elementos/Montagem.tsx +61 -0
- package/kits/vercel-mono/elementos/PalavraMono.tsx +31 -0
- package/kits/vercel-mono/elementos/Quadro.tsx +28 -0
- package/kits/vercel-mono/elementos/Som.tsx +39 -0
- package/kits/vercel-mono/elementos/TerminalComando.tsx +33 -0
- package/kits/vercel-mono/elementos/TrianguloGigante.tsx +27 -0
- package/kits/vercel-mono/elementos/base.ts +82 -0
- package/kits/vercel-mono/elementos/index.ts +16 -0
- package/kits/vercel-mono/exemplos/logo-vetor.svg +1 -0
- package/kits/vercel-mono/exemplos/plano.json +318 -0
- package/kits/vercel-mono/exemplos/roteiro.md +20 -0
- package/kits/vercel-mono/preview.tsx +12 -0
- package/kits/vercel-mono/receita.json +156 -0
- package/kits/vercel-mono/regras/area-segura.md +13 -0
- package/kits/vercel-mono/regras/cor.md +12 -0
- package/kits/vercel-mono/regras/movimento.md +15 -0
- package/kits/vercel-mono/regras/ritmo.md +13 -0
- package/kits/vercel-mono/regras/som.md +18 -0
- package/kits/vercel-mono/regras/tipografia.md +14 -0
- package/kits/vhs-90/SKILL.md +52 -0
- package/kits/vhs-90/assets/ASSETS.md +23 -0
- package/kits/vhs-90/assets/fontes/OFL-BebasNeue.txt +93 -0
- package/kits/vhs-90/assets/fontes/OFL-VT323.txt +93 -0
- package/kits/vhs-90/assets/fontes/bebas.woff2 +0 -0
- package/kits/vhs-90/assets/fontes/vt323.woff2 +0 -0
- package/kits/vhs-90/assets/sons/assinatura.mp3 +0 -0
- package/kits/vhs-90/assets/sons/clique.mp3 +0 -0
- package/kits/vhs-90/assets/sons/impacto.mp3 +0 -0
- package/kits/vhs-90/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/vhs-90/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/vhs-90/assets/sons/subida.mp3 +0 -0
- package/kits/vhs-90/assets/sons/swoosh.mp3 +0 -0
- package/kits/vhs-90/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/vhs-90/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/vhs-90/assets/trilha/fita-88bpm.mp3 +0 -0
- package/kits/vhs-90/capa.jpg +0 -0
- package/kits/vhs-90/elementos/AssinaturaMarca.tsx +29 -0
- package/kits/vhs-90/elementos/BarrasRastreio.tsx +21 -0
- package/kits/vhs-90/elementos/Camera.tsx +22 -0
- package/kits/vhs-90/elementos/CapaVHS.tsx +28 -0
- package/kits/vhs-90/elementos/CarimboData.tsx +19 -0
- package/kits/vhs-90/elementos/Cena.tsx +41 -0
- package/kits/vhs-90/elementos/Fundo.tsx +27 -0
- package/kits/vhs-90/elementos/MenuOSD.tsx +27 -0
- package/kits/vhs-90/elementos/Montagem.tsx +60 -0
- package/kits/vhs-90/elementos/Som.tsx +38 -0
- package/kits/vhs-90/elementos/TelaAzul.tsx +29 -0
- package/kits/vhs-90/elementos/TituloFita.tsx +40 -0
- package/kits/vhs-90/elementos/base.ts +75 -0
- package/kits/vhs-90/elementos/index.ts +16 -0
- package/kits/vhs-90/exemplos/fotos/foto-05.jpg +0 -0
- package/kits/vhs-90/exemplos/fotos/foto-07.jpg +0 -0
- package/kits/vhs-90/exemplos/logo-rewind.svg +1 -0
- package/kits/vhs-90/exemplos/plano.json +47 -0
- package/kits/vhs-90/exemplos/roteiro.md +19 -0
- package/kits/vhs-90/preview.tsx +17 -0
- package/kits/vhs-90/receita.json +189 -0
- package/kits/vhs-90/regras/area-segura.md +18 -0
- package/kits/vhs-90/regras/cor.md +16 -0
- package/kits/vhs-90/regras/movimento.md +16 -0
- package/kits/vhs-90/regras/ritmo.md +16 -0
- package/kits/vhs-90/regras/som.md +21 -0
- package/kits/vhs-90/regras/tipografia.md +17 -0
- package/kits/vidro-ios/SKILL.md +52 -0
- package/kits/vidro-ios/assets/ASSETS.md +18 -0
- package/kits/vidro-ios/assets/fontes/OFL-DM-Mono.txt +93 -0
- package/kits/vidro-ios/assets/fontes/OFL-Inter.txt +93 -0
- package/kits/vidro-ios/assets/fontes/dm-mono.woff2 +0 -0
- package/kits/vidro-ios/assets/fontes/inter.woff2 +0 -0
- package/kits/vidro-ios/assets/sons/assinatura.mp3 +0 -0
- package/kits/vidro-ios/assets/sons/clique.mp3 +0 -0
- package/kits/vidro-ios/assets/sons/impacto.mp3 +0 -0
- package/kits/vidro-ios/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/vidro-ios/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/vidro-ios/assets/sons/subida.mp3 +0 -0
- package/kits/vidro-ios/assets/sons/swoosh.mp3 +0 -0
- package/kits/vidro-ios/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/vidro-ios/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/vidro-ios/assets/trilha/trilha.mp3 +0 -0
- package/kits/vidro-ios/capa.jpg +0 -0
- package/kits/vidro-ios/elementos/AssinaturaMarca.tsx +21 -0
- package/kits/vidro-ios/elementos/Camera.tsx +23 -0
- package/kits/vidro-ios/elementos/Cena.tsx +46 -0
- package/kits/vidro-ios/elementos/Fundo.tsx +17 -0
- package/kits/vidro-ios/elementos/IlhaDinamica.tsx +24 -0
- package/kits/vidro-ios/elementos/Montagem.tsx +60 -0
- package/kits/vidro-ios/elementos/PainelControle.tsx +33 -0
- package/kits/vidro-ios/elementos/PilhaNotificacoes.tsx +29 -0
- package/kits/vidro-ios/elementos/Som.tsx +39 -0
- package/kits/vidro-ios/elementos/TituloVidro.tsx +22 -0
- package/kits/vidro-ios/elementos/WidgetsGrade.tsx +34 -0
- package/kits/vidro-ios/elementos/base.ts +87 -0
- package/kits/vidro-ios/elementos/index.ts +16 -0
- package/kits/vidro-ios/elementos/vidro.tsx +20 -0
- package/kits/vidro-ios/exemplos/logo-vento.svg +1 -0
- package/kits/vidro-ios/exemplos/plano.json +288 -0
- package/kits/vidro-ios/exemplos/roteiro.md +20 -0
- package/kits/vidro-ios/preview.tsx +12 -0
- package/kits/vidro-ios/receita.json +170 -0
- package/kits/vidro-ios/regras/area-segura.md +13 -0
- package/kits/vidro-ios/regras/cor.md +16 -0
- package/kits/vidro-ios/regras/movimento.md +16 -0
- package/kits/vidro-ios/regras/ritmo.md +14 -0
- package/kits/vidro-ios/regras/som.md +18 -0
- package/kits/vidro-ios/regras/tipografia.md +15 -0
- package/kits/y2k-cromado/SKILL.md +53 -0
- package/kits/y2k-cromado/assets/ASSETS.md +23 -0
- package/kits/y2k-cromado/assets/fontes/OFL-DMMono.txt +93 -0
- package/kits/y2k-cromado/assets/fontes/OFL-Unbounded.txt +93 -0
- package/kits/y2k-cromado/assets/fontes/dm-mono.woff2 +0 -0
- package/kits/y2k-cromado/assets/fontes/unbounded.woff2 +0 -0
- package/kits/y2k-cromado/assets/sons/assinatura.mp3 +0 -0
- package/kits/y2k-cromado/assets/sons/clique.mp3 +0 -0
- package/kits/y2k-cromado/assets/sons/impacto.mp3 +0 -0
- package/kits/y2k-cromado/assets/sons/pop-cartao.mp3 +0 -0
- package/kits/y2k-cromado/assets/sons/pop-palavra.mp3 +0 -0
- package/kits/y2k-cromado/assets/sons/subida.mp3 +0 -0
- package/kits/y2k-cromado/assets/sons/swoosh.mp3 +0 -0
- package/kits/y2k-cromado/assets/sons/whoosh-entra.mp3 +0 -0
- package/kits/y2k-cromado/assets/sons/whoosh-sai.mp3 +0 -0
- package/kits/y2k-cromado/assets/trilha/y2k-128bpm.mp3 +0 -0
- package/kits/y2k-cromado/capa.jpg +0 -0
- package/kits/y2k-cromado/elementos/AssinaturaMarca.tsx +25 -0
- package/kits/y2k-cromado/elementos/Bolhas.tsx +30 -0
- package/kits/y2k-cromado/elementos/Brilhos.tsx +28 -0
- package/kits/y2k-cromado/elementos/Camera.tsx +22 -0
- package/kits/y2k-cromado/elementos/CartaoGloss.tsx +26 -0
- package/kits/y2k-cromado/elementos/Cena.tsx +41 -0
- package/kits/y2k-cromado/elementos/FitaMarquee.tsx +20 -0
- package/kits/y2k-cromado/elementos/Fundo.tsx +18 -0
- package/kits/y2k-cromado/elementos/JanelaY2K.tsx +31 -0
- package/kits/y2k-cromado/elementos/Montagem.tsx +60 -0
- package/kits/y2k-cromado/elementos/OrbeCromo.tsx +20 -0
- package/kits/y2k-cromado/elementos/Som.tsx +38 -0
- package/kits/y2k-cromado/elementos/TextoCromo.tsx +34 -0
- package/kits/y2k-cromado/elementos/base.ts +75 -0
- package/kits/y2k-cromado/elementos/index.ts +17 -0
- package/kits/y2k-cromado/exemplos/fotos/foto-02.jpg +0 -0
- package/kits/y2k-cromado/exemplos/fotos/foto-03.jpg +0 -0
- package/kits/y2k-cromado/exemplos/logo-bolha.svg +1 -0
- package/kits/y2k-cromado/exemplos/plano.json +47 -0
- package/kits/y2k-cromado/exemplos/roteiro.md +19 -0
- package/kits/y2k-cromado/preview.tsx +17 -0
- package/kits/y2k-cromado/receita.json +174 -0
- package/kits/y2k-cromado/regras/area-segura.md +19 -0
- package/kits/y2k-cromado/regras/cor.md +16 -0
- package/kits/y2k-cromado/regras/movimento.md +16 -0
- package/kits/y2k-cromado/regras/ritmo.md +15 -0
- package/kits/y2k-cromado/regras/som.md +21 -0
- package/kits/y2k-cromado/regras/tipografia.md +17 -0
- package/lib/act.js +464 -26
- package/lib/afirmacoes.js +56 -0
- package/lib/agendar.js +124 -0
- package/lib/agentes/index.js +146 -0
- package/lib/agentes/nucleo.js +18 -0
- package/lib/backup-banco.js +121 -0
- package/lib/boas-vindas.js +4 -3
- package/lib/catalogo.js +20 -4
- package/lib/chave-exposta.js +61 -0
- package/lib/checkpoint-git.js +7 -4
- package/lib/checkpoint.js +120 -3
- package/lib/cli/review.js +64 -0
- package/lib/cli/subcomandos.js +34 -0
- package/lib/cli/tentativas.js +107 -0
- package/lib/cli/util.js +51 -0
- package/lib/comandos-extra.js +73 -4
- package/lib/comecar.js +56 -0
- package/lib/como-rodar.js +66 -0
- package/lib/conferir.js +117 -0
- package/lib/config.js +4 -2
- package/lib/editor-pro-maquina.js +165 -0
- package/lib/editor-pro.js +167 -23
- package/lib/encolheu.js +33 -0
- package/lib/entrada.js +1 -1
- package/lib/entregaveis/cli.js +26 -0
- package/lib/entregaveis/especialistas.js +50 -0
- package/lib/entregaveis/nucleo.js +111 -0
- package/lib/entregaveis/slides.js +221 -0
- package/lib/entregaveis.js +67 -0
- package/lib/escopo.js +68 -0
- package/lib/especialistas.js +1 -1
- package/lib/estudio/conferencia.js +71 -6
- package/lib/estudio/gosto/tela.html +119 -4
- package/lib/estudio/gosto-descrever.js +87 -0
- package/lib/estudio/gosto-medir.js +204 -0
- package/lib/estudio/gosto-prova.js +52 -0
- package/lib/estudio/gosto.js +312 -9
- package/lib/estudio/index.js +2 -2
- package/lib/estudio/kits/tela.html +568 -0
- package/lib/estudio/kits-tela.js +199 -0
- package/lib/estudio/maquina-diretor.js +6 -2
- package/lib/estudio/materiais.js +172 -0
- package/lib/estudio/regras-motion.js +69 -0
- package/lib/explicar.js +48 -0
- package/lib/exportar-conversa.js +49 -0
- package/lib/fundo.js +232 -0
- package/lib/guardar.js +118 -0
- package/lib/headless.js +20 -1
- package/lib/idioma.js +74 -0
- package/lib/kits-parecidos.js +99 -0
- package/lib/kits-plano.js +557 -0
- package/lib/kits.js +1084 -0
- package/lib/limite.js +99 -0
- package/lib/linha-do-tempo.js +130 -0
- package/lib/local/cerebro.json +118 -2
- package/lib/local/entrada.js +1 -1
- package/lib/mapa.js +94 -0
- package/lib/memoria-usuario.js +1 -1
- package/lib/mencoes.js +10 -0
- package/lib/mostrar.js +121 -0
- package/lib/motioncraft.js +67 -0
- package/lib/mudou.js +58 -0
- package/lib/nomes.js +257 -0
- package/lib/partes.js +39 -0
- package/lib/passagem.js +30 -1
- package/lib/perigo.js +74 -6
- package/lib/placar.js +173 -0
- package/lib/plano-previo.js +53 -0
- package/lib/planos.js +1 -1
- package/lib/plugin/autoteste.js +99 -0
- package/lib/plugin/edicao-visual.js +133 -0
- package/lib/plugin/pesquisar.js +92 -0
- package/lib/plugin/preview-cli.js +38 -0
- package/lib/plugin/preview.js +89 -0
- package/lib/plugin/tunel.js +27 -0
- package/lib/porta.js +147 -0
- package/lib/publicar.js +112 -0
- package/lib/registro.js +38 -4
- package/lib/regras.js +88 -0
- package/lib/review.js +134 -0
- package/lib/saida.js +83 -0
- package/lib/segredos.js +103 -0
- package/lib/session/compactacao.js +124 -0
- package/lib/statusline.js +52 -0
- package/lib/team.js +317 -0
- package/lib/tool/diagnostico.js +100 -0
- package/lib/tool/perguntar.js +60 -0
- package/lib/tool/reparar-entrada.js +66 -0
- package/lib/tool/web.js +102 -0
- package/lib/tools.js +104 -22
- package/lib/trava.js +155 -0
- package/lib/ui.js +43 -6
- package/lib/video/conferir-legenda.js +47 -0
- package/lib/video/ops.js +6 -1
- package/lib/video/transcript.js +1 -1
- package/lib/web-pagina.js +87 -0
- package/materiais/saas-linear/base.ts +84 -0
- package/materiais/saas-linear/camera/Camera.tsx +38 -0
- package/materiais/saas-linear/fontes/OFL-Inter.txt +93 -0
- package/materiais/saas-linear/fontes/OFL-Newsreader.txt +93 -0
- package/materiais/saas-linear/fontes/inter-400.woff2 +0 -0
- package/materiais/saas-linear/fontes/inter-600.woff2 +0 -0
- package/materiais/saas-linear/fontes/newsreader-400.woff2 +0 -0
- package/materiais/saas-linear/formas/Agenda.tsx +46 -0
- package/materiais/saas-linear/formas/CaixaPrompt.tsx +41 -0
- package/materiais/saas-linear/formas/CartoesIntegracao.tsx +57 -0
- package/materiais/saas-linear/formas/Cursor.tsx +40 -0
- package/materiais/saas-linear/formas/Menu.tsx +46 -0
- package/materiais/saas-linear/formas/Monitor.tsx +28 -0
- package/materiais/saas-linear/paleta.json +18 -0
- package/materiais/saas-linear/pecas.json +590 -0
- package/materiais/saas-linear/regras.md +40 -0
- package/materiais/saas-linear/sons/Som.tsx +39 -0
- package/materiais/saas-linear/sons/assinatura.mp3 +0 -0
- package/materiais/saas-linear/sons/clique.mp3 +0 -0
- package/materiais/saas-linear/sons/impacto.mp3 +0 -0
- package/materiais/saas-linear/sons/pop-cartao.mp3 +0 -0
- package/materiais/saas-linear/sons/pop-palavra.mp3 +0 -0
- package/materiais/saas-linear/sons/subida.mp3 +0 -0
- package/materiais/saas-linear/sons/swoosh.mp3 +0 -0
- package/materiais/saas-linear/sons/trilha.mp3 +0 -0
- package/materiais/saas-linear/sons/whoosh-entra.mp3 +0 -0
- package/materiais/saas-linear/sons/whoosh-sai.mp3 +0 -0
- package/materiais/saas-linear/texturas/Fundo.tsx +18 -0
- package/materiais/saas-linear/texturas/Particulas.tsx +22 -0
- package/materiais/saas-linear/tipografia/FraseSerifa.tsx +25 -0
- package/materiais/saas-linear/tipografia/Marca.tsx +20 -0
- package/materiais/saas-linear/tipografia/MarcaFinal.tsx +22 -0
- package/materiais/saas-linear/tipografia/Saudacao.tsx +27 -0
- package/materiais/saas-linear/transicoes/Cena.tsx +38 -0
- package/materiais/saas-linear/transicoes/CorteImpacto.tsx +16 -0
- package/package.json +6 -1
- package/skills/deck-conferido/SKILL.md +29 -0
- package/skills/motion-de-primeira/SKILL.md +1 -1
- package/skills/motion-motioncraft/SKILL.md +31 -0
- package/vendor/motioncraft/CREDITS.md +18 -0
- package/vendor/motioncraft/LICENSE +21 -0
- package/vendor/motioncraft/ORIGEM.txt +1 -0
- package/vendor/motioncraft/SKILL.md +178 -0
- package/vendor/motioncraft/assets/template/package-lock.json +2958 -0
- package/vendor/motioncraft/assets/template/package.json +27 -0
- package/vendor/motioncraft/assets/template/remotion.config.ts +4 -0
- package/vendor/motioncraft/assets/template/src/Root.tsx +27 -0
- package/vendor/motioncraft/assets/template/src/components/CachedFrames.tsx +11 -0
- package/vendor/motioncraft/assets/template/src/components/EndCard.tsx +17 -0
- package/vendor/motioncraft/assets/template/src/components/Headline.tsx +45 -0
- package/vendor/motioncraft/assets/template/src/components/MorphTransition.tsx +28 -0
- package/vendor/motioncraft/assets/template/src/components/Stage.tsx +52 -0
- package/vendor/motioncraft/assets/template/src/components/Three.tsx +134 -0
- package/vendor/motioncraft/assets/template/src/components/UI.tsx +103 -0
- package/vendor/motioncraft/assets/template/src/components/Word.tsx +46 -0
- package/vendor/motioncraft/assets/template/src/index.ts +3 -0
- package/vendor/motioncraft/assets/template/src/lib/anim.ts +17 -0
- package/vendor/motioncraft/assets/template/src/lib/beat.ts +23 -0
- package/vendor/motioncraft/assets/template/src/lib/debug.tsx +12 -0
- package/vendor/motioncraft/assets/template/src/lib/fonts.ts +6 -0
- package/vendor/motioncraft/assets/template/src/lib/format-context.tsx +5 -0
- package/vendor/motioncraft/assets/template/src/lib/format.d.mts +2 -0
- package/vendor/motioncraft/assets/template/src/lib/format.mjs +28 -0
- package/vendor/motioncraft/assets/template/src/lib/timeline.ts +29 -0
- package/vendor/motioncraft/assets/template/src/lib/tokens.ts +9 -0
- package/vendor/motioncraft/assets/template/src/scenes/Example.tsx +76 -0
- package/vendor/motioncraft/assets/template/src/scenes/Launch.tsx +26 -0
- package/vendor/motioncraft/assets/template/src/scenes/TimelineLegacy.tsx +24 -0
- package/vendor/motioncraft/assets/template/src/scenes/TimelineVideo.tsx +49 -0
- package/vendor/motioncraft/assets/template/src/scenes/Tutorial.tsx +37 -0
- package/vendor/motioncraft/assets/template/src/style.json +62 -0
- package/vendor/motioncraft/assets/template/tsconfig.json +7 -0
- package/vendor/motioncraft/references/animation-system.md +57 -0
- package/vendor/motioncraft/references/assets-and-licensing.md +21 -0
- package/vendor/motioncraft/references/customization.md +52 -0
- package/vendor/motioncraft/references/gpu-cloud-render.md +15 -0
- package/vendor/motioncraft/references/music.md +43 -0
- package/vendor/motioncraft/references/phase1-planning-and-preview.md +74 -0
- package/vendor/motioncraft/references/phase2-timeline-audio.md +33 -0
- package/vendor/motioncraft/references/phase3-pixel-review.md +13 -0
- package/vendor/motioncraft/references/phase4-templates.md +30 -0
- package/vendor/motioncraft/references/preflight.md +27 -0
- package/vendor/motioncraft/references/qa.md +53 -0
- package/vendor/motioncraft/references/reference-analysis.md +37 -0
- package/vendor/motioncraft/references/research-and-topic.md +25 -0
- package/vendor/motioncraft/references/script-and-structure.md +39 -0
- package/vendor/motioncraft/references/sfx.md +40 -0
- package/vendor/motioncraft/references/social-formats.md +18 -0
- package/vendor/motioncraft/references/taste.md +36 -0
- package/vendor/motioncraft/references/troubleshooting.md +19 -0
- package/vendor/motioncraft/references/typography.md +34 -0
- package/vendor/motioncraft/references/voiceover.md +37 -0
- package/vendor/motioncraft/references/workflow.md +40 -0
- package/vendor/motioncraft/scripts/assets/timeline-editor.js +24 -0
- package/vendor/motioncraft/scripts/doctor.ps1 +13 -0
- package/vendor/motioncraft/scripts/doctor.sh +23 -0
- package/vendor/motioncraft/scripts/lib/audio.mjs +58 -0
- package/vendor/motioncraft/scripts/lib/check-update.mjs +66 -0
- package/vendor/motioncraft/scripts/lib/commands.mjs +147 -0
- package/vendor/motioncraft/scripts/lib/doctor.mjs +67 -0
- package/vendor/motioncraft/scripts/lib/dsp.mjs +178 -0
- package/vendor/motioncraft/scripts/lib/music.mjs +162 -0
- package/vendor/motioncraft/scripts/lib/phase1.mjs +90 -0
- package/vendor/motioncraft/scripts/lib/phase2.mjs +89 -0
- package/vendor/motioncraft/scripts/lib/qa-full.mjs +24 -0
- package/vendor/motioncraft/scripts/lib/qa-pixels.mjs +47 -0
- package/vendor/motioncraft/scripts/lib/qa.mjs +66 -0
- package/vendor/motioncraft/scripts/lib/qa_full.py +45 -0
- package/vendor/motioncraft/scripts/lib/qa_pixels.py +50 -0
- package/vendor/motioncraft/scripts/lib/render-worker.mjs +37 -0
- package/vendor/motioncraft/scripts/lib/render.mjs +31 -0
- package/vendor/motioncraft/scripts/lib/retime-audio.mjs +49 -0
- package/vendor/motioncraft/scripts/lib/sfx.mjs +68 -0
- package/vendor/motioncraft/scripts/lib/style.mjs +44 -0
- package/vendor/motioncraft/scripts/lib/templates.mjs +34 -0
- package/vendor/motioncraft/scripts/lib/timeline-editor.mjs +74 -0
- package/vendor/motioncraft/scripts/lib/util.mjs +45 -0
- package/vendor/motioncraft/scripts/lib/voices.mjs +85 -0
- package/vendor/motioncraft/scripts/motioncraft.mjs +79 -0
- package/vendor/motioncraft/scripts/py/whisper_words.py +13 -0
- package/vendor/motioncraft/styles/mono-editorial/style.md +13 -0
- package/vendor/motioncraft/styles/mono-editorial/tokens.json +256 -0
- package/vendor/motioncraft/styles/pi-v2/style.md +15 -0
- package/vendor/motioncraft/styles/pi-v2/tokens.json +62 -0
- package/vendor/motioncraft/styles/pi-v2-dark/style.md +13 -0
- package/vendor/motioncraft/styles/pi-v2-dark/tokens.json +256 -0
- package/vendor/motioncraft/styles/tech-neon-soft/style.md +13 -0
- package/vendor/motioncraft/styles/tech-neon-soft/tokens.json +256 -0
- package/vendor/motioncraft/styles/warm-paper/style.md +13 -0
- package/vendor/motioncraft/styles/warm-paper/tokens.json +256 -0
- package/vendor/motioncraft/tests/beat.test.mjs +13 -0
- package/vendor/motioncraft/tests/camera3d.test.mjs +22 -0
- package/vendor/motioncraft/tests/check-update.test.mjs +19 -0
- package/vendor/motioncraft/tests/format.test.mjs +23 -0
- package/vendor/motioncraft/tests/kinetic.test.mjs +10 -0
- package/vendor/motioncraft/tests/morph.test.mjs +13 -0
- package/vendor/motioncraft/tests/phase1.test.mjs +27 -0
- package/vendor/motioncraft/tests/phase2.test.mjs +57 -0
- package/vendor/motioncraft/tests/phase3.test.mjs +25 -0
- package/vendor/motioncraft/tests/phase4.test.mjs +21 -0
- package/vendor/motioncraft/tests/qa-frame-rate.test.mjs +15 -0
- package/vendor/motioncraft/tests/qa-full.test.mjs +10 -0
- package/vendor/motioncraft/tests/render-worker.test.mjs +7 -0
- package/vendor/motioncraft/tests/retime-audio.test.mjs +23 -0
- package/vendor/motioncraft/tests/timeline-editor.test.mjs +45 -0
- package/vendor/pptxgenjs/carregar.js +12 -0
- package/vendor/pptxgenjs/jszip.min.js +13 -0
- package/vendor/pptxgenjs/pptxgen.cjs.js +7370 -0
- package/voz/primo_voz/transcrever.py +34 -4
- /package/comandos/{explicar.md → explain.md} +0 -0
- /package/comandos/{revisar.md → review.md} +0 -0
- /package/comandos/{publicar.md → ship.md} +0 -0
package/lib/limite.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* limite.js — a parte "limite" do /usage: quanto você já usou hoje e quanto um pedido grande deve gastar.
|
|
3
|
+
*
|
|
4
|
+
* guardarSessao(id, tokens) marca quanto ESTA conversa já gastou (idempotente: guarda o total, não soma)
|
|
5
|
+
* usoDeHoje() → { tokens } (todas as conversas de hoje, as de antes também)
|
|
6
|
+
* limiteConhecido() → número | null (só o que a pessoa informou: /usage limite 100000)
|
|
7
|
+
* estimar({ texto, ... }) → tokens que o pedido deve gastar
|
|
8
|
+
* linhaDoPedido(...) → "isso deve gastar uns 7% do seu plano de hoje" | aviso honesto | null
|
|
9
|
+
* zeraEm(agora) → "à meia-noite (daqui a 5h)"
|
|
10
|
+
*
|
|
11
|
+
* O PrimoCode NÃO tem como perguntar ao servidor qual é o limite do seu plano: o cliente só conta o que ele mesmo
|
|
12
|
+
* mandou e recebeu. Então a conta de "hoje" é nossa (um arquivo, ~/.primocode/uso.json) e o limite só entra se a
|
|
13
|
+
* pessoa disser qual é. Sem ele, a linha diz isso com todas as letras, em vez de inventar uma porcentagem.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
'use strict';
|
|
17
|
+
|
|
18
|
+
const fs = require('fs');
|
|
19
|
+
const os = require('os');
|
|
20
|
+
const path = require('path');
|
|
21
|
+
|
|
22
|
+
const arquivo = () => process.env.PRIMOCODE_USO || path.join(os.homedir(), '.primocode', 'uso.json');
|
|
23
|
+
const BASE_PEDIDO = 4000; // o que um pedido do agente já custa antes de a pessoa digitar (ferramentas + sistema)
|
|
24
|
+
const GRANDE = 300; // caracteres a partir dos quais o pedido conta como grande
|
|
25
|
+
|
|
26
|
+
const diaDe = (agora) => `${agora.getFullYear()}-${String(agora.getMonth() + 1).padStart(2, '0')}-${String(agora.getDate()).padStart(2, '0')}`;
|
|
27
|
+
|
|
28
|
+
function ler(agora = new Date()) {
|
|
29
|
+
let j = {};
|
|
30
|
+
try { j = JSON.parse(fs.readFileSync(arquivo(), 'utf8')); } catch { j = {}; }
|
|
31
|
+
const hoje = j.dia === diaDe(agora);
|
|
32
|
+
return { limite: Number(j.limite) > 0 ? Number(j.limite) : null, dia: diaDe(agora), sessoes: hoje && j.sessoes ? j.sessoes : {} };
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function gravar(d) {
|
|
36
|
+
try {
|
|
37
|
+
fs.mkdirSync(path.dirname(arquivo()), { recursive: true });
|
|
38
|
+
fs.writeFileSync(arquivo(), JSON.stringify({ dia: d.dia, limite: d.limite || undefined, sessoes: d.sessoes }, null, 2));
|
|
39
|
+
} catch { /* contar nunca derruba um pedido */ }
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function guardarSessao(id, tokens, agora = new Date()) {
|
|
43
|
+
const d = ler(agora);
|
|
44
|
+
d.sessoes[id] = Math.max(0, Math.round(tokens));
|
|
45
|
+
gravar(d);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function usoDeHoje(agora = new Date()) {
|
|
49
|
+
return { tokens: Object.values(ler(agora).sessoes).reduce((s, n) => s + n, 0) };
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const limiteConhecido = () => ler().limite;
|
|
53
|
+
|
|
54
|
+
function definirLimite(tokens, agora = new Date()) {
|
|
55
|
+
const n = Math.round(Number(tokens));
|
|
56
|
+
if (!(n > 0)) return false;
|
|
57
|
+
const d = ler(agora); d.limite = n; gravar(d);
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function pedidoGrande(texto, anexosChars = 0) {
|
|
62
|
+
return String(texto || '').length >= GRANDE || anexosChars > 0;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** `mediaPorPedido`: o que os pedidos de hoje já custaram, em média; sem ela, o custo base. */
|
|
66
|
+
function estimar({ texto, anexosChars = 0, mediaPorPedido = 0 }) {
|
|
67
|
+
return Math.max(mediaPorPedido, BASE_PEDIDO) + Math.ceil((String(texto || '').length + anexosChars) / 4);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const mil = (n) => (n >= 1000 ? `${Math.round(n / 1000)} mil` : String(n));
|
|
71
|
+
|
|
72
|
+
/** `limite` null = não dá pra saber: diz isso, sem número inventado. */
|
|
73
|
+
function linhaDoPedido({ tokens, limite, usadoHoje = 0 }) {
|
|
74
|
+
if (!limite) {
|
|
75
|
+
return `Pedido grande: deve gastar uns ${mil(tokens)} tokens. Não consigo ver o limite do seu plano daqui, então não sei dizer quantos % isso é. `
|
|
76
|
+
+ 'Se você sabe o limite, ensine: /usage limite <tokens por dia>.';
|
|
77
|
+
}
|
|
78
|
+
const pct = Math.max(1, Math.round((tokens / limite) * 100));
|
|
79
|
+
const ja = Math.round((usadoHoje / limite) * 100);
|
|
80
|
+
return `Isso deve gastar uns ${pct}% do seu plano de hoje${usadoHoje ? ` (você já usou ${ja}%)` : ''}.`;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function zeraEm(agora = new Date()) {
|
|
84
|
+
const meia = new Date(agora); meia.setHours(24, 0, 0, 0);
|
|
85
|
+
const min = Math.max(1, Math.round((meia - agora) / 60000));
|
|
86
|
+
const quanto = min >= 60 ? `${Math.floor(min / 60)}h${min % 60 ? String(min % 60).padStart(2, '0') : ''}` : `${min} min`;
|
|
87
|
+
return `à meia-noite (daqui a ${quanto})`;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/** As linhas da parte "limite" do /usage. */
|
|
91
|
+
function resumoDeHoje({ tokens, limite, agora = new Date() }) {
|
|
92
|
+
const L = [`Hoje, em todas as conversas: ${Number(tokens).toLocaleString('pt-BR')} tokens.`];
|
|
93
|
+
if (limite) L.push(`Isso é ${Math.round((tokens / limite) * 100)}% do limite que você informou (${limite.toLocaleString('pt-BR')} por dia).`);
|
|
94
|
+
else L.push('O limite do seu plano o servidor não mostra pro PrimoCode, então não sei dizer quantos % isso é. Se você sabe, ensine: /usage limite <tokens por dia>.');
|
|
95
|
+
L.push(`A conta de hoje zera ${zeraEm(agora)}. ${limite ? '' : 'Quando o seu plano zera de verdade eu não consigo ver.'}`.trim());
|
|
96
|
+
return L;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
module.exports = { guardarSessao, usoDeHoje, limiteConhecido, definirLimite, pedidoGrande, estimar, linhaDoPedido, zeraEm, resumoDeHoje, BASE_PEDIDO, GRANDE };
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* linha-do-tempo.js — a história do projeto numa página, com o ponto pra onde voltar.
|
|
3
|
+
*
|
|
4
|
+
* O `/desfazer lista` mostra os pedidos no terminal, e quem nunca programou
|
|
5
|
+
* não lê isso. Aqui os mesmos pontos (lib/checkpoint.js) viram uma página
|
|
6
|
+
* HTML: um cartão por pedido, o que ele mudou, o selo "funcionava" que o
|
|
7
|
+
* /conferir deixou, e o comando pronto pra copiar e voltar até ali.
|
|
8
|
+
*
|
|
9
|
+
* `montarHtml` é pura (sem disco, sem relógio): recebe os pontos e a hora de
|
|
10
|
+
* agora. `gravar` é quem pega a lista de verdade e escreve o arquivo.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
'use strict';
|
|
14
|
+
|
|
15
|
+
const fs = require('fs');
|
|
16
|
+
const os = require('os');
|
|
17
|
+
const path = require('path');
|
|
18
|
+
const checkpoint = require('./checkpoint');
|
|
19
|
+
|
|
20
|
+
const VERBO = { criado: 'criou', mudou: 'mudou', apagado: 'apagou' };
|
|
21
|
+
|
|
22
|
+
/** O pedido é texto da pessoa: nunca entra no HTML sem escapar. */
|
|
23
|
+
function esc(s) {
|
|
24
|
+
return String(s === undefined || s === null ? '' : s)
|
|
25
|
+
.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')
|
|
26
|
+
.replace(/"/g, '"').replace(/'/g, ''');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const dois = (n) => String(n).padStart(2, '0');
|
|
30
|
+
const hora = (d) => `${dois(d.getHours())}:${dois(d.getMinutes())}`;
|
|
31
|
+
const diaMes = (d) => `${dois(d.getDate())}/${dois(d.getMonth() + 1)}`;
|
|
32
|
+
const meiaNoite = (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate()).getTime();
|
|
33
|
+
|
|
34
|
+
/** "hoje 14:02", "ontem 21:10", senão "24/10 14:02". */
|
|
35
|
+
function horaHumana(quando, agora) {
|
|
36
|
+
const d = new Date(quando);
|
|
37
|
+
if (isNaN(d.getTime())) return '';
|
|
38
|
+
const hoje = meiaNoite(agora instanceof Date ? agora : new Date(agora || Date.now()));
|
|
39
|
+
const dias = Math.round((hoje - meiaNoite(d)) / 86400000);
|
|
40
|
+
if (dias === 0) return `hoje ${hora(d)}`;
|
|
41
|
+
if (dias === 1) return `ontem ${hora(d)}`;
|
|
42
|
+
return `${diaMes(d)} ${hora(d)}`;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** Caminho relativo à pasta do projeto (o que a pessoa reconhece). */
|
|
46
|
+
function relativo(caminho, projectDir) {
|
|
47
|
+
if (!projectDir) return caminho;
|
|
48
|
+
const r = path.relative(projectDir, caminho);
|
|
49
|
+
return r && !r.startsWith('..') && !path.isAbsolute(r) ? r : caminho;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const CSS = `
|
|
53
|
+
:root{--fundo:#faf7f2;--cartao:#fff;--tinta:#1d1b18;--suave:#6f6a62;--linha:#ddd6ca;--acento:#ff5a1f;--acento-fundo:#fff0e8;--codigo:#f1ece3}
|
|
54
|
+
@media (prefers-color-scheme:dark){:root{--fundo:#161412;--cartao:#201d1a;--tinta:#f1ece3;--suave:#a39c90;--linha:#3a3530;--acento:#ff7a45;--acento-fundo:#2e1d14;--codigo:#2a2622}}
|
|
55
|
+
*{box-sizing:border-box}
|
|
56
|
+
body{margin:0;background:var(--fundo);color:var(--tinta);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
|
|
57
|
+
main{max-width:640px;margin:0 auto;padding:32px 16px 64px}
|
|
58
|
+
h1{font-size:1.6rem;line-height:1.2;margin:0 0 4px;overflow-wrap:anywhere}
|
|
59
|
+
.sub{color:var(--suave);margin:0 0 28px}
|
|
60
|
+
ol{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid var(--linha)}
|
|
61
|
+
li{position:relative;margin:0 0 18px}
|
|
62
|
+
li::before{content:"";position:absolute;left:-29px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--fundo);border:2px solid var(--linha)}
|
|
63
|
+
li.ok::before{background:var(--acento);border-color:var(--acento)}
|
|
64
|
+
.cartao{background:var(--cartao);border:1px solid var(--linha);border-radius:10px;padding:14px 16px}
|
|
65
|
+
li.ok .cartao{border-color:var(--acento);background:var(--acento-fundo)}
|
|
66
|
+
.quando{font-size:.85rem;color:var(--suave);margin:0}
|
|
67
|
+
.pedido{font-weight:600;margin:4px 0 8px;overflow-wrap:anywhere}
|
|
68
|
+
.selo{display:inline-block;color:var(--acento);font-weight:600;font-size:.9rem;margin:0 0 8px}
|
|
69
|
+
.selo small{color:var(--suave);font-weight:400}
|
|
70
|
+
ul.arquivos{margin:0 0 4px;padding:0;list-style:none;font-size:.9rem}
|
|
71
|
+
ul.arquivos li{margin:2px 0;padding:0;overflow-wrap:anywhere}
|
|
72
|
+
ul.arquivos li::before{display:none}
|
|
73
|
+
.acao{color:var(--suave);display:inline-block;min-width:3.8em}
|
|
74
|
+
code{font:.85rem ui-monospace,SFMono-Regular,Menlo,monospace}
|
|
75
|
+
.volta{margin-top:10px;font-size:.85rem;color:var(--suave)}
|
|
76
|
+
.volta pre{margin:4px 0 0;padding:8px 10px;background:var(--codigo);border-radius:6px;overflow-x:auto;user-select:all}
|
|
77
|
+
.vazio{background:var(--cartao);border:1px dashed var(--linha);border-radius:10px;padding:20px;color:var(--suave)}
|
|
78
|
+
`;
|
|
79
|
+
|
|
80
|
+
function cartao(cp, i, cps, projectDir, agora) {
|
|
81
|
+
const mudou = cp.mudou || [];
|
|
82
|
+
const arquivos = mudou.length
|
|
83
|
+
? `<ul class="arquivos">${mudou.map((m) => `<li><span class="acao">${esc(VERBO[m.acao] || m.acao)}</span> <code>${esc(relativo(m.caminho, projectDir))}</code></li>`).join('')}</ul>`
|
|
84
|
+
: '';
|
|
85
|
+
const selo = cp.funcionava
|
|
86
|
+
? `<p class="selo">✓ funcionava${cp.funcionava_como ? ` <small>· conferido com ${esc(cp.funcionava_como)}</small>` : ''}</p>` : '';
|
|
87
|
+
const ultimoOk = cps.findIndex((x) => x.funcionava) === i && cp.funcionava;
|
|
88
|
+
let volta = '';
|
|
89
|
+
if (i > 0) {
|
|
90
|
+
volta = `<div class="volta">Pra voltar até aqui, copie:<pre><code>/undo ${i}</code></pre>`
|
|
91
|
+
+ (ultimoOk ? `ou, direto pro último que funcionava:<pre><code>/restore</code></pre>` : '') + '</div>';
|
|
92
|
+
}
|
|
93
|
+
return `<li class="${cp.funcionava ? 'ok' : ''}"><div class="cartao">`
|
|
94
|
+
+ `<p class="quando">${esc(horaHumana(cp.quando, agora))}</p>`
|
|
95
|
+
+ `<p class="pedido">${esc(cp.pedido || '(sem texto)')}</p>${selo}${arquivos}${volta}</div></li>`;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** A página inteira, a partir da lista do checkpoint (mais novo primeiro). */
|
|
99
|
+
function montarHtml(cps, { projeto, agora, projectDir } = {}) {
|
|
100
|
+
cps = cps || [];
|
|
101
|
+
const nome = projeto || (projectDir ? path.basename(path.resolve(projectDir)) : 'projeto');
|
|
102
|
+
const corpo = cps.length
|
|
103
|
+
? `<ol>${cps.map((cp, i) => cartao(cp, i, cps, projectDir, agora)).join('')}</ol>`
|
|
104
|
+
: '<div class="vazio">Ainda não tem história: o primeiro pedido que mexer nos arquivos cria o primeiro ponto.</div>';
|
|
105
|
+
return `<!doctype html>
|
|
106
|
+
<html lang="pt-BR"><head><meta charset="utf-8">
|
|
107
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
108
|
+
<title>A história de ${esc(nome)}</title>
|
|
109
|
+
<style>${CSS}</style></head>
|
|
110
|
+
<body><main>
|
|
111
|
+
<h1>A história de ${esc(nome)}</h1>
|
|
112
|
+
<p class="sub">Do pedido mais novo pro mais velho. Copie o comando e cole no PrimoCode pra voltar.</p>
|
|
113
|
+
${corpo}
|
|
114
|
+
</main></body></html>
|
|
115
|
+
`;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/** Grava em ~/.primocode/linha-do-tempo/<pasta>.html e devolve o caminho. */
|
|
119
|
+
function gravar(projectDir, { home, agora } = {}) {
|
|
120
|
+
const abs = path.resolve(projectDir);
|
|
121
|
+
const nome = path.basename(abs) || 'raiz';
|
|
122
|
+
const seguro = nome.replace(/[^\w.-]+/g, '-').slice(0, 40) || 'raiz';
|
|
123
|
+
const dir = path.join(home || os.homedir(), '.primocode', 'linha-do-tempo');
|
|
124
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
125
|
+
const arquivo = path.join(dir, `${seguro}.html`);
|
|
126
|
+
fs.writeFileSync(arquivo, montarHtml(checkpoint.lista(abs), { projeto: nome, agora: agora || new Date(), projectDir: abs }));
|
|
127
|
+
return arquivo;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
module.exports = { montarHtml, gravar, horaHumana };
|
package/lib/local/cerebro.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"origem": "primocode-server 8.20.0
|
|
3
|
-
"SYSTEM_NUCLEO": "Você é o PrimoCode, agente de engenharia da ConectaPrimoAI.\n\nCONVERSA OU TRABALHO: cumprimento, agradecimento, pergunta sobre você ou papo\n(\"oi\", \"o que você faz?\") → responda em texto, 1 ou 2 frases, sem tool nenhuma,\ne não invente tarefa que ninguém pediu. Pedido de criar, alterar, ler, rodar ou\nconsertar → EXECUTE, até o fim, sem conversar no meio.\n\nREGRAS ABSOLUTAS (executando):\n1. NUNCA escreva código na resposta. Código vai SEMPRE dentro de uma tool.\n2. NUNCA pergunte ao usuário. Decida e execute.\n3. NUNCA invente ferramenta, serviço, porta ou API: as suas são EXATAMENTE as\n desta lista. E nunca diga que algo \"não está rodando\" para se esquivar — o\n que precisa subir, sobe sozinho quando você chama a tool. Prometer o que\n você não tem, ou culpar um serviço, é o pior erro possível.\n4. Caminhos RELATIVOS (\"index.html\", \"src/game.js\"). Você já está na pasta do\n projeto: nunca caminho absoluto, nunca \"../\".\n5. Termine SEMPRE com finish(\"frase curta do que foi feito\").\n6. Resposta em texto: no máximo 1 frase, sem markdown.\n7. NUNCA repita uma chamada que já fez. Reformular a mesma busca traz as mesmas\n fontes; spec e manual são FIXOS — leu uma vez, está lido. Pesquisou e leu a\n spec? O passo seguinte é CRIAR com o que já tem.\n\nESCOLHENDO A TOOL: arquivo novo → write_file; mudar parte → edit_file (nunca\nreescreva o arquivo inteiro para trocar poucas linhas); várias mudanças no mesmo\narquivo → multi_edit, numa chamada; não sabe onde está → grep (conteúdo) ou glob\n(nome), nunca list_dir (o mapa já está aqui); servidor de pé →
|
|
2
|
+
"origem": "primocode-server 8.20.0 46ada83",
|
|
3
|
+
"SYSTEM_NUCLEO": "Você é o PrimoCode, agente de engenharia da ConectaPrimoAI.\n\nCONVERSA OU TRABALHO: cumprimento, agradecimento, pergunta sobre você ou papo\n(\"oi\", \"o que você faz?\") → responda em texto, 1 ou 2 frases, sem tool nenhuma,\ne não invente tarefa que ninguém pediu. Pedido de criar, alterar, ler, rodar ou\nconsertar → EXECUTE, até o fim, sem conversar no meio.\n\nREGRAS ABSOLUTAS (executando):\n1. NUNCA escreva código na resposta. Código vai SEMPRE dentro de uma tool.\n2. NUNCA pergunte ao usuário. Decida e execute.\n3. NUNCA invente ferramenta, serviço, porta ou API: as suas são EXATAMENTE as\n desta lista. E nunca diga que algo \"não está rodando\" para se esquivar — o\n que precisa subir, sobe sozinho quando você chama a tool. Prometer o que\n você não tem, ou culpar um serviço, é o pior erro possível.\n4. Caminhos RELATIVOS (\"index.html\", \"src/game.js\"). Você já está na pasta do\n projeto: nunca caminho absoluto, nunca \"../\".\n5. Termine SEMPRE com finish(\"frase curta do que foi feito\").\n6. Resposta em texto: no máximo 1 frase, sem markdown.\n7. NUNCA repita uma chamada que já fez. Reformular a mesma busca traz as mesmas\n fontes; spec e manual são FIXOS — leu uma vez, está lido. Pesquisou e leu a\n spec? O passo seguinte é CRIAR com o que já tem.\n\nESCOLHENDO A TOOL: arquivo novo → write_file; mudar parte → edit_file (nunca\nreescreva o arquivo inteiro para trocar poucas linhas); várias mudanças no mesmo\narquivo → multi_edit, numa chamada; não sabe onde está → grep (conteúdo) ou glob\n(nome), nunca list_dir (o mapa já está aqui); servidor de pé → run_background.\n\nANTES DE EDITAR, LEIA SÓ O ARQUIVO QUE VAI MUDAR (edit_file exige o texto\nliteral), inteiro e uma vez. Nada de ler outros \"para entender\".\n\nQUANDO FALHA: leia o erro e conserte. Se edit_file disser \"trecho não\nencontrado\", ele devolve \"trechosParecidos\" com as linhas reais — copie de lá.\nNUNCA chame finish dizendo que fez algo que falhou: \"não consegui alterar X\nporque Y\" é melhor que um \"pronto!\" falso.\n\nPLANO: tarefa de 3+ passos começa com write_todos e vai atualizando o status (só\nUMA \"in_progress\" por vez). Tarefa curta não precisa.\n\nCOMO VOCÊ FALA ENQUANTO TRABALHA: antes de uma tool que muda o rumo (conserto,\nconversão, desvio), UMA frase em primeira pessoa com o quê e o porquê (\"o vídeo\nveio em .avi, vou converter para mp4\"); resolvido, \"feito, continuando\". Passo\nóbvio não precisa. NUNCA cite limite, cota, token, modelo, provedor, tentativa\nou erro interno: quem lê vê o trabalho, não o encanamento. Contornou uma\nfalha? Conte o contorno.\n\nMEMÓRIA: você recebe memory-geral.md (o usuário) e o memory.md do projeto.\nRespeite as preferências e decisões que estão lá, e não recomece do zero um\nprojeto que já tem arquivos — veja o mapa antes de escrever. O memory.md do projeto se\ngrava sozinho. Já o memory-geral.md só guarda o que você mandar com\nremember_general: nome, preferência que vale em qualquer projeto, decisão de\nlongo prazo. Sem essa chamada, nada disso sobrevive para a próxima vez.\n\nPROCESSO: ache o alvo (mapa ou grep) → leia só ele → faça → confira → finish.\nCriar do zero: escreva direto, sem ler nada.",
|
|
4
4
|
"SECOES": {
|
|
5
5
|
"pesquisa": "PEDIDO QUE DEPENDE DE FATO DO MUNDO — PESQUISE PRIMEIRO:\nSe o que o usuário pediu envolve algo real (uma empresa, um produto, uma\npessoa, um mercado, um número, um acontecimento), chame pesquisar_referencia\nANTES de criar qualquer coisa, em qualquer esforço. \"Pesquise sobre a empresa X\ne faça slides\" é UM pedido só: pesquisa e depois cria, sem parar para perguntar\ne sem entregar o deck com dado inventado.\n\nUm deck bonito cheio de número inventado é pior que nenhum deck — o usuário\nleva aquilo para uma reunião. Se depois da pesquisa faltar um dado, escreva na\npeça o que você sabe e deixe o buraco explícito (\"faturamento: não divulgado\"),\nnunca um número plausível de sua cabeça.",
|
|
6
6
|
"estudio": "O ESTÚDIO — VÍDEO, MOTION, SLIDES E ARTE, FEITOS AQUI:\nCada peça é uma PASTA no computador do usuário, e o arquivo final sai pelo\nRemotion (.mp4 no vídeo, .pdf em slides e arte). Nada de link para abrir num\nsite: no fim, o arquivo abre sozinho para o usuário.\n\nFLUXO (vídeo, motion, slides ou arte feitos do zero):\n1. estudio_projeto acao:\"criar\" (titulo, pedido, formato: video | slides | arte).\n2. Empresa ou marca de verdade → estudio_site ANTES, e use as cores, a fonte\n e a logo que ele devolve em roteiro.marca.\n3. estudio_plano com ROTEIRO: 6 a 12 partes, cada uma com o tipo certo\n (abertura, numero, lista, passos, contraste, citacao, imagem, grafico,\n titulo, cta) e a \"fala\" — a frase dita, que não repete a tela. O PrimoCode\n faz o layout, a voz com entonação, os ícones, a música e os sons. NÃO\n escreva cenas nem posições à mão.\n4. estudio_render. Para ajustar, mande o roteiro de novo com a mudança.\n\nGRAVAÇÃO DO USUÁRIO FALANDO (\"edita meu vídeo\", \"faz um reels disso\", \"coloca\nlegenda e efeitos\", um .mp4/.mov dele): a edição completa é do editor_pro (o\nmotor do EDIT IA PRO). acao:\"cortar\" com o video → leia a fala que volta (com os\ntempos) → acao:\"montar\" com a pasta e o plano (gancho, pecas, broll) → entregue\n<pasta>/final.mp4 só com o portão PASSOU. Atalho: acao:\"editar\" faz tudo com o\nplano automático. Operações soltas na gravação (só cortar um trecho, juntar,\nexportar) seguem no estudio_video. NUNCA escreva .mp4/.mp3 com write_file e\nnunca monte vídeo com ffmpeg na mão.\n\nO ROTEIRO BOM: a primeira parte prende (abertura ou contraste), o miolo prova\n(numero, grafico, lista, imagem) e a última pede ação (cta). Varie os tipos —\ntrês \"titulo\" seguidos parecem slide parado. Título que diz algo (\"Receita\ntriplicou em 18 meses\"), não rótulo (\"Resultados\"). Número de verdade ou\nnenhum. A fala não repete a tela: a tela dá o título, a voz dá o argumento.\n\nSE O USUÁRIO CITAR UM APP (Canva, PowerPoint, CapCut, Premiere…): faça a peça\ncom as ferramentas do Estúdio e avise em uma linha. Se ele insistir no app,\nprocure um MCP dele (mcp_procurar) antes de abrir com o mouse.\n\nDocumento, planilha e PDF não são do Estúdio: faça o arquivo (.docx, .xlsx,\n.pdf) com código, na pasta do projeto.",
|
|
@@ -258,6 +258,64 @@
|
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
},
|
|
261
|
+
{
|
|
262
|
+
"type": "function",
|
|
263
|
+
"function": {
|
|
264
|
+
"name": "run_background",
|
|
265
|
+
"description": "Roda em segundo plano um comando que fica de pe (servidor de dev, watch) e devolve um id. Nao trava a sessao. Leia a saida com background_output para conferir que subiu ou ver o erro; pare com stop_background.",
|
|
266
|
+
"parameters": {
|
|
267
|
+
"type": "object",
|
|
268
|
+
"properties": {
|
|
269
|
+
"command": {
|
|
270
|
+
"type": "string"
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
"required": [
|
|
274
|
+
"command"
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"type": "function",
|
|
281
|
+
"function": {
|
|
282
|
+
"name": "background_output",
|
|
283
|
+
"description": "Le a saida nova de uma tarefa do run_background (so o que chegou desde a ultima leitura). Diz se ainda roda e o codigo de saida.",
|
|
284
|
+
"parameters": {
|
|
285
|
+
"type": "object",
|
|
286
|
+
"properties": {
|
|
287
|
+
"id": {
|
|
288
|
+
"type": "string"
|
|
289
|
+
},
|
|
290
|
+
"desde": {
|
|
291
|
+
"type": "number",
|
|
292
|
+
"description": "Offset da leitura anterior (campo \"ate\"); omita para seguir de onde parou"
|
|
293
|
+
}
|
|
294
|
+
},
|
|
295
|
+
"required": [
|
|
296
|
+
"id"
|
|
297
|
+
]
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"type": "function",
|
|
303
|
+
"function": {
|
|
304
|
+
"name": "stop_background",
|
|
305
|
+
"description": "Para uma tarefa do run_background (e os processos filhos dela).",
|
|
306
|
+
"parameters": {
|
|
307
|
+
"type": "object",
|
|
308
|
+
"properties": {
|
|
309
|
+
"id": {
|
|
310
|
+
"type": "string"
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
"required": [
|
|
314
|
+
"id"
|
|
315
|
+
]
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
},
|
|
261
319
|
{
|
|
262
320
|
"type": "function",
|
|
263
321
|
"function": {
|
|
@@ -1877,6 +1935,64 @@
|
|
|
1877
1935
|
}
|
|
1878
1936
|
}
|
|
1879
1937
|
},
|
|
1938
|
+
{
|
|
1939
|
+
"type": "function",
|
|
1940
|
+
"function": {
|
|
1941
|
+
"name": "run_background",
|
|
1942
|
+
"description": "Roda em segundo plano um comando que fica de pe (servidor de dev, watch) e devolve um id. Nao trava a sessao. Leia a saida com background_output para conferir que subiu ou ver o erro; pare com stop_background.",
|
|
1943
|
+
"parameters": {
|
|
1944
|
+
"type": "object",
|
|
1945
|
+
"properties": {
|
|
1946
|
+
"command": {
|
|
1947
|
+
"type": "string"
|
|
1948
|
+
}
|
|
1949
|
+
},
|
|
1950
|
+
"required": [
|
|
1951
|
+
"command"
|
|
1952
|
+
]
|
|
1953
|
+
}
|
|
1954
|
+
}
|
|
1955
|
+
},
|
|
1956
|
+
{
|
|
1957
|
+
"type": "function",
|
|
1958
|
+
"function": {
|
|
1959
|
+
"name": "background_output",
|
|
1960
|
+
"description": "Le a saida nova de uma tarefa do run_background (so o que chegou desde a ultima leitura). Diz se ainda roda e o codigo de saida.",
|
|
1961
|
+
"parameters": {
|
|
1962
|
+
"type": "object",
|
|
1963
|
+
"properties": {
|
|
1964
|
+
"id": {
|
|
1965
|
+
"type": "string"
|
|
1966
|
+
},
|
|
1967
|
+
"desde": {
|
|
1968
|
+
"type": "number",
|
|
1969
|
+
"description": "Offset da leitura anterior (campo \"ate\"); omita para seguir de onde parou"
|
|
1970
|
+
}
|
|
1971
|
+
},
|
|
1972
|
+
"required": [
|
|
1973
|
+
"id"
|
|
1974
|
+
]
|
|
1975
|
+
}
|
|
1976
|
+
}
|
|
1977
|
+
},
|
|
1978
|
+
{
|
|
1979
|
+
"type": "function",
|
|
1980
|
+
"function": {
|
|
1981
|
+
"name": "stop_background",
|
|
1982
|
+
"description": "Para uma tarefa do run_background (e os processos filhos dela).",
|
|
1983
|
+
"parameters": {
|
|
1984
|
+
"type": "object",
|
|
1985
|
+
"properties": {
|
|
1986
|
+
"id": {
|
|
1987
|
+
"type": "string"
|
|
1988
|
+
}
|
|
1989
|
+
},
|
|
1990
|
+
"required": [
|
|
1991
|
+
"id"
|
|
1992
|
+
]
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
},
|
|
1880
1996
|
{
|
|
1881
1997
|
"type": "function",
|
|
1882
1998
|
"function": {
|
package/lib/local/entrada.js
CHANGED
|
@@ -165,7 +165,7 @@ const GRUPOS = [
|
|
|
165
165
|
},
|
|
166
166
|
{
|
|
167
167
|
nome: 'terminal',
|
|
168
|
-
tools: ['run_in_new_terminal'],
|
|
168
|
+
tools: ['run_in_new_terminal', 'run_background', 'background_output', 'stop_background'],
|
|
169
169
|
gatilho: /\b(servidor|dev|watch|npm run|yarn|vite|next|rodar? em segundo plano|localhost|porta \d+)\b/i,
|
|
170
170
|
},
|
|
171
171
|
{
|
package/lib/mapa.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mapa.js — o /mapa: o que tem no projeto, em português, e o que está faltando.
|
|
3
|
+
*
|
|
4
|
+
* montar(projectDir) → { entrada, grupos: { nome: [rel] }, usa: { rel: [rel] }, faltando: [{ arquivo, pedido_por }] }
|
|
5
|
+
* texto(m, nome) → as linhas pro terminal (puro)
|
|
6
|
+
*
|
|
7
|
+
* O dia seguinte de quem fez o primeiro app com IA: volta ao projeto e não sabe o que é cada arquivo nem onde mexer
|
|
8
|
+
* ("vibe code is legacy code", blog.stephenturner.us [VERIFICAR]). Sem modelo: os nomes, a extensão e o que cada
|
|
9
|
+
* arquivo puxa (<script src>, <link href>, <img src>, import e require relativos). O que é puxado e não existe vira
|
|
10
|
+
* "faltando" — o caso da lista de compras de 23/10, cujo index.html pedia um style.css e um script.js que não nasceram.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
'use strict';
|
|
14
|
+
|
|
15
|
+
const fs = require('fs');
|
|
16
|
+
const path = require('path');
|
|
17
|
+
|
|
18
|
+
const LIMITE = 2000; // projeto maior que isso: o mapa mostra, mas não acusa "faltando" (a lista ficou pela metade)
|
|
19
|
+
const PULAR = new Set(['node_modules', '.git', 'dist', 'build', '.next', '.cache', '.venv', 'venv', '__pycache__']);
|
|
20
|
+
const GRUPOS = [
|
|
21
|
+
['páginas', /\.html?$/i], ['estilo', /\.(css|scss|sass)$/i], ['lógica', /\.(m?[jt]sx?|cjs|py|rb|go|rs|php)$/i],
|
|
22
|
+
['dados', /\.(json|csv|ya?ml|toml|sql|db)$/i], ['imagens e mídia', /\.(png|jpe?g|gif|svg|webp|ico|mp4|mp3|wav|woff2?)$/i], ['textos', /\.(md|txt)$/i],
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
function listar(dir, base = dir, out = []) {
|
|
26
|
+
let itens = [];
|
|
27
|
+
try { itens = fs.readdirSync(dir, { withFileTypes: true }); } catch { return out; }
|
|
28
|
+
for (const it of itens) {
|
|
29
|
+
if (it.name.startsWith('.') || PULAR.has(it.name)) continue;
|
|
30
|
+
const abs = path.join(dir, it.name);
|
|
31
|
+
if (it.isDirectory()) listar(abs, base, out);
|
|
32
|
+
else out.push(path.relative(base, abs));
|
|
33
|
+
if (out.length >= LIMITE) break;
|
|
34
|
+
}
|
|
35
|
+
return out;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** O que um arquivo puxa, como caminho relativo à pasta do projeto (só o local: http, //, data: e # ficam de fora). */
|
|
39
|
+
function referencias(rel, texto) {
|
|
40
|
+
const achados = [];
|
|
41
|
+
const pega = (re) => { for (const m of texto.matchAll(re)) achados.push(m[1]); };
|
|
42
|
+
if (/\.html?$/i.test(rel)) { pega(/<script[^>]+src=["']([^"']+)["']/gi); pega(/<link[^>]+href=["']([^"']+)["']/gi); pega(/<img[^>]+src=["']([^"']+)["']/gi); }
|
|
43
|
+
if (/\.(m?[jt]sx?|cjs)$/i.test(rel)) { pega(/\bimport\s[^'"]*?from\s*["'](\.[^"']+)["']/g); pega(/\brequire\(\s*["'](\.[^"']+)["']\s*\)/g); pega(/\bimport\s*["'](\.[^"']+)["']/g); }
|
|
44
|
+
if (/\.css$/i.test(rel)) pega(/@import\s+(?:url\()?["']([^"']+)["']/g);
|
|
45
|
+
return achados
|
|
46
|
+
.filter((r) => r && !/^(https?:)?\/\//i.test(r) && !/^(data|mailto|tel):|^#/i.test(r))
|
|
47
|
+
// "/style.css" é a partir da raiz do site, não da pasta do arquivo (o Vite também: "/src/main.jsx")
|
|
48
|
+
.map((r) => { const s = r.split(/[?#]/)[0]; return path.normalize(s.startsWith('/') ? s.slice(1) : path.join(path.dirname(rel), s)).replace(/^\.\//, ''); });
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function montar(projectDir) {
|
|
52
|
+
const arquivos = listar(projectDir);
|
|
53
|
+
const existe = new Set(arquivos);
|
|
54
|
+
const truncado = arquivos.length >= LIMITE;
|
|
55
|
+
const grupos = {}, usa = {}, faltando = [];
|
|
56
|
+
for (const rel of arquivos) {
|
|
57
|
+
const g = (GRUPOS.find(([, re]) => re.test(rel)) || ['outros'])[0];
|
|
58
|
+
(grupos[g] = grupos[g] || []).push(rel);
|
|
59
|
+
if (!/\.(html?|m?[jt]sx?|cjs|css)$/i.test(rel)) continue;
|
|
60
|
+
let texto = '';
|
|
61
|
+
try { if (fs.statSync(path.join(projectDir, rel)).size < 512 * 1024) texto = fs.readFileSync(path.join(projectDir, rel), 'utf8'); } catch { continue; }
|
|
62
|
+
const refs = [...new Set(referencias(rel, texto))];
|
|
63
|
+
if (refs.length) usa[rel] = refs;
|
|
64
|
+
for (const r of refs) {
|
|
65
|
+
// import sem extensão (./util → util.js, util/index.js): conta como achado se alguma variante existe
|
|
66
|
+
const ext = ['.js', '.mjs', '.cjs', '.ts', '.jsx', '.tsx'];
|
|
67
|
+
const variantes = [r, ...ext.map((e) => r + e), ...ext.map((e) => path.join(r, 'index' + e))];
|
|
68
|
+
if (!truncado && !variantes.some((v) => existe.has(v))) faltando.push({ arquivo: r, pedido_por: rel });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const entrada = ['index.html', 'src/index.html', 'public/index.html', 'main.py', 'app.py', 'index.js', 'src/main.js', 'src/index.js'].find((e) => existe.has(e)) || null;
|
|
72
|
+
return { entrada, grupos, usa, faltando, total: arquivos.length, truncado };
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function texto(m, nome = 'o projeto') {
|
|
76
|
+
if (!m.total) return [`${nome} ainda está vazio: nenhum arquivo.`];
|
|
77
|
+
const out = [`${nome}: ${m.total} ${m.total === 1 ? 'arquivo' : 'arquivos'}` + (m.entrada ? ` · começa por ${m.entrada}` : '')];
|
|
78
|
+
for (const [g, lista] of Object.entries(m.grupos)) {
|
|
79
|
+
const mostra = lista.slice(0, 6).join(', ') + (lista.length > 6 ? ` e mais ${lista.length - 6}` : '');
|
|
80
|
+
out.push(` ${g.padEnd(16)} ${mostra}`);
|
|
81
|
+
}
|
|
82
|
+
const ligacoes = Object.entries(m.usa).slice(0, 6);
|
|
83
|
+
if (ligacoes.length) {
|
|
84
|
+
out.push(' quem usa quem');
|
|
85
|
+
for (const [de, para] of ligacoes) out.push(` ${de} → ${para.slice(0, 5).join(', ')}`);
|
|
86
|
+
}
|
|
87
|
+
if (m.faltando.length) {
|
|
88
|
+
out.push(` ⚠ faltando ${m.faltando.length === 1 ? 'um arquivo' : m.faltando.length + ' arquivos'}:`);
|
|
89
|
+
for (const f of m.faltando.slice(0, 8)) out.push(` ${f.arquivo} (o ${f.pedido_por} pede, e ele não existe)`);
|
|
90
|
+
}
|
|
91
|
+
return out;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
module.exports = { montar, texto, referencias };
|
package/lib/memoria-usuario.js
CHANGED
|
@@ -141,7 +141,7 @@ function carregarIndice(home, max = LINHAS_DO_INDICE) {
|
|
|
141
141
|
try { t = fs.readFileSync(arquivoIndice(home), 'utf-8'); } catch { return ''; }
|
|
142
142
|
const linhas = t.split('\n').filter((l) => l.trim());
|
|
143
143
|
if (linhas.length <= max) return linhas.join('\n');
|
|
144
|
-
return linhas.slice(0, max).join('\n') + `\n(… cortado: mais ${linhas.length - max} memórias, use /
|
|
144
|
+
return linhas.slice(0, max).join('\n') + `\n(… cortado: mais ${linhas.length - max} memórias, use /memory)`;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
/** As regras de quando salvar. Entram no contexto junto com o índice. */
|
package/lib/mencoes.js
CHANGED
|
@@ -29,6 +29,12 @@ function lerSeExiste(arquivo) {
|
|
|
29
29
|
} catch { return ''; }
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
function soRegras(texto) {
|
|
33
|
+
const { INICIO, FIM } = require('./regras.js');
|
|
34
|
+
const i = texto.indexOf(INICIO), f = texto.indexOf(FIM);
|
|
35
|
+
return i >= 0 && f > i && !(texto.slice(0, i) + texto.slice(f + FIM.length)).trim();
|
|
36
|
+
}
|
|
37
|
+
|
|
32
38
|
/** O texto que entra no contexto, ou '' se não há instrução nenhuma. */
|
|
33
39
|
function instrucoesDoProjeto(projectDir, limite = LIMITE_INSTRUCOES) {
|
|
34
40
|
const partes = [];
|
|
@@ -44,6 +50,10 @@ function instrucoesDoProjeto(projectDir, limite = LIMITE_INSTRUCOES) {
|
|
|
44
50
|
const texto = require('./agents-md.js').semBloco(lerSeExiste(path.join(projectDir, nome)));
|
|
45
51
|
if (!texto.trim()) continue;
|
|
46
52
|
partes.push(`[${nome} — instruções deste projeto: siga]\n${cortar(texto, limite)}`);
|
|
53
|
+
/* Um PRIMO.md que só tem as regras do /regra (lib/regras.js) não
|
|
54
|
+
é o "escrito PARA nós" inteiro: as regras entram, e o AGENTS.md
|
|
55
|
+
ou o CLAUDE.md do repo ainda têm a vez deles. */
|
|
56
|
+
if (nome === 'PRIMO.md' && soRegras(texto)) continue;
|
|
47
57
|
break;
|
|
48
58
|
}
|
|
49
59
|
}
|
package/lib/mostrar.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mostrar.js — o /mostrar: o app aberto no celular de alguém no mesmo Wi-Fi, sem publicar nada.
|
|
3
|
+
*
|
|
4
|
+
* abrir(projectDir, { minutos, agora, porta, host }) → Promise<{ ok, url, urlLocal, fechar(), expira }>
|
|
5
|
+
* arquivoPermitido(projectDir, urlPath) → caminho absoluto | null (puro na decisão)
|
|
6
|
+
*
|
|
7
|
+
* O dia seguinte do iniciante: quer mostrar o app pra família, e "publicar" assusta (Lovable e Bolt separam
|
|
8
|
+
* "compartilhar uma prévia" de "publicar": docs.lovable.dev/features/projects/preview, support.bolt.new [VERIFICAR]).
|
|
9
|
+
* Aqui é um servidor na rede local, só enquanto o PrimoCode está aberto, com token no link e prazo (padrão 60 min).
|
|
10
|
+
* Nunca entrega arquivo ou pasta que começa com ponto (.env, .git), nem node_modules, nem nada fora da pasta — nem
|
|
11
|
+
* pelo nome com outra caixa (o disco do Mac não diferencia), nem por link simbólico.
|
|
12
|
+
*
|
|
13
|
+
* A segunda revisão de 24/10 achou o que corrigir: pedido malformado ("GET //") fazia o new URL lançar e derrubava o
|
|
14
|
+
* PrimoCode sem token; erro ao ler o arquivo também derrubava; /Node_Modules e um link pra .segredos/ passavam; e o
|
|
15
|
+
* vídeo não tocava no iPhone (sem Range).
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
'use strict';
|
|
19
|
+
|
|
20
|
+
const fs = require('fs');
|
|
21
|
+
const os = require('os');
|
|
22
|
+
const path = require('path');
|
|
23
|
+
const http = require('http');
|
|
24
|
+
const crypto = require('crypto');
|
|
25
|
+
const { pipeline } = require('stream');
|
|
26
|
+
|
|
27
|
+
const TIPOS = { '.html': 'text/html; charset=utf-8', '.htm': 'text/html; charset=utf-8', '.css': 'text/css; charset=utf-8', '.js': 'text/javascript; charset=utf-8',
|
|
28
|
+
'.mjs': 'text/javascript; charset=utf-8', '.json': 'application/json; charset=utf-8', '.svg': 'image/svg+xml', '.png': 'image/png', '.jpg': 'image/jpeg',
|
|
29
|
+
'.jpeg': 'image/jpeg', '.gif': 'image/gif', '.webp': 'image/webp', '.ico': 'image/x-icon', '.mp4': 'video/mp4', '.mp3': 'audio/mpeg', '.wav': 'audio/wav',
|
|
30
|
+
'.woff': 'font/woff', '.woff2': 'font/woff2', '.txt': 'text/plain; charset=utf-8', '.webmanifest': 'application/manifest+json' };
|
|
31
|
+
|
|
32
|
+
/** Uma parte do caminho que nunca sai: começa com ponto, ou é node_modules em qualquer caixa. */
|
|
33
|
+
const proibida = (p) => p.startsWith('.') || p.toLowerCase() === 'node_modules';
|
|
34
|
+
|
|
35
|
+
/** O arquivo que pode sair, ou null. `entrada` é a página de quando a raiz não tem index.html (o único .html). */
|
|
36
|
+
function arquivoPermitido(projectDir, urlPath, { entrada = null } = {}) {
|
|
37
|
+
let rel;
|
|
38
|
+
try { rel = decodeURIComponent(String(urlPath || '/')); } catch { return null; }
|
|
39
|
+
if (rel.includes('\0')) return null;
|
|
40
|
+
const partes = rel.split(/[\\/]/).filter(Boolean);
|
|
41
|
+
if (partes.some(proibida)) return null;
|
|
42
|
+
const raiz = path.resolve(projectDir);
|
|
43
|
+
let abs = path.resolve(raiz, ...partes);
|
|
44
|
+
if (abs !== raiz && !abs.startsWith(raiz + path.sep)) return null;
|
|
45
|
+
try {
|
|
46
|
+
if (fs.statSync(abs).isDirectory()) {
|
|
47
|
+
const idx = path.join(abs, 'index.html');
|
|
48
|
+
abs = fs.existsSync(idx) ? idx : (abs === raiz && entrada ? path.join(raiz, entrada) : idx);
|
|
49
|
+
}
|
|
50
|
+
const raizReal = fs.realpathSync(raiz), real = fs.realpathSync(abs);
|
|
51
|
+
if (real !== raizReal && !real.startsWith(raizReal + path.sep)) return null;
|
|
52
|
+
// o filtro de novo, no caminho de verdade: um link "config.json → .segredos/chaves.json" não passa
|
|
53
|
+
if (path.relative(raizReal, real).split(path.sep).some(proibida)) return null;
|
|
54
|
+
return fs.statSync(real).isFile() && TIPOS[path.extname(real).toLowerCase()] ? real : null;
|
|
55
|
+
} catch { return null; }
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function ipDaRede() {
|
|
59
|
+
for (const lista of Object.values(os.networkInterfaces())) {
|
|
60
|
+
for (const i of lista || []) if (i.family === 'IPv4' && !i.internal) return i.address;
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** O pedaço pedido no Range ("bytes=100-" ou "bytes=100-199"), ou null; inválido → { invalido: true }. Puro. */
|
|
66
|
+
function intervalo(cabecalho, tamanho) {
|
|
67
|
+
const m = String(cabecalho || '').match(/^bytes=(\d*)-(\d*)$/);
|
|
68
|
+
if (!m) return null;
|
|
69
|
+
let ini = m[1] === '' ? null : Number(m[1]), fim = m[2] === '' ? null : Number(m[2]);
|
|
70
|
+
if (ini == null && fim == null) return { invalido: true };
|
|
71
|
+
if (ini == null) { ini = Math.max(0, tamanho - fim); fim = tamanho - 1; } // "bytes=-500": os últimos 500
|
|
72
|
+
if (fim == null || fim >= tamanho) fim = tamanho - 1;
|
|
73
|
+
if (ini > fim || ini >= tamanho) return { invalido: true };
|
|
74
|
+
return { ini, fim };
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function abrir(projectDir, { minutos = 60, agora = () => Date.now(), porta = 0, host = '0.0.0.0', entrada = null } = {}) {
|
|
78
|
+
return new Promise((resolve) => {
|
|
79
|
+
const token = crypto.randomBytes(8).toString('hex');
|
|
80
|
+
const expira = agora() + minutos * 60000;
|
|
81
|
+
const srv = http.createServer((req, res) => {
|
|
82
|
+
const nao = (cod, txt) => { if (!res.headersSent) { res.writeHead(cod, { 'content-type': 'text/plain; charset=utf-8' }); } res.end(txt); };
|
|
83
|
+
try {
|
|
84
|
+
// sem new URL: "GET //" fazia ele lançar e derrubava o PrimoCode, sem token nenhum
|
|
85
|
+
const bruto = String(req.url || '/');
|
|
86
|
+
const q = bruto.indexOf('?');
|
|
87
|
+
const caminho = q >= 0 ? bruto.slice(0, q) : bruto;
|
|
88
|
+
const busca = new URLSearchParams(q >= 0 ? bruto.slice(q + 1) : '');
|
|
89
|
+
if (agora() > expira) return nao(403, 'Este link do PrimoCode já expirou. Peça um novo.');
|
|
90
|
+
// o token vem no link (?t=) e fica num cookie, pra página poder carregar o css e o js sem ele
|
|
91
|
+
const doCookie = ((req.headers.cookie || '').match(/(?:^|;\s*)primo_t=([0-9a-f]{16})/) || [])[1];
|
|
92
|
+
if ((busca.get('t') || doCookie) !== token) return nao(403, 'Link sem permissão. Use o link inteiro que o PrimoCode mostrou.');
|
|
93
|
+
const arq = arquivoPermitido(projectDir, caminho, { entrada });
|
|
94
|
+
if (!arq) return nao(404, 'Não achei.');
|
|
95
|
+
const tamanho = fs.statSync(arq).size;
|
|
96
|
+
const base = { 'content-type': TIPOS[path.extname(arq).toLowerCase()], 'cache-control': 'no-store', 'accept-ranges': 'bytes',
|
|
97
|
+
'set-cookie': `primo_t=${token}; Path=/; HttpOnly; SameSite=Strict`, 'x-content-type-options': 'nosniff' };
|
|
98
|
+
// Range: o Safari do iPhone só toca <video> e <audio> pedindo em pedaços
|
|
99
|
+
const r = intervalo(req.headers.range, tamanho);
|
|
100
|
+
if (r && r.invalido) { res.writeHead(416, { 'content-range': `bytes */${tamanho}` }); return res.end(); }
|
|
101
|
+
if (r) res.writeHead(206, { ...base, 'content-range': `bytes ${r.ini}-${r.fim}/${tamanho}`, 'content-length': r.fim - r.ini + 1 });
|
|
102
|
+
else res.writeHead(200, { ...base, 'content-length': tamanho });
|
|
103
|
+
if (req.method === 'HEAD') return res.end();
|
|
104
|
+
// pipeline: erro ao ler (permissão, arquivo apagado) e celular que desiste fecham tudo, sem derrubar nada
|
|
105
|
+
pipeline(fs.createReadStream(arq, r ? { start: r.ini, end: r.fim } : {}), res, (e) => { if (e) res.destroy(); });
|
|
106
|
+
} catch { try { nao(400, 'Pedido inválido.'); } catch { res.destroy(); } }
|
|
107
|
+
});
|
|
108
|
+
srv.on('clientError', (e, s) => { try { s.end('HTTP/1.1 400 Bad Request\r\n\r\n'); } catch { s.destroy(); } });
|
|
109
|
+
srv.on('error', (e) => resolve({ ok: false, error: e.message }));
|
|
110
|
+
srv.listen(porta, host, () => {
|
|
111
|
+
const p = srv.address().port, ip = ipDaRede();
|
|
112
|
+
const fechar = () => new Promise((r) => { try { srv.close(() => r()); if (srv.closeAllConnections) srv.closeAllConnections(); } catch { r(); } });
|
|
113
|
+
const relogio = setTimeout(fechar, minutos * 60000 + 1000);
|
|
114
|
+
if (relogio.unref) relogio.unref();
|
|
115
|
+
srv.unref(); // não segura o PrimoCode aberto
|
|
116
|
+
resolve({ ok: true, url: ip ? `http://${ip}:${p}/?t=${token}` : null, urlLocal: `http://127.0.0.1:${p}/?t=${token}`, expira, fechar, porta: p, token });
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
module.exports = { abrir, arquivoPermitido, intervalo, ipDaRede };
|