primocode 10.17.1 → 10.19.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.
Files changed (2349) hide show
  1. package/LICENSES/fontes-OFL.txt +95 -0
  2. package/README.md +37 -20
  3. package/bin/primocode.js +1047 -267
  4. package/editor/THIRD_PARTY_NOTICES.md +3 -3
  5. package/editor/assets/baixar.json +8 -0
  6. package/editor/helpers/camera_viva.py +39 -2
  7. package/editor/modelo-projeto/assets/fontes/OFL-Inter.txt +93 -0
  8. package/editor/modelo-projeto/assets/fontes/larguras.json +1 -1
  9. package/editor/modelo-projeto/build.py +164 -19
  10. package/editor/modelo-projeto/ferramentas/medir_fontes.py +1 -1
  11. package/kits/CATALOGO.md +65 -0
  12. package/kits/KITS.md +179 -0
  13. package/kits/adesivos/SKILL.md +53 -0
  14. package/kits/adesivos/assets/ASSETS.md +22 -0
  15. package/kits/adesivos/assets/fontes/OFL-BowlbyOne.txt +92 -0
  16. package/kits/adesivos/assets/fontes/OFL-Nunito.txt +92 -0
  17. package/kits/adesivos/assets/fontes/bowlby-latin.woff2 +0 -0
  18. package/kits/adesivos/assets/fontes/nunito-latin.woff2 +0 -0
  19. package/kits/adesivos/assets/sons/assinatura.mp3 +0 -0
  20. package/kits/adesivos/assets/sons/cola.mp3 +0 -0
  21. package/kits/adesivos/assets/sons/confete.mp3 +0 -0
  22. package/kits/adesivos/assets/sons/impacto.mp3 +0 -0
  23. package/kits/adesivos/assets/sons/palavra.mp3 +0 -0
  24. package/kits/adesivos/assets/sons/pop.mp3 +0 -0
  25. package/kits/adesivos/assets/sons/swipe.mp3 +0 -0
  26. package/kits/adesivos/assets/sons/whoosh.mp3 +0 -0
  27. package/kits/adesivos/assets/trilha/pop-colorido-112bpm.mp3 +0 -0
  28. package/kits/adesivos/capa.jpg +0 -0
  29. package/kits/adesivos/elementos/AdesivoForma.tsx +42 -0
  30. package/kits/adesivos/elementos/AdesivoFoto.tsx +36 -0
  31. package/kits/adesivos/elementos/AdesivoTexto.tsx +35 -0
  32. package/kits/adesivos/elementos/AssinaturaMarca.tsx +36 -0
  33. package/kits/adesivos/elementos/Camera.tsx +22 -0
  34. package/kits/adesivos/elementos/Cena.tsx +48 -0
  35. package/kits/adesivos/elementos/ChuvaDeAdesivos.tsx +29 -0
  36. package/kits/adesivos/elementos/Fundo.tsx +21 -0
  37. package/kits/adesivos/elementos/Montagem.tsx +68 -0
  38. package/kits/adesivos/elementos/SeloPreco.tsx +38 -0
  39. package/kits/adesivos/elementos/Som.tsx +33 -0
  40. package/kits/adesivos/elementos/TituloEtiquetas.tsx +33 -0
  41. package/kits/adesivos/elementos/base.ts +101 -0
  42. package/kits/adesivos/elementos/index.ts +16 -0
  43. package/kits/adesivos/exemplos/fotos/foto-01.jpg +0 -0
  44. package/kits/adesivos/exemplos/fotos/foto-02.jpg +0 -0
  45. package/kits/adesivos/exemplos/fotos/foto-03.jpg +0 -0
  46. package/kits/adesivos/exemplos/logo-grude.svg +1 -0
  47. package/kits/adesivos/exemplos/plano.json +328 -0
  48. package/kits/adesivos/exemplos/roteiro.md +21 -0
  49. package/kits/adesivos/preview.tsx +15 -0
  50. package/kits/adesivos/receita.json +212 -0
  51. package/kits/adesivos/regras/area-segura.md +17 -0
  52. package/kits/adesivos/regras/cor.md +23 -0
  53. package/kits/adesivos/regras/movimento.md +17 -0
  54. package/kits/adesivos/regras/ritmo.md +16 -0
  55. package/kits/adesivos/regras/som.md +20 -0
  56. package/kits/adesivos/regras/tipografia.md +16 -0
  57. package/kits/antes-depois/SKILL.md +57 -0
  58. package/kits/antes-depois/assets/ASSETS.md +23 -0
  59. package/kits/antes-depois/assets/fontes/OFL-ArchivoBlack.txt +93 -0
  60. package/kits/antes-depois/assets/fontes/OFL-Manrope.txt +93 -0
  61. package/kits/antes-depois/assets/fontes/archivoblack.woff2 +0 -0
  62. package/kits/antes-depois/assets/fontes/manrope.woff2 +0 -0
  63. package/kits/antes-depois/assets/sons/assinatura.mp3 +0 -0
  64. package/kits/antes-depois/assets/sons/clique.mp3 +0 -0
  65. package/kits/antes-depois/assets/sons/impacto.mp3 +0 -0
  66. package/kits/antes-depois/assets/sons/pop-cartao.mp3 +0 -0
  67. package/kits/antes-depois/assets/sons/pop-palavra.mp3 +0 -0
  68. package/kits/antes-depois/assets/sons/subida.mp3 +0 -0
  69. package/kits/antes-depois/assets/sons/swoosh.mp3 +0 -0
  70. package/kits/antes-depois/assets/sons/tick.mp3 +0 -0
  71. package/kits/antes-depois/assets/sons/whoosh-entra.mp3 +0 -0
  72. package/kits/antes-depois/assets/sons/whoosh-sai.mp3 +0 -0
  73. package/kits/antes-depois/assets/trilha/corte-118bpm.mp3 +0 -0
  74. package/kits/antes-depois/capa.jpg +0 -0
  75. package/kits/antes-depois/elementos/BarraMedidor.tsx +43 -0
  76. package/kits/antes-depois/elementos/Camera.tsx +21 -0
  77. package/kits/antes-depois/elementos/Cena.tsx +41 -0
  78. package/kits/antes-depois/elementos/FaixaMarquee.tsx +35 -0
  79. package/kits/antes-depois/elementos/Fundo.tsx +24 -0
  80. package/kits/antes-depois/elementos/ListaMudancas.tsx +37 -0
  81. package/kits/antes-depois/elementos/Montagem.tsx +59 -0
  82. package/kits/antes-depois/elementos/NumeroDelta.tsx +36 -0
  83. package/kits/antes-depois/elementos/RotuloAntesDepois.tsx +26 -0
  84. package/kits/antes-depois/elementos/Som.tsx +40 -0
  85. package/kits/antes-depois/elementos/TelaDividida.tsx +68 -0
  86. package/kits/antes-depois/elementos/base.ts +82 -0
  87. package/kits/antes-depois/elementos/index.ts +15 -0
  88. package/kits/antes-depois/exemplos/fotos/foto-07.jpg +0 -0
  89. package/kits/antes-depois/exemplos/fotos/foto-08.jpg +0 -0
  90. package/kits/antes-depois/exemplos/plano.json +276 -0
  91. package/kits/antes-depois/exemplos/roteiro.md +19 -0
  92. package/kits/antes-depois/preview.tsx +13 -0
  93. package/kits/antes-depois/receita.json +21 -0
  94. package/kits/antes-depois/regras/area-segura.md +21 -0
  95. package/kits/antes-depois/regras/cor.md +15 -0
  96. package/kits/antes-depois/regras/movimento.md +23 -0
  97. package/kits/antes-depois/regras/ritmo.md +15 -0
  98. package/kits/antes-depois/regras/som.md +20 -0
  99. package/kits/antes-depois/regras/tipografia.md +18 -0
  100. package/kits/apple-tipografico/SKILL.md +73 -0
  101. package/kits/apple-tipografico/assets/ASSETS.md +23 -0
  102. package/kits/apple-tipografico/assets/fontes/OFL-Inter.txt +93 -0
  103. package/kits/apple-tipografico/assets/fontes/inter-latin-500-800.woff2 +0 -0
  104. package/kits/apple-tipografico/assets/sons/assinatura.mp3 +0 -0
  105. package/kits/apple-tipografico/assets/sons/clique.mp3 +0 -0
  106. package/kits/apple-tipografico/assets/sons/impacto.mp3 +0 -0
  107. package/kits/apple-tipografico/assets/sons/pop-cartao.mp3 +0 -0
  108. package/kits/apple-tipografico/assets/sons/pop-palavra.mp3 +0 -0
  109. package/kits/apple-tipografico/assets/sons/subida.mp3 +0 -0
  110. package/kits/apple-tipografico/assets/sons/swoosh.mp3 +0 -0
  111. package/kits/apple-tipografico/assets/sons/whoosh-entra.mp3 +0 -0
  112. package/kits/apple-tipografico/assets/sons/whoosh-sai.mp3 +0 -0
  113. package/kits/apple-tipografico/assets/trilha/tech-claro-125bpm.mp3 +0 -0
  114. package/kits/apple-tipografico/capa.jpg +0 -0
  115. package/kits/apple-tipografico/elementos/AssinaturaPreta.tsx +33 -0
  116. package/kits/apple-tipografico/elementos/Camera.tsx +23 -0
  117. package/kits/apple-tipografico/elementos/CartaoRadial.tsx +41 -0
  118. package/kits/apple-tipografico/elementos/Cena.tsx +55 -0
  119. package/kits/apple-tipografico/elementos/Fundo.tsx +21 -0
  120. package/kits/apple-tipografico/elementos/LegendaCurta.tsx +51 -0
  121. package/kits/apple-tipografico/elementos/Montagem.tsx +55 -0
  122. package/kits/apple-tipografico/elementos/Produto3D.tsx +140 -0
  123. package/kits/apple-tipografico/elementos/ProdutoFoto.tsx +47 -0
  124. package/kits/apple-tipografico/elementos/Som.tsx +40 -0
  125. package/kits/apple-tipografico/elementos/base.ts +111 -0
  126. package/kits/apple-tipografico/elementos/index.ts +18 -0
  127. package/kits/apple-tipografico/elementos/modelos.ts +108 -0
  128. package/kits/apple-tipografico/elementos/raymarch.ts +249 -0
  129. package/kits/apple-tipografico/exemplos/logo-lume.svg +1 -0
  130. package/kits/apple-tipografico/exemplos/plano.json +56 -0
  131. package/kits/apple-tipografico/exemplos/roteiro.md +19 -0
  132. package/kits/apple-tipografico/preview.tsx +12 -0
  133. package/kits/apple-tipografico/receita.json +22 -0
  134. package/kits/apple-tipografico/regras/area-segura.md +19 -0
  135. package/kits/apple-tipografico/regras/cor.md +24 -0
  136. package/kits/apple-tipografico/regras/movimento.md +29 -0
  137. package/kits/apple-tipografico/regras/ritmo.md +29 -0
  138. package/kits/apple-tipografico/regras/som.md +20 -0
  139. package/kits/apple-tipografico/regras/tipografia.md +21 -0
  140. package/kits/aquarela/SKILL.md +52 -0
  141. package/kits/aquarela/assets/ASSETS.md +21 -0
  142. package/kits/aquarela/assets/fontes/OFL-Caveat.txt +92 -0
  143. package/kits/aquarela/assets/fontes/OFL-Fraunces.txt +92 -0
  144. package/kits/aquarela/assets/fontes/caveat-latin.woff2 +0 -0
  145. package/kits/aquarela/assets/fontes/fraunces-latin.woff2 +0 -0
  146. package/kits/aquarela/assets/sons/assinatura.mp3 +0 -0
  147. package/kits/aquarela/assets/sons/gota.mp3 +0 -0
  148. package/kits/aquarela/assets/sons/impacto.mp3 +0 -0
  149. package/kits/aquarela/assets/sons/palavra.mp3 +0 -0
  150. package/kits/aquarela/assets/sons/papel-cai.mp3 +0 -0
  151. package/kits/aquarela/assets/sons/pop-mancha.mp3 +0 -0
  152. package/kits/aquarela/assets/sons/risco.mp3 +0 -0
  153. package/kits/aquarela/assets/sons/whoosh-pincel.mp3 +0 -0
  154. package/kits/aquarela/assets/trilha/calma-com-punch-108bpm.mp3 +0 -0
  155. package/kits/aquarela/capa.jpg +0 -0
  156. package/kits/aquarela/elementos/AnotacaoManual.tsx +40 -0
  157. package/kits/aquarela/elementos/AssinaturaMarca.tsx +33 -0
  158. package/kits/aquarela/elementos/Camera.tsx +22 -0
  159. package/kits/aquarela/elementos/Cena.tsx +48 -0
  160. package/kits/aquarela/elementos/Fundo.tsx +24 -0
  161. package/kits/aquarela/elementos/ManchaTinta.tsx +46 -0
  162. package/kits/aquarela/elementos/Montagem.tsx +60 -0
  163. package/kits/aquarela/elementos/PapelRasgado.tsx +50 -0
  164. package/kits/aquarela/elementos/Pincelada.tsx +43 -0
  165. package/kits/aquarela/elementos/Pingos.tsx +31 -0
  166. package/kits/aquarela/elementos/Som.tsx +33 -0
  167. package/kits/aquarela/elementos/TituloPincel.tsx +51 -0
  168. package/kits/aquarela/elementos/base.ts +97 -0
  169. package/kits/aquarela/elementos/index.ts +16 -0
  170. package/kits/aquarela/exemplos/logo-mare.svg +1 -0
  171. package/kits/aquarela/exemplos/plano.json +62 -0
  172. package/kits/aquarela/exemplos/roteiro.md +21 -0
  173. package/kits/aquarela/preview.tsx +12 -0
  174. package/kits/aquarela/receita.json +213 -0
  175. package/kits/aquarela/regras/area-segura.md +17 -0
  176. package/kits/aquarela/regras/cor.md +23 -0
  177. package/kits/aquarela/regras/movimento.md +19 -0
  178. package/kits/aquarela/regras/ritmo.md +17 -0
  179. package/kits/aquarela/regras/som.md +20 -0
  180. package/kits/aquarela/regras/tipografia.md +16 -0
  181. package/kits/aurora/SKILL.md +52 -0
  182. package/kits/aurora/assets/ASSETS.md +21 -0
  183. package/kits/aurora/assets/fontes/OFL-InstrumentSerif.txt +92 -0
  184. package/kits/aurora/assets/fontes/OFL-Manrope.txt +92 -0
  185. package/kits/aurora/assets/fontes/instrument-latin.woff2 +0 -0
  186. package/kits/aurora/assets/fontes/manrope-latin.woff2 +0 -0
  187. package/kits/aurora/assets/sons/assinatura.mp3 +0 -0
  188. package/kits/aurora/assets/sons/brilho.mp3 +0 -0
  189. package/kits/aurora/assets/sons/meteoro.mp3 +0 -0
  190. package/kits/aurora/assets/sons/onda.mp3 +0 -0
  191. package/kits/aurora/assets/sons/sino.mp3 +0 -0
  192. package/kits/aurora/assets/sons/sopro.mp3 +0 -0
  193. package/kits/aurora/assets/sons/subida.mp3 +0 -0
  194. package/kits/aurora/assets/sons/toque.mp3 +0 -0
  195. package/kits/aurora/assets/trilha/suave-88bpm.mp3 +0 -0
  196. package/kits/aurora/capa.jpg +0 -0
  197. package/kits/aurora/elementos/AssinaturaMarca.tsx +24 -0
  198. package/kits/aurora/elementos/Camera.tsx +22 -0
  199. package/kits/aurora/elementos/CartaoVidro.tsx +29 -0
  200. package/kits/aurora/elementos/Cena.tsx +48 -0
  201. package/kits/aurora/elementos/CeuEstrelado.tsx +22 -0
  202. package/kits/aurora/elementos/CortinaDeLuz.tsx +36 -0
  203. package/kits/aurora/elementos/Fundo.tsx +35 -0
  204. package/kits/aurora/elementos/Legenda.tsx +23 -0
  205. package/kits/aurora/elementos/Montagem.tsx +68 -0
  206. package/kits/aurora/elementos/Montanhas.tsx +24 -0
  207. package/kits/aurora/elementos/Som.tsx +33 -0
  208. package/kits/aurora/elementos/TituloSerif.tsx +36 -0
  209. package/kits/aurora/elementos/base.ts +93 -0
  210. package/kits/aurora/elementos/index.ts +16 -0
  211. package/kits/aurora/exemplos/logo-boreal.svg +1 -0
  212. package/kits/aurora/exemplos/plano.json +204 -0
  213. package/kits/aurora/exemplos/roteiro.md +19 -0
  214. package/kits/aurora/preview.tsx +12 -0
  215. package/kits/aurora/receita.json +146 -0
  216. package/kits/aurora/regras/area-segura.md +18 -0
  217. package/kits/aurora/regras/cor.md +24 -0
  218. package/kits/aurora/regras/movimento.md +20 -0
  219. package/kits/aurora/regras/ritmo.md +14 -0
  220. package/kits/aurora/regras/som.md +20 -0
  221. package/kits/aurora/regras/tipografia.md +15 -0
  222. package/kits/bauhaus/SKILL.md +52 -0
  223. package/kits/bauhaus/assets/ASSETS.md +18 -0
  224. package/kits/bauhaus/assets/fontes/OFL-bebas-neue.txt +93 -0
  225. package/kits/bauhaus/assets/fontes/OFL-jost-900.txt +93 -0
  226. package/kits/bauhaus/assets/fontes/bebas-neue.woff2 +0 -0
  227. package/kits/bauhaus/assets/fontes/jost-900.woff2 +0 -0
  228. package/kits/bauhaus/assets/sons/assinatura.mp3 +0 -0
  229. package/kits/bauhaus/assets/sons/clique.mp3 +0 -0
  230. package/kits/bauhaus/assets/sons/impacto.mp3 +0 -0
  231. package/kits/bauhaus/assets/sons/pop-cartao.mp3 +0 -0
  232. package/kits/bauhaus/assets/sons/pop-palavra.mp3 +0 -0
  233. package/kits/bauhaus/assets/sons/subida.mp3 +0 -0
  234. package/kits/bauhaus/assets/sons/swoosh.mp3 +0 -0
  235. package/kits/bauhaus/assets/sons/tick.mp3 +0 -0
  236. package/kits/bauhaus/assets/sons/whoosh-entra.mp3 +0 -0
  237. package/kits/bauhaus/assets/sons/whoosh-sai.mp3 +0 -0
  238. package/kits/bauhaus/assets/trilha/trilha.mp3 +0 -0
  239. package/kits/bauhaus/capa.jpg +0 -0
  240. package/kits/bauhaus/elementos/AssinaturaMarca.tsx +26 -0
  241. package/kits/bauhaus/elementos/BarraDiagonal.tsx +20 -0
  242. package/kits/bauhaus/elementos/Camera.tsx +21 -0
  243. package/kits/bauhaus/elementos/Cena.tsx +36 -0
  244. package/kits/bauhaus/elementos/ComposicaoGeometrica.tsx +54 -0
  245. package/kits/bauhaus/elementos/Fundo.tsx +13 -0
  246. package/kits/bauhaus/elementos/ListaFaixas.tsx +27 -0
  247. package/kits/bauhaus/elementos/Montagem.tsx +55 -0
  248. package/kits/bauhaus/elementos/NumeroBauhaus.tsx +21 -0
  249. package/kits/bauhaus/elementos/Overlay.tsx +18 -0
  250. package/kits/bauhaus/elementos/Som.tsx +30 -0
  251. package/kits/bauhaus/elementos/TituloBauhaus.tsx +32 -0
  252. package/kits/bauhaus/elementos/base.ts +74 -0
  253. package/kits/bauhaus/elementos/index.ts +16 -0
  254. package/kits/bauhaus/exemplos/plano.json +221 -0
  255. package/kits/bauhaus/exemplos/roteiro.md +20 -0
  256. package/kits/bauhaus/preview.tsx +12 -0
  257. package/kits/bauhaus/receita.json +174 -0
  258. package/kits/bauhaus/regras/area-segura.md +15 -0
  259. package/kits/bauhaus/regras/cor.md +13 -0
  260. package/kits/bauhaus/regras/movimento.md +17 -0
  261. package/kits/bauhaus/regras/ritmo.md +15 -0
  262. package/kits/bauhaus/regras/som.md +18 -0
  263. package/kits/bauhaus/regras/tipografia.md +20 -0
  264. package/kits/brutalista/SKILL.md +54 -0
  265. package/kits/brutalista/assets/ASSETS.md +23 -0
  266. package/kits/brutalista/assets/fontes/OFL-ArchivoBlack.txt +93 -0
  267. package/kits/brutalista/assets/fontes/OFL-JetBrainsMono.txt +93 -0
  268. package/kits/brutalista/assets/fontes/archivo-black.woff2 +0 -0
  269. package/kits/brutalista/assets/fontes/jetbrains-mono.woff2 +0 -0
  270. package/kits/brutalista/assets/sons/assinatura.mp3 +0 -0
  271. package/kits/brutalista/assets/sons/clique.mp3 +0 -0
  272. package/kits/brutalista/assets/sons/impacto.mp3 +0 -0
  273. package/kits/brutalista/assets/sons/pop-cartao.mp3 +0 -0
  274. package/kits/brutalista/assets/sons/pop-palavra.mp3 +0 -0
  275. package/kits/brutalista/assets/sons/subida.mp3 +0 -0
  276. package/kits/brutalista/assets/sons/swoosh.mp3 +0 -0
  277. package/kits/brutalista/assets/sons/whoosh-entra.mp3 +0 -0
  278. package/kits/brutalista/assets/sons/whoosh-sai.mp3 +0 -0
  279. package/kits/brutalista/assets/trilha/bruta-108bpm.mp3 +0 -0
  280. package/kits/brutalista/capa.jpg +0 -0
  281. package/kits/brutalista/elementos/AssinaturaMarca.tsx +21 -0
  282. package/kits/brutalista/elementos/BlocoSombra.tsx +18 -0
  283. package/kits/brutalista/elementos/Camera.tsx +23 -0
  284. package/kits/brutalista/elementos/CartaoFotoBruto.tsx +19 -0
  285. package/kits/brutalista/elementos/Cena.tsx +41 -0
  286. package/kits/brutalista/elementos/ContadorGrande.tsx +21 -0
  287. package/kits/brutalista/elementos/FitaAlerta.tsx +20 -0
  288. package/kits/brutalista/elementos/Fundo.tsx +9 -0
  289. package/kits/brutalista/elementos/ListaBruta.tsx +23 -0
  290. package/kits/brutalista/elementos/MonoEnorme.tsx +43 -0
  291. package/kits/brutalista/elementos/Montagem.tsx +62 -0
  292. package/kits/brutalista/elementos/QuadroCor.tsx +14 -0
  293. package/kits/brutalista/elementos/Som.tsx +38 -0
  294. package/kits/brutalista/elementos/Terminal.tsx +25 -0
  295. package/kits/brutalista/elementos/base.ts +71 -0
  296. package/kits/brutalista/elementos/index.ts +18 -0
  297. package/kits/brutalista/exemplos/fotos/foto-02.jpg +0 -0
  298. package/kits/brutalista/exemplos/fotos/foto-03.jpg +0 -0
  299. package/kits/brutalista/exemplos/fotos/foto-05.jpg +0 -0
  300. package/kits/brutalista/exemplos/fotos/foto-07.jpg +0 -0
  301. package/kits/brutalista/exemplos/fotos/foto-08.jpg +0 -0
  302. package/kits/brutalista/exemplos/logo-bloco.svg +1 -0
  303. package/kits/brutalista/exemplos/plano.json +52 -0
  304. package/kits/brutalista/exemplos/roteiro.md +19 -0
  305. package/kits/brutalista/preview.tsx +20 -0
  306. package/kits/brutalista/receita.json +195 -0
  307. package/kits/brutalista/regras/area-segura.md +18 -0
  308. package/kits/brutalista/regras/cor.md +12 -0
  309. package/kits/brutalista/regras/movimento.md +16 -0
  310. package/kits/brutalista/regras/ritmo.md +16 -0
  311. package/kits/brutalista/regras/som.md +21 -0
  312. package/kits/brutalista/regras/tipografia.md +16 -0
  313. package/kits/campos-de-cor/SKILL.md +55 -0
  314. package/kits/campos-de-cor/assets/ASSETS.md +19 -0
  315. package/kits/campos-de-cor/assets/fontes/OFL-Archivo-Black.txt +93 -0
  316. package/kits/campos-de-cor/assets/fontes/OFL-DM-Mono.txt +93 -0
  317. package/kits/campos-de-cor/assets/fontes/OFL-Playfair-Italic.txt +93 -0
  318. package/kits/campos-de-cor/assets/fontes/archivo-black.woff2 +0 -0
  319. package/kits/campos-de-cor/assets/fontes/dm-mono.woff2 +0 -0
  320. package/kits/campos-de-cor/assets/fontes/playfair-italic.woff2 +0 -0
  321. package/kits/campos-de-cor/assets/sons/assinatura.mp3 +0 -0
  322. package/kits/campos-de-cor/assets/sons/clique.mp3 +0 -0
  323. package/kits/campos-de-cor/assets/sons/impacto.mp3 +0 -0
  324. package/kits/campos-de-cor/assets/sons/pop-cartao.mp3 +0 -0
  325. package/kits/campos-de-cor/assets/sons/pop-palavra.mp3 +0 -0
  326. package/kits/campos-de-cor/assets/sons/subida.mp3 +0 -0
  327. package/kits/campos-de-cor/assets/sons/swoosh.mp3 +0 -0
  328. package/kits/campos-de-cor/assets/sons/whoosh-entra.mp3 +0 -0
  329. package/kits/campos-de-cor/assets/sons/whoosh-sai.mp3 +0 -0
  330. package/kits/campos-de-cor/assets/trilha/trilha.mp3 +0 -0
  331. package/kits/campos-de-cor/capa.jpg +0 -0
  332. package/kits/campos-de-cor/elementos/AssinaturaMarca.tsx +18 -0
  333. package/kits/campos-de-cor/elementos/Asterisco.tsx +26 -0
  334. package/kits/campos-de-cor/elementos/Camera.tsx +23 -0
  335. package/kits/campos-de-cor/elementos/CampoDeCor.tsx +39 -0
  336. package/kits/campos-de-cor/elementos/Cena.tsx +46 -0
  337. package/kits/campos-de-cor/elementos/FitaDeTexto.tsx +24 -0
  338. package/kits/campos-de-cor/elementos/FormaGeometrica.tsx +37 -0
  339. package/kits/campos-de-cor/elementos/Fundo.tsx +11 -0
  340. package/kits/campos-de-cor/elementos/LegendaItalica.tsx +12 -0
  341. package/kits/campos-de-cor/elementos/ListaRegua.tsx +30 -0
  342. package/kits/campos-de-cor/elementos/Montagem.tsx +62 -0
  343. package/kits/campos-de-cor/elementos/PalavraGigante.tsx +44 -0
  344. package/kits/campos-de-cor/elementos/Som.tsx +39 -0
  345. package/kits/campos-de-cor/elementos/base.ts +87 -0
  346. package/kits/campos-de-cor/elementos/index.ts +17 -0
  347. package/kits/campos-de-cor/exemplos/logo-pulso.svg +1 -0
  348. package/kits/campos-de-cor/exemplos/plano.json +258 -0
  349. package/kits/campos-de-cor/exemplos/roteiro.md +19 -0
  350. package/kits/campos-de-cor/preview.tsx +12 -0
  351. package/kits/campos-de-cor/receita.json +174 -0
  352. package/kits/campos-de-cor/regras/area-segura.md +15 -0
  353. package/kits/campos-de-cor/regras/cor.md +14 -0
  354. package/kits/campos-de-cor/regras/movimento.md +15 -0
  355. package/kits/campos-de-cor/regras/ritmo.md +15 -0
  356. package/kits/campos-de-cor/regras/som.md +18 -0
  357. package/kits/campos-de-cor/regras/tipografia.md +13 -0
  358. package/kits/cartaz-cinetico/SKILL.md +52 -0
  359. package/kits/cartaz-cinetico/assets/ASSETS.md +22 -0
  360. package/kits/cartaz-cinetico/assets/fontes/OFL-Anton.txt +93 -0
  361. package/kits/cartaz-cinetico/assets/fontes/OFL-Archivo.txt +93 -0
  362. package/kits/cartaz-cinetico/assets/fontes/anton.woff2 +0 -0
  363. package/kits/cartaz-cinetico/assets/fontes/archivo.woff2 +0 -0
  364. package/kits/cartaz-cinetico/assets/sons/assinatura.mp3 +0 -0
  365. package/kits/cartaz-cinetico/assets/sons/clique.mp3 +0 -0
  366. package/kits/cartaz-cinetico/assets/sons/impacto.mp3 +0 -0
  367. package/kits/cartaz-cinetico/assets/sons/pop-cartao.mp3 +0 -0
  368. package/kits/cartaz-cinetico/assets/sons/pop-palavra.mp3 +0 -0
  369. package/kits/cartaz-cinetico/assets/sons/subida.mp3 +0 -0
  370. package/kits/cartaz-cinetico/assets/sons/swoosh.mp3 +0 -0
  371. package/kits/cartaz-cinetico/assets/sons/whoosh-entra.mp3 +0 -0
  372. package/kits/cartaz-cinetico/assets/sons/whoosh-sai.mp3 +0 -0
  373. package/kits/cartaz-cinetico/assets/trilha/cartaz-124bpm.mp3 +0 -0
  374. package/kits/cartaz-cinetico/capa.jpg +0 -0
  375. package/kits/cartaz-cinetico/elementos/AssinaturaMarca.tsx +31 -0
  376. package/kits/cartaz-cinetico/elementos/Camera.tsx +22 -0
  377. package/kits/cartaz-cinetico/elementos/CartazPalavra.tsx +40 -0
  378. package/kits/cartaz-cinetico/elementos/Cena.tsx +41 -0
  379. package/kits/cartaz-cinetico/elementos/CirculoPoster.tsx +22 -0
  380. package/kits/cartaz-cinetico/elementos/EcoPalavra.tsx +27 -0
  381. package/kits/cartaz-cinetico/elementos/Fundo.tsx +16 -0
  382. package/kits/cartaz-cinetico/elementos/Montagem.tsx +59 -0
  383. package/kits/cartaz-cinetico/elementos/PilhaCartaz.tsx +40 -0
  384. package/kits/cartaz-cinetico/elementos/RoletaPalavras.tsx +30 -0
  385. package/kits/cartaz-cinetico/elementos/Selo.tsx +25 -0
  386. package/kits/cartaz-cinetico/elementos/Som.tsx +38 -0
  387. package/kits/cartaz-cinetico/elementos/base.ts +72 -0
  388. package/kits/cartaz-cinetico/elementos/index.ts +16 -0
  389. package/kits/cartaz-cinetico/exemplos/logo-feira.svg +1 -0
  390. package/kits/cartaz-cinetico/exemplos/plano.json +55 -0
  391. package/kits/cartaz-cinetico/exemplos/roteiro.md +20 -0
  392. package/kits/cartaz-cinetico/preview.tsx +16 -0
  393. package/kits/cartaz-cinetico/receita.json +209 -0
  394. package/kits/cartaz-cinetico/regras/area-segura.md +19 -0
  395. package/kits/cartaz-cinetico/regras/cor.md +13 -0
  396. package/kits/cartaz-cinetico/regras/movimento.md +16 -0
  397. package/kits/cartaz-cinetico/regras/ritmo.md +17 -0
  398. package/kits/cartaz-cinetico/regras/som.md +21 -0
  399. package/kits/cartaz-cinetico/regras/tipografia.md +16 -0
  400. package/kits/colagem/SKILL.md +53 -0
  401. package/kits/colagem/assets/ASSETS.md +25 -0
  402. package/kits/colagem/assets/fontes/OFL-abril-fatface.txt +93 -0
  403. package/kits/colagem/assets/fontes/OFL-special-elite.txt +93 -0
  404. package/kits/colagem/assets/fontes/abril-fatface.woff2 +0 -0
  405. package/kits/colagem/assets/fontes/special-elite.woff2 +0 -0
  406. package/kits/colagem/assets/sons/assinatura.mp3 +0 -0
  407. package/kits/colagem/assets/sons/clique.mp3 +0 -0
  408. package/kits/colagem/assets/sons/impacto.mp3 +0 -0
  409. package/kits/colagem/assets/sons/pop-cartao.mp3 +0 -0
  410. package/kits/colagem/assets/sons/pop-palavra.mp3 +0 -0
  411. package/kits/colagem/assets/sons/subida.mp3 +0 -0
  412. package/kits/colagem/assets/sons/swoosh.mp3 +0 -0
  413. package/kits/colagem/assets/sons/tick.mp3 +0 -0
  414. package/kits/colagem/assets/sons/whoosh-entra.mp3 +0 -0
  415. package/kits/colagem/assets/sons/whoosh-sai.mp3 +0 -0
  416. package/kits/colagem/assets/trilha/trilha.mp3 +0 -0
  417. package/kits/colagem/capa.jpg +0 -0
  418. package/kits/colagem/elementos/AssinaturaMarca.tsx +17 -0
  419. package/kits/colagem/elementos/Camera.tsx +21 -0
  420. package/kits/colagem/elementos/Cena.tsx +36 -0
  421. package/kits/colagem/elementos/FitaAdesiva.tsx +11 -0
  422. package/kits/colagem/elementos/FotoRasgada.tsx +26 -0
  423. package/kits/colagem/elementos/Fundo.tsx +16 -0
  424. package/kits/colagem/elementos/ListaRecortes.tsx +23 -0
  425. package/kits/colagem/elementos/Montagem.tsx +56 -0
  426. package/kits/colagem/elementos/NotaDatilografada.tsx +35 -0
  427. package/kits/colagem/elementos/Overlay.tsx +8 -0
  428. package/kits/colagem/elementos/RecorteForma.tsx +23 -0
  429. package/kits/colagem/elementos/Som.tsx +30 -0
  430. package/kits/colagem/elementos/TituloRecorte.tsx +34 -0
  431. package/kits/colagem/elementos/base.ts +77 -0
  432. package/kits/colagem/elementos/index.ts +17 -0
  433. package/kits/colagem/elementos/rasgado.ts +16 -0
  434. package/kits/colagem/exemplos/fotos/foto-01.jpg +0 -0
  435. package/kits/colagem/exemplos/fotos/foto-02.jpg +0 -0
  436. package/kits/colagem/exemplos/plano.json +228 -0
  437. package/kits/colagem/exemplos/roteiro.md +20 -0
  438. package/kits/colagem/preview.tsx +13 -0
  439. package/kits/colagem/receita.json +171 -0
  440. package/kits/colagem/regras/area-segura.md +15 -0
  441. package/kits/colagem/regras/cor.md +16 -0
  442. package/kits/colagem/regras/movimento.md +18 -0
  443. package/kits/colagem/regras/ritmo.md +15 -0
  444. package/kits/colagem/regras/som.md +18 -0
  445. package/kits/colagem/regras/tipografia.md +18 -0
  446. package/kits/contagem/SKILL.md +52 -0
  447. package/kits/contagem/assets/ASSETS.md +20 -0
  448. package/kits/contagem/assets/fontes/OFL-BigShouldersDisplay.txt +93 -0
  449. package/kits/contagem/assets/fontes/OFL-SpaceMono.txt +93 -0
  450. package/kits/contagem/assets/fontes/bigshoulders.woff2 +0 -0
  451. package/kits/contagem/assets/fontes/spacemono.woff2 +0 -0
  452. package/kits/contagem/assets/sons/assinatura.mp3 +0 -0
  453. package/kits/contagem/assets/sons/clique.mp3 +0 -0
  454. package/kits/contagem/assets/sons/confete.mp3 +0 -0
  455. package/kits/contagem/assets/sons/impacto.mp3 +0 -0
  456. package/kits/contagem/assets/sons/pop-cartao.mp3 +0 -0
  457. package/kits/contagem/assets/sons/pop-palavra.mp3 +0 -0
  458. package/kits/contagem/assets/sons/subida.mp3 +0 -0
  459. package/kits/contagem/assets/sons/swoosh.mp3 +0 -0
  460. package/kits/contagem/assets/sons/tick.mp3 +0 -0
  461. package/kits/contagem/assets/sons/whoosh-entra.mp3 +0 -0
  462. package/kits/contagem/assets/sons/whoosh-sai.mp3 +0 -0
  463. package/kits/contagem/assets/trilha/pulso-128bpm.mp3 +0 -0
  464. package/kits/contagem/capa.jpg +0 -0
  465. package/kits/contagem/elementos/AnelTempo.tsx +36 -0
  466. package/kits/contagem/elementos/BarraDias.tsx +41 -0
  467. package/kits/contagem/elementos/Camera.tsx +21 -0
  468. package/kits/contagem/elementos/CarimboData.tsx +37 -0
  469. package/kits/contagem/elementos/Cena.tsx +39 -0
  470. package/kits/contagem/elementos/Fundo.tsx +27 -0
  471. package/kits/contagem/elementos/Montagem.tsx +58 -0
  472. package/kits/contagem/elementos/NumeroRolando.tsx +49 -0
  473. package/kits/contagem/elementos/RelogioFlip.tsx +51 -0
  474. package/kits/contagem/elementos/Som.tsx +41 -0
  475. package/kits/contagem/elementos/base.ts +79 -0
  476. package/kits/contagem/elementos/index.ts +14 -0
  477. package/kits/contagem/exemplos/plano.json +48 -0
  478. package/kits/contagem/exemplos/roteiro.md +19 -0
  479. package/kits/contagem/preview.tsx +9 -0
  480. package/kits/contagem/receita.json +21 -0
  481. package/kits/contagem/regras/area-segura.md +16 -0
  482. package/kits/contagem/regras/cor.md +14 -0
  483. package/kits/contagem/regras/movimento.md +23 -0
  484. package/kits/contagem/regras/ritmo.md +15 -0
  485. package/kits/contagem/regras/som.md +21 -0
  486. package/kits/contagem/regras/tipografia.md +16 -0
  487. package/kits/convite-evento/SKILL.md +53 -0
  488. package/kits/convite-evento/assets/ASSETS.md +19 -0
  489. package/kits/convite-evento/assets/fontes/OFL-InstrumentSerif.txt +93 -0
  490. package/kits/convite-evento/assets/fontes/OFL-Unbounded.txt +93 -0
  491. package/kits/convite-evento/assets/fontes/instrumentserif-i.woff2 +0 -0
  492. package/kits/convite-evento/assets/fontes/unbounded.woff2 +0 -0
  493. package/kits/convite-evento/assets/sons/assinatura.mp3 +0 -0
  494. package/kits/convite-evento/assets/sons/clique.mp3 +0 -0
  495. package/kits/convite-evento/assets/sons/confete.mp3 +0 -0
  496. package/kits/convite-evento/assets/sons/impacto.mp3 +0 -0
  497. package/kits/convite-evento/assets/sons/pop-cartao.mp3 +0 -0
  498. package/kits/convite-evento/assets/sons/pop-palavra.mp3 +0 -0
  499. package/kits/convite-evento/assets/sons/subida.mp3 +0 -0
  500. package/kits/convite-evento/assets/sons/swoosh.mp3 +0 -0
  501. package/kits/convite-evento/assets/sons/whoosh-entra.mp3 +0 -0
  502. package/kits/convite-evento/assets/sons/whoosh-sai.mp3 +0 -0
  503. package/kits/convite-evento/assets/trilha/festa-112bpm.mp3 +0 -0
  504. package/kits/convite-evento/capa.jpg +0 -0
  505. package/kits/convite-evento/elementos/BotaoInscricao.tsx +36 -0
  506. package/kits/convite-evento/elementos/Camera.tsx +21 -0
  507. package/kits/convite-evento/elementos/Cena.tsx +39 -0
  508. package/kits/convite-evento/elementos/DataGigante.tsx +37 -0
  509. package/kits/convite-evento/elementos/Fundo.tsx +30 -0
  510. package/kits/convite-evento/elementos/IngressoBilhete.tsx +40 -0
  511. package/kits/convite-evento/elementos/LugarGigante.tsx +38 -0
  512. package/kits/convite-evento/elementos/Montagem.tsx +59 -0
  513. package/kits/convite-evento/elementos/SeloRotativo.tsx +32 -0
  514. package/kits/convite-evento/elementos/Som.tsx +40 -0
  515. package/kits/convite-evento/elementos/TituloEvento.tsx +33 -0
  516. package/kits/convite-evento/elementos/base.ts +82 -0
  517. package/kits/convite-evento/elementos/index.ts +15 -0
  518. package/kits/convite-evento/exemplos/plano.json +49 -0
  519. package/kits/convite-evento/exemplos/roteiro.md +19 -0
  520. package/kits/convite-evento/preview.tsx +9 -0
  521. package/kits/convite-evento/receita.json +21 -0
  522. package/kits/convite-evento/regras/area-segura.md +20 -0
  523. package/kits/convite-evento/regras/cor.md +13 -0
  524. package/kits/convite-evento/regras/movimento.md +20 -0
  525. package/kits/convite-evento/regras/ritmo.md +15 -0
  526. package/kits/convite-evento/regras/som.md +20 -0
  527. package/kits/convite-evento/regras/tipografia.md +18 -0
  528. package/kits/corte-podcast/SKILL.md +53 -0
  529. package/kits/corte-podcast/assets/ASSETS.md +19 -0
  530. package/kits/corte-podcast/assets/fontes/OFL-Anton.txt +93 -0
  531. package/kits/corte-podcast/assets/fontes/OFL-IBMPlexMono.txt +93 -0
  532. package/kits/corte-podcast/assets/fontes/anton.woff2 +0 -0
  533. package/kits/corte-podcast/assets/fontes/plexmono.woff2 +0 -0
  534. package/kits/corte-podcast/assets/sons/assinatura.mp3 +0 -0
  535. package/kits/corte-podcast/assets/sons/clique.mp3 +0 -0
  536. package/kits/corte-podcast/assets/sons/impacto.mp3 +0 -0
  537. package/kits/corte-podcast/assets/sons/pop-cartao.mp3 +0 -0
  538. package/kits/corte-podcast/assets/sons/pop-palavra.mp3 +0 -0
  539. package/kits/corte-podcast/assets/sons/subida.mp3 +0 -0
  540. package/kits/corte-podcast/assets/sons/swoosh.mp3 +0 -0
  541. package/kits/corte-podcast/assets/sons/tick.mp3 +0 -0
  542. package/kits/corte-podcast/assets/sons/whoosh-entra.mp3 +0 -0
  543. package/kits/corte-podcast/assets/sons/whoosh-sai.mp3 +0 -0
  544. package/kits/corte-podcast/assets/trilha/lofi-pulso-100bpm.mp3 +0 -0
  545. package/kits/corte-podcast/capa.jpg +0 -0
  546. package/kits/corte-podcast/elementos/BarraEpisodio.tsx +43 -0
  547. package/kits/corte-podcast/elementos/Camera.tsx +21 -0
  548. package/kits/corte-podcast/elementos/CartaoConvidado.tsx +32 -0
  549. package/kits/corte-podcast/elementos/Cena.tsx +41 -0
  550. package/kits/corte-podcast/elementos/CitacaoGrande.tsx +42 -0
  551. package/kits/corte-podcast/elementos/Fundo.tsx +27 -0
  552. package/kits/corte-podcast/elementos/LegendaKaraoke.tsx +32 -0
  553. package/kits/corte-podcast/elementos/Montagem.tsx +59 -0
  554. package/kits/corte-podcast/elementos/OndaAudio.tsx +41 -0
  555. package/kits/corte-podcast/elementos/SeloEpisodio.tsx +33 -0
  556. package/kits/corte-podcast/elementos/Som.tsx +40 -0
  557. package/kits/corte-podcast/elementos/base.ts +82 -0
  558. package/kits/corte-podcast/elementos/index.ts +15 -0
  559. package/kits/corte-podcast/exemplos/plano.json +62 -0
  560. package/kits/corte-podcast/exemplos/roteiro.md +20 -0
  561. package/kits/corte-podcast/preview.tsx +9 -0
  562. package/kits/corte-podcast/receita.json +21 -0
  563. package/kits/corte-podcast/regras/area-segura.md +18 -0
  564. package/kits/corte-podcast/regras/cor.md +15 -0
  565. package/kits/corte-podcast/regras/movimento.md +18 -0
  566. package/kits/corte-podcast/regras/ritmo.md +16 -0
  567. package/kits/corte-podcast/regras/som.md +20 -0
  568. package/kits/corte-podcast/regras/tipografia.md +16 -0
  569. package/kits/cubos/SKILL.md +51 -0
  570. package/kits/cubos/assets/ASSETS.md +21 -0
  571. package/kits/cubos/assets/fontes/OFL-ArchivoBlack.txt +92 -0
  572. package/kits/cubos/assets/fontes/OFL-DMSans.txt +92 -0
  573. package/kits/cubos/assets/fontes/archivoblack-latin.woff2 +0 -0
  574. package/kits/cubos/assets/fontes/dmsans-latin.woff2 +0 -0
  575. package/kits/cubos/assets/sons/assinatura.mp3 +0 -0
  576. package/kits/cubos/assets/sons/bloco.mp3 +0 -0
  577. package/kits/cubos/assets/sons/desmonta.mp3 +0 -0
  578. package/kits/cubos/assets/sons/encaixa.mp3 +0 -0
  579. package/kits/cubos/assets/sons/estala.mp3 +0 -0
  580. package/kits/cubos/assets/sons/gira.mp3 +0 -0
  581. package/kits/cubos/assets/sons/queda.mp3 +0 -0
  582. package/kits/cubos/assets/sons/whoosh.mp3 +0 -0
  583. package/kits/cubos/assets/trilha/calma-com-punch-108bpm.mp3 +0 -0
  584. package/kits/cubos/capa.jpg +0 -0
  585. package/kits/cubos/elementos/AssinaturaMarca.tsx +29 -0
  586. package/kits/cubos/elementos/Camera.tsx +22 -0
  587. package/kits/cubos/elementos/Cena.tsx +48 -0
  588. package/kits/cubos/elementos/Cubo.tsx +40 -0
  589. package/kits/cubos/elementos/CuboGiratorio.tsx +37 -0
  590. package/kits/cubos/elementos/Fundo.tsx +15 -0
  591. package/kits/cubos/elementos/Montagem.tsx +67 -0
  592. package/kits/cubos/elementos/MontagemDeCubos.tsx +58 -0
  593. package/kits/cubos/elementos/PlacaBloco.tsx +29 -0
  594. package/kits/cubos/elementos/Som.tsx +33 -0
  595. package/kits/cubos/elementos/TorreDeCubos.tsx +39 -0
  596. package/kits/cubos/elementos/base.ts +97 -0
  597. package/kits/cubos/elementos/index.ts +15 -0
  598. package/kits/cubos/exemplos/logo-encaixa.svg +1 -0
  599. package/kits/cubos/exemplos/plano.json +45 -0
  600. package/kits/cubos/exemplos/roteiro.md +20 -0
  601. package/kits/cubos/preview.tsx +12 -0
  602. package/kits/cubos/receita.json +151 -0
  603. package/kits/cubos/regras/area-segura.md +18 -0
  604. package/kits/cubos/regras/cor.md +23 -0
  605. package/kits/cubos/regras/movimento.md +17 -0
  606. package/kits/cubos/regras/ritmo.md +14 -0
  607. package/kits/cubos/regras/som.md +20 -0
  608. package/kits/cubos/regras/tipografia.md +15 -0
  609. package/kits/dashboard-dados/SKILL.md +51 -0
  610. package/kits/dashboard-dados/assets/ASSETS.md +18 -0
  611. package/kits/dashboard-dados/assets/fontes/OFL-IBM-Plex-Mono.txt +93 -0
  612. package/kits/dashboard-dados/assets/fontes/OFL-Montserrat.txt +93 -0
  613. package/kits/dashboard-dados/assets/fontes/montserrat.woff2 +0 -0
  614. package/kits/dashboard-dados/assets/fontes/plex-mono.woff2 +0 -0
  615. package/kits/dashboard-dados/assets/sons/assinatura.mp3 +0 -0
  616. package/kits/dashboard-dados/assets/sons/clique.mp3 +0 -0
  617. package/kits/dashboard-dados/assets/sons/impacto.mp3 +0 -0
  618. package/kits/dashboard-dados/assets/sons/pop-cartao.mp3 +0 -0
  619. package/kits/dashboard-dados/assets/sons/pop-palavra.mp3 +0 -0
  620. package/kits/dashboard-dados/assets/sons/subida.mp3 +0 -0
  621. package/kits/dashboard-dados/assets/sons/swoosh.mp3 +0 -0
  622. package/kits/dashboard-dados/assets/sons/whoosh-entra.mp3 +0 -0
  623. package/kits/dashboard-dados/assets/sons/whoosh-sai.mp3 +0 -0
  624. package/kits/dashboard-dados/assets/trilha/trilha.mp3 +0 -0
  625. package/kits/dashboard-dados/capa.jpg +0 -0
  626. package/kits/dashboard-dados/elementos/AssinaturaMarca.tsx +19 -0
  627. package/kits/dashboard-dados/elementos/BarrasCrescendo.tsx +27 -0
  628. package/kits/dashboard-dados/elementos/Camera.tsx +23 -0
  629. package/kits/dashboard-dados/elementos/Cena.tsx +46 -0
  630. package/kits/dashboard-dados/elementos/Fundo.tsx +12 -0
  631. package/kits/dashboard-dados/elementos/LinhaTendencia.tsx +29 -0
  632. package/kits/dashboard-dados/elementos/Montagem.tsx +60 -0
  633. package/kits/dashboard-dados/elementos/NumeroGigante.tsx +21 -0
  634. package/kits/dashboard-dados/elementos/RankingBarras.tsx +27 -0
  635. package/kits/dashboard-dados/elementos/RoscaDados.tsx +39 -0
  636. package/kits/dashboard-dados/elementos/Som.tsx +39 -0
  637. package/kits/dashboard-dados/elementos/base.ts +87 -0
  638. package/kits/dashboard-dados/elementos/index.ts +16 -0
  639. package/kits/dashboard-dados/exemplos/logo-radar.svg +1 -0
  640. package/kits/dashboard-dados/exemplos/plano.json +325 -0
  641. package/kits/dashboard-dados/exemplos/roteiro.md +20 -0
  642. package/kits/dashboard-dados/preview.tsx +12 -0
  643. package/kits/dashboard-dados/receita.json +173 -0
  644. package/kits/dashboard-dados/regras/area-segura.md +13 -0
  645. package/kits/dashboard-dados/regras/cor.md +17 -0
  646. package/kits/dashboard-dados/regras/movimento.md +17 -0
  647. package/kits/dashboard-dados/regras/ritmo.md +14 -0
  648. package/kits/dashboard-dados/regras/som.md +18 -0
  649. package/kits/dashboard-dados/regras/tipografia.md +16 -0
  650. package/kits/depoimento/SKILL.md +54 -0
  651. package/kits/depoimento/assets/ASSETS.md +20 -0
  652. package/kits/depoimento/assets/fontes/OFL-Newsreader.txt +93 -0
  653. package/kits/depoimento/assets/fontes/OFL-SpaceGrotesk.txt +93 -0
  654. package/kits/depoimento/assets/fontes/newsreader-i.woff2 +0 -0
  655. package/kits/depoimento/assets/fontes/spacegrotesk.woff2 +0 -0
  656. package/kits/depoimento/assets/sons/assinatura.mp3 +0 -0
  657. package/kits/depoimento/assets/sons/clique.mp3 +0 -0
  658. package/kits/depoimento/assets/sons/estrela.mp3 +0 -0
  659. package/kits/depoimento/assets/sons/impacto.mp3 +0 -0
  660. package/kits/depoimento/assets/sons/pop-cartao.mp3 +0 -0
  661. package/kits/depoimento/assets/sons/pop-palavra.mp3 +0 -0
  662. package/kits/depoimento/assets/sons/subida.mp3 +0 -0
  663. package/kits/depoimento/assets/sons/swoosh.mp3 +0 -0
  664. package/kits/depoimento/assets/sons/verificado.mp3 +0 -0
  665. package/kits/depoimento/assets/sons/whoosh-entra.mp3 +0 -0
  666. package/kits/depoimento/assets/sons/whoosh-sai.mp3 +0 -0
  667. package/kits/depoimento/assets/trilha/calor-104bpm.mp3 +0 -0
  668. package/kits/depoimento/capa.jpg +0 -0
  669. package/kits/depoimento/elementos/Avatar.tsx +37 -0
  670. package/kits/depoimento/elementos/Camera.tsx +21 -0
  671. package/kits/depoimento/elementos/CartaoDepoimento.tsx +69 -0
  672. package/kits/depoimento/elementos/Cena.tsx +39 -0
  673. package/kits/depoimento/elementos/Estrelas.tsx +34 -0
  674. package/kits/depoimento/elementos/FaixaAvatares.tsx +41 -0
  675. package/kits/depoimento/elementos/Fundo.tsx +23 -0
  676. package/kits/depoimento/elementos/Montagem.tsx +60 -0
  677. package/kits/depoimento/elementos/NotaGigante.tsx +38 -0
  678. package/kits/depoimento/elementos/PilhaCartoes.tsx +37 -0
  679. package/kits/depoimento/elementos/SeloVerificado.tsx +29 -0
  680. package/kits/depoimento/elementos/Som.tsx +41 -0
  681. package/kits/depoimento/elementos/base.ts +83 -0
  682. package/kits/depoimento/elementos/index.ts +16 -0
  683. package/kits/depoimento/exemplos/plano.json +57 -0
  684. package/kits/depoimento/exemplos/roteiro.md +19 -0
  685. package/kits/depoimento/preview.tsx +9 -0
  686. package/kits/depoimento/receita.json +21 -0
  687. package/kits/depoimento/regras/area-segura.md +17 -0
  688. package/kits/depoimento/regras/cor.md +16 -0
  689. package/kits/depoimento/regras/movimento.md +20 -0
  690. package/kits/depoimento/regras/ritmo.md +15 -0
  691. package/kits/depoimento/regras/som.md +21 -0
  692. package/kits/depoimento/regras/tipografia.md +17 -0
  693. package/kits/estudio/package.json +13 -0
  694. package/kits/estudio/render.mjs +48 -0
  695. package/kits/infografico/SKILL.md +54 -0
  696. package/kits/infografico/assets/ASSETS.md +19 -0
  697. package/kits/infografico/assets/fontes/OFL-Caveat.txt +93 -0
  698. package/kits/infografico/assets/fontes/OFL-Outfit.txt +93 -0
  699. package/kits/infografico/assets/fontes/caveat.woff2 +0 -0
  700. package/kits/infografico/assets/fontes/outfit.woff2 +0 -0
  701. package/kits/infografico/assets/sons/assinatura.mp3 +0 -0
  702. package/kits/infografico/assets/sons/clique.mp3 +0 -0
  703. package/kits/infografico/assets/sons/impacto.mp3 +0 -0
  704. package/kits/infografico/assets/sons/pop-cartao.mp3 +0 -0
  705. package/kits/infografico/assets/sons/pop-palavra.mp3 +0 -0
  706. package/kits/infografico/assets/sons/subida.mp3 +0 -0
  707. package/kits/infografico/assets/sons/swoosh.mp3 +0 -0
  708. package/kits/infografico/assets/sons/traco.mp3 +0 -0
  709. package/kits/infografico/assets/sons/whoosh-entra.mp3 +0 -0
  710. package/kits/infografico/assets/sons/whoosh-sai.mp3 +0 -0
  711. package/kits/infografico/assets/trilha/explica-100bpm.mp3 +0 -0
  712. package/kits/infografico/capa.jpg +0 -0
  713. package/kits/infografico/elementos/Anotacao.tsx +34 -0
  714. package/kits/infografico/elementos/CadeiaPassos.tsx +49 -0
  715. package/kits/infografico/elementos/Camera.tsx +21 -0
  716. package/kits/infografico/elementos/Cena.tsx +39 -0
  717. package/kits/infografico/elementos/Fundo.tsx +23 -0
  718. package/kits/infografico/elementos/GraficoBarras.tsx +41 -0
  719. package/kits/infografico/elementos/Icone.tsx +35 -0
  720. package/kits/infografico/elementos/Montagem.tsx +60 -0
  721. package/kits/infografico/elementos/NoProcesso.tsx +33 -0
  722. package/kits/infografico/elementos/NumeroDestaque.tsx +35 -0
  723. package/kits/infografico/elementos/SetaCurva.tsx +33 -0
  724. package/kits/infografico/elementos/Som.tsx +40 -0
  725. package/kits/infografico/elementos/base.ts +80 -0
  726. package/kits/infografico/elementos/index.ts +16 -0
  727. package/kits/infografico/exemplos/plano.json +49 -0
  728. package/kits/infografico/exemplos/roteiro.md +19 -0
  729. package/kits/infografico/preview.tsx +9 -0
  730. package/kits/infografico/receita.json +21 -0
  731. package/kits/infografico/regras/area-segura.md +17 -0
  732. package/kits/infografico/regras/cor.md +15 -0
  733. package/kits/infografico/regras/movimento.md +20 -0
  734. package/kits/infografico/regras/ritmo.md +15 -0
  735. package/kits/infografico/regras/som.md +20 -0
  736. package/kits/infografico/regras/tipografia.md +16 -0
  737. package/kits/isometrico/SKILL.md +52 -0
  738. package/kits/isometrico/assets/ASSETS.md +18 -0
  739. package/kits/isometrico/assets/fontes/OFL-Archivo.txt +93 -0
  740. package/kits/isometrico/assets/fontes/OFL-Jost.txt +93 -0
  741. package/kits/isometrico/assets/fontes/archivo.woff2 +0 -0
  742. package/kits/isometrico/assets/fontes/jost.woff2 +0 -0
  743. package/kits/isometrico/assets/sons/assinatura.mp3 +0 -0
  744. package/kits/isometrico/assets/sons/clique.mp3 +0 -0
  745. package/kits/isometrico/assets/sons/impacto.mp3 +0 -0
  746. package/kits/isometrico/assets/sons/pop-cartao.mp3 +0 -0
  747. package/kits/isometrico/assets/sons/pop-palavra.mp3 +0 -0
  748. package/kits/isometrico/assets/sons/subida.mp3 +0 -0
  749. package/kits/isometrico/assets/sons/swoosh.mp3 +0 -0
  750. package/kits/isometrico/assets/sons/whoosh-entra.mp3 +0 -0
  751. package/kits/isometrico/assets/sons/whoosh-sai.mp3 +0 -0
  752. package/kits/isometrico/assets/trilha/trilha.mp3 +0 -0
  753. package/kits/isometrico/capa.jpg +0 -0
  754. package/kits/isometrico/elementos/AssinaturaMarca.tsx +24 -0
  755. package/kits/isometrico/elementos/BlocosMontando.tsx +36 -0
  756. package/kits/isometrico/elementos/Camera.tsx +23 -0
  757. package/kits/isometrico/elementos/Cena.tsx +46 -0
  758. package/kits/isometrico/elementos/CidadeDeDados.tsx +33 -0
  759. package/kits/isometrico/elementos/Fundo.tsx +13 -0
  760. package/kits/isometrico/elementos/LegendaPlaca.tsx +18 -0
  761. package/kits/isometrico/elementos/Montagem.tsx +60 -0
  762. package/kits/isometrico/elementos/RedeDeBlocos.tsx +41 -0
  763. package/kits/isometrico/elementos/Som.tsx +39 -0
  764. package/kits/isometrico/elementos/TextoNoChao.tsx +28 -0
  765. package/kits/isometrico/elementos/base.ts +86 -0
  766. package/kits/isometrico/elementos/index.ts +16 -0
  767. package/kits/isometrico/elementos/iso.tsx +49 -0
  768. package/kits/isometrico/exemplos/logo-nodo.svg +1 -0
  769. package/kits/isometrico/exemplos/plano.json +433 -0
  770. package/kits/isometrico/exemplos/roteiro.md +20 -0
  771. package/kits/isometrico/preview.tsx +12 -0
  772. package/kits/isometrico/receita.json +155 -0
  773. package/kits/isometrico/regras/area-segura.md +13 -0
  774. package/kits/isometrico/regras/cor.md +18 -0
  775. package/kits/isometrico/regras/movimento.md +16 -0
  776. package/kits/isometrico/regras/ritmo.md +13 -0
  777. package/kits/isometrico/regras/som.md +18 -0
  778. package/kits/isometrico/regras/tipografia.md +12 -0
  779. package/kits/jornal/SKILL.md +54 -0
  780. package/kits/jornal/assets/ASSETS.md +24 -0
  781. package/kits/jornal/assets/fontes/OFL-PlayfairDisplay.txt +93 -0
  782. package/kits/jornal/assets/fontes/OFL-UnifrakturMaguntia.txt +93 -0
  783. package/kits/jornal/assets/fontes/playfair-italic.woff2 +0 -0
  784. package/kits/jornal/assets/fontes/playfair.woff2 +0 -0
  785. package/kits/jornal/assets/fontes/unifraktur.woff2 +0 -0
  786. package/kits/jornal/assets/sons/assinatura.mp3 +0 -0
  787. package/kits/jornal/assets/sons/clique.mp3 +0 -0
  788. package/kits/jornal/assets/sons/impacto.mp3 +0 -0
  789. package/kits/jornal/assets/sons/pop-cartao.mp3 +0 -0
  790. package/kits/jornal/assets/sons/pop-palavra.mp3 +0 -0
  791. package/kits/jornal/assets/sons/subida.mp3 +0 -0
  792. package/kits/jornal/assets/sons/swoosh.mp3 +0 -0
  793. package/kits/jornal/assets/sons/whoosh-entra.mp3 +0 -0
  794. package/kits/jornal/assets/sons/whoosh-sai.mp3 +0 -0
  795. package/kits/jornal/assets/trilha/redacao-96bpm.mp3 +0 -0
  796. package/kits/jornal/capa.jpg +0 -0
  797. package/kits/jornal/elementos/AssinaturaMarca.tsx +25 -0
  798. package/kits/jornal/elementos/Cabecalho.tsx +21 -0
  799. package/kits/jornal/elementos/Camera.tsx +22 -0
  800. package/kits/jornal/elementos/Carimbo.tsx +18 -0
  801. package/kits/jornal/elementos/Cena.tsx +41 -0
  802. package/kits/jornal/elementos/Colunas.tsx +24 -0
  803. package/kits/jornal/elementos/FotoMeiaTinta.tsx +20 -0
  804. package/kits/jornal/elementos/Fundo.tsx +18 -0
  805. package/kits/jornal/elementos/JornalGirando.tsx +27 -0
  806. package/kits/jornal/elementos/Manchete.tsx +30 -0
  807. package/kits/jornal/elementos/Montagem.tsx +61 -0
  808. package/kits/jornal/elementos/Som.tsx +38 -0
  809. package/kits/jornal/elementos/Ticker.tsx +19 -0
  810. package/kits/jornal/elementos/base.ts +76 -0
  811. package/kits/jornal/elementos/index.ts +17 -0
  812. package/kits/jornal/exemplos/fotos/foto-03.jpg +0 -0
  813. package/kits/jornal/exemplos/fotos/foto-07.jpg +0 -0
  814. package/kits/jornal/exemplos/logo-esquina.svg +1 -0
  815. package/kits/jornal/exemplos/plano.json +48 -0
  816. package/kits/jornal/exemplos/roteiro.md +19 -0
  817. package/kits/jornal/preview.tsx +17 -0
  818. package/kits/jornal/receita.json +170 -0
  819. package/kits/jornal/regras/area-segura.md +19 -0
  820. package/kits/jornal/regras/cor.md +14 -0
  821. package/kits/jornal/regras/movimento.md +16 -0
  822. package/kits/jornal/regras/ritmo.md +15 -0
  823. package/kits/jornal/regras/som.md +21 -0
  824. package/kits/jornal/regras/tipografia.md +17 -0
  825. package/kits/legenda-viva/SKILL.md +52 -0
  826. package/kits/legenda-viva/assets/ASSETS.md +23 -0
  827. package/kits/legenda-viva/assets/fontes/OFL-Inter.txt +93 -0
  828. package/kits/legenda-viva/assets/fontes/OFL-Montserrat.txt +93 -0
  829. package/kits/legenda-viva/assets/fontes/inter.woff2 +0 -0
  830. package/kits/legenda-viva/assets/fontes/montserrat.woff2 +0 -0
  831. package/kits/legenda-viva/assets/sons/assinatura.mp3 +0 -0
  832. package/kits/legenda-viva/assets/sons/clique.mp3 +0 -0
  833. package/kits/legenda-viva/assets/sons/impacto.mp3 +0 -0
  834. package/kits/legenda-viva/assets/sons/pop-cartao.mp3 +0 -0
  835. package/kits/legenda-viva/assets/sons/pop-palavra.mp3 +0 -0
  836. package/kits/legenda-viva/assets/sons/subida.mp3 +0 -0
  837. package/kits/legenda-viva/assets/sons/swoosh.mp3 +0 -0
  838. package/kits/legenda-viva/assets/sons/whoosh-entra.mp3 +0 -0
  839. package/kits/legenda-viva/assets/sons/whoosh-sai.mp3 +0 -0
  840. package/kits/legenda-viva/assets/trilha/voz-118bpm.mp3 +0 -0
  841. package/kits/legenda-viva/capa.jpg +0 -0
  842. package/kits/legenda-viva/elementos/AssinaturaMarca.tsx +29 -0
  843. package/kits/legenda-viva/elementos/Camera.tsx +22 -0
  844. package/kits/legenda-viva/elementos/Cena.tsx +41 -0
  845. package/kits/legenda-viva/elementos/ChipTema.tsx +19 -0
  846. package/kits/legenda-viva/elementos/Fundo.tsx +6 -0
  847. package/kits/legenda-viva/elementos/LegendaCaixa.tsx +36 -0
  848. package/kits/legenda-viva/elementos/LegendaPalavra.tsx +32 -0
  849. package/kits/legenda-viva/elementos/Montagem.tsx +59 -0
  850. package/kits/legenda-viva/elementos/OndaVoz.tsx +23 -0
  851. package/kits/legenda-viva/elementos/PalavraGigante.tsx +18 -0
  852. package/kits/legenda-viva/elementos/QuadroFalante.tsx +17 -0
  853. package/kits/legenda-viva/elementos/Som.tsx +38 -0
  854. package/kits/legenda-viva/elementos/base.ts +73 -0
  855. package/kits/legenda-viva/elementos/index.ts +16 -0
  856. package/kits/legenda-viva/exemplos/fotos/foto-01.jpg +0 -0
  857. package/kits/legenda-viva/exemplos/fotos/foto-02.jpg +0 -0
  858. package/kits/legenda-viva/exemplos/fotos/foto-03.jpg +0 -0
  859. package/kits/legenda-viva/exemplos/fotos/foto-05.jpg +0 -0
  860. package/kits/legenda-viva/exemplos/logo-dica.svg +1 -0
  861. package/kits/legenda-viva/exemplos/plano.json +45 -0
  862. package/kits/legenda-viva/exemplos/roteiro.md +18 -0
  863. package/kits/legenda-viva/preview.tsx +19 -0
  864. package/kits/legenda-viva/receita.json +171 -0
  865. package/kits/legenda-viva/regras/area-segura.md +19 -0
  866. package/kits/legenda-viva/regras/cor.md +14 -0
  867. package/kits/legenda-viva/regras/movimento.md +16 -0
  868. package/kits/legenda-viva/regras/ritmo.md +15 -0
  869. package/kits/legenda-viva/regras/som.md +21 -0
  870. package/kits/legenda-viva/regras/tipografia.md +16 -0
  871. package/kits/luxo/SKILL.md +55 -0
  872. package/kits/luxo/assets/ASSETS.md +20 -0
  873. package/kits/luxo/assets/fontes/OFL-CormorantGaramond.txt +93 -0
  874. package/kits/luxo/assets/fontes/OFL-Jost.txt +93 -0
  875. package/kits/luxo/assets/fontes/cormorant-i.woff2 +0 -0
  876. package/kits/luxo/assets/fontes/cormorant.woff2 +0 -0
  877. package/kits/luxo/assets/fontes/jost.woff2 +0 -0
  878. package/kits/luxo/assets/sons/assinatura.mp3 +0 -0
  879. package/kits/luxo/assets/sons/clique.mp3 +0 -0
  880. package/kits/luxo/assets/sons/impacto.mp3 +0 -0
  881. package/kits/luxo/assets/sons/pop-cartao.mp3 +0 -0
  882. package/kits/luxo/assets/sons/pop-palavra.mp3 +0 -0
  883. package/kits/luxo/assets/sons/sino.mp3 +0 -0
  884. package/kits/luxo/assets/sons/subida.mp3 +0 -0
  885. package/kits/luxo/assets/sons/swoosh.mp3 +0 -0
  886. package/kits/luxo/assets/sons/whoosh-entra.mp3 +0 -0
  887. package/kits/luxo/assets/sons/whoosh-sai.mp3 +0 -0
  888. package/kits/luxo/assets/trilha/ambar-78bpm.mp3 +0 -0
  889. package/kits/luxo/capa.jpg +0 -0
  890. package/kits/luxo/elementos/Camera.tsx +21 -0
  891. package/kits/luxo/elementos/Cena.tsx +36 -0
  892. package/kits/luxo/elementos/ConviteOuro.tsx +34 -0
  893. package/kits/luxo/elementos/Fundo.tsx +26 -0
  894. package/kits/luxo/elementos/LegendaFina.tsx +25 -0
  895. package/kits/luxo/elementos/LinhaOuro.tsx +24 -0
  896. package/kits/luxo/elementos/MolduraArco.tsx +36 -0
  897. package/kits/luxo/elementos/Monograma.tsx +35 -0
  898. package/kits/luxo/elementos/Montagem.tsx +59 -0
  899. package/kits/luxo/elementos/Som.tsx +40 -0
  900. package/kits/luxo/elementos/TituloSerifa.tsx +35 -0
  901. package/kits/luxo/elementos/base.ts +85 -0
  902. package/kits/luxo/elementos/index.ts +15 -0
  903. package/kits/luxo/exemplos/fotos/foto-07.jpg +0 -0
  904. package/kits/luxo/exemplos/fotos/foto-08.jpg +0 -0
  905. package/kits/luxo/exemplos/plano.json +145 -0
  906. package/kits/luxo/exemplos/roteiro.md +18 -0
  907. package/kits/luxo/preview.tsx +13 -0
  908. package/kits/luxo/receita.json +18 -0
  909. package/kits/luxo/regras/area-segura.md +16 -0
  910. package/kits/luxo/regras/cor.md +16 -0
  911. package/kits/luxo/regras/movimento.md +19 -0
  912. package/kits/luxo/regras/ritmo.md +14 -0
  913. package/kits/luxo/regras/som.md +21 -0
  914. package/kits/luxo/regras/tipografia.md +17 -0
  915. package/kits/manifest.json +552 -0
  916. package/kits/mapa/SKILL.md +54 -0
  917. package/kits/mapa/assets/ASSETS.md +20 -0
  918. package/kits/mapa/assets/fontes/OFL-DMMono.txt +93 -0
  919. package/kits/mapa/assets/fontes/OFL-DMSans.txt +93 -0
  920. package/kits/mapa/assets/fontes/dmmono.woff2 +0 -0
  921. package/kits/mapa/assets/fontes/dmsans.woff2 +0 -0
  922. package/kits/mapa/assets/sons/assinatura.mp3 +0 -0
  923. package/kits/mapa/assets/sons/clique.mp3 +0 -0
  924. package/kits/mapa/assets/sons/impacto.mp3 +0 -0
  925. package/kits/mapa/assets/sons/pop-cartao.mp3 +0 -0
  926. package/kits/mapa/assets/sons/pop-palavra.mp3 +0 -0
  927. package/kits/mapa/assets/sons/quique.mp3 +0 -0
  928. package/kits/mapa/assets/sons/subida.mp3 +0 -0
  929. package/kits/mapa/assets/sons/swoosh.mp3 +0 -0
  930. package/kits/mapa/assets/sons/traco.mp3 +0 -0
  931. package/kits/mapa/assets/sons/whoosh-entra.mp3 +0 -0
  932. package/kits/mapa/assets/sons/whoosh-sai.mp3 +0 -0
  933. package/kits/mapa/assets/trilha/rota-100bpm.mp3 +0 -0
  934. package/kits/mapa/capa.jpg +0 -0
  935. package/kits/mapa/elementos/Camera.tsx +21 -0
  936. package/kits/mapa/elementos/CartaoEndereco.tsx +40 -0
  937. package/kits/mapa/elementos/Cena.tsx +41 -0
  938. package/kits/mapa/elementos/ChipTempo.tsx +29 -0
  939. package/kits/mapa/elementos/Fundo.tsx +25 -0
  940. package/kits/mapa/elementos/MapaBase.tsx +63 -0
  941. package/kits/mapa/elementos/Montagem.tsx +59 -0
  942. package/kits/mapa/elementos/Pino.tsx +38 -0
  943. package/kits/mapa/elementos/RotaAnimada.tsx +38 -0
  944. package/kits/mapa/elementos/Som.tsx +41 -0
  945. package/kits/mapa/elementos/TituloLocal.tsx +38 -0
  946. package/kits/mapa/elementos/base.ts +89 -0
  947. package/kits/mapa/elementos/index.ts +15 -0
  948. package/kits/mapa/exemplos/plano.json +48 -0
  949. package/kits/mapa/exemplos/roteiro.md +19 -0
  950. package/kits/mapa/preview.tsx +9 -0
  951. package/kits/mapa/receita.json +21 -0
  952. package/kits/mapa/regras/area-segura.md +15 -0
  953. package/kits/mapa/regras/cor.md +18 -0
  954. package/kits/mapa/regras/movimento.md +21 -0
  955. package/kits/mapa/regras/ritmo.md +15 -0
  956. package/kits/mapa/regras/som.md +21 -0
  957. package/kits/mapa/regras/tipografia.md +16 -0
  958. package/kits/massinha/SKILL.md +53 -0
  959. package/kits/massinha/assets/ASSETS.md +18 -0
  960. package/kits/massinha/assets/fontes/OFL-chewy.txt +93 -0
  961. package/kits/massinha/assets/fontes/OFL-nunito-800.txt +93 -0
  962. package/kits/massinha/assets/fontes/chewy.woff2 +0 -0
  963. package/kits/massinha/assets/fontes/nunito-800.woff2 +0 -0
  964. package/kits/massinha/assets/sons/assinatura.mp3 +0 -0
  965. package/kits/massinha/assets/sons/clique.mp3 +0 -0
  966. package/kits/massinha/assets/sons/impacto.mp3 +0 -0
  967. package/kits/massinha/assets/sons/pop-cartao.mp3 +0 -0
  968. package/kits/massinha/assets/sons/pop-palavra.mp3 +0 -0
  969. package/kits/massinha/assets/sons/subida.mp3 +0 -0
  970. package/kits/massinha/assets/sons/swoosh.mp3 +0 -0
  971. package/kits/massinha/assets/sons/tick.mp3 +0 -0
  972. package/kits/massinha/assets/sons/whoosh-entra.mp3 +0 -0
  973. package/kits/massinha/assets/sons/whoosh-sai.mp3 +0 -0
  974. package/kits/massinha/assets/trilha/trilha.mp3 +0 -0
  975. package/kits/massinha/capa.jpg +0 -0
  976. package/kits/massinha/elementos/AssinaturaMarca.tsx +20 -0
  977. package/kits/massinha/elementos/BichinhoMassa.tsx +30 -0
  978. package/kits/massinha/elementos/BolasMassa.tsx +25 -0
  979. package/kits/massinha/elementos/Camera.tsx +21 -0
  980. package/kits/massinha/elementos/Cena.tsx +36 -0
  981. package/kits/massinha/elementos/FormaMassa.tsx +23 -0
  982. package/kits/massinha/elementos/Fundo.tsx +12 -0
  983. package/kits/massinha/elementos/ListaMassa.tsx +19 -0
  984. package/kits/massinha/elementos/Montagem.tsx +56 -0
  985. package/kits/massinha/elementos/Overlay.tsx +11 -0
  986. package/kits/massinha/elementos/PlacaMassa.tsx +24 -0
  987. package/kits/massinha/elementos/Som.tsx +30 -0
  988. package/kits/massinha/elementos/TituloMassa.tsx +31 -0
  989. package/kits/massinha/elementos/argila.ts +21 -0
  990. package/kits/massinha/elementos/base.ts +79 -0
  991. package/kits/massinha/elementos/index.ts +17 -0
  992. package/kits/massinha/exemplos/plano.json +220 -0
  993. package/kits/massinha/exemplos/roteiro.md +20 -0
  994. package/kits/massinha/preview.tsx +12 -0
  995. package/kits/massinha/receita.json +170 -0
  996. package/kits/massinha/regras/area-segura.md +15 -0
  997. package/kits/massinha/regras/cor.md +18 -0
  998. package/kits/massinha/regras/movimento.md +17 -0
  999. package/kits/massinha/regras/ritmo.md +15 -0
  1000. package/kits/massinha/regras/som.md +17 -0
  1001. package/kits/massinha/regras/tipografia.md +18 -0
  1002. package/kits/memphis/SKILL.md +52 -0
  1003. package/kits/memphis/assets/ASSETS.md +18 -0
  1004. package/kits/memphis/assets/fontes/OFL-bowlby-one.txt +93 -0
  1005. package/kits/memphis/assets/fontes/OFL-dm-sans-800.txt +93 -0
  1006. package/kits/memphis/assets/fontes/bowlby-one.woff2 +0 -0
  1007. package/kits/memphis/assets/fontes/dm-sans-800.woff2 +0 -0
  1008. package/kits/memphis/assets/sons/assinatura.mp3 +0 -0
  1009. package/kits/memphis/assets/sons/clique.mp3 +0 -0
  1010. package/kits/memphis/assets/sons/impacto.mp3 +0 -0
  1011. package/kits/memphis/assets/sons/pop-cartao.mp3 +0 -0
  1012. package/kits/memphis/assets/sons/pop-palavra.mp3 +0 -0
  1013. package/kits/memphis/assets/sons/subida.mp3 +0 -0
  1014. package/kits/memphis/assets/sons/swoosh.mp3 +0 -0
  1015. package/kits/memphis/assets/sons/tick.mp3 +0 -0
  1016. package/kits/memphis/assets/sons/whoosh-entra.mp3 +0 -0
  1017. package/kits/memphis/assets/sons/whoosh-sai.mp3 +0 -0
  1018. package/kits/memphis/assets/trilha/trilha.mp3 +0 -0
  1019. package/kits/memphis/capa.jpg +0 -0
  1020. package/kits/memphis/elementos/AssinaturaMarca.tsx +20 -0
  1021. package/kits/memphis/elementos/Camera.tsx +21 -0
  1022. package/kits/memphis/elementos/CartaoMemphis.tsx +16 -0
  1023. package/kits/memphis/elementos/Cena.tsx +36 -0
  1024. package/kits/memphis/elementos/FitaMarquee.tsx +21 -0
  1025. package/kits/memphis/elementos/FormasMemphis.tsx +46 -0
  1026. package/kits/memphis/elementos/Fundo.tsx +15 -0
  1027. package/kits/memphis/elementos/ListaPilulas.tsx +17 -0
  1028. package/kits/memphis/elementos/Montagem.tsx +56 -0
  1029. package/kits/memphis/elementos/NumeroGigante.tsx +19 -0
  1030. package/kits/memphis/elementos/Overlay.tsx +23 -0
  1031. package/kits/memphis/elementos/Som.tsx +30 -0
  1032. package/kits/memphis/elementos/TituloMemphis.tsx +28 -0
  1033. package/kits/memphis/elementos/base.ts +78 -0
  1034. package/kits/memphis/elementos/index.ts +17 -0
  1035. package/kits/memphis/exemplos/plano.json +314 -0
  1036. package/kits/memphis/exemplos/roteiro.md +20 -0
  1037. package/kits/memphis/preview.tsx +12 -0
  1038. package/kits/memphis/receita.json +174 -0
  1039. package/kits/memphis/regras/area-segura.md +14 -0
  1040. package/kits/memphis/regras/cor.md +17 -0
  1041. package/kits/memphis/regras/movimento.md +18 -0
  1042. package/kits/memphis/regras/ritmo.md +15 -0
  1043. package/kits/memphis/regras/som.md +18 -0
  1044. package/kits/memphis/regras/tipografia.md +19 -0
  1045. package/kits/metal-liquido/SKILL.md +51 -0
  1046. package/kits/metal-liquido/assets/ASSETS.md +21 -0
  1047. package/kits/metal-liquido/assets/fontes/OFL-SpaceGrotesk.txt +92 -0
  1048. package/kits/metal-liquido/assets/fontes/OFL-Unbounded.txt +92 -0
  1049. package/kits/metal-liquido/assets/fontes/grotesk-latin.woff2 +0 -0
  1050. package/kits/metal-liquido/assets/fontes/unbounded-latin.woff2 +0 -0
  1051. package/kits/metal-liquido/assets/sons/assinatura.mp3 +0 -0
  1052. package/kits/metal-liquido/assets/sons/clique.mp3 +0 -0
  1053. package/kits/metal-liquido/assets/sons/cromo.mp3 +0 -0
  1054. package/kits/metal-liquido/assets/sons/liquido.mp3 +0 -0
  1055. package/kits/metal-liquido/assets/sons/quique.mp3 +0 -0
  1056. package/kits/metal-liquido/assets/sons/subida.mp3 +0 -0
  1057. package/kits/metal-liquido/assets/sons/varre.mp3 +0 -0
  1058. package/kits/metal-liquido/assets/sons/whoosh.mp3 +0 -0
  1059. package/kits/metal-liquido/assets/trilha/sombrio-114bpm.mp3 +0 -0
  1060. package/kits/metal-liquido/capa.jpg +0 -0
  1061. package/kits/metal-liquido/elementos/AnelCromo.tsx +28 -0
  1062. package/kits/metal-liquido/elementos/AssinaturaMarca.tsx +26 -0
  1063. package/kits/metal-liquido/elementos/BolhasCromadas.tsx +53 -0
  1064. package/kits/metal-liquido/elementos/Camera.tsx +22 -0
  1065. package/kits/metal-liquido/elementos/Cena.tsx +48 -0
  1066. package/kits/metal-liquido/elementos/EsferaCromo.tsx +32 -0
  1067. package/kits/metal-liquido/elementos/Fundo.tsx +20 -0
  1068. package/kits/metal-liquido/elementos/Montagem.tsx +67 -0
  1069. package/kits/metal-liquido/elementos/PilulaCromo.tsx +23 -0
  1070. package/kits/metal-liquido/elementos/Som.tsx +33 -0
  1071. package/kits/metal-liquido/elementos/TituloCromo.tsx +32 -0
  1072. package/kits/metal-liquido/elementos/base.ts +94 -0
  1073. package/kits/metal-liquido/elementos/index.ts +15 -0
  1074. package/kits/metal-liquido/exemplos/logo-mercurio.svg +1 -0
  1075. package/kits/metal-liquido/exemplos/plano.json +48 -0
  1076. package/kits/metal-liquido/exemplos/roteiro.md +20 -0
  1077. package/kits/metal-liquido/preview.tsx +12 -0
  1078. package/kits/metal-liquido/receita.json +173 -0
  1079. package/kits/metal-liquido/regras/area-segura.md +16 -0
  1080. package/kits/metal-liquido/regras/cor.md +23 -0
  1081. package/kits/metal-liquido/regras/movimento.md +18 -0
  1082. package/kits/metal-liquido/regras/ritmo.md +14 -0
  1083. package/kits/metal-liquido/regras/som.md +20 -0
  1084. package/kits/metal-liquido/regras/tipografia.md +15 -0
  1085. package/kits/minimal/SKILL.md +54 -0
  1086. package/kits/minimal/assets/ASSETS.md +19 -0
  1087. package/kits/minimal/assets/fontes/OFL-HankenGrotesk.txt +93 -0
  1088. package/kits/minimal/assets/fontes/OFL-SplineSansMono.txt +93 -0
  1089. package/kits/minimal/assets/fontes/hanken.woff2 +0 -0
  1090. package/kits/minimal/assets/fontes/splinemono.woff2 +0 -0
  1091. package/kits/minimal/assets/sons/assinatura.mp3 +0 -0
  1092. package/kits/minimal/assets/sons/clique.mp3 +0 -0
  1093. package/kits/minimal/assets/sons/impacto.mp3 +0 -0
  1094. package/kits/minimal/assets/sons/pop-cartao.mp3 +0 -0
  1095. package/kits/minimal/assets/sons/pop-palavra.mp3 +0 -0
  1096. package/kits/minimal/assets/sons/subida.mp3 +0 -0
  1097. package/kits/minimal/assets/sons/swoosh.mp3 +0 -0
  1098. package/kits/minimal/assets/sons/toque.mp3 +0 -0
  1099. package/kits/minimal/assets/sons/whoosh-entra.mp3 +0 -0
  1100. package/kits/minimal/assets/sons/whoosh-sai.mp3 +0 -0
  1101. package/kits/minimal/assets/trilha/vazio-90bpm.mp3 +0 -0
  1102. package/kits/minimal/capa.jpg +0 -0
  1103. package/kits/minimal/elementos/Camera.tsx +21 -0
  1104. package/kits/minimal/elementos/Cena.tsx +39 -0
  1105. package/kits/minimal/elementos/FormaMorph.tsx +44 -0
  1106. package/kits/minimal/elementos/FraseUnica.tsx +33 -0
  1107. package/kits/minimal/elementos/Fundo.tsx +20 -0
  1108. package/kits/minimal/elementos/LinhaFina.tsx +24 -0
  1109. package/kits/minimal/elementos/Montagem.tsx +59 -0
  1110. package/kits/minimal/elementos/NumeroSolo.tsx +33 -0
  1111. package/kits/minimal/elementos/PontoMovel.tsx +27 -0
  1112. package/kits/minimal/elementos/RodapeMinimal.tsx +26 -0
  1113. package/kits/minimal/elementos/Som.tsx +40 -0
  1114. package/kits/minimal/elementos/base.ts +80 -0
  1115. package/kits/minimal/elementos/index.ts +15 -0
  1116. package/kits/minimal/exemplos/plano.json +48 -0
  1117. package/kits/minimal/exemplos/roteiro.md +19 -0
  1118. package/kits/minimal/preview.tsx +9 -0
  1119. package/kits/minimal/receita.json +21 -0
  1120. package/kits/minimal/regras/area-segura.md +15 -0
  1121. package/kits/minimal/regras/cor.md +12 -0
  1122. package/kits/minimal/regras/movimento.md +20 -0
  1123. package/kits/minimal/regras/ritmo.md +15 -0
  1124. package/kits/minimal/regras/som.md +21 -0
  1125. package/kits/minimal/regras/tipografia.md +15 -0
  1126. package/kits/neon-cidade/SKILL.md +51 -0
  1127. package/kits/neon-cidade/assets/ASSETS.md +21 -0
  1128. package/kits/neon-cidade/assets/fontes/OFL-BarlowCondensed.txt +92 -0
  1129. package/kits/neon-cidade/assets/fontes/OFL-TiltNeon.txt +92 -0
  1130. package/kits/neon-cidade/assets/fontes/barlow-latin.woff2 +0 -0
  1131. package/kits/neon-cidade/assets/fontes/tiltneon-latin.woff2 +0 -0
  1132. package/kits/neon-cidade/assets/sons/assinatura.mp3 +0 -0
  1133. package/kits/neon-cidade/assets/sons/balanca.mp3 +0 -0
  1134. package/kits/neon-cidade/assets/sons/clique.mp3 +0 -0
  1135. package/kits/neon-cidade/assets/sons/impacto.mp3 +0 -0
  1136. package/kits/neon-cidade/assets/sons/liga.mp3 +0 -0
  1137. package/kits/neon-cidade/assets/sons/tick.mp3 +0 -0
  1138. package/kits/neon-cidade/assets/sons/whoosh.mp3 +0 -0
  1139. package/kits/neon-cidade/assets/sons/zumbido.mp3 +0 -0
  1140. package/kits/neon-cidade/assets/trilha/noite-100bpm.mp3 +0 -0
  1141. package/kits/neon-cidade/capa.jpg +0 -0
  1142. package/kits/neon-cidade/elementos/AssinaturaMarca.tsx +24 -0
  1143. package/kits/neon-cidade/elementos/CaixaLuminosa.tsx +40 -0
  1144. package/kits/neon-cidade/elementos/Camera.tsx +22 -0
  1145. package/kits/neon-cidade/elementos/Cena.tsx +48 -0
  1146. package/kits/neon-cidade/elementos/Chuva.tsx +23 -0
  1147. package/kits/neon-cidade/elementos/FormaNeon.tsx +42 -0
  1148. package/kits/neon-cidade/elementos/Fundo.tsx +18 -0
  1149. package/kits/neon-cidade/elementos/Horizonte.tsx +34 -0
  1150. package/kits/neon-cidade/elementos/LetreiroNeon.tsx +46 -0
  1151. package/kits/neon-cidade/elementos/Montagem.tsx +67 -0
  1152. package/kits/neon-cidade/elementos/Som.tsx +33 -0
  1153. package/kits/neon-cidade/elementos/base.ts +100 -0
  1154. package/kits/neon-cidade/elementos/index.ts +15 -0
  1155. package/kits/neon-cidade/exemplos/logo-fenix.svg +1 -0
  1156. package/kits/neon-cidade/exemplos/plano.json +50 -0
  1157. package/kits/neon-cidade/exemplos/roteiro.md +20 -0
  1158. package/kits/neon-cidade/preview.tsx +12 -0
  1159. package/kits/neon-cidade/receita.json +151 -0
  1160. package/kits/neon-cidade/regras/area-segura.md +18 -0
  1161. package/kits/neon-cidade/regras/cor.md +23 -0
  1162. package/kits/neon-cidade/regras/movimento.md +18 -0
  1163. package/kits/neon-cidade/regras/ritmo.md +14 -0
  1164. package/kits/neon-cidade/regras/som.md +20 -0
  1165. package/kits/neon-cidade/regras/tipografia.md +15 -0
  1166. package/kits/notion-editorial/SKILL.md +51 -0
  1167. package/kits/notion-editorial/assets/ASSETS.md +19 -0
  1168. package/kits/notion-editorial/assets/fontes/OFL-Cormorant-Italic.txt +93 -0
  1169. package/kits/notion-editorial/assets/fontes/OFL-Cormorant.txt +93 -0
  1170. package/kits/notion-editorial/assets/fontes/OFL-Jost.txt +93 -0
  1171. package/kits/notion-editorial/assets/fontes/cormorant-italic.woff2 +0 -0
  1172. package/kits/notion-editorial/assets/fontes/cormorant.woff2 +0 -0
  1173. package/kits/notion-editorial/assets/fontes/jost.woff2 +0 -0
  1174. package/kits/notion-editorial/assets/sons/assinatura.mp3 +0 -0
  1175. package/kits/notion-editorial/assets/sons/clique.mp3 +0 -0
  1176. package/kits/notion-editorial/assets/sons/impacto.mp3 +0 -0
  1177. package/kits/notion-editorial/assets/sons/pop-cartao.mp3 +0 -0
  1178. package/kits/notion-editorial/assets/sons/pop-palavra.mp3 +0 -0
  1179. package/kits/notion-editorial/assets/sons/subida.mp3 +0 -0
  1180. package/kits/notion-editorial/assets/sons/swoosh.mp3 +0 -0
  1181. package/kits/notion-editorial/assets/sons/whoosh-entra.mp3 +0 -0
  1182. package/kits/notion-editorial/assets/sons/whoosh-sai.mp3 +0 -0
  1183. package/kits/notion-editorial/assets/trilha/trilha.mp3 +0 -0
  1184. package/kits/notion-editorial/capa.jpg +0 -0
  1185. package/kits/notion-editorial/elementos/AssinaturaMarca.tsx +20 -0
  1186. package/kits/notion-editorial/elementos/BlocoNota.tsx +38 -0
  1187. package/kits/notion-editorial/elementos/Camera.tsx +23 -0
  1188. package/kits/notion-editorial/elementos/Cena.tsx +46 -0
  1189. package/kits/notion-editorial/elementos/Diagrama.tsx +29 -0
  1190. package/kits/notion-editorial/elementos/Fundo.tsx +12 -0
  1191. package/kits/notion-editorial/elementos/Montagem.tsx +60 -0
  1192. package/kits/notion-editorial/elementos/PassosNumerados.tsx +23 -0
  1193. package/kits/notion-editorial/elementos/RabiscoIcone.tsx +33 -0
  1194. package/kits/notion-editorial/elementos/Som.tsx +39 -0
  1195. package/kits/notion-editorial/elementos/TextoSerifa.tsx +53 -0
  1196. package/kits/notion-editorial/elementos/base.ts +87 -0
  1197. package/kits/notion-editorial/elementos/desenho.tsx +36 -0
  1198. package/kits/notion-editorial/elementos/index.ts +16 -0
  1199. package/kits/notion-editorial/exemplos/logo-pauta.svg +1 -0
  1200. package/kits/notion-editorial/exemplos/plano.json +254 -0
  1201. package/kits/notion-editorial/exemplos/roteiro.md +20 -0
  1202. package/kits/notion-editorial/preview.tsx +12 -0
  1203. package/kits/notion-editorial/receita.json +165 -0
  1204. package/kits/notion-editorial/regras/area-segura.md +13 -0
  1205. package/kits/notion-editorial/regras/cor.md +15 -0
  1206. package/kits/notion-editorial/regras/movimento.md +16 -0
  1207. package/kits/notion-editorial/regras/ritmo.md +14 -0
  1208. package/kits/notion-editorial/regras/som.md +18 -0
  1209. package/kits/notion-editorial/regras/tipografia.md +15 -0
  1210. package/kits/papel-recortado/SKILL.md +57 -0
  1211. package/kits/papel-recortado/assets/ASSETS.md +18 -0
  1212. package/kits/papel-recortado/assets/fontes/OFL-fredoka-700.txt +93 -0
  1213. package/kits/papel-recortado/assets/fontes/OFL-nunito-700.txt +93 -0
  1214. package/kits/papel-recortado/assets/fontes/fredoka-700.woff2 +0 -0
  1215. package/kits/papel-recortado/assets/fontes/nunito-700.woff2 +0 -0
  1216. package/kits/papel-recortado/assets/sons/assinatura.mp3 +0 -0
  1217. package/kits/papel-recortado/assets/sons/clique.mp3 +0 -0
  1218. package/kits/papel-recortado/assets/sons/impacto.mp3 +0 -0
  1219. package/kits/papel-recortado/assets/sons/pop-cartao.mp3 +0 -0
  1220. package/kits/papel-recortado/assets/sons/pop-palavra.mp3 +0 -0
  1221. package/kits/papel-recortado/assets/sons/subida.mp3 +0 -0
  1222. package/kits/papel-recortado/assets/sons/swoosh.mp3 +0 -0
  1223. package/kits/papel-recortado/assets/sons/tick.mp3 +0 -0
  1224. package/kits/papel-recortado/assets/sons/whoosh-entra.mp3 +0 -0
  1225. package/kits/papel-recortado/assets/sons/whoosh-sai.mp3 +0 -0
  1226. package/kits/papel-recortado/assets/trilha/trilha.mp3 +0 -0
  1227. package/kits/papel-recortado/capa.jpg +0 -0
  1228. package/kits/papel-recortado/elementos/CamadaPapel.tsx +81 -0
  1229. package/kits/papel-recortado/elementos/Camera.tsx +28 -0
  1230. package/kits/papel-recortado/elementos/CartaoCamadas.tsx +38 -0
  1231. package/kits/papel-recortado/elementos/Cena.tsx +29 -0
  1232. package/kits/papel-recortado/elementos/EtiquetaPapel.tsx +40 -0
  1233. package/kits/papel-recortado/elementos/Filtros.tsx +33 -0
  1234. package/kits/papel-recortado/elementos/Fita.tsx +21 -0
  1235. package/kits/papel-recortado/elementos/FolhaPopUp.tsx +49 -0
  1236. package/kits/papel-recortado/elementos/Fundo.tsx +10 -0
  1237. package/kits/papel-recortado/elementos/LetrasRecortadas.tsx +48 -0
  1238. package/kits/papel-recortado/elementos/MolduraPapel.tsx +12 -0
  1239. package/kits/papel-recortado/elementos/Montagem.tsx +42 -0
  1240. package/kits/papel-recortado/elementos/Som.tsx +30 -0
  1241. package/kits/papel-recortado/elementos/base.ts +51 -0
  1242. package/kits/papel-recortado/elementos/index.ts +15 -0
  1243. package/kits/papel-recortado/exemplos/plano.json +410 -0
  1244. package/kits/papel-recortado/exemplos/roteiro.md +13 -0
  1245. package/kits/papel-recortado/preview.tsx +9 -0
  1246. package/kits/papel-recortado/receita.json +14 -0
  1247. package/kits/papel-recortado/regras/area-segura.md +13 -0
  1248. package/kits/papel-recortado/regras/cor.md +16 -0
  1249. package/kits/papel-recortado/regras/movimento.md +17 -0
  1250. package/kits/papel-recortado/regras/ritmo.md +13 -0
  1251. package/kits/papel-recortado/regras/som.md +17 -0
  1252. package/kits/papel-recortado/regras/tipografia.md +12 -0
  1253. package/kits/pixel/SKILL.md +52 -0
  1254. package/kits/pixel/assets/ASSETS.md +18 -0
  1255. package/kits/pixel/assets/fontes/OFL-pressstart2p.txt +93 -0
  1256. package/kits/pixel/assets/fontes/OFL-vt323.txt +93 -0
  1257. package/kits/pixel/assets/fontes/pressstart2p.woff2 +0 -0
  1258. package/kits/pixel/assets/fontes/vt323.woff2 +0 -0
  1259. package/kits/pixel/assets/sons/assinatura.mp3 +0 -0
  1260. package/kits/pixel/assets/sons/clique.mp3 +0 -0
  1261. package/kits/pixel/assets/sons/impacto.mp3 +0 -0
  1262. package/kits/pixel/assets/sons/pop-cartao.mp3 +0 -0
  1263. package/kits/pixel/assets/sons/pop-palavra.mp3 +0 -0
  1264. package/kits/pixel/assets/sons/subida.mp3 +0 -0
  1265. package/kits/pixel/assets/sons/swoosh.mp3 +0 -0
  1266. package/kits/pixel/assets/sons/tick.mp3 +0 -0
  1267. package/kits/pixel/assets/sons/whoosh-entra.mp3 +0 -0
  1268. package/kits/pixel/assets/sons/whoosh-sai.mp3 +0 -0
  1269. package/kits/pixel/assets/trilha/trilha.mp3 +0 -0
  1270. package/kits/pixel/capa.jpg +0 -0
  1271. package/kits/pixel/elementos/AssinaturaMarca.tsx +18 -0
  1272. package/kits/pixel/elementos/CaixaDialogo.tsx +22 -0
  1273. package/kits/pixel/elementos/Camera.tsx +21 -0
  1274. package/kits/pixel/elementos/Cena.tsx +36 -0
  1275. package/kits/pixel/elementos/ChuvaDeSprites.tsx +15 -0
  1276. package/kits/pixel/elementos/Fundo.tsx +23 -0
  1277. package/kits/pixel/elementos/HudPlacar.tsx +19 -0
  1278. package/kits/pixel/elementos/MenuPixel.tsx +19 -0
  1279. package/kits/pixel/elementos/Montagem.tsx +56 -0
  1280. package/kits/pixel/elementos/Overlay.tsx +14 -0
  1281. package/kits/pixel/elementos/Som.tsx +30 -0
  1282. package/kits/pixel/elementos/Sprite.tsx +33 -0
  1283. package/kits/pixel/elementos/TituloPixel.tsx +31 -0
  1284. package/kits/pixel/elementos/base.ts +79 -0
  1285. package/kits/pixel/elementos/index.ts +17 -0
  1286. package/kits/pixel/exemplos/plano.json +309 -0
  1287. package/kits/pixel/exemplos/roteiro.md +20 -0
  1288. package/kits/pixel/preview.tsx +12 -0
  1289. package/kits/pixel/receita.json +175 -0
  1290. package/kits/pixel/regras/area-segura.md +14 -0
  1291. package/kits/pixel/regras/cor.md +17 -0
  1292. package/kits/pixel/regras/movimento.md +18 -0
  1293. package/kits/pixel/regras/ritmo.md +15 -0
  1294. package/kits/pixel/regras/som.md +18 -0
  1295. package/kits/pixel/regras/tipografia.md +18 -0
  1296. package/kits/pontos-3d/SKILL.md +51 -0
  1297. package/kits/pontos-3d/assets/ASSETS.md +21 -0
  1298. package/kits/pontos-3d/assets/fontes/OFL-JetBrainsMono.txt +92 -0
  1299. package/kits/pontos-3d/assets/fontes/OFL-Sora.txt +92 -0
  1300. package/kits/pontos-3d/assets/fontes/jetbrains-latin.woff2 +0 -0
  1301. package/kits/pontos-3d/assets/fontes/sora-latin.woff2 +0 -0
  1302. package/kits/pontos-3d/assets/sons/assinatura.mp3 +0 -0
  1303. package/kits/pontos-3d/assets/sons/clique.mp3 +0 -0
  1304. package/kits/pontos-3d/assets/sons/impacto.mp3 +0 -0
  1305. package/kits/pontos-3d/assets/sons/pop.mp3 +0 -0
  1306. package/kits/pontos-3d/assets/sons/subida.mp3 +0 -0
  1307. package/kits/pontos-3d/assets/sons/tick.mp3 +0 -0
  1308. package/kits/pontos-3d/assets/sons/varre.mp3 +0 -0
  1309. package/kits/pontos-3d/assets/sons/whoosh.mp3 +0 -0
  1310. package/kits/pontos-3d/assets/trilha/tech-120bpm.mp3 +0 -0
  1311. package/kits/pontos-3d/capa.jpg +0 -0
  1312. package/kits/pontos-3d/elementos/AssinaturaMarca.tsx +23 -0
  1313. package/kits/pontos-3d/elementos/Camera.tsx +22 -0
  1314. package/kits/pontos-3d/elementos/Cena.tsx +48 -0
  1315. package/kits/pontos-3d/elementos/Contador.tsx +32 -0
  1316. package/kits/pontos-3d/elementos/Fundo.tsx +20 -0
  1317. package/kits/pontos-3d/elementos/Montagem.tsx +67 -0
  1318. package/kits/pontos-3d/elementos/NuvemDePontos.tsx +84 -0
  1319. package/kits/pontos-3d/elementos/RotuloPonto.tsx +32 -0
  1320. package/kits/pontos-3d/elementos/Som.tsx +33 -0
  1321. package/kits/pontos-3d/elementos/TextoDePontos.tsx +55 -0
  1322. package/kits/pontos-3d/elementos/TituloSora.tsx +36 -0
  1323. package/kits/pontos-3d/elementos/base.ts +92 -0
  1324. package/kits/pontos-3d/elementos/index.ts +15 -0
  1325. package/kits/pontos-3d/exemplos/logo-malha.svg +1 -0
  1326. package/kits/pontos-3d/exemplos/plano.json +46 -0
  1327. package/kits/pontos-3d/exemplos/roteiro.md +20 -0
  1328. package/kits/pontos-3d/preview.tsx +12 -0
  1329. package/kits/pontos-3d/receita.json +153 -0
  1330. package/kits/pontos-3d/regras/area-segura.md +17 -0
  1331. package/kits/pontos-3d/regras/cor.md +21 -0
  1332. package/kits/pontos-3d/regras/movimento.md +19 -0
  1333. package/kits/pontos-3d/regras/ritmo.md +14 -0
  1334. package/kits/pontos-3d/regras/som.md +20 -0
  1335. package/kits/pontos-3d/regras/tipografia.md +16 -0
  1336. package/kits/produto-3d/SKILL.md +59 -0
  1337. package/kits/produto-3d/assets/ASSETS.md +18 -0
  1338. package/kits/produto-3d/assets/fontes/OFL-IBMPlexMono.txt +93 -0
  1339. package/kits/produto-3d/assets/fontes/OFL-Syncopate.txt +92 -0
  1340. package/kits/produto-3d/assets/fontes/plex-mono.woff2 +0 -0
  1341. package/kits/produto-3d/assets/fontes/syncopate-latin.woff2 +0 -0
  1342. package/kits/produto-3d/assets/sons/assinatura.mp3 +0 -0
  1343. package/kits/produto-3d/assets/sons/clique.mp3 +0 -0
  1344. package/kits/produto-3d/assets/sons/impacto.mp3 +0 -0
  1345. package/kits/produto-3d/assets/sons/pop-cartao.mp3 +0 -0
  1346. package/kits/produto-3d/assets/sons/pop-palavra.mp3 +0 -0
  1347. package/kits/produto-3d/assets/sons/subida.mp3 +0 -0
  1348. package/kits/produto-3d/assets/sons/swoosh.mp3 +0 -0
  1349. package/kits/produto-3d/assets/sons/whoosh-entra.mp3 +0 -0
  1350. package/kits/produto-3d/assets/sons/whoosh-sai.mp3 +0 -0
  1351. package/kits/produto-3d/assets/trilha/trilha.mp3 +0 -0
  1352. package/kits/produto-3d/capa.jpg +0 -0
  1353. package/kits/produto-3d/elementos/AssinaturaMarca.tsx +28 -0
  1354. package/kits/produto-3d/elementos/Camera.tsx +23 -0
  1355. package/kits/produto-3d/elementos/Cena.tsx +55 -0
  1356. package/kits/produto-3d/elementos/Fundo.tsx +45 -0
  1357. package/kits/produto-3d/elementos/Montagem.tsx +53 -0
  1358. package/kits/produto-3d/elementos/NumeroDestaque.tsx +35 -0
  1359. package/kits/produto-3d/elementos/Produto3D.tsx +144 -0
  1360. package/kits/produto-3d/elementos/RotuloChamada.tsx +43 -0
  1361. package/kits/produto-3d/elementos/Som.tsx +39 -0
  1362. package/kits/produto-3d/elementos/TituloMinimo.tsx +45 -0
  1363. package/kits/produto-3d/elementos/VarreduraLuz.tsx +22 -0
  1364. package/kits/produto-3d/elementos/base.ts +109 -0
  1365. package/kits/produto-3d/elementos/index.ts +13 -0
  1366. package/kits/produto-3d/elementos/modelos.ts +92 -0
  1367. package/kits/produto-3d/elementos/raymarch.ts +295 -0
  1368. package/kits/produto-3d/exemplos/plano.json +53 -0
  1369. package/kits/produto-3d/exemplos/roteiro.md +15 -0
  1370. package/kits/produto-3d/preview.tsx +9 -0
  1371. package/kits/produto-3d/receita.json +16 -0
  1372. package/kits/produto-3d/regras/area-segura.md +14 -0
  1373. package/kits/produto-3d/regras/cor.md +20 -0
  1374. package/kits/produto-3d/regras/movimento.md +19 -0
  1375. package/kits/produto-3d/regras/ritmo.md +15 -0
  1376. package/kits/produto-3d/regras/som.md +18 -0
  1377. package/kits/produto-3d/regras/tipografia.md +13 -0
  1378. package/kits/quadro-giz/SKILL.md +52 -0
  1379. package/kits/quadro-giz/assets/ASSETS.md +18 -0
  1380. package/kits/quadro-giz/assets/fontes/OFL-patrick-hand.txt +93 -0
  1381. package/kits/quadro-giz/assets/fontes/OFL-schoolbell.txt +93 -0
  1382. package/kits/quadro-giz/assets/fontes/patrick-hand.woff2 +0 -0
  1383. package/kits/quadro-giz/assets/fontes/schoolbell.woff2 +0 -0
  1384. package/kits/quadro-giz/assets/sons/assinatura.mp3 +0 -0
  1385. package/kits/quadro-giz/assets/sons/clique.mp3 +0 -0
  1386. package/kits/quadro-giz/assets/sons/impacto.mp3 +0 -0
  1387. package/kits/quadro-giz/assets/sons/pop-cartao.mp3 +0 -0
  1388. package/kits/quadro-giz/assets/sons/pop-palavra.mp3 +0 -0
  1389. package/kits/quadro-giz/assets/sons/subida.mp3 +0 -0
  1390. package/kits/quadro-giz/assets/sons/swoosh.mp3 +0 -0
  1391. package/kits/quadro-giz/assets/sons/tick.mp3 +0 -0
  1392. package/kits/quadro-giz/assets/sons/whoosh-entra.mp3 +0 -0
  1393. package/kits/quadro-giz/assets/sons/whoosh-sai.mp3 +0 -0
  1394. package/kits/quadro-giz/assets/trilha/trilha.mp3 +0 -0
  1395. package/kits/quadro-giz/capa.jpg +0 -0
  1396. package/kits/quadro-giz/elementos/ApagadorVarrendo.tsx +32 -0
  1397. package/kits/quadro-giz/elementos/AssinaturaMarca.tsx +20 -0
  1398. package/kits/quadro-giz/elementos/Camera.tsx +21 -0
  1399. package/kits/quadro-giz/elementos/CartaoGiz.tsx +25 -0
  1400. package/kits/quadro-giz/elementos/Cena.tsx +36 -0
  1401. package/kits/quadro-giz/elementos/ContaNoQuadro.tsx +34 -0
  1402. package/kits/quadro-giz/elementos/DesenhoGiz.tsx +29 -0
  1403. package/kits/quadro-giz/elementos/Fundo.tsx +21 -0
  1404. package/kits/quadro-giz/elementos/ListaGiz.tsx +21 -0
  1405. package/kits/quadro-giz/elementos/Montagem.tsx +56 -0
  1406. package/kits/quadro-giz/elementos/Overlay.tsx +12 -0
  1407. package/kits/quadro-giz/elementos/Som.tsx +30 -0
  1408. package/kits/quadro-giz/elementos/TituloGiz.tsx +29 -0
  1409. package/kits/quadro-giz/elementos/base.ts +78 -0
  1410. package/kits/quadro-giz/elementos/index.ts +17 -0
  1411. package/kits/quadro-giz/elementos/traco.ts +9 -0
  1412. package/kits/quadro-giz/exemplos/plano.json +237 -0
  1413. package/kits/quadro-giz/exemplos/roteiro.md +20 -0
  1414. package/kits/quadro-giz/preview.tsx +12 -0
  1415. package/kits/quadro-giz/receita.json +193 -0
  1416. package/kits/quadro-giz/regras/area-segura.md +15 -0
  1417. package/kits/quadro-giz/regras/cor.md +17 -0
  1418. package/kits/quadro-giz/regras/movimento.md +18 -0
  1419. package/kits/quadro-giz/regras/ritmo.md +16 -0
  1420. package/kits/quadro-giz/regras/som.md +18 -0
  1421. package/kits/quadro-giz/regras/tipografia.md +19 -0
  1422. package/kits/rabisco/SKILL.md +51 -0
  1423. package/kits/rabisco/assets/ASSETS.md +18 -0
  1424. package/kits/rabisco/assets/fontes/OFL-caveat-700.txt +93 -0
  1425. package/kits/rabisco/assets/fontes/OFL-permanent-marker.txt +93 -0
  1426. package/kits/rabisco/assets/fontes/caveat-700.woff2 +0 -0
  1427. package/kits/rabisco/assets/fontes/permanent-marker.woff2 +0 -0
  1428. package/kits/rabisco/assets/sons/assinatura.mp3 +0 -0
  1429. package/kits/rabisco/assets/sons/clique.mp3 +0 -0
  1430. package/kits/rabisco/assets/sons/impacto.mp3 +0 -0
  1431. package/kits/rabisco/assets/sons/pop-cartao.mp3 +0 -0
  1432. package/kits/rabisco/assets/sons/pop-palavra.mp3 +0 -0
  1433. package/kits/rabisco/assets/sons/subida.mp3 +0 -0
  1434. package/kits/rabisco/assets/sons/swoosh.mp3 +0 -0
  1435. package/kits/rabisco/assets/sons/tick.mp3 +0 -0
  1436. package/kits/rabisco/assets/sons/whoosh-entra.mp3 +0 -0
  1437. package/kits/rabisco/assets/sons/whoosh-sai.mp3 +0 -0
  1438. package/kits/rabisco/assets/trilha/trilha.mp3 +0 -0
  1439. package/kits/rabisco/capa.jpg +0 -0
  1440. package/kits/rabisco/elementos/AssinaturaMarca.tsx +21 -0
  1441. package/kits/rabisco/elementos/Bonequinho.tsx +31 -0
  1442. package/kits/rabisco/elementos/Camera.tsx +21 -0
  1443. package/kits/rabisco/elementos/CartaoRabiscado.tsx +27 -0
  1444. package/kits/rabisco/elementos/Cena.tsx +36 -0
  1445. package/kits/rabisco/elementos/Fundo.tsx +17 -0
  1446. package/kits/rabisco/elementos/ListaRabiscada.tsx +23 -0
  1447. package/kits/rabisco/elementos/Montagem.tsx +55 -0
  1448. package/kits/rabisco/elementos/Overlay.tsx +8 -0
  1449. package/kits/rabisco/elementos/Som.tsx +30 -0
  1450. package/kits/rabisco/elementos/TituloRabisco.tsx +28 -0
  1451. package/kits/rabisco/elementos/TracoDesenhando.tsx +31 -0
  1452. package/kits/rabisco/elementos/base.ts +76 -0
  1453. package/kits/rabisco/elementos/index.ts +16 -0
  1454. package/kits/rabisco/elementos/traco.ts +10 -0
  1455. package/kits/rabisco/exemplos/plano.json +238 -0
  1456. package/kits/rabisco/exemplos/roteiro.md +20 -0
  1457. package/kits/rabisco/preview.tsx +12 -0
  1458. package/kits/rabisco/receita.json +171 -0
  1459. package/kits/rabisco/regras/area-segura.md +14 -0
  1460. package/kits/rabisco/regras/cor.md +15 -0
  1461. package/kits/rabisco/regras/movimento.md +18 -0
  1462. package/kits/rabisco/regras/ritmo.md +15 -0
  1463. package/kits/rabisco/regras/som.md +17 -0
  1464. package/kits/rabisco/regras/tipografia.md +18 -0
  1465. package/kits/retro-70/SKILL.md +53 -0
  1466. package/kits/retro-70/assets/ASSETS.md +23 -0
  1467. package/kits/retro-70/assets/fontes/OFL-Fredoka.txt +93 -0
  1468. package/kits/retro-70/assets/fontes/OFL-Shrikhand.txt +93 -0
  1469. package/kits/retro-70/assets/fontes/fredoka.woff2 +0 -0
  1470. package/kits/retro-70/assets/fontes/shrikhand.woff2 +0 -0
  1471. package/kits/retro-70/assets/sons/assinatura.mp3 +0 -0
  1472. package/kits/retro-70/assets/sons/clique.mp3 +0 -0
  1473. package/kits/retro-70/assets/sons/impacto.mp3 +0 -0
  1474. package/kits/retro-70/assets/sons/pop-cartao.mp3 +0 -0
  1475. package/kits/retro-70/assets/sons/pop-palavra.mp3 +0 -0
  1476. package/kits/retro-70/assets/sons/subida.mp3 +0 -0
  1477. package/kits/retro-70/assets/sons/swoosh.mp3 +0 -0
  1478. package/kits/retro-70/assets/sons/whoosh-entra.mp3 +0 -0
  1479. package/kits/retro-70/assets/sons/whoosh-sai.mp3 +0 -0
  1480. package/kits/retro-70/assets/trilha/solar-104bpm.mp3 +0 -0
  1481. package/kits/retro-70/capa.jpg +0 -0
  1482. package/kits/retro-70/elementos/ArcoListras.tsx +25 -0
  1483. package/kits/retro-70/elementos/AssinaturaMarca.tsx +21 -0
  1484. package/kits/retro-70/elementos/Camera.tsx +22 -0
  1485. package/kits/retro-70/elementos/CartaoData.tsx +24 -0
  1486. package/kits/retro-70/elementos/Cena.tsx +41 -0
  1487. package/kits/retro-70/elementos/FaixaOnda.tsx +27 -0
  1488. package/kits/retro-70/elementos/Flor70.tsx +25 -0
  1489. package/kits/retro-70/elementos/FotoArredondada.tsx +19 -0
  1490. package/kits/retro-70/elementos/Fundo.tsx +11 -0
  1491. package/kits/retro-70/elementos/Montagem.tsx +60 -0
  1492. package/kits/retro-70/elementos/RaiosDeSol.tsx +27 -0
  1493. package/kits/retro-70/elementos/Som.tsx +38 -0
  1494. package/kits/retro-70/elementos/TituloGordo.tsx +28 -0
  1495. package/kits/retro-70/elementos/base.ts +73 -0
  1496. package/kits/retro-70/elementos/index.ts +17 -0
  1497. package/kits/retro-70/exemplos/fotos/foto-02.jpg +0 -0
  1498. package/kits/retro-70/exemplos/fotos/foto-03.jpg +0 -0
  1499. package/kits/retro-70/exemplos/logo-girassol.svg +1 -0
  1500. package/kits/retro-70/exemplos/plano.json +50 -0
  1501. package/kits/retro-70/exemplos/roteiro.md +19 -0
  1502. package/kits/retro-70/preview.tsx +17 -0
  1503. package/kits/retro-70/receita.json +172 -0
  1504. package/kits/retro-70/regras/area-segura.md +20 -0
  1505. package/kits/retro-70/regras/cor.md +14 -0
  1506. package/kits/retro-70/regras/movimento.md +16 -0
  1507. package/kits/retro-70/regras/ritmo.md +15 -0
  1508. package/kits/retro-70/regras/som.md +21 -0
  1509. package/kits/retro-70/regras/tipografia.md +17 -0
  1510. package/kits/revista/SKILL.md +52 -0
  1511. package/kits/revista/assets/ASSETS.md +24 -0
  1512. package/kits/revista/assets/fontes/OFL-CormorantGaramond.txt +93 -0
  1513. package/kits/revista/assets/fontes/OFL-Jost.txt +93 -0
  1514. package/kits/revista/assets/fontes/cormorant-italic.woff2 +0 -0
  1515. package/kits/revista/assets/fontes/cormorant.woff2 +0 -0
  1516. package/kits/revista/assets/fontes/jost.woff2 +0 -0
  1517. package/kits/revista/assets/sons/assinatura.mp3 +0 -0
  1518. package/kits/revista/assets/sons/clique.mp3 +0 -0
  1519. package/kits/revista/assets/sons/impacto.mp3 +0 -0
  1520. package/kits/revista/assets/sons/pop-cartao.mp3 +0 -0
  1521. package/kits/revista/assets/sons/pop-palavra.mp3 +0 -0
  1522. package/kits/revista/assets/sons/subida.mp3 +0 -0
  1523. package/kits/revista/assets/sons/swoosh.mp3 +0 -0
  1524. package/kits/revista/assets/sons/whoosh-entra.mp3 +0 -0
  1525. package/kits/revista/assets/sons/whoosh-sai.mp3 +0 -0
  1526. package/kits/revista/assets/trilha/editorial-100bpm.mp3 +0 -0
  1527. package/kits/revista/capa.jpg +0 -0
  1528. package/kits/revista/elementos/AssinaturaMarca.tsx +23 -0
  1529. package/kits/revista/elementos/Camera.tsx +22 -0
  1530. package/kits/revista/elementos/Cena.tsx +41 -0
  1531. package/kits/revista/elementos/CitacaoGrande.tsx +27 -0
  1532. package/kits/revista/elementos/ColagemFotos.tsx +22 -0
  1533. package/kits/revista/elementos/Folio.tsx +19 -0
  1534. package/kits/revista/elementos/FotoSangrando.tsx +24 -0
  1535. package/kits/revista/elementos/Fundo.tsx +11 -0
  1536. package/kits/revista/elementos/Montagem.tsx +59 -0
  1537. package/kits/revista/elementos/PaginaDupla.tsx +36 -0
  1538. package/kits/revista/elementos/Som.tsx +38 -0
  1539. package/kits/revista/elementos/TituloEditorial.tsx +31 -0
  1540. package/kits/revista/elementos/base.ts +76 -0
  1541. package/kits/revista/elementos/index.ts +16 -0
  1542. package/kits/revista/exemplos/fotos/foto-02.jpg +0 -0
  1543. package/kits/revista/exemplos/fotos/foto-03.jpg +0 -0
  1544. package/kits/revista/exemplos/fotos/foto-05.jpg +0 -0
  1545. package/kits/revista/exemplos/fotos/foto-06.jpg +0 -0
  1546. package/kits/revista/exemplos/fotos/foto-07.jpg +0 -0
  1547. package/kits/revista/exemplos/fotos/foto-08.jpg +0 -0
  1548. package/kits/revista/exemplos/logo-linho.svg +1 -0
  1549. package/kits/revista/exemplos/plano.json +44 -0
  1550. package/kits/revista/exemplos/roteiro.md +19 -0
  1551. package/kits/revista/preview.tsx +21 -0
  1552. package/kits/revista/receita.json +168 -0
  1553. package/kits/revista/regras/area-segura.md +19 -0
  1554. package/kits/revista/regras/cor.md +14 -0
  1555. package/kits/revista/regras/movimento.md +15 -0
  1556. package/kits/revista/regras/ritmo.md +15 -0
  1557. package/kits/revista/regras/som.md +21 -0
  1558. package/kits/revista/regras/tipografia.md +17 -0
  1559. package/kits/risografia/SKILL.md +53 -0
  1560. package/kits/risografia/assets/ASSETS.md +18 -0
  1561. package/kits/risografia/assets/fontes/OFL-bricolage-800.txt +93 -0
  1562. package/kits/risografia/assets/fontes/OFL-space-mono-700.txt +93 -0
  1563. package/kits/risografia/assets/fontes/bricolage-800.woff2 +0 -0
  1564. package/kits/risografia/assets/fontes/space-mono-700.woff2 +0 -0
  1565. package/kits/risografia/assets/sons/assinatura.mp3 +0 -0
  1566. package/kits/risografia/assets/sons/clique.mp3 +0 -0
  1567. package/kits/risografia/assets/sons/impacto.mp3 +0 -0
  1568. package/kits/risografia/assets/sons/pop-cartao.mp3 +0 -0
  1569. package/kits/risografia/assets/sons/pop-palavra.mp3 +0 -0
  1570. package/kits/risografia/assets/sons/subida.mp3 +0 -0
  1571. package/kits/risografia/assets/sons/swoosh.mp3 +0 -0
  1572. package/kits/risografia/assets/sons/tick.mp3 +0 -0
  1573. package/kits/risografia/assets/sons/whoosh-entra.mp3 +0 -0
  1574. package/kits/risografia/assets/sons/whoosh-sai.mp3 +0 -0
  1575. package/kits/risografia/assets/trilha/trilha.mp3 +0 -0
  1576. package/kits/risografia/capa.jpg +0 -0
  1577. package/kits/risografia/elementos/AssinaturaMarca.tsx +21 -0
  1578. package/kits/risografia/elementos/BolaReticula.tsx +26 -0
  1579. package/kits/risografia/elementos/Camera.tsx +21 -0
  1580. package/kits/risografia/elementos/Cena.tsx +36 -0
  1581. package/kits/risografia/elementos/FormaRiso.tsx +24 -0
  1582. package/kits/risografia/elementos/Fundo.tsx +12 -0
  1583. package/kits/risografia/elementos/ListaRiso.tsx +22 -0
  1584. package/kits/risografia/elementos/Montagem.tsx +56 -0
  1585. package/kits/risografia/elementos/NumeroRiso.tsx +21 -0
  1586. package/kits/risografia/elementos/Overlay.tsx +18 -0
  1587. package/kits/risografia/elementos/Som.tsx +30 -0
  1588. package/kits/risografia/elementos/TarjaCarimbo.tsx +20 -0
  1589. package/kits/risografia/elementos/TituloRiso.tsx +26 -0
  1590. package/kits/risografia/elementos/base.ts +73 -0
  1591. package/kits/risografia/elementos/index.ts +17 -0
  1592. package/kits/risografia/exemplos/plano.json +209 -0
  1593. package/kits/risografia/exemplos/roteiro.md +20 -0
  1594. package/kits/risografia/preview.tsx +12 -0
  1595. package/kits/risografia/receita.json +169 -0
  1596. package/kits/risografia/regras/area-segura.md +14 -0
  1597. package/kits/risografia/regras/cor.md +12 -0
  1598. package/kits/risografia/regras/movimento.md +18 -0
  1599. package/kits/risografia/regras/ritmo.md +15 -0
  1600. package/kits/risografia/regras/som.md +17 -0
  1601. package/kits/risografia/regras/tipografia.md +18 -0
  1602. package/kits/saas-linear/SKILL.md +60 -0
  1603. package/kits/saas-linear/assets/ASSETS.md +19 -0
  1604. package/kits/saas-linear/assets/fontes/OFL-Inter.txt +93 -0
  1605. package/kits/saas-linear/assets/fontes/OFL-Newsreader.txt +93 -0
  1606. package/kits/saas-linear/assets/fontes/inter-400.woff2 +0 -0
  1607. package/kits/saas-linear/assets/fontes/inter-600.woff2 +0 -0
  1608. package/kits/saas-linear/assets/fontes/newsreader-400.woff2 +0 -0
  1609. package/kits/saas-linear/assets/sons/assinatura.mp3 +0 -0
  1610. package/kits/saas-linear/assets/sons/clique.mp3 +0 -0
  1611. package/kits/saas-linear/assets/sons/impacto.mp3 +0 -0
  1612. package/kits/saas-linear/assets/sons/pop-cartao.mp3 +0 -0
  1613. package/kits/saas-linear/assets/sons/pop-palavra.mp3 +0 -0
  1614. package/kits/saas-linear/assets/sons/subida.mp3 +0 -0
  1615. package/kits/saas-linear/assets/sons/swoosh.mp3 +0 -0
  1616. package/kits/saas-linear/assets/sons/whoosh-entra.mp3 +0 -0
  1617. package/kits/saas-linear/assets/sons/whoosh-sai.mp3 +0 -0
  1618. package/kits/saas-linear/assets/trilha/trilha.mp3 +0 -0
  1619. package/kits/saas-linear/capa.jpg +0 -0
  1620. package/kits/saas-linear/elementos/Agenda.tsx +46 -0
  1621. package/kits/saas-linear/elementos/CaixaPrompt.tsx +41 -0
  1622. package/kits/saas-linear/elementos/Camera.tsx +38 -0
  1623. package/kits/saas-linear/elementos/CartoesIntegracao.tsx +57 -0
  1624. package/kits/saas-linear/elementos/Cena.tsx +38 -0
  1625. package/kits/saas-linear/elementos/Cursor.tsx +40 -0
  1626. package/kits/saas-linear/elementos/FraseSerifa.tsx +25 -0
  1627. package/kits/saas-linear/elementos/Fundo.tsx +18 -0
  1628. package/kits/saas-linear/elementos/Marca.tsx +20 -0
  1629. package/kits/saas-linear/elementos/MarcaFinal.tsx +22 -0
  1630. package/kits/saas-linear/elementos/Menu.tsx +46 -0
  1631. package/kits/saas-linear/elementos/Monitor.tsx +28 -0
  1632. package/kits/saas-linear/elementos/Montagem.tsx +67 -0
  1633. package/kits/saas-linear/elementos/Saudacao.tsx +27 -0
  1634. package/kits/saas-linear/elementos/Som.tsx +39 -0
  1635. package/kits/saas-linear/elementos/base.ts +84 -0
  1636. package/kits/saas-linear/elementos/index.ts +21 -0
  1637. package/kits/saas-linear/exemplos/plano.json +459 -0
  1638. package/kits/saas-linear/exemplos/roteiro.md +15 -0
  1639. package/kits/saas-linear/preview.tsx +9 -0
  1640. package/kits/saas-linear/receita.json +32 -0
  1641. package/kits/saas-linear/regras/area-segura.md +17 -0
  1642. package/kits/saas-linear/regras/cor.md +19 -0
  1643. package/kits/saas-linear/regras/movimento.md +20 -0
  1644. package/kits/saas-linear/regras/ritmo.md +14 -0
  1645. package/kits/saas-linear/regras/som.md +16 -0
  1646. package/kits/saas-linear/regras/tipografia.md +17 -0
  1647. package/kits/stripe-ondas/SKILL.md +52 -0
  1648. package/kits/stripe-ondas/assets/ASSETS.md +18 -0
  1649. package/kits/stripe-ondas/assets/fontes/OFL-DM-Mono.txt +93 -0
  1650. package/kits/stripe-ondas/assets/fontes/OFL-Inter.txt +93 -0
  1651. package/kits/stripe-ondas/assets/fontes/dm-mono.woff2 +0 -0
  1652. package/kits/stripe-ondas/assets/fontes/inter.woff2 +0 -0
  1653. package/kits/stripe-ondas/assets/sons/assinatura.mp3 +0 -0
  1654. package/kits/stripe-ondas/assets/sons/clique.mp3 +0 -0
  1655. package/kits/stripe-ondas/assets/sons/impacto.mp3 +0 -0
  1656. package/kits/stripe-ondas/assets/sons/pop-cartao.mp3 +0 -0
  1657. package/kits/stripe-ondas/assets/sons/pop-palavra.mp3 +0 -0
  1658. package/kits/stripe-ondas/assets/sons/subida.mp3 +0 -0
  1659. package/kits/stripe-ondas/assets/sons/swoosh.mp3 +0 -0
  1660. package/kits/stripe-ondas/assets/sons/whoosh-entra.mp3 +0 -0
  1661. package/kits/stripe-ondas/assets/sons/whoosh-sai.mp3 +0 -0
  1662. package/kits/stripe-ondas/assets/trilha/trilha.mp3 +0 -0
  1663. package/kits/stripe-ondas/capa.jpg +0 -0
  1664. package/kits/stripe-ondas/elementos/AssinaturaMarca.tsx +18 -0
  1665. package/kits/stripe-ondas/elementos/Camera.tsx +23 -0
  1666. package/kits/stripe-ondas/elementos/CartaoPagamento.tsx +35 -0
  1667. package/kits/stripe-ondas/elementos/Cena.tsx +46 -0
  1668. package/kits/stripe-ondas/elementos/FaixaDeOndas.tsx +49 -0
  1669. package/kits/stripe-ondas/elementos/Fundo.tsx +11 -0
  1670. package/kits/stripe-ondas/elementos/GraficoOnda.tsx +34 -0
  1671. package/kits/stripe-ondas/elementos/Montagem.tsx +61 -0
  1672. package/kits/stripe-ondas/elementos/PainelCodigo.tsx +36 -0
  1673. package/kits/stripe-ondas/elementos/SelosDeMetodo.tsx +27 -0
  1674. package/kits/stripe-ondas/elementos/Som.tsx +39 -0
  1675. package/kits/stripe-ondas/elementos/TituloLimpo.tsx +27 -0
  1676. package/kits/stripe-ondas/elementos/base.ts +85 -0
  1677. package/kits/stripe-ondas/elementos/index.ts +16 -0
  1678. package/kits/stripe-ondas/exemplos/logo-cais.svg +1 -0
  1679. package/kits/stripe-ondas/exemplos/plano.json +366 -0
  1680. package/kits/stripe-ondas/exemplos/roteiro.md +20 -0
  1681. package/kits/stripe-ondas/preview.tsx +12 -0
  1682. package/kits/stripe-ondas/receita.json +177 -0
  1683. package/kits/stripe-ondas/regras/area-segura.md +16 -0
  1684. package/kits/stripe-ondas/regras/cor.md +17 -0
  1685. package/kits/stripe-ondas/regras/movimento.md +16 -0
  1686. package/kits/stripe-ondas/regras/ritmo.md +14 -0
  1687. package/kits/stripe-ondas/regras/som.md +18 -0
  1688. package/kits/stripe-ondas/regras/tipografia.md +15 -0
  1689. package/kits/suica/SKILL.md +56 -0
  1690. package/kits/suica/assets/ASSETS.md +23 -0
  1691. package/kits/suica/assets/fontes/OFL-IBMPlexMono.txt +93 -0
  1692. package/kits/suica/assets/fontes/OFL-InterTight.txt +93 -0
  1693. package/kits/suica/assets/fontes/inter-tight.woff2 +0 -0
  1694. package/kits/suica/assets/fontes/plex-mono.woff2 +0 -0
  1695. package/kits/suica/assets/sons/assinatura.mp3 +0 -0
  1696. package/kits/suica/assets/sons/clique.mp3 +0 -0
  1697. package/kits/suica/assets/sons/impacto.mp3 +0 -0
  1698. package/kits/suica/assets/sons/pop-cartao.mp3 +0 -0
  1699. package/kits/suica/assets/sons/pop-palavra.mp3 +0 -0
  1700. package/kits/suica/assets/sons/subida.mp3 +0 -0
  1701. package/kits/suica/assets/sons/swoosh.mp3 +0 -0
  1702. package/kits/suica/assets/sons/whoosh-entra.mp3 +0 -0
  1703. package/kits/suica/assets/sons/whoosh-sai.mp3 +0 -0
  1704. package/kits/suica/assets/trilha/frio-120bpm.mp3 +0 -0
  1705. package/kits/suica/capa.jpg +0 -0
  1706. package/kits/suica/elementos/AssinaturaMarca.tsx +21 -0
  1707. package/kits/suica/elementos/Camera.tsx +22 -0
  1708. package/kits/suica/elementos/Cena.tsx +41 -0
  1709. package/kits/suica/elementos/DiscoFoto.tsx +20 -0
  1710. package/kits/suica/elementos/Fundo.tsx +16 -0
  1711. package/kits/suica/elementos/GradeFotos.tsx +21 -0
  1712. package/kits/suica/elementos/Indice.tsx +17 -0
  1713. package/kits/suica/elementos/ListaIndice.tsx +25 -0
  1714. package/kits/suica/elementos/Montagem.tsx +60 -0
  1715. package/kits/suica/elementos/NumeroGigante.tsx +21 -0
  1716. package/kits/suica/elementos/Regua.tsx +20 -0
  1717. package/kits/suica/elementos/Som.tsx +38 -0
  1718. package/kits/suica/elementos/TituloGrade.tsx +38 -0
  1719. package/kits/suica/elementos/base.ts +76 -0
  1720. package/kits/suica/elementos/index.ts +17 -0
  1721. package/kits/suica/exemplos/fotos/foto-01.jpg +0 -0
  1722. package/kits/suica/exemplos/fotos/foto-02.jpg +0 -0
  1723. package/kits/suica/exemplos/fotos/foto-03.jpg +0 -0
  1724. package/kits/suica/exemplos/fotos/foto-05.jpg +0 -0
  1725. package/kits/suica/exemplos/fotos/foto-06.jpg +0 -0
  1726. package/kits/suica/exemplos/fotos/foto-07.jpg +0 -0
  1727. package/kits/suica/exemplos/logo-ponto.svg +1 -0
  1728. package/kits/suica/exemplos/plano.json +268 -0
  1729. package/kits/suica/exemplos/roteiro.md +19 -0
  1730. package/kits/suica/preview.tsx +21 -0
  1731. package/kits/suica/receita.json +197 -0
  1732. package/kits/suica/regras/area-segura.md +18 -0
  1733. package/kits/suica/regras/cor.md +13 -0
  1734. package/kits/suica/regras/movimento.md +15 -0
  1735. package/kits/suica/regras/ritmo.md +17 -0
  1736. package/kits/suica/regras/som.md +21 -0
  1737. package/kits/suica/regras/tipografia.md +16 -0
  1738. package/kits/synthwave/SKILL.md +52 -0
  1739. package/kits/synthwave/assets/ASSETS.md +22 -0
  1740. package/kits/synthwave/assets/fontes/OFL-Orbitron.txt +93 -0
  1741. package/kits/synthwave/assets/fontes/OFL-Rajdhani.txt +93 -0
  1742. package/kits/synthwave/assets/fontes/orbitron.woff2 +0 -0
  1743. package/kits/synthwave/assets/fontes/rajdhani.woff2 +0 -0
  1744. package/kits/synthwave/assets/sons/assinatura.mp3 +0 -0
  1745. package/kits/synthwave/assets/sons/clique.mp3 +0 -0
  1746. package/kits/synthwave/assets/sons/impacto.mp3 +0 -0
  1747. package/kits/synthwave/assets/sons/pop-cartao.mp3 +0 -0
  1748. package/kits/synthwave/assets/sons/pop-palavra.mp3 +0 -0
  1749. package/kits/synthwave/assets/sons/subida.mp3 +0 -0
  1750. package/kits/synthwave/assets/sons/swoosh.mp3 +0 -0
  1751. package/kits/synthwave/assets/sons/whoosh-entra.mp3 +0 -0
  1752. package/kits/synthwave/assets/sons/whoosh-sai.mp3 +0 -0
  1753. package/kits/synthwave/assets/trilha/noite-110bpm.mp3 +0 -0
  1754. package/kits/synthwave/capa.jpg +0 -0
  1755. package/kits/synthwave/elementos/AssinaturaMarca.tsx +26 -0
  1756. package/kits/synthwave/elementos/Camera.tsx +22 -0
  1757. package/kits/synthwave/elementos/Cena.tsx +41 -0
  1758. package/kits/synthwave/elementos/Estrelas.tsx +27 -0
  1759. package/kits/synthwave/elementos/Fundo.tsx +20 -0
  1760. package/kits/synthwave/elementos/Montagem.tsx +59 -0
  1761. package/kits/synthwave/elementos/Montanhas.tsx +27 -0
  1762. package/kits/synthwave/elementos/Palmeiras.tsx +30 -0
  1763. package/kits/synthwave/elementos/QuadroHUD.tsx +33 -0
  1764. package/kits/synthwave/elementos/SolListrado.tsx +29 -0
  1765. package/kits/synthwave/elementos/Som.tsx +38 -0
  1766. package/kits/synthwave/elementos/TituloNeon.tsx +30 -0
  1767. package/kits/synthwave/elementos/base.ts +75 -0
  1768. package/kits/synthwave/elementos/index.ts +16 -0
  1769. package/kits/synthwave/exemplos/logo-arcade.svg +1 -0
  1770. package/kits/synthwave/exemplos/plano.json +50 -0
  1771. package/kits/synthwave/exemplos/roteiro.md +19 -0
  1772. package/kits/synthwave/preview.tsx +16 -0
  1773. package/kits/synthwave/receita.json +170 -0
  1774. package/kits/synthwave/regras/area-segura.md +19 -0
  1775. package/kits/synthwave/regras/cor.md +16 -0
  1776. package/kits/synthwave/regras/movimento.md +16 -0
  1777. package/kits/synthwave/regras/ritmo.md +15 -0
  1778. package/kits/synthwave/regras/som.md +21 -0
  1779. package/kits/synthwave/regras/tipografia.md +16 -0
  1780. package/kits/terminal/SKILL.md +57 -0
  1781. package/kits/terminal/assets/ASSETS.md +20 -0
  1782. package/kits/terminal/assets/fontes/OFL-jetbrains-mono-700.txt +93 -0
  1783. package/kits/terminal/assets/fontes/OFL-vt323.txt +93 -0
  1784. package/kits/terminal/assets/fontes/jetbrains-mono-700.woff2 +0 -0
  1785. package/kits/terminal/assets/fontes/vt323.woff2 +0 -0
  1786. package/kits/terminal/assets/sons/assinatura.mp3 +0 -0
  1787. package/kits/terminal/assets/sons/clique.mp3 +0 -0
  1788. package/kits/terminal/assets/sons/digitar.mp3 +0 -0
  1789. package/kits/terminal/assets/sons/impacto.mp3 +0 -0
  1790. package/kits/terminal/assets/sons/liga-crt.mp3 +0 -0
  1791. package/kits/terminal/assets/sons/pop-cartao.mp3 +0 -0
  1792. package/kits/terminal/assets/sons/pop-palavra.mp3 +0 -0
  1793. package/kits/terminal/assets/sons/subida.mp3 +0 -0
  1794. package/kits/terminal/assets/sons/swoosh.mp3 +0 -0
  1795. package/kits/terminal/assets/sons/tick.mp3 +0 -0
  1796. package/kits/terminal/assets/sons/whoosh-entra.mp3 +0 -0
  1797. package/kits/terminal/assets/sons/whoosh-sai.mp3 +0 -0
  1798. package/kits/terminal/assets/trilha/trilha.mp3 +0 -0
  1799. package/kits/terminal/capa.jpg +0 -0
  1800. package/kits/terminal/elementos/ArteAscii.tsx +61 -0
  1801. package/kits/terminal/elementos/BarraProgresso.tsx +42 -0
  1802. package/kits/terminal/elementos/BarraStatus.tsx +18 -0
  1803. package/kits/terminal/elementos/BootBios.tsx +41 -0
  1804. package/kits/terminal/elementos/Camera.tsx +23 -0
  1805. package/kits/terminal/elementos/Cena.tsx +25 -0
  1806. package/kits/terminal/elementos/Fundo.tsx +22 -0
  1807. package/kits/terminal/elementos/LinhaComando.tsx +31 -0
  1808. package/kits/terminal/elementos/Monitor.tsx +42 -0
  1809. package/kits/terminal/elementos/Montagem.tsx +52 -0
  1810. package/kits/terminal/elementos/PainelCaixa.tsx +35 -0
  1811. package/kits/terminal/elementos/Som.tsx +32 -0
  1812. package/kits/terminal/elementos/Tela.tsx +25 -0
  1813. package/kits/terminal/elementos/TextoGrande.tsx +35 -0
  1814. package/kits/terminal/elementos/base.ts +67 -0
  1815. package/kits/terminal/elementos/index.ts +16 -0
  1816. package/kits/terminal/exemplos/plano.json +330 -0
  1817. package/kits/terminal/exemplos/roteiro.md +14 -0
  1818. package/kits/terminal/preview.tsx +9 -0
  1819. package/kits/terminal/receita.json +14 -0
  1820. package/kits/terminal/regras/area-segura.md +18 -0
  1821. package/kits/terminal/regras/cor.md +16 -0
  1822. package/kits/terminal/regras/movimento.md +15 -0
  1823. package/kits/terminal/regras/ritmo.md +14 -0
  1824. package/kits/terminal/regras/som.md +17 -0
  1825. package/kits/terminal/regras/tipografia.md +15 -0
  1826. package/kits/tiktok-energia/SKILL.md +51 -0
  1827. package/kits/tiktok-energia/assets/ASSETS.md +22 -0
  1828. package/kits/tiktok-energia/assets/fontes/OFL-Anton.txt +92 -0
  1829. package/kits/tiktok-energia/assets/fontes/OFL-Rubik.txt +92 -0
  1830. package/kits/tiktok-energia/assets/fontes/anton-latin.woff2 +0 -0
  1831. package/kits/tiktok-energia/assets/fontes/rubik-latin.woff2 +0 -0
  1832. package/kits/tiktok-energia/assets/sons/assinatura.mp3 +0 -0
  1833. package/kits/tiktok-energia/assets/sons/corte.mp3 +0 -0
  1834. package/kits/tiktok-energia/assets/sons/palavra.mp3 +0 -0
  1835. package/kits/tiktok-energia/assets/sons/pop.mp3 +0 -0
  1836. package/kits/tiktok-energia/assets/sons/soco.mp3 +0 -0
  1837. package/kits/tiktok-energia/assets/sons/subida.mp3 +0 -0
  1838. package/kits/tiktok-energia/assets/sons/whoosh.mp3 +0 -0
  1839. package/kits/tiktok-energia/assets/sons/zap.mp3 +0 -0
  1840. package/kits/tiktok-energia/assets/trilha/tech-128bpm.mp3 +0 -0
  1841. package/kits/tiktok-energia/capa.jpg +0 -0
  1842. package/kits/tiktok-energia/elementos/AssinaturaMarca.tsx +25 -0
  1843. package/kits/tiktok-energia/elementos/Camera.tsx +22 -0
  1844. package/kits/tiktok-energia/elementos/Cena.tsx +48 -0
  1845. package/kits/tiktok-energia/elementos/CorteDeCor.tsx +22 -0
  1846. package/kits/tiktok-energia/elementos/EmojiSticker.tsx +21 -0
  1847. package/kits/tiktok-energia/elementos/FotoSoco.tsx +27 -0
  1848. package/kits/tiktok-energia/elementos/Fundo.tsx +8 -0
  1849. package/kits/tiktok-energia/elementos/Montagem.tsx +67 -0
  1850. package/kits/tiktok-energia/elementos/PalavraSoco.tsx +29 -0
  1851. package/kits/tiktok-energia/elementos/Som.tsx +33 -0
  1852. package/kits/tiktok-energia/elementos/TextoCaixa.tsx +25 -0
  1853. package/kits/tiktok-energia/elementos/base.ts +92 -0
  1854. package/kits/tiktok-energia/elementos/index.ts +15 -0
  1855. package/kits/tiktok-energia/exemplos/fotos/foto-03.jpg +0 -0
  1856. package/kits/tiktok-energia/exemplos/logo-pulo.svg +1 -0
  1857. package/kits/tiktok-energia/exemplos/plano.json +66 -0
  1858. package/kits/tiktok-energia/exemplos/roteiro.md +22 -0
  1859. package/kits/tiktok-energia/preview.tsx +13 -0
  1860. package/kits/tiktok-energia/receita.json +166 -0
  1861. package/kits/tiktok-energia/regras/area-segura.md +19 -0
  1862. package/kits/tiktok-energia/regras/cor.md +20 -0
  1863. package/kits/tiktok-energia/regras/movimento.md +17 -0
  1864. package/kits/tiktok-energia/regras/ritmo.md +15 -0
  1865. package/kits/tiktok-energia/regras/som.md +20 -0
  1866. package/kits/tiktok-energia/regras/tipografia.md +15 -0
  1867. package/kits/tunel/SKILL.md +51 -0
  1868. package/kits/tunel/assets/ASSETS.md +21 -0
  1869. package/kits/tunel/assets/fontes/OFL-ChakraPetch.txt +92 -0
  1870. package/kits/tunel/assets/fontes/OFL-Syncopate.txt +92 -0
  1871. package/kits/tunel/assets/fontes/chakra-latin.woff2 +0 -0
  1872. package/kits/tunel/assets/fontes/syncopate-latin.woff2 +0 -0
  1873. package/kits/tunel/assets/sons/assinatura.mp3 +0 -0
  1874. package/kits/tunel/assets/sons/clique.mp3 +0 -0
  1875. package/kits/tunel/assets/sons/impacto.mp3 +0 -0
  1876. package/kits/tunel/assets/sons/passa.mp3 +0 -0
  1877. package/kits/tunel/assets/sons/subida.mp3 +0 -0
  1878. package/kits/tunel/assets/sons/tick.mp3 +0 -0
  1879. package/kits/tunel/assets/sons/varre.mp3 +0 -0
  1880. package/kits/tunel/assets/sons/whoosh.mp3 +0 -0
  1881. package/kits/tunel/assets/trilha/tech-128bpm.mp3 +0 -0
  1882. package/kits/tunel/capa.jpg +0 -0
  1883. package/kits/tunel/elementos/AssinaturaMarca.tsx +22 -0
  1884. package/kits/tunel/elementos/Camera.tsx +22 -0
  1885. package/kits/tunel/elementos/Cena.tsx +48 -0
  1886. package/kits/tunel/elementos/Fundo.tsx +13 -0
  1887. package/kits/tunel/elementos/LinhasDeVelocidade.tsx +25 -0
  1888. package/kits/tunel/elementos/Montagem.tsx +67 -0
  1889. package/kits/tunel/elementos/NumeroGigante.tsx +28 -0
  1890. package/kits/tunel/elementos/PlacaVoadora.tsx +28 -0
  1891. package/kits/tunel/elementos/Som.tsx +33 -0
  1892. package/kits/tunel/elementos/TituloTunel.tsx +32 -0
  1893. package/kits/tunel/elementos/TunelDeFormas.tsx +52 -0
  1894. package/kits/tunel/elementos/base.ts +97 -0
  1895. package/kits/tunel/elementos/index.ts +15 -0
  1896. package/kits/tunel/exemplos/logo-rota21.svg +1 -0
  1897. package/kits/tunel/exemplos/plano.json +51 -0
  1898. package/kits/tunel/exemplos/roteiro.md +20 -0
  1899. package/kits/tunel/preview.tsx +12 -0
  1900. package/kits/tunel/receita.json +153 -0
  1901. package/kits/tunel/regras/area-segura.md +18 -0
  1902. package/kits/tunel/regras/cor.md +21 -0
  1903. package/kits/tunel/regras/movimento.md +17 -0
  1904. package/kits/tunel/regras/ritmo.md +14 -0
  1905. package/kits/tunel/regras/som.md +20 -0
  1906. package/kits/tunel/regras/tipografia.md +15 -0
  1907. package/kits/tutorial-tela/SKILL.md +55 -0
  1908. package/kits/tutorial-tela/assets/ASSETS.md +20 -0
  1909. package/kits/tutorial-tela/assets/fontes/OFL-JetBrainsMono.txt +93 -0
  1910. package/kits/tutorial-tela/assets/fontes/OFL-PlusJakartaSans.txt +93 -0
  1911. package/kits/tutorial-tela/assets/fontes/jakarta.woff2 +0 -0
  1912. package/kits/tutorial-tela/assets/fontes/jbmono.woff2 +0 -0
  1913. package/kits/tutorial-tela/assets/sons/assinatura.mp3 +0 -0
  1914. package/kits/tutorial-tela/assets/sons/clique.mp3 +0 -0
  1915. package/kits/tutorial-tela/assets/sons/digitar.mp3 +0 -0
  1916. package/kits/tutorial-tela/assets/sons/impacto.mp3 +0 -0
  1917. package/kits/tutorial-tela/assets/sons/pop-cartao.mp3 +0 -0
  1918. package/kits/tutorial-tela/assets/sons/pop-palavra.mp3 +0 -0
  1919. package/kits/tutorial-tela/assets/sons/subida.mp3 +0 -0
  1920. package/kits/tutorial-tela/assets/sons/sucesso.mp3 +0 -0
  1921. package/kits/tutorial-tela/assets/sons/swoosh.mp3 +0 -0
  1922. package/kits/tutorial-tela/assets/sons/whoosh-entra.mp3 +0 -0
  1923. package/kits/tutorial-tela/assets/sons/whoosh-sai.mp3 +0 -0
  1924. package/kits/tutorial-tela/assets/trilha/passo-108bpm.mp3 +0 -0
  1925. package/kits/tutorial-tela/capa.jpg +0 -0
  1926. package/kits/tutorial-tela/elementos/CameraTela.tsx +29 -0
  1927. package/kits/tutorial-tela/elementos/Cursor.tsx +36 -0
  1928. package/kits/tutorial-tela/elementos/DestaqueCaixa.tsx +17 -0
  1929. package/kits/tutorial-tela/elementos/Fundo.tsx +12 -0
  1930. package/kits/tutorial-tela/elementos/JanelaApp.tsx +81 -0
  1931. package/kits/tutorial-tela/elementos/Montagem.tsx +49 -0
  1932. package/kits/tutorial-tela/elementos/PassoChamada.tsx +22 -0
  1933. package/kits/tutorial-tela/elementos/Som.tsx +41 -0
  1934. package/kits/tutorial-tela/elementos/TeclaAtalho.tsx +29 -0
  1935. package/kits/tutorial-tela/elementos/TituloTela.tsx +30 -0
  1936. package/kits/tutorial-tela/elementos/base.ts +65 -0
  1937. package/kits/tutorial-tela/elementos/index.ts +12 -0
  1938. package/kits/tutorial-tela/exemplos/plano.json +41 -0
  1939. package/kits/tutorial-tela/exemplos/roteiro.md +14 -0
  1940. package/kits/tutorial-tela/preview.tsx +9 -0
  1941. package/kits/tutorial-tela/receita.json +15 -0
  1942. package/kits/tutorial-tela/regras/area-segura.md +13 -0
  1943. package/kits/tutorial-tela/regras/cor.md +17 -0
  1944. package/kits/tutorial-tela/regras/movimento.md +20 -0
  1945. package/kits/tutorial-tela/regras/ritmo.md +24 -0
  1946. package/kits/tutorial-tela/regras/som.md +21 -0
  1947. package/kits/tutorial-tela/regras/tipografia.md +15 -0
  1948. package/kits/ugc-reels/SKILL.md +53 -0
  1949. package/kits/ugc-reels/assets/ASSETS.md +22 -0
  1950. package/kits/ugc-reels/assets/fontes/OFL-Caveat.txt +92 -0
  1951. package/kits/ugc-reels/assets/fontes/OFL-Montserrat.txt +92 -0
  1952. package/kits/ugc-reels/assets/fontes/caveat-latin.woff2 +0 -0
  1953. package/kits/ugc-reels/assets/fontes/montserrat-latin.woff2 +0 -0
  1954. package/kits/ugc-reels/assets/sons/assinatura.mp3 +0 -0
  1955. package/kits/ugc-reels/assets/sons/corte.mp3 +0 -0
  1956. package/kits/ugc-reels/assets/sons/impacto.mp3 +0 -0
  1957. package/kits/ugc-reels/assets/sons/notificacao.mp3 +0 -0
  1958. package/kits/ugc-reels/assets/sons/palavra.mp3 +0 -0
  1959. package/kits/ugc-reels/assets/sons/pop.mp3 +0 -0
  1960. package/kits/ugc-reels/assets/sons/toque.mp3 +0 -0
  1961. package/kits/ugc-reels/assets/sons/whoosh.mp3 +0 -0
  1962. package/kits/ugc-reels/assets/trilha/pop-120bpm.mp3 +0 -0
  1963. package/kits/ugc-reels/capa.jpg +0 -0
  1964. package/kits/ugc-reels/elementos/AssinaturaMarca.tsx +28 -0
  1965. package/kits/ugc-reels/elementos/BotaoLink.tsx +24 -0
  1966. package/kits/ugc-reels/elementos/CabecalhoPerfil.tsx +38 -0
  1967. package/kits/ugc-reels/elementos/Camera.tsx +22 -0
  1968. package/kits/ugc-reels/elementos/Cena.tsx +48 -0
  1969. package/kits/ugc-reels/elementos/Comentario.tsx +29 -0
  1970. package/kits/ugc-reels/elementos/Fundo.tsx +8 -0
  1971. package/kits/ugc-reels/elementos/LegendaEmoji.tsx +43 -0
  1972. package/kits/ugc-reels/elementos/Montagem.tsx +69 -0
  1973. package/kits/ugc-reels/elementos/NotaDeMao.tsx +29 -0
  1974. package/kits/ugc-reels/elementos/Reacoes.tsx +26 -0
  1975. package/kits/ugc-reels/elementos/Som.tsx +33 -0
  1976. package/kits/ugc-reels/elementos/VideoCelular.tsx +37 -0
  1977. package/kits/ugc-reels/elementos/base.ts +92 -0
  1978. package/kits/ugc-reels/elementos/index.ts +17 -0
  1979. package/kits/ugc-reels/exemplos/fotos/foto-02.jpg +0 -0
  1980. package/kits/ugc-reels/exemplos/fotos/foto-03.jpg +0 -0
  1981. package/kits/ugc-reels/exemplos/fotos/foto-04.jpg +0 -0
  1982. package/kits/ugc-reels/exemplos/fotos/foto-06.jpg +0 -0
  1983. package/kits/ugc-reels/exemplos/logo-rotina.svg +1 -0
  1984. package/kits/ugc-reels/exemplos/plano.json +54 -0
  1985. package/kits/ugc-reels/exemplos/roteiro.md +20 -0
  1986. package/kits/ugc-reels/preview.tsx +16 -0
  1987. package/kits/ugc-reels/receita.json +147 -0
  1988. package/kits/ugc-reels/regras/area-segura.md +18 -0
  1989. package/kits/ugc-reels/regras/cor.md +22 -0
  1990. package/kits/ugc-reels/regras/movimento.md +19 -0
  1991. package/kits/ugc-reels/regras/ritmo.md +14 -0
  1992. package/kits/ugc-reels/regras/som.md +20 -0
  1993. package/kits/ugc-reels/regras/tipografia.md +16 -0
  1994. package/kits/vercel-mono/SKILL.md +51 -0
  1995. package/kits/vercel-mono/assets/ASSETS.md +18 -0
  1996. package/kits/vercel-mono/assets/fontes/OFL-Inter.txt +93 -0
  1997. package/kits/vercel-mono/assets/fontes/OFL-JetBrains-Mono.txt +93 -0
  1998. package/kits/vercel-mono/assets/fontes/inter.woff2 +0 -0
  1999. package/kits/vercel-mono/assets/fontes/jetbrains-mono.woff2 +0 -0
  2000. package/kits/vercel-mono/assets/sons/assinatura.mp3 +0 -0
  2001. package/kits/vercel-mono/assets/sons/clique.mp3 +0 -0
  2002. package/kits/vercel-mono/assets/sons/impacto.mp3 +0 -0
  2003. package/kits/vercel-mono/assets/sons/pop-cartao.mp3 +0 -0
  2004. package/kits/vercel-mono/assets/sons/pop-palavra.mp3 +0 -0
  2005. package/kits/vercel-mono/assets/sons/subida.mp3 +0 -0
  2006. package/kits/vercel-mono/assets/sons/swoosh.mp3 +0 -0
  2007. package/kits/vercel-mono/assets/sons/whoosh-entra.mp3 +0 -0
  2008. package/kits/vercel-mono/assets/sons/whoosh-sai.mp3 +0 -0
  2009. package/kits/vercel-mono/assets/trilha/trilha.mp3 +0 -0
  2010. package/kits/vercel-mono/capa.jpg +0 -0
  2011. package/kits/vercel-mono/elementos/AssinaturaMarca.tsx +18 -0
  2012. package/kits/vercel-mono/elementos/Camera.tsx +23 -0
  2013. package/kits/vercel-mono/elementos/Cena.tsx +46 -0
  2014. package/kits/vercel-mono/elementos/FaixaOutline.tsx +25 -0
  2015. package/kits/vercel-mono/elementos/Fundo.tsx +6 -0
  2016. package/kits/vercel-mono/elementos/GradeDeNumeros.tsx +27 -0
  2017. package/kits/vercel-mono/elementos/Montagem.tsx +61 -0
  2018. package/kits/vercel-mono/elementos/PalavraMono.tsx +31 -0
  2019. package/kits/vercel-mono/elementos/Quadro.tsx +28 -0
  2020. package/kits/vercel-mono/elementos/Som.tsx +39 -0
  2021. package/kits/vercel-mono/elementos/TerminalComando.tsx +33 -0
  2022. package/kits/vercel-mono/elementos/TrianguloGigante.tsx +27 -0
  2023. package/kits/vercel-mono/elementos/base.ts +82 -0
  2024. package/kits/vercel-mono/elementos/index.ts +16 -0
  2025. package/kits/vercel-mono/exemplos/logo-vetor.svg +1 -0
  2026. package/kits/vercel-mono/exemplos/plano.json +318 -0
  2027. package/kits/vercel-mono/exemplos/roteiro.md +20 -0
  2028. package/kits/vercel-mono/preview.tsx +12 -0
  2029. package/kits/vercel-mono/receita.json +156 -0
  2030. package/kits/vercel-mono/regras/area-segura.md +13 -0
  2031. package/kits/vercel-mono/regras/cor.md +12 -0
  2032. package/kits/vercel-mono/regras/movimento.md +15 -0
  2033. package/kits/vercel-mono/regras/ritmo.md +13 -0
  2034. package/kits/vercel-mono/regras/som.md +18 -0
  2035. package/kits/vercel-mono/regras/tipografia.md +14 -0
  2036. package/kits/vhs-90/SKILL.md +52 -0
  2037. package/kits/vhs-90/assets/ASSETS.md +23 -0
  2038. package/kits/vhs-90/assets/fontes/OFL-BebasNeue.txt +93 -0
  2039. package/kits/vhs-90/assets/fontes/OFL-VT323.txt +93 -0
  2040. package/kits/vhs-90/assets/fontes/bebas.woff2 +0 -0
  2041. package/kits/vhs-90/assets/fontes/vt323.woff2 +0 -0
  2042. package/kits/vhs-90/assets/sons/assinatura.mp3 +0 -0
  2043. package/kits/vhs-90/assets/sons/clique.mp3 +0 -0
  2044. package/kits/vhs-90/assets/sons/impacto.mp3 +0 -0
  2045. package/kits/vhs-90/assets/sons/pop-cartao.mp3 +0 -0
  2046. package/kits/vhs-90/assets/sons/pop-palavra.mp3 +0 -0
  2047. package/kits/vhs-90/assets/sons/subida.mp3 +0 -0
  2048. package/kits/vhs-90/assets/sons/swoosh.mp3 +0 -0
  2049. package/kits/vhs-90/assets/sons/whoosh-entra.mp3 +0 -0
  2050. package/kits/vhs-90/assets/sons/whoosh-sai.mp3 +0 -0
  2051. package/kits/vhs-90/assets/trilha/fita-88bpm.mp3 +0 -0
  2052. package/kits/vhs-90/capa.jpg +0 -0
  2053. package/kits/vhs-90/elementos/AssinaturaMarca.tsx +29 -0
  2054. package/kits/vhs-90/elementos/BarrasRastreio.tsx +21 -0
  2055. package/kits/vhs-90/elementos/Camera.tsx +22 -0
  2056. package/kits/vhs-90/elementos/CapaVHS.tsx +28 -0
  2057. package/kits/vhs-90/elementos/CarimboData.tsx +19 -0
  2058. package/kits/vhs-90/elementos/Cena.tsx +41 -0
  2059. package/kits/vhs-90/elementos/Fundo.tsx +27 -0
  2060. package/kits/vhs-90/elementos/MenuOSD.tsx +27 -0
  2061. package/kits/vhs-90/elementos/Montagem.tsx +60 -0
  2062. package/kits/vhs-90/elementos/Som.tsx +38 -0
  2063. package/kits/vhs-90/elementos/TelaAzul.tsx +29 -0
  2064. package/kits/vhs-90/elementos/TituloFita.tsx +40 -0
  2065. package/kits/vhs-90/elementos/base.ts +75 -0
  2066. package/kits/vhs-90/elementos/index.ts +16 -0
  2067. package/kits/vhs-90/exemplos/fotos/foto-05.jpg +0 -0
  2068. package/kits/vhs-90/exemplos/fotos/foto-07.jpg +0 -0
  2069. package/kits/vhs-90/exemplos/logo-rewind.svg +1 -0
  2070. package/kits/vhs-90/exemplos/plano.json +47 -0
  2071. package/kits/vhs-90/exemplos/roteiro.md +19 -0
  2072. package/kits/vhs-90/preview.tsx +17 -0
  2073. package/kits/vhs-90/receita.json +189 -0
  2074. package/kits/vhs-90/regras/area-segura.md +18 -0
  2075. package/kits/vhs-90/regras/cor.md +16 -0
  2076. package/kits/vhs-90/regras/movimento.md +16 -0
  2077. package/kits/vhs-90/regras/ritmo.md +16 -0
  2078. package/kits/vhs-90/regras/som.md +21 -0
  2079. package/kits/vhs-90/regras/tipografia.md +17 -0
  2080. package/kits/vidro-ios/SKILL.md +52 -0
  2081. package/kits/vidro-ios/assets/ASSETS.md +18 -0
  2082. package/kits/vidro-ios/assets/fontes/OFL-DM-Mono.txt +93 -0
  2083. package/kits/vidro-ios/assets/fontes/OFL-Inter.txt +93 -0
  2084. package/kits/vidro-ios/assets/fontes/dm-mono.woff2 +0 -0
  2085. package/kits/vidro-ios/assets/fontes/inter.woff2 +0 -0
  2086. package/kits/vidro-ios/assets/sons/assinatura.mp3 +0 -0
  2087. package/kits/vidro-ios/assets/sons/clique.mp3 +0 -0
  2088. package/kits/vidro-ios/assets/sons/impacto.mp3 +0 -0
  2089. package/kits/vidro-ios/assets/sons/pop-cartao.mp3 +0 -0
  2090. package/kits/vidro-ios/assets/sons/pop-palavra.mp3 +0 -0
  2091. package/kits/vidro-ios/assets/sons/subida.mp3 +0 -0
  2092. package/kits/vidro-ios/assets/sons/swoosh.mp3 +0 -0
  2093. package/kits/vidro-ios/assets/sons/whoosh-entra.mp3 +0 -0
  2094. package/kits/vidro-ios/assets/sons/whoosh-sai.mp3 +0 -0
  2095. package/kits/vidro-ios/assets/trilha/trilha.mp3 +0 -0
  2096. package/kits/vidro-ios/capa.jpg +0 -0
  2097. package/kits/vidro-ios/elementos/AssinaturaMarca.tsx +21 -0
  2098. package/kits/vidro-ios/elementos/Camera.tsx +23 -0
  2099. package/kits/vidro-ios/elementos/Cena.tsx +46 -0
  2100. package/kits/vidro-ios/elementos/Fundo.tsx +17 -0
  2101. package/kits/vidro-ios/elementos/IlhaDinamica.tsx +24 -0
  2102. package/kits/vidro-ios/elementos/Montagem.tsx +60 -0
  2103. package/kits/vidro-ios/elementos/PainelControle.tsx +33 -0
  2104. package/kits/vidro-ios/elementos/PilhaNotificacoes.tsx +29 -0
  2105. package/kits/vidro-ios/elementos/Som.tsx +39 -0
  2106. package/kits/vidro-ios/elementos/TituloVidro.tsx +22 -0
  2107. package/kits/vidro-ios/elementos/WidgetsGrade.tsx +34 -0
  2108. package/kits/vidro-ios/elementos/base.ts +87 -0
  2109. package/kits/vidro-ios/elementos/index.ts +16 -0
  2110. package/kits/vidro-ios/elementos/vidro.tsx +20 -0
  2111. package/kits/vidro-ios/exemplos/logo-vento.svg +1 -0
  2112. package/kits/vidro-ios/exemplos/plano.json +288 -0
  2113. package/kits/vidro-ios/exemplos/roteiro.md +20 -0
  2114. package/kits/vidro-ios/preview.tsx +12 -0
  2115. package/kits/vidro-ios/receita.json +170 -0
  2116. package/kits/vidro-ios/regras/area-segura.md +13 -0
  2117. package/kits/vidro-ios/regras/cor.md +16 -0
  2118. package/kits/vidro-ios/regras/movimento.md +16 -0
  2119. package/kits/vidro-ios/regras/ritmo.md +14 -0
  2120. package/kits/vidro-ios/regras/som.md +18 -0
  2121. package/kits/vidro-ios/regras/tipografia.md +15 -0
  2122. package/kits/y2k-cromado/SKILL.md +53 -0
  2123. package/kits/y2k-cromado/assets/ASSETS.md +23 -0
  2124. package/kits/y2k-cromado/assets/fontes/OFL-DMMono.txt +93 -0
  2125. package/kits/y2k-cromado/assets/fontes/OFL-Unbounded.txt +93 -0
  2126. package/kits/y2k-cromado/assets/fontes/dm-mono.woff2 +0 -0
  2127. package/kits/y2k-cromado/assets/fontes/unbounded.woff2 +0 -0
  2128. package/kits/y2k-cromado/assets/sons/assinatura.mp3 +0 -0
  2129. package/kits/y2k-cromado/assets/sons/clique.mp3 +0 -0
  2130. package/kits/y2k-cromado/assets/sons/impacto.mp3 +0 -0
  2131. package/kits/y2k-cromado/assets/sons/pop-cartao.mp3 +0 -0
  2132. package/kits/y2k-cromado/assets/sons/pop-palavra.mp3 +0 -0
  2133. package/kits/y2k-cromado/assets/sons/subida.mp3 +0 -0
  2134. package/kits/y2k-cromado/assets/sons/swoosh.mp3 +0 -0
  2135. package/kits/y2k-cromado/assets/sons/whoosh-entra.mp3 +0 -0
  2136. package/kits/y2k-cromado/assets/sons/whoosh-sai.mp3 +0 -0
  2137. package/kits/y2k-cromado/assets/trilha/y2k-128bpm.mp3 +0 -0
  2138. package/kits/y2k-cromado/capa.jpg +0 -0
  2139. package/kits/y2k-cromado/elementos/AssinaturaMarca.tsx +25 -0
  2140. package/kits/y2k-cromado/elementos/Bolhas.tsx +30 -0
  2141. package/kits/y2k-cromado/elementos/Brilhos.tsx +28 -0
  2142. package/kits/y2k-cromado/elementos/Camera.tsx +22 -0
  2143. package/kits/y2k-cromado/elementos/CartaoGloss.tsx +26 -0
  2144. package/kits/y2k-cromado/elementos/Cena.tsx +41 -0
  2145. package/kits/y2k-cromado/elementos/FitaMarquee.tsx +20 -0
  2146. package/kits/y2k-cromado/elementos/Fundo.tsx +18 -0
  2147. package/kits/y2k-cromado/elementos/JanelaY2K.tsx +31 -0
  2148. package/kits/y2k-cromado/elementos/Montagem.tsx +60 -0
  2149. package/kits/y2k-cromado/elementos/OrbeCromo.tsx +20 -0
  2150. package/kits/y2k-cromado/elementos/Som.tsx +38 -0
  2151. package/kits/y2k-cromado/elementos/TextoCromo.tsx +34 -0
  2152. package/kits/y2k-cromado/elementos/base.ts +75 -0
  2153. package/kits/y2k-cromado/elementos/index.ts +17 -0
  2154. package/kits/y2k-cromado/exemplos/fotos/foto-02.jpg +0 -0
  2155. package/kits/y2k-cromado/exemplos/fotos/foto-03.jpg +0 -0
  2156. package/kits/y2k-cromado/exemplos/logo-bolha.svg +1 -0
  2157. package/kits/y2k-cromado/exemplos/plano.json +47 -0
  2158. package/kits/y2k-cromado/exemplos/roteiro.md +19 -0
  2159. package/kits/y2k-cromado/preview.tsx +17 -0
  2160. package/kits/y2k-cromado/receita.json +174 -0
  2161. package/kits/y2k-cromado/regras/area-segura.md +19 -0
  2162. package/kits/y2k-cromado/regras/cor.md +16 -0
  2163. package/kits/y2k-cromado/regras/movimento.md +16 -0
  2164. package/kits/y2k-cromado/regras/ritmo.md +15 -0
  2165. package/kits/y2k-cromado/regras/som.md +21 -0
  2166. package/kits/y2k-cromado/regras/tipografia.md +17 -0
  2167. package/lib/act.js +387 -18
  2168. package/lib/afirmacoes.js +56 -0
  2169. package/lib/agendar.js +124 -0
  2170. package/lib/backup-banco.js +121 -0
  2171. package/lib/boas-vindas.js +4 -3
  2172. package/lib/catalogo.js +8 -2
  2173. package/lib/chave-exposta.js +61 -0
  2174. package/lib/checkpoint-git.js +7 -4
  2175. package/lib/checkpoint.js +120 -3
  2176. package/lib/comandos-extra.js +69 -2
  2177. package/lib/comecar.js +56 -0
  2178. package/lib/como-rodar.js +66 -0
  2179. package/lib/conferir.js +117 -0
  2180. package/lib/config.js +4 -2
  2181. package/lib/editor-pro.js +162 -21
  2182. package/lib/encolheu.js +33 -0
  2183. package/lib/entrada.js +1 -1
  2184. package/lib/entregaveis.js +67 -0
  2185. package/lib/escopo.js +68 -0
  2186. package/lib/especialistas.js +1 -1
  2187. package/lib/estudio/conferencia.js +71 -6
  2188. package/lib/estudio/gosto/tela.html +119 -4
  2189. package/lib/estudio/gosto-descrever.js +87 -0
  2190. package/lib/estudio/gosto-medir.js +204 -0
  2191. package/lib/estudio/gosto-prova.js +52 -0
  2192. package/lib/estudio/gosto.js +312 -9
  2193. package/lib/estudio/index.js +2 -2
  2194. package/lib/estudio/kits/tela.html +568 -0
  2195. package/lib/estudio/kits-tela.js +199 -0
  2196. package/lib/estudio/maquina-diretor.js +6 -2
  2197. package/lib/estudio/regras-motion.js +69 -0
  2198. package/lib/explicar.js +48 -0
  2199. package/lib/exportar-conversa.js +49 -0
  2200. package/lib/fundo.js +199 -0
  2201. package/lib/guardar.js +118 -0
  2202. package/lib/headless.js +20 -1
  2203. package/lib/idioma.js +74 -0
  2204. package/lib/kits-parecidos.js +99 -0
  2205. package/lib/kits-plano.js +557 -0
  2206. package/lib/kits.js +1045 -0
  2207. package/lib/limite.js +99 -0
  2208. package/lib/linha-do-tempo.js +130 -0
  2209. package/lib/local/cerebro.json +118 -2
  2210. package/lib/local/entrada.js +1 -1
  2211. package/lib/mapa.js +94 -0
  2212. package/lib/memoria-usuario.js +1 -1
  2213. package/lib/mencoes.js +10 -0
  2214. package/lib/mostrar.js +121 -0
  2215. package/lib/motioncraft.js +67 -0
  2216. package/lib/mudou.js +58 -0
  2217. package/lib/nomes.js +251 -0
  2218. package/lib/partes.js +39 -0
  2219. package/lib/passagem.js +30 -1
  2220. package/lib/perigo.js +74 -6
  2221. package/lib/plano-previo.js +53 -0
  2222. package/lib/planos.js +1 -1
  2223. package/lib/porta.js +147 -0
  2224. package/lib/publicar.js +112 -0
  2225. package/lib/registro.js +38 -4
  2226. package/lib/regras.js +88 -0
  2227. package/lib/saida.js +83 -0
  2228. package/lib/segredos.js +103 -0
  2229. package/lib/team.js +317 -0
  2230. package/lib/tools.js +84 -21
  2231. package/lib/trava.js +155 -0
  2232. package/lib/ui.js +42 -5
  2233. package/lib/video/conferir-legenda.js +47 -0
  2234. package/lib/video/ops.js +6 -1
  2235. package/lib/video/transcript.js +1 -1
  2236. package/lib/web-pagina.js +87 -0
  2237. package/package.json +4 -1
  2238. package/skills/motion-de-primeira/SKILL.md +1 -1
  2239. package/skills/motion-motioncraft/SKILL.md +31 -0
  2240. package/vendor/motioncraft/CREDITS.md +18 -0
  2241. package/vendor/motioncraft/LICENSE +21 -0
  2242. package/vendor/motioncraft/ORIGEM.txt +1 -0
  2243. package/vendor/motioncraft/SKILL.md +178 -0
  2244. package/vendor/motioncraft/assets/template/package-lock.json +2958 -0
  2245. package/vendor/motioncraft/assets/template/package.json +27 -0
  2246. package/vendor/motioncraft/assets/template/remotion.config.ts +4 -0
  2247. package/vendor/motioncraft/assets/template/src/Root.tsx +27 -0
  2248. package/vendor/motioncraft/assets/template/src/components/CachedFrames.tsx +11 -0
  2249. package/vendor/motioncraft/assets/template/src/components/EndCard.tsx +17 -0
  2250. package/vendor/motioncraft/assets/template/src/components/Headline.tsx +45 -0
  2251. package/vendor/motioncraft/assets/template/src/components/MorphTransition.tsx +28 -0
  2252. package/vendor/motioncraft/assets/template/src/components/Stage.tsx +52 -0
  2253. package/vendor/motioncraft/assets/template/src/components/Three.tsx +134 -0
  2254. package/vendor/motioncraft/assets/template/src/components/UI.tsx +103 -0
  2255. package/vendor/motioncraft/assets/template/src/components/Word.tsx +46 -0
  2256. package/vendor/motioncraft/assets/template/src/index.ts +3 -0
  2257. package/vendor/motioncraft/assets/template/src/lib/anim.ts +17 -0
  2258. package/vendor/motioncraft/assets/template/src/lib/beat.ts +23 -0
  2259. package/vendor/motioncraft/assets/template/src/lib/debug.tsx +12 -0
  2260. package/vendor/motioncraft/assets/template/src/lib/fonts.ts +6 -0
  2261. package/vendor/motioncraft/assets/template/src/lib/format-context.tsx +5 -0
  2262. package/vendor/motioncraft/assets/template/src/lib/format.d.mts +2 -0
  2263. package/vendor/motioncraft/assets/template/src/lib/format.mjs +28 -0
  2264. package/vendor/motioncraft/assets/template/src/lib/timeline.ts +29 -0
  2265. package/vendor/motioncraft/assets/template/src/lib/tokens.ts +9 -0
  2266. package/vendor/motioncraft/assets/template/src/scenes/Example.tsx +76 -0
  2267. package/vendor/motioncraft/assets/template/src/scenes/Launch.tsx +26 -0
  2268. package/vendor/motioncraft/assets/template/src/scenes/TimelineLegacy.tsx +24 -0
  2269. package/vendor/motioncraft/assets/template/src/scenes/TimelineVideo.tsx +49 -0
  2270. package/vendor/motioncraft/assets/template/src/scenes/Tutorial.tsx +37 -0
  2271. package/vendor/motioncraft/assets/template/src/style.json +62 -0
  2272. package/vendor/motioncraft/assets/template/tsconfig.json +7 -0
  2273. package/vendor/motioncraft/references/animation-system.md +57 -0
  2274. package/vendor/motioncraft/references/assets-and-licensing.md +21 -0
  2275. package/vendor/motioncraft/references/customization.md +52 -0
  2276. package/vendor/motioncraft/references/gpu-cloud-render.md +15 -0
  2277. package/vendor/motioncraft/references/music.md +43 -0
  2278. package/vendor/motioncraft/references/phase1-planning-and-preview.md +74 -0
  2279. package/vendor/motioncraft/references/phase2-timeline-audio.md +33 -0
  2280. package/vendor/motioncraft/references/phase3-pixel-review.md +13 -0
  2281. package/vendor/motioncraft/references/phase4-templates.md +30 -0
  2282. package/vendor/motioncraft/references/preflight.md +27 -0
  2283. package/vendor/motioncraft/references/qa.md +53 -0
  2284. package/vendor/motioncraft/references/reference-analysis.md +37 -0
  2285. package/vendor/motioncraft/references/research-and-topic.md +25 -0
  2286. package/vendor/motioncraft/references/script-and-structure.md +39 -0
  2287. package/vendor/motioncraft/references/sfx.md +40 -0
  2288. package/vendor/motioncraft/references/social-formats.md +18 -0
  2289. package/vendor/motioncraft/references/taste.md +36 -0
  2290. package/vendor/motioncraft/references/troubleshooting.md +19 -0
  2291. package/vendor/motioncraft/references/typography.md +34 -0
  2292. package/vendor/motioncraft/references/voiceover.md +37 -0
  2293. package/vendor/motioncraft/references/workflow.md +40 -0
  2294. package/vendor/motioncraft/scripts/assets/timeline-editor.js +24 -0
  2295. package/vendor/motioncraft/scripts/doctor.ps1 +13 -0
  2296. package/vendor/motioncraft/scripts/doctor.sh +23 -0
  2297. package/vendor/motioncraft/scripts/lib/audio.mjs +58 -0
  2298. package/vendor/motioncraft/scripts/lib/check-update.mjs +66 -0
  2299. package/vendor/motioncraft/scripts/lib/commands.mjs +147 -0
  2300. package/vendor/motioncraft/scripts/lib/doctor.mjs +67 -0
  2301. package/vendor/motioncraft/scripts/lib/dsp.mjs +178 -0
  2302. package/vendor/motioncraft/scripts/lib/music.mjs +162 -0
  2303. package/vendor/motioncraft/scripts/lib/phase1.mjs +90 -0
  2304. package/vendor/motioncraft/scripts/lib/phase2.mjs +89 -0
  2305. package/vendor/motioncraft/scripts/lib/qa-full.mjs +24 -0
  2306. package/vendor/motioncraft/scripts/lib/qa-pixels.mjs +47 -0
  2307. package/vendor/motioncraft/scripts/lib/qa.mjs +66 -0
  2308. package/vendor/motioncraft/scripts/lib/qa_full.py +45 -0
  2309. package/vendor/motioncraft/scripts/lib/qa_pixels.py +50 -0
  2310. package/vendor/motioncraft/scripts/lib/render-worker.mjs +37 -0
  2311. package/vendor/motioncraft/scripts/lib/render.mjs +31 -0
  2312. package/vendor/motioncraft/scripts/lib/retime-audio.mjs +49 -0
  2313. package/vendor/motioncraft/scripts/lib/sfx.mjs +68 -0
  2314. package/vendor/motioncraft/scripts/lib/style.mjs +44 -0
  2315. package/vendor/motioncraft/scripts/lib/templates.mjs +34 -0
  2316. package/vendor/motioncraft/scripts/lib/timeline-editor.mjs +74 -0
  2317. package/vendor/motioncraft/scripts/lib/util.mjs +45 -0
  2318. package/vendor/motioncraft/scripts/lib/voices.mjs +85 -0
  2319. package/vendor/motioncraft/scripts/motioncraft.mjs +79 -0
  2320. package/vendor/motioncraft/scripts/py/whisper_words.py +13 -0
  2321. package/vendor/motioncraft/styles/mono-editorial/style.md +13 -0
  2322. package/vendor/motioncraft/styles/mono-editorial/tokens.json +256 -0
  2323. package/vendor/motioncraft/styles/pi-v2/style.md +15 -0
  2324. package/vendor/motioncraft/styles/pi-v2/tokens.json +62 -0
  2325. package/vendor/motioncraft/styles/pi-v2-dark/style.md +13 -0
  2326. package/vendor/motioncraft/styles/pi-v2-dark/tokens.json +256 -0
  2327. package/vendor/motioncraft/styles/tech-neon-soft/style.md +13 -0
  2328. package/vendor/motioncraft/styles/tech-neon-soft/tokens.json +256 -0
  2329. package/vendor/motioncraft/styles/warm-paper/style.md +13 -0
  2330. package/vendor/motioncraft/styles/warm-paper/tokens.json +256 -0
  2331. package/vendor/motioncraft/tests/beat.test.mjs +13 -0
  2332. package/vendor/motioncraft/tests/camera3d.test.mjs +22 -0
  2333. package/vendor/motioncraft/tests/check-update.test.mjs +19 -0
  2334. package/vendor/motioncraft/tests/format.test.mjs +23 -0
  2335. package/vendor/motioncraft/tests/kinetic.test.mjs +10 -0
  2336. package/vendor/motioncraft/tests/morph.test.mjs +13 -0
  2337. package/vendor/motioncraft/tests/phase1.test.mjs +27 -0
  2338. package/vendor/motioncraft/tests/phase2.test.mjs +57 -0
  2339. package/vendor/motioncraft/tests/phase3.test.mjs +25 -0
  2340. package/vendor/motioncraft/tests/phase4.test.mjs +21 -0
  2341. package/vendor/motioncraft/tests/qa-frame-rate.test.mjs +15 -0
  2342. package/vendor/motioncraft/tests/qa-full.test.mjs +10 -0
  2343. package/vendor/motioncraft/tests/render-worker.test.mjs +7 -0
  2344. package/vendor/motioncraft/tests/retime-audio.test.mjs +23 -0
  2345. package/vendor/motioncraft/tests/timeline-editor.test.mjs +45 -0
  2346. package/voz/primo_voz/transcrever.py +34 -4
  2347. /package/comandos/{explicar.md → explain.md} +0 -0
  2348. /package/comandos/{revisar.md → review.md} +0 -0
  2349. /package/comandos/{publicar.md → ship.md} +0 -0
@@ -0,0 +1,162 @@
1
+ // Music engine: arranges a calm-with-punch instrumental from a small JSON spec.
2
+ import * as D from './dsp.mjs';
3
+ import * as V from './voices.mjs';
4
+ const { SR } = D;
5
+
6
+ // Proven progressions grouped by mood. [scale degree semitones from key, chord quality]
7
+ export const PROGRESSIONS = {
8
+ 'warm-lift': { mood: ['warm', 'optimistic'], chords: [[0, 'maj7'], [4, 'm7'], [5, 'maj7'], [7, 'sus']] },
9
+ 'dreamy': { mood: ['dreamy', 'calm'], chords: [[9, 'm7'], [5, 'maj7'], [0, 'add9'], [7, 'sus']] },
10
+ 'soft-pop': { mood: ['bright', 'friendly'], chords: [[0, 'add9'], [7, 'sus'], [9, 'm7'], [5, 'maj7']] },
11
+ 'night-drive': { mood: ['cool', 'focused'], chords: [[9, 'm7'], [7, '7sus'], [5, 'maj7'], [4, 'm7']] },
12
+ 'hopeful': { mood: ['hopeful', 'cinematic'], chords: [[5, 'maj7'], [7, 'sus'], [9, 'm7'], [0, 'add9']] },
13
+ 'lofi-desk': { mood: ['lofi', 'cozy'], chords: [[2, 'm9'], [7, '9'], [0, 'maj9'], [9, 'm7']] },
14
+ 'minimal-dark':{ mood: ['serious', 'dark'], chords: [[9, 'm9'], [5, 'maj7'], [2, 'm7'], [4, 'm7']] },
15
+ 'tech-bright': { mood: ['tech', 'energetic'], chords: [[0, 'add9'], [9, 'm7'], [5, 'add9'], [7, 'sus']] },
16
+ };
17
+ const Q = { maj7: [0, 4, 7, 11], m7: [0, 3, 7, 10], sus: [0, 5, 7, 10], '7sus': [0, 5, 7, 10], '7': [0, 4, 7, 10], add9: [0, 4, 7, 14], m9: [0, 3, 7, 10, 14], maj9: [0, 4, 7, 11, 14], '9': [0, 4, 7, 10, 14], m: [0, 3, 7], maj: [0, 4, 7] };
18
+
19
+ // Presets: every knob in one place. Guardrails live in validateSpec().
20
+ export const PRESETS = {
21
+ 'calm-punch': { bpm: 102, key: 'F', progression: 'warm-lift', swing: 0.57, lead: 'marimba', comp: 'syncopated', drums: 'soft', brightness: 1.0, levels: {} },
22
+ 'dreamy': { bpm: 93, key: 'D', progression: 'dreamy', swing: 0.62, lead: 'marimba', comp: 'syncopated', drums: 'soft', brightness: 0.85, levels: { bell: -9, keys: -6, pad: -9, hats: -7 } },
23
+ 'warm-major': { bpm: 98, key: 'G', progression: 'soft-pop', swing: 0.55, lead: 'glock', comp: 'offbeat', drums: 'soft', brightness: 1.0, levels: {} },
24
+ 'lofi-desk': { bpm: 84, key: 'Eb', progression: 'lofi-desk', swing: 0.64, lead: 'pluck', comp: 'lazy', drums: 'lofi', brightness: 0.7, levels: { hats: -9 } },
25
+ 'tech-bright': { bpm: 112, key: 'A', progression: 'tech-bright', swing: 0.52, lead: 'pluck', comp: 'eighths', drums: 'tight', brightness: 1.15, levels: {} },
26
+ 'dark-minimal': { bpm: 90, key: 'C', progression: 'minimal-dark', swing: 0.54, lead: 'glock', comp: 'sustain', drums: 'soft', brightness: 0.75, levels: { bell: -10 } },
27
+ 'cinematic-soft': { bpm: 88, key: 'Bb', progression: 'hopeful', swing: 0.5, lead: 'glock', comp: 'sustain', drums: 'sparse', brightness: 0.9, levels: { pad: -7 } },
28
+ };
29
+ const MOOD_BPM = { calm: [80, 96], 'calm-punch': [90, 105], energetic: [105, 122] };
30
+
31
+ const COMP = {
32
+ syncopated: [[0, 3], [3, 2], [6, 3], [10, 2], [12, 3]],
33
+ offbeat: [[2, 2], [6, 2], [10, 2], [14, 2]],
34
+ lazy: [[0, 5], [7, 3], [11, 5]],
35
+ eighths: [[0, 2], [2, 2], [4, 2], [6, 2], [8, 2], [10, 2], [12, 2], [14, 2]],
36
+ sustain: [[0, 16]],
37
+ };
38
+ const DRUMS = {
39
+ soft: { kick: [0, 8], kickMain: [7], kickOdd: [10], hats: 2, snare: true, shaker: true },
40
+ tight: { kick: [0, 8], kickMain: [6, 11], kickOdd: [10], hats: 1, snare: true, shaker: false },
41
+ lofi: { kick: [0, 7], kickMain: [10], kickOdd: [], hats: 2, snare: true, shaker: false },
42
+ sparse: { kick: [0], kickMain: [8], kickOdd: [], hats: 4, snare: false, shaker: false },
43
+ };
44
+
45
+ export function resolveSpec(spec) {
46
+ const base = PRESETS[spec.preset || 'calm-punch'] || PRESETS['calm-punch'];
47
+ const s = { ...base, ...spec, levels: { ...base.levels, ...(spec.levels || {}) } };
48
+ if (!s.chords) s.chords = (PROGRESSIONS[s.progression] || PROGRESSIONS['warm-lift']).chords;
49
+ s.seed = s.seed ?? 7;
50
+ return s;
51
+ }
52
+
53
+ export function validateSpec(s) {
54
+ const issues = [];
55
+ if (s.bpm < 70 || s.bpm > 128) issues.push(`bpm ${s.bpm} is outside 70-128; calm-with-punch lives at 88-108`);
56
+ if (s.swing < 0.5 || s.swing > 0.68) issues.push(`swing ${s.swing} should be 0.50-0.68`);
57
+ if (D.NOTE[s.key] == null) issues.push(`unknown key ${s.key}`);
58
+ for (const [, q] of s.chords) if (!Q[q]) issues.push(`unknown chord quality ${q}`);
59
+ if (!COMP[s.comp]) issues.push(`comp must be one of ${Object.keys(COMP).join(', ')}`);
60
+ if (!DRUMS[s.drums]) issues.push(`drums must be one of ${Object.keys(DRUMS).join(', ')}`);
61
+ if (s.lead && !['marimba', 'glock', 'pluck', 'none'].includes(s.lead)) issues.push('lead must be marimba, glock, pluck or none');
62
+ return issues;
63
+ }
64
+
65
+ // Variety rule: a new track must differ from the last one on at least 2 of key, bpm (>=6), progression, lead.
66
+ export function varietyCheck(s, last) {
67
+ if (!last) return { ok: true, diffs: 4 };
68
+ let d = 0; const why = [];
69
+ if (s.key !== last.key) d++; else why.push('same key');
70
+ if (Math.abs(s.bpm - last.bpm) >= 6) d++; else why.push('bpm within 6');
71
+ if (JSON.stringify(s.chords) !== JSON.stringify(last.chords)) d++; else why.push('same progression');
72
+ if (s.lead !== last.lead) d++; else why.push('same lead');
73
+ return { ok: d >= 2, diffs: d, why };
74
+ }
75
+
76
+ // Auto arrangement from duration + drop time
77
+ export function autoSections(dur, drop, bpm, tail = 2.5) {
78
+ const bar = 240 / bpm; const total = Math.max(4, Math.round((dur - tail) / bar));
79
+ let dropBar = drop != null ? Math.round(drop / bar) : Math.min(4, Math.floor(total / 3));
80
+ dropBar = Math.max(1, Math.min(dropBar, total - 3));
81
+ const intro = Math.min(2, dropBar), groove = dropBar - intro, outro = Math.min(3, Math.max(1, Math.round(total * 0.12)));
82
+ const rest = total - dropBar - outro; const secs = [{ type: 'intro', bars: intro }];
83
+ if (groove) secs.push({ type: 'groove', bars: groove });
84
+ if (rest >= 9) { const m1 = Math.ceil((rest - 2) / 2); secs.push({ type: 'main', bars: m1 }, { type: 'breakdown', bars: 2 }, { type: 'main', bars: rest - 2 - m1 }); }
85
+ else secs.push({ type: 'main', bars: Math.max(1, rest) });
86
+ secs.push({ type: 'outro', bars: outro });
87
+ return secs.filter((x) => x.bars > 0);
88
+ }
89
+
90
+ export function renderMusic(input) {
91
+ const s = resolveSpec(input); D.setSeed(s.seed);
92
+ const key = D.NOTE[s.key], beat = 60 / s.bpm, bar = beat * 4, six = beat / 4, swing = s.swing;
93
+ const sections = s.sections || autoSections(s.duration || 60, s.drop, s.bpm, s.tail ?? 2.5);
94
+ const totalBars = sections.reduce((a, x) => a + x.bars, 0);
95
+ const dur = totalBars * bar + (s.tail ?? 2.5), n = Math.round(dur * SR);
96
+ const T = Object.fromEntries(['kick', 'bass', 'snare', 'hats', 'keys', 'pad', 'bell', 'fx'].map((k) => [k, D.stereo(n)]));
97
+ const swingT = (st) => Math.floor(st / 2) * (beat / 2) + (st % 2) * (beat / 2) * swing;
98
+ const K = { snap: V.snap(), clap: V.clap(), hat: V.hat(), hatO: V.hat(true), shaker: V.shaker() };
99
+ const dr = DRUMS[s.drums]; const kicks = []; const markers = []; let bar0 = 0;
100
+ const comp = COMP[s.comp];
101
+ sections.forEach((sec, si) => {
102
+ const name = sec.type; markers.push({ section: name, start_s: +(bar0 * bar).toFixed(4), bars: sec.bars });
103
+ for (let b = 0; b < sec.bars; b++) {
104
+ const t0 = (bar0 + b) * bar; const [r, q] = s.chords[(bar0 + b) % s.chords.length]; const pc = (key + r) % 12;
105
+ const voic = Q[q].map((iv) => { const m = 48 + pc + iv; return m >= 53 ? m : m + 12; });
106
+ const bassM = pc < 8 ? 36 + pc : 24 + pc; const drums = name === 'groove' || name === 'main'; const last = b === sec.bars - 1;
107
+ let pat = name === 'outro' ? [[0, 16]] : name === 'intro' ? [[0, 6], [6, 4], [10, 6]] : comp;
108
+ for (const [p, L] of pat) for (const m of voic) D.place(T.keys, V.epNote(m, L * six * 1.1, 0.55, s.brightness), t0 + swingT(p), 0.3);
109
+ D.place(T.pad, V.supersaw(voic, bar * 1.1, { bright: 1600 * s.brightness }), t0, 0.22);
110
+ if (['groove', 'main', 'breakdown'].includes(name)) {
111
+ const bl = name === 'breakdown' ? [[0, 16]] : [[0, 6], [6, 4], [10, 6]];
112
+ for (const [p, L] of bl) D.place(T.bass, V.roundBass(D.midiHz(bassM), L * six * 0.95), t0 + swingT(p), 0.7);
113
+ if (drums && b % 2 === 1) D.place(T.bass, V.roundBass(D.midiHz(bassM + 7), six * 1.8), t0 + swingT(14), 0.5);
114
+ }
115
+ if (drums) {
116
+ const kp = [...dr.kick, ...(name === 'main' ? dr.kickMain : []), ...(b % 2 ? dr.kickOdd : [])];
117
+ for (const p of kp) { D.place(T.kick, V.softKick(), t0 + swingT(p), 0.9); kicks.push(t0 + swingT(p)); }
118
+ if (dr.snare) for (const qn of [1, 3]) { D.place(T.snare, K.snap, t0 + qn * beat, 0.45); D.place(T.snare, K.clap, t0 + qn * beat + 0.006, 0.2); }
119
+ for (let p = 0; p < 16; p += dr.hats) D.place(T.hats, K.hat, t0 + swingT(p), p % 4 ? 0.16 : 0.22, 0.15);
120
+ if (name === 'main' && dr.shaker) for (let p = 1; p < 16; p += 2) D.place(T.hats, K.shaker, t0 + swingT(p), 0.07, -0.2);
121
+ if (last && si + 1 < sections.length) for (const p of [12, 13, 14, 15]) D.place(T.snare, K.snap, t0 + swingT(p), 0.12 + 0.05 * (p - 12));
122
+ }
123
+ if (name === 'main' && s.lead !== 'none') {
124
+ const mel = b % 2 === 0 ? [[0, 12], [3, 14], [6, 16], [10, 19]] : [[0, 17], [4, 16], [6, 14], [8, 12], [12, 11]];
125
+ for (const [p, iv] of mel) { const m = 60 + ((key + iv) % 24) + (key + iv < 12 ? 12 : 0);
126
+ const v = s.lead === 'glock' ? V.glock(m + 12, 1.0, 0.5) : s.lead === 'pluck' ? V.pluck(m, 0.7, 0.55) : V.marimba(m, 0.9);
127
+ D.place(T.bell, v, t0 + swingT(p), 0.35, (p % 3 - 1) * 0.25); }
128
+ }
129
+ }
130
+ const nxt = sections[si + 1]?.type; const endT = (bar0 + sec.bars) * bar;
131
+ if ((nxt === 'groove' || nxt === 'main') && (name === 'intro' || name === 'breakdown')) {
132
+ const [nr, nq] = s.chords[(bar0 + sec.bars) % s.chords.length]; const npc = (key + nr) % 12;
133
+ const sw = V.swell(bar * 0.9, Q[nq].map((iv) => (48 + npc + iv >= 53 ? 48 + npc + iv : 60 + npc + iv)));
134
+ D.place(T.fx, sw, endT - sw.L.length / SR, 0.25);
135
+ D.place(T.fx, D.filt(V.hat(true), 'lp', 7000), endT, 0.3);
136
+ }
137
+ bar0 += sec.bars;
138
+ });
139
+ const chain = {
140
+ kick: (x) => D.compress(D.filt(x, 'lowshelf', 70, 0.707, 2), -14, 3, 3, 80),
141
+ bass: (x) => D.compress(D.filt(x, 'lp', 1500), -16, 3, 8, 100),
142
+ snare: (x) => D.withReverb(D.compress(D.filt(x, 'hp', 300), -18, 2.5, 3, 100), 0.35, 0.6, 0.2, 0.85),
143
+ hats: (x) => D.filt(D.filt(x, 'hp', 6000), 'lp', 14000),
144
+ keys: (x) => D.withReverb(D.compress(D.chorus(D.filt(D.filt(x, 'hp', 150), 'lp', 6500 * s.brightness), 0.9, 3, 0.35), -18, 2, 10, 150), 0.45, 0.5, 0.18, 0.85),
145
+ pad: (x) => D.withReverb(D.filt(x, 'hp', 200), 0.8, 0.5, 0.35, 0.7),
146
+ bell: (x) => D.withReverb(D.delay(D.filt(x, 'hp', 300), beat * 0.75, 0.3, 0.2), 0.5, 0.5, 0.25, 0.8),
147
+ fx: (x) => D.withReverb(D.filt(x, 'hp', 150), 0.7, 0.5, 0.3, 0.8),
148
+ };
149
+ const levels = { kick: -2, bass: -3, snare: -3, hats: -6, keys: -8, pad: -11, bell: -5, fx: -9, ...s.levels };
150
+ const sc = new Float32Array(n).fill(1); const rel = Math.round(beat * 0.4 * SR);
151
+ for (const kt of kicks) { const i = Math.round(kt * SR); for (let k = 0; k < rel && i + k < n; k++) { const v = 1 - (1 - D.db(-3)) * Math.pow(1 - k / rel, 1.5); if (v < sc[i + k]) sc[i + k] = v; } }
152
+ const stems = {}; const mix = D.stereo(n);
153
+ for (const [k, x] of Object.entries(T)) { let y = D.peak(x) > 0 ? chain[k](x) : x; D.gain(y, D.db(levels[k]));
154
+ if (['bass', 'keys', 'pad'].includes(k)) for (let i = 0; i < n; i++) { y.L[i] *= sc[i]; y.R[i] *= sc[i]; }
155
+ stems[k] = y; D.mixInto(mix, y); }
156
+ const secGain = { intro: 1.5, breakdown: -1.0 };
157
+ for (const m of markers) if (secGain[m.section] != null) { const a = Math.round(m.start_s * SR), L = Math.round(m.bars * bar * SR), g = D.db(secGain[m.section]), r = Math.min(Math.round(0.08 * SR), L >> 2);
158
+ for (let i = 0; i < L && a + i < n; i++) { let gg = g; if (i < r) gg = 1 + (g - 1) * i / r; else if (i > L - r) gg = g + (1 - g) * (i - (L - r)) / r; mix.L[a + i] *= gg; mix.R[a + i] *= gg; } }
159
+ D.fadeOut(mix, 2.0);
160
+ const beats = []; for (let t = 0; t < dur; t += beat) beats.push(+t.toFixed(4));
161
+ return { mix, stems, markers, kicks, dur, spec: s, beats };
162
+ }
@@ -0,0 +1,90 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import crypto from 'node:crypto';
4
+ import {run, die, readJson, writeJson, mkdirp, workDir, ff} from './util.mjs';
5
+
6
+ const ROLES = ['hook', 'reframe', 'proof', 'proof', 'how', 'how', 'cta', 'end'];
7
+ const WEIGHTS = [0.09, 0.12, 0.19, 0.13, 0.15, 0.14, 0.10, 0.08];
8
+ const VISUAL = {
9
+ hook: 'one plain-language headline and one visual focal point',
10
+ reframe: 'show the old problem, then the new approach',
11
+ proof: 'real footage, credited example, or a verified claim',
12
+ how: 'one step with an on-screen action',
13
+ cta: 'one clear action',
14
+ end: 'brand and handle with breathing room',
15
+ };
16
+ const clean = (x) => String(x || '').trim();
17
+ const num = (x, name, min, max) => { const n = Number(x); if (!Number.isFinite(n) || n < min || n > max) die(`${name} must be ${min}-${max}`); return n; };
18
+ const slug = (x) => x.toLowerCase().replace(/[^a-z0-9-]+/g, '-').replace(/^-|-$/g, '').slice(0, 50) || 'scene';
19
+ function loadBrief(a) {
20
+ const file = path.resolve(a.brief || 'brief.json'); const b = readJson(file);
21
+ if (!b || typeof b !== 'object') die(`read a brief JSON at ${file}`, 'required: topic, audience, goal; optional: duration, language, handle, facts, proof, cta, scenes');
22
+ for (const k of ['topic','audience','goal']) if (!clean(b[k])) die(`brief needs ${k}`);
23
+ const duration = num(b.duration ?? 60, 'duration', 15, 180);
24
+ return { ...b, duration, language: clean(b.language) || 'id', format: clean(b.format) || '16:9' };
25
+ }
26
+ export function storyboard(a) {
27
+ const brief = loadBrief(a); const scenes = [];
28
+ const supplied = brief.scenes;
29
+ if (supplied && (!Array.isArray(supplied) || supplied.length < 3 || supplied.length > 12)) die('brief.scenes needs 3-12 scene objects');
30
+ const specs = supplied || ROLES.map((role) => ({role}));
31
+ const weights = supplied ? specs.map((s) => num(s.weight ?? 1, 'scene weight', 0.1, 20)) : WEIGHTS;
32
+ const fps = num(a.fps || 30, 'fps', 1, 120), total = Math.round(brief.duration * fps);
33
+ if(!Number.isInteger(fps)) die('fps must be a whole number');
34
+ const minFrames = Math.round(0.8 * fps); if (total < specs.length * minFrames) die('video too short for scene count');
35
+ const free = total - specs.length * minFrames, sum = weights.reduce((x,y) => x+y,0);
36
+ const ends = []; let cumulative = 0;
37
+ for (let i=0;i<specs.length;i++) { cumulative += weights[i]/sum; ends.push(i === specs.length-1 ? total : Math.round((i+1)*minFrames + cumulative*free)); }
38
+ let start=0;
39
+ for (let i=0;i<specs.length;i++) { const s=specs[i], role=clean(s.role)||'scene'; const end=ends[i];
40
+ scenes.push({ id: `${String(i+1).padStart(2,'0')}-${slug(role)}`, role, fromFrame:start, toFrame:end, start:+(start/fps).toFixed(2), end:+(end/fps).toFixed(2), previewFrame:Math.min(end-1, start+Math.max(1,Math.floor((end-start)*0.72))),
41
+ headline:clean(s.headline), visual:clean(s.visual) || VISUAL[role] || 'one clear focal point', proof:clean(s.proof), cue:clean(s.cue), ...(s.events ? {events:s.events} : {}), ...(s.animations ? {animations:s.animations} : {}), ...(s.transition===false ? {transition:false} : {}), status:s.headline?'draft':'needs_copy' }); start=end; }
42
+ const board={version:1, topic:brief.topic, audience:brief.audience, goal:brief.goal, language:brief.language, format:brief.format, duration:brief.duration, fps, handle:clean(brief.handle), cta:clean(brief.cta), scenes,
43
+ notes:['This is a timing and visual-role scaffold, not a written script or a Remotion composition.', 'Fill each headline, confirm factual claims and licenses, and inspect the stills before a full render.']};
44
+ const file=path.resolve(a.out||'storyboard.json'); writeJson(file,board);
45
+ const md=path.resolve(a.md||file.replace(/\.json$/i,'')+'.md');
46
+ fs.writeFileSync(md,`# ${brief.topic}\n\nAudience: ${brief.audience} | Goal: ${brief.goal} | ${brief.duration}s | ${brief.language}\n\n| Time | Role | Headline | Visual / evidence |\n|---|---|---|---|\n${scenes.map(s=>`| ${s.start.toFixed(1)}-${s.end.toFixed(1)}s | ${s.role} | ${s.headline||'TODO: write and approve'} | ${s.visual.replace(/\|/g,'/')} |`).join('\n')}\n\nApprove the copy, proof and assets before rendering. This board is not final video code.\n`);
47
+ return {storyboard:file, review:md, scenes:scenes.length, duration:brief.duration, needsCopy:scenes.filter(s=>!s.headline).length};
48
+ }
49
+ function project(a) { const p=workDir(a), entry=path.join(p,'src/index.ts'); if (!fs.existsSync(entry)) die(`not a Remotion project: ${p}`); return p; }
50
+ function remotion(p,args) { const r=run('npx',['--no-install','remotion',...args],{cwd:p,encoding:'utf8',maxBuffer:1<<24}); if(r.status!==0) die('Remotion failed: '+(r.stderr||r.stdout||'').slice(-800)); return r; }
51
+ export function preview(a) {
52
+ const p=project(a), board=readJson(path.resolve(a.board||path.join(p,'storyboard.json')));
53
+ if (!board?.scenes?.length) die('storyboard scenes missing; pass --board storyboard.json');
54
+ const fps=num(board.fps,'storyboard fps',1,120), scale=num(a.scale??0.35,'scale',0.1,1), comp=clean(a.comp)||'Main';
55
+ const r=remotion(p,['compositions','src/index.ts']); const line=r.stdout.split('\n').find(x=>x.trim().startsWith(comp+' '));
56
+ if(!line) die(`composition ${comp} not found`); const match=line.match(/^\s*\S+\s+(\d+)\s+\S+\s+(\d+)\s+\(/);
57
+ if(!match) die(`could not read composition metadata: ${line}`);
58
+ if(Number(match[1])!==fps) die(`board fps ${fps} differs from composition fps ${match[1]}`);
59
+ const last=Math.max(...board.scenes.map(s=>Number(s.previewFrame))); if(last>=Number(match[2])) die(`board needs frame ${last}, but composition ${comp} ends at ${Number(match[2])-1}; update durationInFrames in src/Root.tsx before preview`);
60
+ const out=path.resolve(a.out||path.join(p,'out','preview-stills')); mkdirp(out);
61
+ const ids=new Set(); for(const scene of board.scenes) { if(!/^[a-z0-9_-]+$/i.test(scene.id||'')) die(`invalid scene id: ${scene.id}`); if(ids.has(scene.id)) die(`duplicate scene id: ${scene.id}`); ids.add(scene.id); }
62
+ const frames=[];
63
+ for (const s of board.scenes) { const f=Math.round(Number(s.previewFrame)); if (!Number.isFinite(f)||f<0) die(`bad preview frame for ${s.id}`);
64
+ const image=path.join(out,`${s.id}.png`); remotion(p,['still','src/index.ts',comp,image,'--frame',String(f),'--scale',String(scale),'--gl',a.gl||'swangle']); frames.push({id:s.id,frame:f,time:+(f/fps).toFixed(2),image}); }
65
+ // ffmpeg tile is deterministic and operates on actual rendered still pixels, not a mock storyboard.
66
+ const list=path.join(out,'frames.txt'); fs.writeFileSync(list,frames.map(f=>`file '${f.image.replace(/'/g,"'\\''")}'`).join('\n')+'\n');
67
+ const sheet=path.join(out,'contact-sheet.jpg');
68
+ ff(['-f','concat','-safe','0','-i',list,'-vf',`scale=640:-2,tile=${Math.min(3,frames.length)}x${Math.ceil(frames.length/Math.min(3,frames.length))}:padding=12:margin=12:color=white`,'-frames:v','1',sheet]);
69
+ return {sheet,frames,note:'Stills are sampled from the current composition at storyboard frames. Review every image; this does not create scenes from the board or replace a motion/audio preview.'};
70
+ }
71
+ function sourceFiles(root,paths) { return paths.flatMap(name=>{const p=path.resolve(root,name); if(!p.startsWith(root+path.sep)||!fs.existsSync(p)) die(`missing or outside project source: ${name}`); const st=fs.statSync(p); if(st.isDirectory()) return fs.readdirSync(p).sort().flatMap(child=>sourceFiles(root,[path.relative(root,path.join(p,child))])); return [{file:path.relative(root,p),hash:crypto.createHash('sha256').update(fs.readFileSync(p)).digest('hex')}];}); }
72
+ export function cache3d(a) {
73
+ const p=project(a), comp=clean(a.comp); if(!comp) die('cache3d needs --comp for an isolated 3D-only composition');
74
+ const sources=clean(a.sources).split(',').map(s=>s.trim()).filter(Boolean); if(!sources.length) die('cache3d needs --sources src/scenes/Logo.tsx,... so edits invalidate the cache');
75
+ const start=num(a.start??0,'start',0,1e6), end=num(a.end,'end',start+1,1e6), scale=num(a.scale??1,'scale',0.1,1);
76
+ if(!Number.isInteger(start)||!Number.isInteger(end)) die('start and end must be whole frames');
77
+ if(a.props) die('cache3d --props is not supported yet; bake the intended properties into the isolated composition so the cache reflects exactly what is rendered');
78
+ const fps=num(a.fps??30,'fps',1,120); const cs=remotion(p,['compositions','src/index.ts']); const line=cs.stdout.split('\n').find(x=>x.trim().startsWith(comp+' '));
79
+ const c= line?.match(/^\s*\S+\s+(\d+)\s+\S+\s+(\d+)\s+\(/); if(!c) die(`composition ${comp} not found`);
80
+ if(Number(c[1])!==fps) die(`composition fps ${c[1]} differs from --fps ${fps}`); if(end>=Number(c[2])) die(`end frame ${end} exceeds composition last frame ${Number(c[2])-1}`);
81
+ const manifest={version:1,comp,start,end,scale,fps,sources:sourceFiles(p,sources),engine:'motioncraft-cache3d-v1'};
82
+ const key=crypto.createHash('sha256').update(JSON.stringify(manifest)).digest('hex').slice(0,16);
83
+ const base=path.join(p,'public','mc-cache',`${slug(comp)}-${key}`), count=end-start+1, meta=path.join(base,'manifest.json');
84
+ if(fs.existsSync(meta)&&Array.from({length:count},(_,i)=>fs.existsSync(path.join(base,`${String(i).padStart(6,'0')}.png`))).every(Boolean)) return {cached:true,dir:base,frames:count,key,component:`<CachedFrames dir="mc-cache/${slug(comp)}-${key}" start={${start}} count={${count}} />`};
85
+ mkdirp(base); for(const f of fs.readdirSync(base)) if(f.endsWith('.png')) fs.rmSync(path.join(base,f)); remotion(p,['render','src/index.ts',comp,base,'--sequence','--image-format','png','--frames',`${start}-${end}`,'--scale',String(scale),'--gl',a.gl||'swangle','--muted']);
86
+ const files=fs.readdirSync(base).filter(f=>/^element-\d+\.png$/.test(f)).sort((x,y)=>Number(x.match(/\d+/)[0])-Number(y.match(/\d+/)[0]));
87
+ if(files.length!==count || files.some((name,i)=>Number(name.match(/\d+/)[0])!==start+i)) die(`expected ${count} contiguous frames from ${start}, got ${files.length}; cache not marked complete`);
88
+ files.forEach((name,i)=>fs.renameSync(path.join(base,name),path.join(base,`${String(i).padStart(6,'0')}.png`)));
89
+ writeJson(meta,manifest); return {cached:false,dir:base,frames:count,key,component:`<CachedFrames dir="mc-cache/${slug(comp)}-${key}" start={${start}} count={${count}} />`,warning:'Use an isolated 3D-only composition with a transparent background; include every 3D source, asset and style token in --sources. Changes outside that list cannot invalidate this cache.'};
90
+ }
@@ -0,0 +1,89 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import crypto from 'node:crypto';
4
+ import {readJson,writeJson,die,mkdirp,ff,probe} from './util.mjs';
5
+ import {PRESETS} from './music.mjs';
6
+ import {SFX_TYPES} from './sfx.mjs';
7
+
8
+ const MAP={typing:'type',type:'type',keypress:'type',click:'button',button:'button',transition:'whoosh_in',enter:'whoosh_in',exit:'whoosh_out',logo:'logo_sting',logo_reveal:'logo_sting',cta:'icon_pop',reveal:'icon_pop',check:'check'};
9
+ const LOUD=new Set(['logo_sting','impact','whoosh_in','whoosh_out']);
10
+ // Scene structure and exported animation timeline provide automatic, sparse cue candidates.
11
+ // Never infer UI actions or a logo merely because a storyboard prose description mentions one.
12
+ const MOTION_KINDS={text:'typing',text_appear:'typing',headline:'typing',transition:'transition',scene_transition:'transition',ui_click:'click',button_click:'click',ui:'click',logo:'logo_reveal',logo_reveal:'logo_reveal',check:'check'};
13
+ function motionEvents(scene, timeline, start, end, index, fps) {
14
+ const result=[];
15
+ if(scene.headline && scene.headline.trim()) result.push({kind:'typing',at:Math.min(end-1/fps,start+0.12),source:'scene.headline'});
16
+ if(index>0 && scene.transition!==false) result.push({kind:'transition',at:start,source:'scene.boundary'});
17
+ // The timeline comes from the actual animation plan. Times are absolute seconds;
18
+ // scene IDs are checked so an event cannot leak into an adjacent scene.
19
+ const entries=[...(Array.isArray(scene.animations)?scene.animations:[]),
20
+ ...(Array.isArray(timeline?.events)?timeline.events.filter(e=>e.scene===scene.id||e.sceneId===scene.id):[])];
21
+ for(const e of entries){
22
+ const kind=MOTION_KINDS[clean(e.kind||e.type).toLowerCase()];
23
+ if(kind){ const at=e.at??e.t??(e.frame==null?undefined:Number(e.frame)/fps); if(at==null)die(`animation ${kind} in ${scene.id||index+1} needs at/t/frame`); result.push({kind,at,source:'animation'}); }
24
+ }
25
+ return result;
26
+ }
27
+ const clean=x=>String(x??'').trim();
28
+ const seconds=(s,k)=>{const n=Number(s);if(!Number.isFinite(n)||n<0)die(`${k} needs non-negative seconds`);return n;};
29
+ export function autoCues(a){
30
+ const board=readJson(path.resolve(a.board||'storyboard.json'));
31
+ if(!board||!Array.isArray(board.scenes)||!board.scenes.length)die('board missing scenes; pass --board storyboard.json');
32
+ const dur=seconds(board.duration,'duration');if(!dur)die('board duration must be positive');
33
+ const fps=Number(board.fps??30), raw=[]; let unknown=[];
34
+ if(!Number.isFinite(fps)||fps<=0)die('board fps must be positive');
35
+ const timeline=a.timeline?readJson(path.resolve(a.timeline)):null;
36
+ if(a.timeline && !timeline)die(`cannot read timeline ${a.timeline}`);
37
+ for(const [i,scene] of board.scenes.entries()){
38
+ const start=seconds(scene.start,`scene ${i+1} start`), end=seconds(scene.end,`scene ${i+1} end`);
39
+ if(end<=start||end>dur+0.001)die(`scene ${i+1} has invalid range`);
40
+ const cue=clean(scene.cue).toLowerCase();
41
+ const events=scene.events??(cue && (MAP[cue]||SFX_TYPES.includes(cue))?[{kind:cue,at:start+0.12}]:motionEvents(scene,timeline,start,end,i,fps));
42
+ if(cue && !MAP[cue] && !SFX_TYPES.includes(cue) && !scene.events)unknown.push({scene:scene.id||i+1,kind:cue,note:'cue is not a known event; automatic animation cues used'});
43
+ if(!Array.isArray(events))die(`scene ${i+1} events must be an array`);
44
+ for(const event of events){
45
+ const kind=clean(event.kind||event.type).toLowerCase(), type=MAP[kind]||(SFX_TYPES.includes(kind)?kind:null);
46
+ if(!type){unknown.push({scene:scene.id||i+1,kind});continue;}
47
+ const at=seconds(event.at??event.t??start,`event ${kind}`);
48
+ if(at<start-0.001||at>=end||at>=dur)die(`event ${kind} at ${at}s falls outside scene ${scene.id||i+1}`);
49
+ // Sound 1 frame ahead of an on-screen landing. Tiny type/click sounds keep their precise timing.
50
+ const t=Math.max(0,at-((type==='type'||type==='button')?0:1/fps));
51
+ raw.push({type,t:+t.toFixed(3),snap:false,scene:scene.id||String(i+1),kind,source:event.source||'manual'});
52
+ }
53
+ }
54
+ raw.sort((x,y)=>x.t-y.t);
55
+ const minGap=seconds(a.minGap??0.12,'minGap'),maxPerMin=Number(a.maxPerMin??24);if(!Number.isFinite(maxPerMin)||maxPerMin<1||maxPerMin>240)die('maxPerMin must be 1-240');
56
+ const max=Math.max(1,Math.floor(maxPerMin*dur/60)),cues=[];
57
+ // Prefer a reveal or section transition over micro-clicks when the density cap binds.
58
+ const priority={logo_sting:4,impact:4,whoosh_in:3,whoosh_out:3,icon_pop:2,button:1,type:0};
59
+ raw.sort((x,y)=>(priority[y.type]??1)-(priority[x.type]??1)||x.t-y.t);
60
+ for(const c of raw){ if(cues.length>=max)break; if(cues.some(x=>Math.abs(x.t-c.t)<minGap))continue;
61
+ if(LOUD.has(c.type)&&cues.some(x=>LOUD.has(x.type)&&Math.abs(x.t-c.t)<0.55))continue;
62
+ cues.push(c); }
63
+ cues.sort((x,y)=>x.t-y.t);
64
+ const out=path.resolve(a.out||'audio/auto-cues.json');writeJson(out,{duration:dur,fps,cues});
65
+ return {file:out,cues:cues.length,skipped:raw.length-cues.length,unknown,perMinute:+(cues.length/dur*60).toFixed(1),note:'Review generated cues against the rendered video. Scene headlines and boundaries are inferred; UI and logo cues need structured animation timeline events. Explicit scene.events overrides all inferred cues for that scene.'};
66
+ }
67
+ export function moodOptions(a){
68
+ const moods={calm:['cinematic-soft','dreamy'],warm:['warm-major','calm-punch'],focused:['lofi-desk','dark-minimal'],bright:['tech-bright','warm-major'],premium:['cinematic-soft','dark-minimal']};
69
+ const name=clean(a.mood).toLowerCase();if(!moods[name])die(`choose --mood ${Object.keys(moods).join('|')}`);
70
+ const options=moods[name].map(id=>({preset:id,bpm:PRESETS[id].bpm,key:PRESETS[id].key,lead:PRESETS[id].lead,progression:PRESETS[id].progression}));
71
+ return {mood:name,options,note:'Options are existing instrumental presets, not a forced selection. Audition them and choose a different vibe from the last video; music make still enforces its variety guard.'};
72
+ }
73
+ export function reviewHash(file){return crypto.createHash('sha256').update(fs.readFileSync(file)).digest('hex');}
74
+ export function mixReview(a){
75
+ const file=path.resolve(a.file||'audio/final.wav');if(!fs.existsSync(file))die(`mix missing: ${file}`);
76
+ const p=probe(file),dur=Number(p.format.duration);if(!Number.isFinite(dur)||dur<=0)die('invalid mix duration');
77
+ const out=path.resolve(a.out||'out/mix-review');mkdirp(out);
78
+ const manifest=path.join(out,'review.json');
79
+ if(a.approve){const previous=readJson(manifest);if(!previous||previous.source!==file||previous.sha256!==reviewHash(file))die('mix changed or no matching review clips; rerun mix review');
80
+ previous.approvedAt=new Date().toISOString();writeJson(manifest,previous);return {manifest,approved:true,note:'Review gate recorded. Approval states the operator listened to the full mix and clips.'};}
81
+ const positions=a.cues?readJson(path.resolve(a.cues))?.cues||[]:[];
82
+ const markers=[0,...positions.map(c=>Number(c.t)).filter(t=>Number.isFinite(t)&&t>=0&&t<dur),Math.max(0,dur-3)];
83
+ const selected=[...new Set(markers.map(x=>+x.toFixed(2)))].sort((x,y)=>x-y).filter((t,i,all)=>i===0||t-all[i-1]>=0.5);
84
+ const clips=[];for(const [i,t] of selected.entries()){
85
+ const start=Math.max(0,t-0.45),length=Math.min(2.8,dur-start),dest=path.join(out,`cue-${String(i+1).padStart(2,'0')}.wav`);
86
+ ff(['-ss',String(start),'-i',file,'-t',String(length),'-ac','2','-ar','48000','-c:a','pcm_s16le',dest]);clips.push({at:t,start:+start.toFixed(2),file:dest}); }
87
+ writeJson(manifest,{source:file,sha256:reviewHash(file),duration:dur,clips});
88
+ return {manifest,clips,note:'Listen to the full mix AND cue clips before export; this command does not judge taste, masking or clipping. Run qa audio after listening.'};
89
+ }
@@ -0,0 +1,24 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import crypto from 'node:crypto';
4
+ import {probe,run,mkdirp,writeJson,die} from './util.mjs';
5
+
6
+ // Inspect every decoded frame of the rendered video. Sampling can miss a one-frame flash.
7
+ export function qaFull(a) {
8
+ const input=path.resolve(a._?.[1]||a.file||'out/final.mp4');
9
+ if(!fs.existsSync(input))die(`video not found: ${input}`);
10
+ const p=probe(input),v=p.streams.find(s=>s.codec_type==='video');if(!v)die('qa full needs a video stream');
11
+ const fpsNum=Number(v.avg_frame_rate?.split('/')[0]),fpsDen=Number(v.avg_frame_rate?.split('/')[1]||1),fps=fpsNum/fpsDen;
12
+ if(!Number.isFinite(fps)||fps<=0)die('video frame rate unavailable');
13
+ const duration=Number(p.format.duration);if(!Number.isFinite(duration)||duration<=0)die('video duration unavailable');
14
+ const dir=path.resolve(a.outDir||'out/qa-full');mkdirp(dir);const flaggedDir=path.join(dir,'flagged');mkdirp(flaggedDir);
15
+ const script=path.join(path.dirname(new URL(import.meta.url).pathname),'qa_full.py');
16
+ const r=run('python3',[script,input,String(v.width),String(v.height),String(fps),path.join(dir,'findings.json'),flaggedDir],{maxBuffer:1<<24});
17
+ if(r.status!==0)die('full QA failed: '+(r.stderr||r.stdout||'').slice(-800));
18
+ const findings=JSON.parse(fs.readFileSync(path.join(dir,'findings.json'),'utf8'));
19
+ const framesScanned=findings.framesScanned;
20
+ if(!framesScanned)die('No decoded frames');
21
+ const report={source:input,sha256:crypto.createHash('sha256').update(fs.readFileSync(input)).digest('hex'),framesScanned,width:v.width,height:v.height,duration,fps,issues:findings.issues,ocrFailures:findings.ocrFailures,pass:findings.issues.length===0&&findings.ocrFailures.length===0,note:'Every decoded frame was checked. OCR heuristics can miss low-contrast, animated, stylized or non-Latin text; collision flags are OCR geometry, not semantic proof. Inspect flagged frames and watch/listen to the final video. A pass is not visual certification.',flaggedFramesDir:flaggedDir};
22
+ const manifest=path.join(dir,'review.json');writeJson(manifest,report);
23
+ return {manifest,...report};
24
+ }
@@ -0,0 +1,47 @@
1
+ import fs from 'node:fs';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ import crypto from 'node:crypto';
5
+ import {fileURLToPath} from 'node:url';
6
+ import {ff,probe,readJson,writeJson,mkdirp,die,run} from './util.mjs';
7
+
8
+ const hash=f=>crypto.createHash('sha256').update(fs.readFileSync(f)).digest('hex');
9
+ const times=(duration,board,fps)=>{
10
+ const at=new Set([0,Math.max(0,duration-0.3)]);
11
+ if(board?.scenes?.length){for(const s of board.scenes){for(const t of [s.start,s.end-2/fps,s.previewFrame/fps])if(Number.isFinite(+t)&&t>=0&&t<duration)at.add(+t.toFixed(3));}}
12
+ else for(let i=0;i<8;i++)at.add(+((i+0.5)*duration/8).toFixed(3));
13
+ return [...at].sort((a,b)=>a-b).filter((v,i,x)=>i===0||v-x[i-1]>=0.18);
14
+ };
15
+ export function fontAudit(dir){
16
+ const style=readJson(path.join(dir,'src/style.json'));if(!style?.font) return {pass:false,issues:['src/style.json missing font config']};
17
+ const fontFile=path.join(dir,'src/lib/fonts.ts');if(!fs.existsSync(fontFile))return {pass:false,issues:['src/lib/fonts.ts missing']};
18
+ const text=fs.readFileSync(fontFile,'utf8'),tokenFile=path.join(dir,'src/lib/tokens.ts');const issues=[];
19
+ for(const [label,name] of Object.entries({display:style.font.display,mono:style.font.mono})){
20
+ if(!name)issues.push(`${label} font unset`);
21
+ else if(!text.includes(`@remotion/google-fonts/${name.replace(/[^A-Za-z0-9]/g,'')}`)&&!text.includes(`@remotion/fonts`))issues.push(`${label} font ${name} not imported in fonts.ts`);
22
+ }
23
+ if(!fs.existsSync(tokenFile)||!fs.readFileSync(tokenFile,'utf8').includes("import './fonts'"))issues.push('tokens.ts does not import fonts.ts');
24
+ const sizes=style.font.size||{};for(const [level,range] of Object.entries(sizes))if(!Array.isArray(range)||!range.every(x=>Number.isFinite(x)&&x>0))issues.push(`${level} font range invalid`);
25
+ return {pass:!issues.length,issues,note:'Static import/weight check only; inspect rendered glyphs for missing fonts or fallback. A successful import does not prove every character loaded.'};
26
+ }
27
+ export function qaPixels(a){
28
+ const file=path.resolve(a._?.[1]||a.file||'out/final.mp4'),p=probe(file),v=p.streams.find(s=>s.codec_type==='video');if(!v)die('qa pixels needs video');
29
+ const duration=Number(p.format.duration),fps=Number(v.avg_frame_rate?.split('/')[0])/Number(v.avg_frame_rate?.split('/')[1]||1)||30;
30
+ const dir=path.resolve(a.outDir||'out/qa-pixels');mkdirp(dir);
31
+ const board=a.board?readJson(path.resolve(a.board)):null,frames=[],audio=p.streams.some(s=>s.codec_type==='audio');
32
+ for(const [i,t] of times(duration,board,fps).entries()){
33
+ const image=path.join(dir,`frame-${String(i+1).padStart(2,'0')}.png`);
34
+ ff(['-ss',String(t),'-i',file,'-frames:v','1',image]);
35
+ const snippet=audio?path.join(dir,`audio-${String(i+1).padStart(2,'0')}.wav`):null;
36
+ if(snippet)ff(['-ss',String(Math.max(0,t-0.5)),'-i',file,'-vn','-t',String(Math.min(2,duration-Math.max(0,t-0.5))),'-ac','2','-ar','48000',snippet]);
37
+ frames.push({at:t,image,snippet});
38
+ }
39
+ const script=path.join(path.dirname(fileURLToPath(import.meta.url)),'qa_pixels.py');
40
+ const r=run('python3',[script,JSON.stringify({frames,width:v.width,height:v.height,dir})],{encoding:'utf8',maxBuffer:1<<23});if(r.status!==0)die('pixel review failed: '+(r.stderr||r.stdout||'').slice(-800));
41
+ const metrics=JSON.parse(r.stdout);metrics.frames.forEach((f,i)=>f.audioSnippet=frames[i].snippet);const project=path.resolve(a.dir||'.');const fonts=fontAudit(project);
42
+ if(!metrics.frames.every(x=>x.ocrAvailable))fonts.issues.push('OCR unavailable on at least one frame; text checks incomplete');
43
+ fonts.pass=!fonts.issues.length;
44
+ const report={source:file,sha256:hash(file),duration,width:v.width,height:v.height,frames:metrics.frames,contactSheet:metrics.contactSheet,fonts,audioSnippets:audio,pass:fonts.pass&&!metrics.frames.some(x=>x.warnings.length),note:'Heuristic OCR and edge analysis on sampled final pixels only. A pass is not a zero-overlap or perfect-crop claim. Inspect the contact sheet and each critical full-size frame; listen to the audio snippets, then watch the full video at phone size with audio. No sound playback occurs automatically.'};
45
+ const manifest=path.join(dir,'review.json');writeJson(manifest,report);
46
+ return {manifest,...report};
47
+ }
@@ -0,0 +1,66 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import os from 'node:os';
4
+ import * as D from './dsp.mjs';
5
+ import { ff, ffmpeg, probe, toWav48, run, die, readJson, mkdirp, has } from './util.mjs';
6
+ import { silences } from './audio.mjs';
7
+ import {geometry} from '../../assets/template/src/lib/format.mjs';
8
+
9
+ export function qaFile(file, a) {
10
+ const p = probe(file); const v = p.streams.find((s) => s.codec_type === 'video'); const au = p.streams.find((s) => s.codec_type === 'audio');
11
+ const size = +p.format.size / 1048576; const dur = +p.format.duration; const max = a.maxMb ? +a.maxMb : null; const issues = [];
12
+ if (max && size > max) issues.push(`file is ${size.toFixed(1)} MB, limit ${max} MB -> re-encode with render --preset wa`);
13
+ if (!au) issues.push('no audio stream');
14
+ if (au && v && Math.abs(+(au.duration || dur) - +(v.duration || dur)) > 0.15) issues.push(`audio (${au.duration}s) and video (${v.duration}s) lengths differ`);
15
+ return { file, sizeMb: +size.toFixed(2), duration: +dur.toFixed(2), video: v && `${v.width}x${v.height} ${v.codec_name} ${v.r_frame_rate}`, audio: au && `${au.codec_name} ${au.sample_rate}Hz`, pass: !issues.length, issues };
16
+ }
17
+ export function qaAudio(file) {
18
+ const w = D.readWav(toWav48(file, 'qa.wav'), fs).buf; const l = D.lufs(w), tp = D.truePeakDb(w); const issues = [];
19
+ if (Math.abs(l + 14) > 1) issues.push(`loudness ${l.toFixed(1)} LUFS (target -14 ±1)`);
20
+ if (tp > -1) issues.push(`true peak ${tp.toFixed(2)} dBTP (must be <= -1)`);
21
+ const sil = silences(w.L, 48000, -45, 1.2).filter(([s]) => s > 0.5 && s < w.L.length / 48000 - 3); if (sil.length) issues.push(`long silences at ${sil.map((x) => x[0] + 's').join(', ')}`);
22
+ return { lufs: +l.toFixed(2), truePeak: +tp.toFixed(2), pass: !issues.length, issues };
23
+ }
24
+ export function qaSheet(file, a) {
25
+ const dur = +probe(file).format.duration; const n = +(a.count || 24); const dir = path.resolve(a.outDir || 'out/qa'); mkdirp(dir); const frames = [];
26
+ for (let i = 0; i < n; i++) { const t = (i + 0.5) * dur / n; const o = path.join(dir, `q_${String(i).padStart(2, '0')}.jpg`); ff(['-ss', t.toFixed(2), '-i', file, '-frames:v', '1', '-vf', `scale=480:-2,drawtext=text='${t.toFixed(1)}s':x=6:y=6:fontsize=18:fontcolor=white:box=1:boxcolor=black@0.5`, o]); frames.push(o); }
27
+ const sheet = path.join(dir, 'sheet.jpg'); ff(['-pattern_type', 'glob', '-i', path.join(dir, 'q_*.jpg'), '-frames:v', '1', '-vf', 'tile=4x6:padding=4', sheet]);
28
+ return { sheet, frames: frames.length, note: 'Open the sheet. Check: text collisions, text near edges, one focus per frame, hierarchy, accent count, anything that looks like AI slop.' };
29
+ }
30
+ // ffprobe reports frame rates as rational strings. Never execute metadata as code.
31
+ export function parseFrameRate(value) {
32
+ if (typeof value !== 'string' || !/^[0-9]+(?:\/[0-9]+)?$/.test(value)) throw new Error('invalid ffprobe frame rate');
33
+ const [numerator, denominator = '1'] = value.split('/');
34
+ const n = Number(numerator), d = Number(denominator);
35
+ if (!Number.isSafeInteger(n) || !Number.isSafeInteger(d) || n <= 0 || d <= 0) throw new Error('invalid ffprobe frame rate');
36
+ const fps = n / d;
37
+ if (!Number.isFinite(fps) || fps <= 0) throw new Error('invalid ffprobe frame rate');
38
+ return fps;
39
+ }
40
+ // Overlap check: renders the composition in debug-box mode at 1/4 scale, then scans every frame.
41
+ export function qaOverlap(a) {
42
+ const proj = path.resolve(a.dir || '.'); const comp = a.comp || 'Main'; const scale = +(a.scale || 0.25); const tmp = path.join(os.tmpdir(), `mc-ov-${process.pid}`); mkdirp(tmp);
43
+ const supplied=a.props ? (a.props.trim().startsWith('{')?JSON.parse(a.props):readJson(path.resolve(a.props))) : {};
44
+ if(!supplied || typeof supplied!=='object'||Array.isArray(supplied))die('invalid --props JSON');
45
+ const g=geometry(a.format||supplied.format||'16:9',a.platform||supplied.platform);
46
+ const props=JSON.stringify({...supplied,format:g.format,platform:g.platform,mcDebug:true});
47
+ const r = run('npx', ['--no-install', 'remotion', 'render', 'src/index.ts', comp, path.join(tmp, 'dbg.mp4'), `--props=${props}`, `--scale=${scale}`, '--codec=h264', '--crf=1', '--muted', `--gl=${a.gl || 'swangle'}`], { cwd: proj, stdio: ['ignore', 'ignore', 'pipe'] });
48
+ if (r.status !== 0) die('debug render failed: ' + (r.stderr || '').slice(-600), 'run inside the project folder after npm install');
49
+ const p = probe(path.join(tmp, 'dbg.mp4')); const v = p.streams.find((s) => s.codec_type === 'video'); const W = v.width, H = v.height; const fps = parseFrameRate(v.r_frame_rate);
50
+ const F = ffmpeg(); const rawPath = path.join(tmp, 'frames.rgb');
51
+ run(F.ff[0], [...F.ff.slice(1), '-y', '-v', 'error', '-i', path.join(tmp, 'dbg.mp4'), '-f', 'rawvideo', '-pix_fmt', 'rgb24', rawPath]);
52
+ const fsz = W * H * 3, frames = Math.floor(fs.statSync(rawPath).size / fsz); const left=Math.round(g.insets.left*scale),right=Math.round(g.insets.right*scale),top=Math.round(g.insets.top*scale),bottom=Math.round(g.insets.bottom*scale);
53
+ const hits = []; const minPx = Math.max(4, Math.round(W * H * 0.00015)); const fd = fs.openSync(rawPath, 'r'); const raw = Buffer.alloc(fsz);
54
+ for (let f = 0; f < frames; f++) { let over = 0, blockOver = 0, edge = 0; fs.readSync(fd, raw, 0, fsz, f * fsz);
55
+ for (let y = 0; y < H; y++) for (let x = 0; x < W; x++) { const i = (y * W + x) * 3, R = raw[i], G = raw[i + 1], B = raw[i + 2];
56
+ if (R > 200 && G < 100 && B < 100) over++; // two text boxes stacked (red on red)
57
+ if (G > 200 && R < 110 && B < 110) blockOver++; // two blocks stacked (green on green)
58
+ if ((x < left || x >= W-right || y < top || y >= H-bottom) && R > 200 && G < 170 && B < 170) edge++; } // text in the margin
59
+ if (over > minPx || blockOver > minPx * 4 || edge > minPx) hits.push({ frame: f, time: +(f / fps).toFixed(2), textOverlapPx: over, blockOverlapPx: blockOver, textInMarginPx: edge }); }
60
+ fs.closeSync(fd); fs.rmSync(rawPath, { force: true });
61
+ const shots = []; const dir = path.resolve(proj, 'out', 'qa-overlap'); mkdirp(dir);
62
+ const groups = []; for (const h of hits) { const g = groups[groups.length - 1]; if (g && h.frame - g.end <= 2) g.end = h.frame; else groups.push({ start: h.frame, end: h.frame, first: h }); }
63
+ for (const g of groups.slice(0, 12)) { const o = path.join(dir, `overlap_f${g.start}.png`); ff(['-ss', (g.start / fps).toFixed(3), '-i', path.join(tmp, 'dbg.mp4'), '-frames:v', '1', o]); shots.push(o); }
64
+ return { format:g.format,platform:g.platform,frames, pass: hits.length === 0, problemRanges: groups.map((g) => ({ fromFrame: g.start, toFrame: g.end, fromSec: +(g.start / fps).toFixed(2), toSec: +(g.end / fps).toFixed(2), ...g.first })), screenshots: shots,
65
+ note: hits.length ? 'Red = text box, green = card/block. Dark red/green = two boxes stacked. Fix by moving to separate zones, exiting the old element first, or shortening text. Mark intentional stickers with allowOverlap.' : 'No flagged collisions among instrumented debug boxes at this resolution. This does not prove final pixels are collision-free; run qa pixels and inspect final frames.' };
66
+ }
@@ -0,0 +1,45 @@
1
+ """Frame-complete OCR geometry audit of an already-rendered video."""
2
+ import json,sys,subprocess,os,re
3
+ from PIL import Image
4
+ source,w,h,fps,out,flagged_dir=sys.argv[1],int(sys.argv[2]),int(sys.argv[3]),float(sys.argv[4]),sys.argv[5],sys.argv[6]
5
+ issues=[]; failures=[]
6
+ # Stream decoded frames: keep only flagged PNGs instead of gigabytes of intermediates.
7
+ ff=subprocess.Popen(['ffmpeg','-hide_banner','-loglevel','error','-i',source,'-an','-f','rawvideo','-pix_fmt','rgb24','-vsync','0','-'],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
8
+ size=w*h*3;idx=0
9
+ while True:
10
+ raw=ff.stdout.read(size)
11
+ if not raw:break
12
+ if len(raw)!=size:raise RuntimeError('truncated decoded frame')
13
+ timestamp=round(idx/fps,3)
14
+ image=os.path.join(flagged_dir,'frame-%08d.png'%idx)
15
+ im=Image.frombytes('RGB',(w,h),raw)
16
+ # tesseract accepts stdin image bytes; no disk write for unflagged frames.
17
+ import io
18
+ buf=io.BytesIO();im.save(buf,format='PNG')
19
+ proc=subprocess.run(['tesseract','stdin','stdout','tsv'],input=buf.getvalue(),capture_output=True)
20
+ stderr=proc.stderr.decode('utf8','replace')
21
+ if proc.returncode!=0:
22
+ failures.append({'frame':idx,'at':timestamp,'error':stderr[-160:]});idx+=1;continue
23
+ words=[]
24
+ for line in proc.stdout.decode('utf8','replace').splitlines()[1:]:
25
+ p=line.split('\t',11)
26
+ if len(p)<12:continue
27
+ try: x,y,bw,bh=map(int,p[6:10]);confidence=float(p[10])
28
+ except ValueError:continue
29
+ if confidence>=45 and p[11].strip() and bw>1 and bh>1:words.append((x,y,bw,bh,p[11].strip()))
30
+ warnings=[]
31
+ for x,y,bw,bh,text in words:
32
+ if bh*360/w<8:warnings.append({'type':'tiny_text','text':text,'box':[x,y,bw,bh]})
33
+ if x<.025*w or x+bw>.975*w or y<.025*h or y+bh>.975*h:warnings.append({'type':'clipped_or_edge_text','text':text,'box':[x,y,bw,bh]})
34
+ # Word boxes overlap beyond OCR tolerance; strong lead for inter-layer collision.
35
+ for i,(x,y,bw,bh,text) in enumerate(words):
36
+ for xx,yy,ww,hh,other in words[i+1:]:
37
+ overlap=max(0,min(x+bw,xx+ww)-max(x,xx))*max(0,min(y+bh,yy+hh)-max(y,yy))
38
+ if overlap>min(bw*bh,ww*hh)*.10:warnings.append({'type':'possible_text_collision','text':text+' / '+other,'boxes':[[x,y,bw,bh],[xx,yy,ww,hh]]})
39
+ if warnings:
40
+ im.save(image);issues.append({'frame':idx,'at':timestamp,'image':image,'warnings':warnings[:30]})
41
+ idx+=1
42
+ ff.stdout.close()
43
+ if ff.wait()!=0:raise RuntimeError('ffmpeg video decode failed: '+ff.stderr.read().decode('utf8','replace')[-400:])
44
+ with open(out,'w') as f:json.dump({'framesScanned':idx,'issues':issues,'ocrFailures':failures},f,indent=2)
45
+ print(json.dumps({'framesScanned':idx,'flaggedFrames':len(issues),'ocrFailures':len(failures)}))
@@ -0,0 +1,50 @@
1
+ """Sample actual final-frame pixels; OCR warnings are review leads, not proofs."""
2
+ import json,sys,subprocess,os,math
3
+ from PIL import Image,ImageOps,ImageDraw,ImageFilter
4
+ from statistics import mean
5
+
6
+ inp=json.loads(sys.argv[1]); W=inp['width']; H=inp['height']; samples=[]; thumbs=[]
7
+ for item in inp['frames']:
8
+ im=Image.open(item['image']).convert('RGB'); w,h=im.size
9
+ proc=subprocess.run(['tesseract',item['image'],'stdout','tsv'],capture_output=True,text=True)
10
+ words=[]
11
+ if proc.returncode==0:
12
+ for line in proc.stdout.splitlines()[1:]:
13
+ parts=line.split('\t',11)
14
+ if len(parts)<12:continue
15
+ try: left,top,bw,bh=map(int,parts[6:10]); conf=float(parts[10])
16
+ except ValueError:continue
17
+ if conf>=45 and parts[11].strip() and bw>1 and bh>1:words.append((left,top,bw,bh,parts[11].strip()))
18
+ # OCR geometry is not font metrics, but catches apparent small glyphs and crop risks.
19
+ warnings=[]
20
+ for x,y,bw,bh,text in words:
21
+ phoneHeight=bh*360/w
22
+ if phoneHeight<8:warnings.append(f'small text on 360px-wide phone: {text} ({phoneHeight:.1f}px glyph)')
23
+ if x<.025*w or x+bw>.975*w or y<.025*h or y+bh>.975*h:warnings.append(f'text near image edge: {text}')
24
+ if h>w and ((x+bw>.88*w and y>.12*h) or y+bh>.8*h):warnings.append(f'9:16 UI area may cover text: {text}')
25
+ # For likely headline line (largest OCR words), scan a 1.5-glyph-height halo.
26
+ # High luminance-edge density around text suggests busy background, not certain collision.
27
+ headline=[]
28
+ if words:
29
+ largest=max(z[3] for z in words)
30
+ headline=[z for z in words if z[3]>=largest*.72 and z[3]>h*.018]
31
+ if headline:
32
+ x0=min(x for x,y,bw,bh,t in headline);y0=min(y for x,y,bw,bh,t in headline)
33
+ x1=max(x+bw for x,y,bw,bh,t in headline);y1=max(y+bh for x,y,bw,bh,t in headline)
34
+ pad=int(max(15,mean(z[3] for z in headline)*1.25)); rect=(max(0,x0-pad),max(0,y0-pad),min(w,x1+pad),min(h,y1+pad))
35
+ edges=im.convert('L').filter(ImageFilter.FIND_EDGES).crop(rect)
36
+ # Exclude OCR glyphs before measuring neighboring graphics; text's own strokes are not clutter.
37
+ mask=Image.new('L',edges.size,255);brush=ImageDraw.Draw(mask)
38
+ for x,y,bw,bh,text in words:
39
+ brush.rectangle((x-rect[0]-3,y-rect[1]-3,x+bw-rect[0]+3,y+bh-rect[1]+3),fill=0)
40
+ ep=list(edges.getdata());mp=list(mask.getdata());area=sum(z>0 for z in mp)
41
+ dense=sum(1 for e,m in zip(ep,mp) if m and e>65)/max(1,area)
42
+ if dense>.12:warnings.append(f'busy area around apparent headline ({dense:.0%} non-text edge density); inspect spacing against graphics')
43
+ thumb=im.copy();thumb.thumbnail((480,520))
44
+ tile=Image.new('RGB',(500,thumb.height+42),'white');tile.paste(thumb,((500-thumb.width)//2,32));ImageDraw.Draw(tile).text((8,8),f"{item['at']:.2f}s {len(words)} OCR words {len(warnings)} flags",fill='black');thumbs.append(tile)
45
+ samples.append({'at':item['at'],'image':item['image'],'ocrWords':len(words),'warnings':warnings[:20],'ocrAvailable':proc.returncode==0})
46
+ cols=min(4,len(thumbs));rows=math.ceil(len(thumbs)/cols);height=max(t.height for t in thumbs)
47
+ sheet=Image.new('RGB',(cols*500,rows*height),'#ddd')
48
+ for i,tile in enumerate(thumbs):sheet.paste(tile,((i%cols)*500,(i//cols)*height))
49
+ out=os.path.join(inp['dir'],'critical-sheet.jpg');sheet.save(out,quality=90)
50
+ print(json.dumps({'frames':samples,'contactSheet':out}))