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,23 @@
1
+ #!/bin/sh
2
+ # motioncraft bootstrap check (Mac/Linux). Works without Node. Detects only - never installs.
3
+ say() { printf '%s\n' "$*"; }
4
+ ok() { printf ' \342\234\224 %-10s %s\n' "$1" "$2"; }
5
+ miss() { printf ' \342\234\226 %-10s missing -> %s\n' "$1" "$2"; }
6
+ OS=$(uname -s); PM=""
7
+ if [ "$OS" = "Darwin" ]; then command -v brew >/dev/null 2>&1 && PM=brew; else
8
+ for p in apt-get dnf pacman; do command -v $p >/dev/null 2>&1 && PM=$p && break; done; fi
9
+ inst() { case "$PM:$1" in
10
+ brew:node) echo "brew install node";; brew:ffmpeg) echo "brew install ffmpeg";;
11
+ apt-get:node) echo "see https://nodejs.org (or: sudo apt-get install -y nodejs npm)";; apt-get:ffmpeg) echo "sudo apt-get install -y ffmpeg";;
12
+ dnf:node) echo "sudo dnf install nodejs";; dnf:ffmpeg) echo "sudo dnf install ffmpeg";;
13
+ pacman:node) echo "sudo pacman -S nodejs npm";; pacman:ffmpeg) echo "sudo pacman -S ffmpeg";;
14
+ *) [ "$1" = node ] && echo "https://nodejs.org (LTS)" || echo "https://ffmpeg.org/download.html";; esac; }
15
+ say "motioncraft bootstrap ($OS, package manager: ${PM:-none})"
16
+ if command -v node >/dev/null 2>&1; then
17
+ V=$(node -v); MAJ=$(echo "$V" | sed 's/v\([0-9]*\).*/\1/')
18
+ if [ "$MAJ" -ge 18 ]; then ok node "$V"; else miss node "$(inst node) (found $V, need 18+)"; fi
19
+ else miss node "$(inst node)"; fi
20
+ command -v ffmpeg >/dev/null 2>&1 && ok ffmpeg "$(ffmpeg -version | head -1 | cut -c1-40)" || miss ffmpeg "$(inst ffmpeg) (optional: Remotion ships its own)"
21
+ say ""
22
+ say "Nothing was installed. Ask the user before running any install command above."
23
+ if command -v node >/dev/null 2>&1; then say "Full check: node \"$(dirname "$0")/motioncraft.mjs\" doctor"; fi
@@ -0,0 +1,58 @@
1
+ // Pure-JS audio analysis: loudness, true peak, BPM + beat grid, onsets, key, drop, silences.
2
+ import fs from 'node:fs';
3
+ import * as D from './dsp.mjs';
4
+
5
+ function fft(re, im) { // in-place radix-2
6
+ const n = re.length; for (let i = 1, j = 0; i < n; i++) { let b = n >> 1; for (; j & b; b >>= 1) j ^= b; j ^= b; if (i < j) { [re[i], re[j]] = [re[j], re[i]]; [im[i], im[j]] = [im[j], im[i]]; } }
7
+ for (let len = 2; len <= n; len <<= 1) { const a = -2 * Math.PI / len, wr = Math.cos(a), wi = Math.sin(a);
8
+ for (let i = 0; i < n; i += len) { let cr = 1, ci = 0; for (let k = 0; k < len / 2; k++) { const ur = re[i + k], ui = im[i + k], vr = re[i + k + len / 2] * cr - im[i + k + len / 2] * ci, vi = re[i + k + len / 2] * ci + im[i + k + len / 2] * cr;
9
+ re[i + k] = ur + vr; im[i + k] = ui + vi; re[i + k + len / 2] = ur - vr; im[i + k + len / 2] = ui - vi; const t = cr * wr - ci * wi; ci = cr * wi + ci * wr; cr = t; } } }
10
+ }
11
+ function spectrogram(mono, sr, N = 2048, hop = 512) {
12
+ const win = new Float32Array(N).map((_, i) => 0.5 - 0.5 * Math.cos(2 * Math.PI * i / N)); const frames = [];
13
+ for (let s = 0; s + N <= mono.length; s += hop) { const re = new Float64Array(N), im = new Float64Array(N); for (let i = 0; i < N; i++) re[i] = mono[s + i] * win[i]; fft(re, im);
14
+ const mag = new Float32Array(N / 2); for (let k = 0; k < N / 2; k++) mag[k] = Math.hypot(re[k], im[k]); frames.push(mag); }
15
+ return { frames, hop, N, sr };
16
+ }
17
+ function onsetEnvelope(sp) { // spectral flux on log magnitude
18
+ const env = new Float32Array(sp.frames.length); let prev = null;
19
+ sp.frames.forEach((m, i) => { const lm = m.map((v) => Math.log1p(v * 10)); if (prev) { let s = 0; for (let k = 1; k < lm.length; k++) { const d = lm[k] - prev[k]; if (d > 0) s += d; } env[i] = s; } prev = lm; });
20
+ const mx = Math.max(...env) || 1; return env.map((v) => v / mx);
21
+ }
22
+ function tempo(env, fr) { // autocorrelation over 60-180 bpm, weighted toward 90-120
23
+ let best = 0, bestBpm = 100; const scores = [];
24
+ for (let bpm = 60; bpm <= 180; bpm += 0.25) { const lag = 60 * fr / bpm; let s = 0; for (let i = Math.ceil(lag); i < env.length; i++) { const j = i - lag, k = Math.floor(j), f = j - k; s += env[i] * (env[k] * (1 - f) + env[k + 1] * f); }
25
+ const w = Math.exp(-0.5 * Math.pow(Math.log2(bpm / 105) / 0.6, 2)); scores.push([bpm, s * w]); if (s * w > best) { best = s * w; bestBpm = bpm; } }
26
+ return bestBpm;
27
+ }
28
+ function beatPhase(env, fr, bpm) { const period = 60 * fr / bpm; let best = 0, bp = 0; for (let ph = 0; ph < period; ph += 0.5) { let s = 0; for (let t = ph; t < env.length; t += period) s += env[Math.round(t)] || 0; if (s > best) { best = s; bp = ph; } } return bp / fr; }
29
+ function pickOnsets(env, fr) { const out = []; const w = 3; for (let i = w; i < env.length - w; i++) { let mean = 0; for (let k = i - 8; k <= i + 8; k++) mean += env[Math.max(0, Math.min(env.length - 1, k))]; mean /= 17; let isMax = true; for (let k = i - w; k <= i + w; k++) if (env[k] > env[i]) isMax = false; if (isMax && env[i] > mean + 0.08 && env[i] > 0.12) out.push(+(i / fr).toFixed(3)); } return out; }
30
+ const MAJ = [6.35, 2.23, 3.48, 2.33, 4.38, 4.09, 2.52, 5.19, 2.39, 3.66, 2.29, 2.88], MIN = [6.33, 2.68, 3.52, 5.38, 2.6, 3.53, 2.54, 4.75, 3.98, 2.69, 3.34, 3.17];
31
+ const NAMES = ['C', 'C#', 'D', 'Eb', 'E', 'F', 'F#', 'G', 'Ab', 'A', 'Bb', 'B'];
32
+ function key(sp) { // Krumhansl-Schmuckler on a chroma average
33
+ const ch = new Float64Array(12); const bin = sp.sr / sp.N;
34
+ for (const m of sp.frames) for (let k = 3; k < m.length; k++) { const f = k * bin; if (f < 60 || f > 2000) continue; const pc = ((Math.round(12 * Math.log2(f / 440)) % 12) + 12 + 9) % 12; ch[pc] += m[k]; }
35
+ const corr = (p, r) => { const x = [...Array(12)].map((_, i) => ch[(i + r) % 12]); const mx = x.reduce((a, b) => a + b) / 12, mp = p.reduce((a, b) => a + b) / 12; let n = 0, dx = 0, dp = 0; for (let i = 0; i < 12; i++) { n += (x[i] - mx) * (p[i] - mp); dx += (x[i] - mx) ** 2; dp += (p[i] - mp) ** 2; } return n / Math.sqrt(dx * dp + 1e-12); };
36
+ let best = { c: -2 }; for (let r = 0; r < 12; r++) { const a = corr(MAJ, r), b = corr(MIN, r); if (a > best.c) best = { c: a, key: NAMES[r] + ' major' }; if (b > best.c) best = { c: b, key: NAMES[r] + ' minor' }; }
37
+ return { key: best.key, confidence: +best.c.toFixed(2) };
38
+ }
39
+ function rmsCurve(mono, sr, win = 0.5) { const n = Math.round(win * sr), out = []; for (let s = 0; s + n <= mono.length; s += n) { let e = 0; for (let i = s; i < s + n; i++) e += mono[i] * mono[i]; out.push(D.toDb(Math.sqrt(e / n))); } return out; }
40
+ export function silences(mono, sr, thrDb = -38, minDur = 0.25) { const hop = Math.round(0.01 * sr), out = []; let st = null;
41
+ for (let s = 0; s + hop <= mono.length; s += hop) { let e = 0; for (let i = s; i < s + hop; i++) e += mono[i] * mono[i]; const dbv = D.toDb(Math.sqrt(e / hop)); const t = s / sr;
42
+ if (dbv < thrDb) { if (st == null) st = t; } else if (st != null) { if (t - st >= minDur) out.push([+st.toFixed(3), +t.toFixed(3)]); st = null; } }
43
+ if (st != null && mono.length / sr - st >= minDur) out.push([+st.toFixed(3), +(mono.length / sr).toFixed(3)]); return out; }
44
+
45
+ export function analyze(wavPath, { withKey = true } = {}) {
46
+ const { buf, sr } = D.readWav(wavPath, fs); const n = buf.L.length; const mono = new Float32Array(n); for (let i = 0; i < n; i++) mono[i] = (buf.L[i] + buf.R[i]) / 2;
47
+ const dur = n / sr; const lufs = sr === 48000 ? D.lufs(buf) : null; const tp = D.truePeakDb(buf);
48
+ // downsample to ~22 kHz for rhythm/key work
49
+ const step = Math.max(1, Math.round(sr / 22050)); const ds = new Float32Array(Math.floor(n / step)); for (let i = 0; i < ds.length; i++) ds[i] = mono[i * step]; const dsr = sr / step;
50
+ const sp = spectrogram(ds, dsr); const fr = dsr / sp.hop; const env = onsetEnvelope(sp);
51
+ const bpm = +tempo(env, fr).toFixed(2); const phase = beatPhase(env, fr, bpm); const beat = 60 / bpm; const beats = []; for (let t = phase; t < dur; t += beat) beats.push(+t.toFixed(3));
52
+ const onsets = pickOnsets(env, fr); const rms = rmsCurve(mono, sr);
53
+ let drop = null, bestJump = 0; for (let i = 4; i < rms.length - 2; i++) { const before = (rms[i - 4] + rms[i - 3] + rms[i - 2] + rms[i - 1]) / 4, after = (rms[i] + rms[i + 1]) / 2; if (after - before > bestJump) { bestJump = after - before; drop = i * 0.5; } }
54
+ const res = { file: wavPath, duration: +dur.toFixed(3), sampleRate: sr, lufs: lufs == null ? null : +lufs.toFixed(2), truePeakDb: +tp.toFixed(2), bpm, beatSeconds: +beat.toFixed(4), firstBeat: +phase.toFixed(3),
55
+ beats, bars: beats.filter((_, i) => i % 4 === 0), onsets, drop: drop == null ? null : { t: +drop.toFixed(2), jumpDb: +bestJump.toFixed(1) }, silences: silences(mono, sr), energyDbPerHalfSecond: rms.map((v) => +v.toFixed(1)) };
56
+ if (withKey) Object.assign(res, key(sp));
57
+ return res;
58
+ }
@@ -0,0 +1,66 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import https from 'node:https';
4
+ import {SKILL_DIR} from './util.mjs';
5
+
6
+ const API = 'https://api.github.com/repos/ahmdd4vd/MotionCraft';
7
+ const RELEASES = 'https://github.com/ahmdd4vd/MotionCraft/releases';
8
+ export function installedVersion(skillDir = SKILL_DIR) {
9
+ const file = fs.readFileSync(path.join(skillDir, 'SKILL.md'), 'utf8');
10
+ const match = file.match(/^metadata:\s*\n(?:^[ \t]+.*\n)*?^[ \t]+version:\s*["']?([^\s"']+)/m);
11
+ if (!match) throw Error('Installed SKILL.md has no metadata.version; cannot compare versions');
12
+ return match[1];
13
+ }
14
+ export function parseVersion(value) {
15
+ const m = /^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/.exec(value);
16
+ if (!m) throw Error(`Unsupported version: ${value}`);
17
+ return {parts: m.slice(1,4).map(Number), pre: m[4] || null};
18
+ }
19
+ export function compareVersions(a,b) {
20
+ const x=parseVersion(a),y=parseVersion(b);
21
+ for(let i=0;i<3;i++) if(x.parts[i]!==y.parts[i]) return Math.sign(x.parts[i]-y.parts[i]);
22
+ if(x.pre===y.pre)return 0;
23
+ if(!x.pre)return 1;if(!y.pre)return -1;
24
+ const xa=x.pre.split('.'),ya=y.pre.split('.');
25
+ for(let i=0;i<Math.max(xa.length,ya.length);i++){
26
+ if(xa[i]===undefined)return -1;if(ya[i]===undefined)return 1;
27
+ if(xa[i]===ya[i])continue;
28
+ const xn=/^\d+$/.test(xa[i]),yn=/^\d+$/.test(ya[i]);
29
+ if(xn&&yn)return Math.sign(Number(xa[i])-Number(ya[i]));
30
+ if(xn!==yn)return xn?-1:1;
31
+ return xa[i]<ya[i]?-1:1;
32
+ }
33
+ return 0;
34
+ }
35
+ export function getJson(url) {
36
+ return new Promise((resolve,reject)=>{
37
+ const req=https.get(url,{headers:{'User-Agent':'MotionCraft-update-check','Accept':'application/vnd.github+json'},timeout:8000},res=>{
38
+ let data='';res.setEncoding('utf8');
39
+ res.on('data',part=>{data+=part;if(data.length>1024*1024)res.destroy(Error('GitHub response too large'));});
40
+ res.on('end',()=>{
41
+ if(res.statusCode!==200)return reject(Error(`GitHub API returned HTTP ${res.statusCode}`));
42
+ try{resolve(JSON.parse(data));}catch{reject(Error('Invalid GitHub response'));}
43
+ });
44
+ });req.on('timeout',()=>req.destroy(Error('GitHub request timed out')));req.on('error',reject);
45
+ });
46
+ }
47
+ export async function checkUpdate({skillDir=SKILL_DIR,fetchJson=getJson}={}){
48
+ const installed=installedVersion(skillDir);
49
+ parseVersion(installed);
50
+ let tag,source;
51
+ try {
52
+ const release=await fetchJson(`${API}/releases/latest`);
53
+ if(!release.tag_name||release.draft||release.prerelease)throw Error('No stable release');
54
+ tag=release.tag_name;source='release';
55
+ } catch(err){
56
+ if(!/HTTP 404|No stable release/.test(err.message))throw err;
57
+ // No published release: use the newest stable semantic tag, not API creation order.
58
+ const tags=await fetchJson(`${API}/tags?per_page=100`);
59
+ const stable=tags.map(t=>t.name).filter(t=>/^v?\d+\.\d+\.\d+$/.test(t));
60
+ if(!stable.length)throw Error('No stable release or tag found');
61
+ stable.sort(compareVersions);tag=stable.at(-1);source='tag';
62
+ }
63
+ parseVersion(tag);
64
+ const updateAvailable=compareVersions(installed,tag)<0;
65
+ return {installed,latest:tag,source,updateAvailable,latestUrl:`${RELEASES}/tag/${encodeURIComponent(tag)}`,instruction:updateAvailable?'From your agent environment, run: npx skills add ahmdd4vd/motioncraft (then re-run check-update).':'Already up to date. The version in SKILL.md is the installed version; unreleased changes on main are not counted.'};
66
+ }
@@ -0,0 +1,147 @@
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 { renderMusic, varietyCheck, validateSpec, resolveSpec, PRESETS, PROGRESSIONS } from './music.mjs';
6
+ import { renderSfx, SFX_TYPES, PACKS } from './sfx.mjs';
7
+ import { analyze, silences } from './audio.mjs';
8
+ import { ff, probe, toWav48, has, run, die, log, readJson, writeJson, mkdirp, workDir, stateDir, SKILL_DIR, ffmpeg } from './util.mjs';
9
+
10
+ import {geometry, FORMATS} from '../../assets/template/src/lib/format.mjs';
11
+
12
+ // ---------------- project
13
+ export function cmdNew(a) {
14
+ const dest = path.resolve(a._[0] || 'my-video'); if (fs.existsSync(dest) && fs.readdirSync(dest).length) die(`${dest} is not empty`);
15
+ fs.cpSync(path.join(SKILL_DIR, 'assets', 'template'), dest, { recursive: true });
16
+ const style = a.style || 'pi-v2'; const sp = path.join(SKILL_DIR, 'styles', style, 'tokens.json'); if (!fs.existsSync(sp)) die(`unknown style ${style}`, `choose one of: ${fs.readdirSync(path.join(SKILL_DIR, 'styles')).join(', ')}`);
17
+ fs.copyFileSync(sp, path.join(dest, 'src', 'style.json'));
18
+ const format=a.format || (a.vertical?'9:16':'16:9');const g=geometry(format,a.platform);
19
+ { const j=readJson(path.join(dest,'src','style.json'));j.canvas={...j.canvas,width:g.width,height:g.height};writeJson(path.join(dest,'src','style.json'),j); }
20
+ { const t = readJson(path.join(dest, 'src', 'style.json')); const mod = (n) => n.replace(/[^A-Za-z0-9]/g, ''); // load the style's Google Fonts
21
+ const wts = [...new Set(Object.values(t.font.weights || {}).map(String).concat(['400', '500']))].sort();
22
+ fs.writeFileSync(path.join(dest, 'src', 'lib', 'fonts.ts'), `// Generated by motioncraft new from style.json. To change fonts: import another family from @remotion/google-fonts
23
+ // (or use @remotion/fonts with a local file in public/fonts) AND update style.json font.display / font.mono.
24
+ import {loadFont as loadDisplay} from '@remotion/google-fonts/${mod(t.font.display)}';
25
+ import {loadFont as loadMono} from '@remotion/google-fonts/${mod(t.font.mono)}';
26
+ loadDisplay('normal', {weights: ${JSON.stringify(wts)}, subsets: ['latin']});
27
+ loadMono('normal', {weights: ['400', '500'], subsets: ['latin']});
28
+ `); }
29
+ writeJson(path.join(dest, 'mc.config.json'), { title: a.title || path.basename(dest), style, handle: a.handle || '@yourhandle', format, platform:g.platform, fps: 30 });
30
+ return { created: dest, style, next: [`cd ${dest}`, 'ASK the user, then: npm install', 'npm run studio (preview)'] };
31
+ }
32
+
33
+ // ---------------- music / sfx / mix
34
+ export function cmdMusic(a) {
35
+ const sub = a._[0];
36
+ if (sub === 'presets') return { presets: PRESETS, progressions: Object.fromEntries(Object.entries(PROGRESSIONS).map(([k, v]) => [k, v.mood])) };
37
+ const spec = a.spec ? readJson(path.resolve(a.spec)) : {}; if (a.preset) spec.preset = a.preset;
38
+ for (const k of ['bpm', 'duration', 'drop', 'swing', 'seed']) if (a[k] != null) spec[k] = +a[k];
39
+ for (const k of ['key', 'lead', 'comp', 'drums', 'progression']) if (a[k] != null) spec[k] = a[k];
40
+ const s = resolveSpec(spec); const issues = validateSpec(s); if (issues.length) die('music spec rejected:\n - ' + issues.join('\n - '), 'fix the values or pick a preset: node scripts/motioncraft.mjs music presets');
41
+ const hist = path.join(os.homedir(), '.motioncraft', 'music-history.json'); const H = readJson(hist, []);
42
+ const v = varietyCheck(s, H[H.length - 1]); if (!v.ok && !a.force) die(`too similar to the last track (${v.why.join(', ')}). Change at least 2 of key / bpm (>=6) / progression / lead.`, 'or pass --force if the user explicitly wants the same vibe');
43
+ const outDir = path.resolve(a.out || 'audio'); mkdirp(outDir);
44
+ if (sub === 'audition') { // 3 short variations
45
+ const res = []; const keys = ['C', 'D', 'F', 'G', 'A', 'Bb']; const progs = Object.keys(PROGRESSIONS);
46
+ for (let i = 0; i < 3; i++) { const vs = { ...spec, duration: 16, drop: 5, key: keys[(keys.indexOf(s.key) + 1 + i * 2) % keys.length], progression: progs[(progs.indexOf(s.progression) + 1 + i) % progs.length], bpm: s.bpm + [-4, 0, 5][i], chords: undefined, seed: 7 + i };
47
+ const r = renderMusic(vs); const m = D.master(r.mix); const f = path.join(outDir, `audition_${i + 1}.wav`); D.writeWav(f, m.buf, 16, fs); res.push({ file: f, key: r.spec.key, bpm: r.spec.bpm, progression: r.spec.progression }); }
48
+ return { auditions: res, next: 'let the user pick one, then run `music make` with those values' };
49
+ }
50
+ const r = renderMusic(s); const m = D.master(r.mix, a.lufs ? +a.lufs : -14, -1);
51
+ D.writeWav(path.join(outDir, 'music.wav'), m.buf, 24, fs);
52
+ if (a.stems) for (const [k, b] of Object.entries(r.stems)) D.writeWav(path.join(outDir, `stem_${k}.wav`), b, 16, fs);
53
+ const grid = { bpm: r.spec.bpm, beatSeconds: 60 / r.spec.bpm, beats: r.beats, sections: r.markers, duration: r.dur };
54
+ writeJson(path.join(outDir, 'beatgrid.json'), grid);
55
+ mkdirp(path.dirname(hist)); H.push({ key: s.key, bpm: s.bpm, chords: s.chords, lead: s.lead, at: new Date().toISOString() }); writeJson(hist, H.slice(-20));
56
+ return { music: path.join(outDir, 'music.wav'), beatgrid: path.join(outDir, 'beatgrid.json'), lufs: +m.lufs.toFixed(2), truePeak: +m.truePeak.toFixed(2), duration: +r.dur.toFixed(2), sections: r.markers, spec: { preset: s.preset, bpm: s.bpm, key: s.key, progression: s.progression, lead: s.lead } };
57
+ }
58
+ export function cmdSfx(a) {
59
+ if (a._[0] === 'list') return { types: SFX_TYPES, packs: Object.keys(PACKS) };
60
+ const cuesFile = a.cues || (a.timeline ? null : 'sfx.json'); let cues = [], dur = +a.duration || 0, bpm = a.bpm ? +a.bpm : null;
61
+ if (a.timeline) { const tl = readJson(path.resolve(a.timeline)); cues = tl.sfx || []; dur = dur || tl.duration; bpm = bpm || tl.bpm; }
62
+ else { const j = readJson(path.resolve(cuesFile)); if (!j) die(`cannot read ${cuesFile}`, 'pass --cues file.json ([{type,t}]) or --timeline timeline.json'); cues = Array.isArray(j) ? j : j.cues; dur = dur || j.duration || Math.max(...cues.map((c) => c.t)) + 3; }
63
+ const r = renderSfx(cues, dur, { bpm, pack: a.pack || 'soft-pop', density: a.density ? +a.density : 1 });
64
+ const o = path.resolve(a.out || 'audio/sfx.wav'); mkdirp(path.dirname(o)); D.writeWav(o, r.buf, 24, fs);
65
+ return { sfx: o, cues: cues.length, perMinute: Math.round(cues.length / (dur / 60)), warnings: r.warnings };
66
+ }
67
+ export function cmdMix(a) {
68
+ const load = (p) => p ? D.readWav(toWav48(path.resolve(p), path.basename(p) + '.wav'), fs).buf : null;
69
+ const vo = load(a.vo), music = load(a.music), sfx = load(a.sfx); if (!vo && !music) die('need at least --vo or --music');
70
+ const n = Math.max(...[vo, music, sfx].filter(Boolean).map((b) => b.L.length)); const mix = D.stereo(n);
71
+ let voP = null; if (vo) { voP = D.compress(D.filt(vo, 'hp', 80), -20, 3, 5, 120); D.mixInto(mix, voP); }
72
+ if (music) { let m = D.gain(D.clone(music), D.db(a.musicDb ? +a.musicDb : -6));
73
+ if (voP) { // duck music under VO + dip 1-4 kHz so words stay clear
74
+ const env = new Float32Array(n); const at = Math.exp(-1 / (0.01 * D.SR)), rt = Math.exp(-1 / (0.35 * D.SR)); let e = 0;
75
+ for (let i = 0; i < n; i++) { const l = i < voP.L.length ? Math.abs(voP.L[i]) + Math.abs(voP.R[i]) : 0; e = l > e ? at * e + (1 - at) * l : rt * e + (1 - rt) * l; env[i] = e; }
76
+ const dip = D.filt(m, 'peak', 2500, 0.8, -3);
77
+ for (let i = 0; i < m.L.length; i++) { const k = Math.min(1, env[i] * 12); const g = 1 - k * (1 - D.db(-7)); m.L[i] = (m.L[i] * (1 - k) + dip.L[i] * k) * g; m.R[i] = (m.R[i] * (1 - k) + dip.R[i] * k) * g; } }
78
+ D.mixInto(mix, m); }
79
+ if (sfx) D.mixInto(mix, sfx, D.db(a.sfxDb ? +a.sfxDb : -4));
80
+ let finalMix=mix;
81
+ if (a.duration != null) { const seconds=Number(a.duration); if(!Number.isFinite(seconds)||seconds<=0)die('--duration needs positive seconds');
82
+ const samples=Math.round(seconds*D.SR);if(mix.L.length<samples)die(`mix sources too short for ${seconds}s (${(mix.L.length/D.SR).toFixed(2)}s); extend music/VO before mixing`);
83
+ finalMix=D.stereo(samples);finalMix.L.set(mix.L.subarray(0,samples));finalMix.R.set(mix.R.subarray(0,samples));
84
+ const fade=Math.min(samples,Math.round(0.35*D.SR));for(let i=0;i<fade;i++){const g=(fade-i-1)/fade;finalMix.L[samples-fade+i]*=g;finalMix.R[samples-fade+i]*=g;}
85
+ }
86
+ const M = D.master(finalMix, a.lufs ? +a.lufs : -14, -1.5); const o = path.resolve(a.out || 'audio/final.wav'); mkdirp(path.dirname(o)); D.writeWav(o, M.buf, 24, fs);
87
+ return { final: o, lufs: +M.lufs.toFixed(2), truePeak: +M.truePeak.toFixed(2), duration: +(finalMix.L.length / D.SR).toFixed(2) };
88
+ }
89
+
90
+ // ---------------- analysis
91
+ export function cmdAudio(a) { const f = a._[1] || a._[0]; if (!f) die('usage: audio analyze <file>'); const w = toWav48(path.resolve(f)); const r = analyze(w); if (a.out) writeJson(path.resolve(a.out), r); return a.full ? r : { ...r, beats: `${r.beats.length} beats`, onsets: `${r.onsets.length} onsets`, energyDbPerHalfSecond: undefined, note: 'use --full or --out file.json for all beat/onset times; key is an estimate (see confidence)' }; }
92
+ export function cmdBeat(a) {
93
+ const sub = a._[0];
94
+ if (sub === 'grid') { const bpm = +a.bpm, dur = +a.dur, off = +(a.offset || 0), fps = +(a.fps || 30); if (!bpm || !dur) die('usage: beat grid --bpm 93 --dur 52.6 [--offset 0] [--fps 30]'); const beats = []; for (let t = off; t < dur; t += 60 / bpm) beats.push(+t.toFixed(4)); return { bpm, beats, bars: beats.filter((_, i) => i % 4 === 0), frames: beats.map((t) => Math.round(t * fps)) }; }
95
+ if (sub === 'snap') { const cues = readJson(path.resolve(a._[1])); const grid = readJson(path.resolve(a.grid || 'audio/beatgrid.json')); const max = (+a.maxMs || 80) / 1000;
96
+ const snapped = cues.map((c) => { let best = grid.beats[0]; for (const b of grid.beats) if (Math.abs(b - c.t) < Math.abs(best - c.t)) best = b; return Math.abs(best - c.t) <= max ? { ...c, t: best, snapped: true } : c; });
97
+ if (a.out) writeJson(path.resolve(a.out), snapped); return { snapped: snapped.filter((c) => c.snapped).length, total: cues.length, cues: snapped }; }
98
+ die('usage: beat grid|snap');
99
+ }
100
+ export function cmdVo(a) {
101
+ const sub = a._[0]; const f = path.resolve(a._[1] || 'audio/vo.wav');
102
+ if (sub === 'clean') { const o = path.resolve(a.out || f.replace(/\.\w+$/, '_clean.wav')); ff(['-i', f, '-af', 'highpass=f=80,afftdn=nf=-25,loudnorm=I=-16:TP=-1.5:LRA=7', '-ar', '48000', o]); return { cleaned: o }; }
103
+ if (sub === 'align') { // word timings via Whisper if present, else phrase timings from silences
104
+ const o = path.resolve(a.out || 'audio/words.json'); const py = has('python3') ? 'python3' : has('python') ? 'python' : null;
105
+ if (py && run(py, ['-c', 'import faster_whisper']).status === 0) {
106
+ const r = run(py, [path.join(SKILL_DIR, 'scripts', 'py', 'whisper_words.py'), f, o, a.lang || 'auto', a.model || 'small']); if (r.status !== 0) die('whisper failed: ' + r.stderr.slice(-400));
107
+ const j = readJson(o); return { words: j.words.length, text: j.text, file: o, mode: 'word', check: 'Compare `text` with the script. Names are often misheard; if a segment looks wrong, cut it with ffmpeg and transcribe that piece alone.' };
108
+ }
109
+ const w = D.readWav(toWav48(f), fs); const mono = w.buf.L; const sil = silences(mono, 48000, -40, 0.18); const dur = mono.length / 48000; const phrases = []; let st = 0;
110
+ for (const [s0, s1] of sil) { if (s0 - st > 0.2) phrases.push({ start: +st.toFixed(3), end: +s0.toFixed(3) }); st = s1; } if (dur - st > 0.2) phrases.push({ start: +st.toFixed(3), end: +dur.toFixed(3) });
111
+ const script = a.script ? fs.readFileSync(path.resolve(a.script), 'utf8').split(/(?<=[.!?])\s+|\n+/).map((x) => x.trim()).filter(Boolean) : [];
112
+ writeJson(o, { mode: 'phrase', phrases: phrases.map((p, i) => ({ ...p, text: script[i] || null })), words: [] });
113
+ return { file: o, mode: 'phrase', phrases: phrases.length, scriptSentences: script.length, warning: script.length && script.length !== phrases.length ? 'phrase count differs from script sentences: check the pauses by ear or adjust --script line breaks' : undefined, note: 'Whisper not found: word-level sync unavailable. Words are spread evenly inside each phrase by `timeline build`.' };
114
+ }
115
+ die('usage: vo clean|align <file>');
116
+ }
117
+ export function cmdTimeline(a) {
118
+ const words = readJson(path.resolve(a.words || 'audio/words.json'), { words: [], phrases: [] }); const grid = readJson(path.resolve(a.grid || 'audio/beatgrid.json'), { beats: [] });
119
+ let W = words.words || [];
120
+ if (!W.length && words.phrases?.length) for (const p of words.phrases) { const ws = (p.text || '').split(/\s+/).filter(Boolean); ws.forEach((w, i) => W.push({ w, start: +(p.start + (p.end - p.start) * i / ws.length).toFixed(3), end: +(p.start + (p.end - p.start) * (i + 1) / ws.length).toFixed(3) })); }
121
+ const dur = +(a.duration || Math.max(grid.duration || 0, W.length ? W[W.length - 1].end + 2.5 : 0));
122
+ const tl = { duration: +dur.toFixed(3), bpm: grid.bpm || null, words: W, beats: grid.beats || [], sections: grid.sections || [], scenes: [], events: [] };
123
+ const o = path.resolve(a.out || 'public/timeline.json'); writeJson(o, tl); return { timeline: o, words: W.length, beats: tl.beats.length, duration: tl.duration };
124
+ }
125
+
126
+ // ---------------- reference breakdown
127
+ export function cmdRef(a) {
128
+ const sub = a._[0]; const dir = path.resolve(a.dir || 'ref'); mkdirp(dir); const vid = path.join(dir, 'ref.mp4');
129
+ if (sub === 'get') { const src = a._[1]; if (!src) die('usage: ref get <url|file>');
130
+ if (/^https?:/.test(src)) { if (!has('yt-dlp')) die('yt-dlp not installed', 'ask the user to install it (see doctor) or to download the video and run `ref get <file>`'); const r = run('yt-dlp', ['-f', 'bv*[height<=1080]+ba/b', '--merge-output-format', 'mp4', '-o', vid, src], { stdio: 'inherit' }); if (r.status !== 0) die('download failed'); }
131
+ else ff(['-i', path.resolve(src), '-c:v', 'libx264', '-crf', '18', '-c:a', 'aac', vid]);
132
+ const p = probe(vid); const v = p.streams.find((s) => s.codec_type === 'video'); return { file: vid, duration: +(+p.format.duration).toFixed(2), size: `${v.width}x${v.height}`, fps: v.r_frame_rate }; }
133
+ if (!fs.existsSync(vid)) die(`${vid} not found`, 'run `ref get <url|file>` first');
134
+ if (sub === 'scenes') { const r = ff(['-i', vid, '-vf', `select='gt(scene,${a.threshold || 0.3})',showinfo`, '-f', 'null', '-']); const cuts = [...r.stderr.matchAll(/pts_time:([\d.]+)/g)].map((m) => +(+m[1]).toFixed(2)); writeJson(path.join(dir, 'scenes.json'), cuts); return { cuts, count: cuts.length, file: path.join(dir, 'scenes.json') }; }
135
+ if (sub === 'frames') { const fd = path.join(dir, 'frames'); mkdirp(fd); const every = +(a.every || 0.5); ff(['-i', vid, '-vf', `fps=1/${every},scale=640:-2`, '-q:v', '3', path.join(fd, 'f_%04d.jpg')]); const n = fs.readdirSync(fd).length; return { dir: fd, frames: n, every }; }
136
+ if (sub === 'sheet') { const fd = path.join(dir, 'frames'); if (!fs.existsSync(fd)) die('run `ref frames` first'); const files = fs.readdirSync(fd).filter((f) => f.endsWith('.jpg')).sort(); const every = +(a.every || 0.5); const per = 20; const sheets = [];
137
+ for (let s = 0; s * per < files.length; s++) { const o = path.join(dir, `sheet_${s + 1}.jpg`); ff(['-start_number', String(s * per + 1), '-i', path.join(fd, 'f_%04d.jpg'), '-frames:v', '1', '-vf', `drawtext=text='%{eif\\:(n+${s * per})*${every}\\:d}s':x=8:y=8:fontsize=22:fontcolor=white:box=1:boxcolor=black@0.5,tile=5x4:padding=6:margin=6`, o]); sheets.push(o); }
138
+ return { sheets, note: 'Open each sheet image and describe: layout, type sizes, color, motion between frames, where cuts land.' }; }
139
+ if (sub === 'motion') { const r = ff(['-i', vid, '-vf', 'scale=320:-2,tblend=all_mode=difference,signalstats,metadata=print:key=lavfi.signalstats.YAVG', '-f', 'null', '-']); const v = [...r.stderr.matchAll(/YAVG=([\d.]+)/g)].map((m) => +m[1]); const fps = 30; const perSec = []; for (let i = 0; i < v.length; i += fps) perSec.push(+(v.slice(i, i + fps).reduce((x, y) => x + y, 0) / Math.min(fps, v.length - i)).toFixed(2)); return { motionPerSecond: perSec, note: 'higher = more movement; flat low = holds; spikes = transitions' }; }
140
+ if (sub === 'colors') { const o = path.join(dir, 'palette.png'); ff(['-i', vid, '-vf', 'fps=1,scale=160:-2,palettegen=max_colors=12:stats_mode=full', o]); return { palette: o, note: 'open the image; the swatches are the dominant colors' }; }
141
+ if (sub === 'audio') { const w = toWav48(vid, 'ref.wav'); const r = analyze(w); writeJson(path.join(dir, 'audio.json'), r); return { ...r, beats: `${r.beats.length} beats`, onsets: `${r.onsets.length}`, energyDbPerHalfSecond: undefined, file: path.join(dir, 'audio.json') }; }
142
+ if (sub === 'text') { if (!has('tesseract')) die('tesseract not installed', 'optional: skip OCR, read text from the sheets instead'); const fd = path.join(dir, 'frames'); const res = []; for (const f of fs.readdirSync(fd).filter((x) => x.endsWith('.jpg')).sort().filter((_, i) => i % 2 === 0)) { const r = run('tesseract', [path.join(fd, f), '-', '--psm', '11']); const t = (r.stdout || '').replace(/\s+/g, ' ').trim(); if (t) res.push({ frame: f, text: t }); } writeJson(path.join(dir, 'text.json'), res); return { found: res.length, file: path.join(dir, 'text.json') }; }
143
+ if (sub === 'report') { const out = []; for (const s of ['scenes', 'frames', 'sheet', 'motion', 'colors', 'audio']) { try { out.push([s, cmdRef({ ...a, _: [s] })]); } catch (e) { out.push([s, { error: String(e) }]); } }
144
+ const R = Object.fromEntries(out); const md = [`# Reference report`, '', `Video: ${vid}`, '', `## Cuts (${R.scenes.count})`, R.scenes.cuts.join(', '), '', `## Music`, `BPM ${R.audio.bpm}, key ${R.audio.key} (conf ${R.audio.confidence}), LUFS ${R.audio.lufs}, drop ${JSON.stringify(R.audio.drop)}`, '', `## Motion per second`, R.motion.motionPerSecond.join(' '), '', `## Contact sheets`, ...R.sheet.sheets.map((s) => `- ${s}`), '', `Palette: ${R.colors.palette}`, '', '## TODO for the agent', '- open every sheet and fill: typography (font feel, sizes, weights), layout, color use, motion vocabulary, transitions, how text syncs to VO, how cuts sit on the beat', '- write findings into styles/<new>/style.md and tokens.json (see references/customization.md)'].join('\n');
145
+ fs.writeFileSync(path.join(dir, 'ref_report.md'), md); return { report: path.join(dir, 'ref_report.md') }; }
146
+ die('usage: ref get|scenes|frames|sheet|motion|colors|audio|text|report');
147
+ }
@@ -0,0 +1,67 @@
1
+ // Environment preflight. Detects, reports, and suggests - it NEVER installs anything.
2
+ import os from 'node:os';
3
+ import fs from 'node:fs';
4
+ import path from 'node:path';
5
+ import { has, run, writeJson, stateDir, SKILL_DIR, readJson } from './util.mjs';
6
+
7
+ const OS = process.platform === 'darwin' ? 'mac' : process.platform === 'win32' ? 'windows' : 'linux';
8
+ const pm = OS === 'mac' ? (has('brew') ? 'brew' : null) : OS === 'windows' ? (has('winget', ['--version']) ? 'winget' : has('choco') ? 'choco' : null) : (has('apt-get', ['--version']) ? 'apt' : has('dnf') ? 'dnf' : has('pacman', ['--version']) ? 'pacman' : null);
9
+ const INSTALL = {
10
+ node: { brew: 'brew install node', winget: 'winget install OpenJS.NodeJS.LTS', choco: 'choco install nodejs-lts', apt: 'curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - && sudo apt-get install -y nodejs', dnf: 'sudo dnf install nodejs', pacman: 'sudo pacman -S nodejs npm', any: 'https://nodejs.org (LTS)' },
11
+ ffmpeg: { brew: 'brew install ffmpeg', winget: 'winget install Gyan.FFmpeg', choco: 'choco install ffmpeg', apt: 'sudo apt-get install -y ffmpeg', dnf: 'sudo dnf install ffmpeg', pacman: 'sudo pacman -S ffmpeg', any: 'https://ffmpeg.org/download.html' },
12
+ python: { brew: 'brew install python', winget: 'winget install Python.Python.3.12', choco: 'choco install python', apt: 'sudo apt-get install -y python3 python3-pip', dnf: 'sudo dnf install python3', pacman: 'sudo pacman -S python', any: 'https://python.org' },
13
+ pylibs: { any: 'python3 -m pip install --user numpy scipy librosa soundfile pyloudnorm' },
14
+ ytdlp: { brew: 'brew install yt-dlp', winget: 'winget install yt-dlp.yt-dlp', choco: 'choco install yt-dlp', apt: 'python3 -m pip install --user yt-dlp', dnf: 'python3 -m pip install --user yt-dlp', pacman: 'sudo pacman -S yt-dlp', any: 'python3 -m pip install --user yt-dlp' },
15
+ whisper: { any: 'python3 -m pip install --user faster-whisper (or build whisper.cpp: https://github.com/ggml-org/whisper.cpp)' },
16
+ tesseract: { brew: 'brew install tesseract', winget: 'winget install UB-Mannheim.TesseractOCR', apt: 'sudo apt-get install -y tesseract-ocr', dnf: 'sudo dnf install tesseract', pacman: 'sudo pacman -S tesseract', any: 'https://github.com/tesseract-ocr/tesseract' },
17
+ remotion: { any: 'node scripts/motioncraft.mjs new <folder> (copies the template, then asks before running npm install)' },
18
+ };
19
+ const cmdFor = (k) => INSTALL[k][pm] || INSTALL[k].any;
20
+
21
+ export function doctor(a) {
22
+ const quick = a.quick; const cacheP = path.join(stateDir(a), 'env.json');
23
+ if (quick) { const c = readJson(cacheP); if (c && Date.now() - c.checkedAt < 7 * 864e5) return c; }
24
+ const items = []; const add = (id, tier, ok, detail, fix, fallback) => items.push({ id, tier, ok: !!ok, detail: detail || '', fix: ok ? null : fix, fallback: ok ? null : fallback || null });
25
+ const nodeV = process.versions.node; const major = +nodeV.split('.')[0];
26
+ add('node', 'required', major >= 18, `v${nodeV}`, cmdFor('node'), 'none - Node 18+ is required');
27
+ const npm = has('npm', ['--version']); add('npm', 'required', npm, npm ? `v${npm}` : 'missing', 'comes with Node.js', null);
28
+ const proj = findProject(a.dir || process.cwd());
29
+ let remV = null; if (proj) { try { remV = JSON.parse(fs.readFileSync(path.join(proj, 'node_modules', 'remotion', 'package.json'), 'utf8')).version; } catch {} }
30
+ add('remotion', 'required', remV, remV ? `v${remV} in ${proj}` : proj ? `project at ${proj} but dependencies not installed` : 'no Remotion project here yet', proj ? `cd ${proj} && npm install` : cmdFor('remotion'), null);
31
+ const ffv = has('ffmpeg', ['-version']); const ffBundled = !ffv && proj && remV && has('npx', ['--no-install', 'remotion', 'ffmpeg', '-version']);
32
+ add('ffmpeg', 'recommended', ffv || ffBundled, ffv ? ffv.split('\n')[0] : ffBundled ? 'using Remotion bundled ffmpeg (H.264/H.265/VP8/VP9/ProRes only)' : 'missing', cmdFor('ffmpeg'), 'Remotion bundled ffmpeg (npx remotion ffmpeg) once the project is installed');
33
+ const py = has('python3') || has('python'); add('python', 'optional', py, py || 'missing', cmdFor('python'), 'pure-Node analyzers (slightly less accurate BPM/key)');
34
+ let libs = null; if (py) { const r = run(has('python3') ? 'python3' : 'python', ['-c', 'import numpy,scipy,librosa,soundfile,pyloudnorm;print("ok")']); libs = r.status === 0; }
35
+ add('python-libs', 'optional', libs, libs ? 'numpy scipy librosa soundfile pyloudnorm' : 'missing', cmdFor('pylibs'), 'pure-Node analyzers');
36
+ const yt = has('yt-dlp'); add('yt-dlp', 'recommended', yt, yt ? `v${yt}` : 'missing', cmdFor('ytdlp'), 'ask the user to download the reference video and pass the file');
37
+ let wh = null; if (py) { const r = run(has('python3') ? 'python3' : 'python', ['-c', 'import faster_whisper;print("ok")']); if (r.status === 0) wh = 'faster-whisper'; }
38
+ if (!wh && (has('whisper-cli', ['-h']) || has('whisper-cpp', ['-h']))) wh = 'whisper.cpp';
39
+ if (!wh && has('whisper', ['--help'])) wh = 'openai-whisper';
40
+ add('whisper', 'recommended', wh, wh || 'missing', cmdFor('whisper'), 'sentence-level sync from silence detection (less precise than word-level)');
41
+ const tess = has('tesseract'); add('tesseract', 'optional', tess, tess ? tess.split('\n')[0] : 'missing', cmdFor('tesseract'), 'skip on-screen text OCR in reference analysis');
42
+ const gpu = detectGpu(); add('gpu', 'optional', gpu.ok, gpu.detail, 'no action needed', 'render 3D with --gl=swangle (software, slower) or pre-render 3D to PNG');
43
+ const disk = freeDiskGb(a.dir || process.cwd()); add('disk', 'recommended', disk == null || disk > 5, disk == null ? 'unknown' : `${disk.toFixed(1)} GB free`, 'free up space (renders need ~2-5 GB)', null);
44
+ const res = { checkedAt: Date.now(), os: OS, arch: process.arch, cpus: os.cpus().length, ramGb: +(os.totalmem() / 1073741824).toFixed(1), packageManager: pm, project: proj, items,
45
+ mode: { audioAnalysis: libs ? 'python' : 'node', sync: wh ? 'word' : 'sentence', ffmpeg: ffv ? 'system' : ffBundled ? 'remotion' : 'none', gl: gpu.ok ? 'angle' : 'swangle', reference: yt ? 'download' : 'manual' } };
46
+ writeJson(cacheP, res); return res;
47
+ }
48
+ function findProject(dir) { let d = path.resolve(dir); for (let i = 0; i < 4; i++) { const p = path.join(d, 'package.json'); if (fs.existsSync(p)) { const j = JSON.parse(fs.readFileSync(p, 'utf8')); if ((j.dependencies || {}).remotion) return d; } const up = path.dirname(d); if (up === d) break; d = up; } return null; }
49
+ function detectGpu() {
50
+ if (process.platform === 'darwin') return { ok: true, detail: 'macOS (Metal via ANGLE)' };
51
+ if (process.platform === 'win32') return { ok: true, detail: 'Windows (ANGLE/D3D)' };
52
+ if (has('nvidia-smi', ['-L'])) return { ok: true, detail: 'NVIDIA GPU' };
53
+ if (fs.existsSync('/dev/dri')) return { ok: true, detail: '/dev/dri present' };
54
+ return { ok: false, detail: 'no GPU detected (server/container)' };
55
+ }
56
+ function freeDiskGb(dir) { try { const s = fs.statfsSync(dir); return s.bavail * s.bsize / 1073741824; } catch { return null; } }
57
+
58
+ export function printDoctor(r) {
59
+ const icon = (it) => it.ok ? '✔' : it.tier === 'required' ? '✖' : '•';
60
+ const lines = [`motioncraft doctor - ${r.os}/${r.arch}, ${r.cpus} CPU, ${r.ramGb} GB RAM, package manager: ${r.packageManager || 'none found'}`, ''];
61
+ for (const tier of ['required', 'recommended', 'optional']) { lines.push(tier.toUpperCase());
62
+ for (const it of r.items.filter((x) => x.tier === tier)) { lines.push(` ${icon(it)} ${it.id.padEnd(12)} ${it.detail}`); if (!it.ok) { lines.push(` install : ${it.fix}`); if (it.fallback) lines.push(` fallback: ${it.fallback}`); } } lines.push(''); }
63
+ const missing = r.items.filter((x) => !x.ok && x.tier !== 'optional');
64
+ lines.push(missing.length ? 'AGENT: show this list to the user and ASK before installing anything. If they skip, use the fallback.' : 'All required and recommended tools are present.');
65
+ lines.push(`modes: ${JSON.stringify(r.mode)}`);
66
+ return lines.join('\n');
67
+ }
@@ -0,0 +1,178 @@
1
+ // motioncraft DSP core - pure Node, no dependencies.
2
+ // Stereo buffers are {L: Float32Array, R: Float32Array}.
3
+ export const SR = 48000;
4
+
5
+ let seed = 7;
6
+ export function setSeed(s) { seed = s >>> 0 || 7; }
7
+ export function rand() { // mulberry32
8
+ seed |= 0; seed = (seed + 0x6D2B79F5) | 0;
9
+ let t = Math.imul(seed ^ (seed >>> 15), 1 | seed);
10
+ t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
11
+ return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
12
+ }
13
+ export const randn = () => { let u = 0, v = 0; while (!u) u = rand(); v = rand(); return Math.sqrt(-2 * Math.log(u)) * Math.cos(2 * Math.PI * v); };
14
+ export const db = (x) => Math.pow(10, x / 20);
15
+ export const toDb = (x) => 20 * Math.log10(Math.max(1e-12, x));
16
+ export const midiHz = (m) => 440 * Math.pow(2, (m - 69) / 12);
17
+ export const NOTE = { C: 0, 'C#': 1, Db: 1, D: 2, 'D#': 3, Eb: 3, E: 4, F: 5, 'F#': 6, Gb: 6, G: 7, 'G#': 8, Ab: 8, A: 9, 'A#': 10, Bb: 10, B: 11 };
18
+
19
+ export function stereo(n) { return { L: new Float32Array(n), R: new Float32Array(n) }; }
20
+ export function fromMono(x) { return { L: x, R: Float32Array.from(x) }; }
21
+ export function len(b) { return b.L.length; }
22
+ export function clone(b) { return { L: Float32Array.from(b.L), R: Float32Array.from(b.R) }; }
23
+
24
+ export function place(buf, x, t, g = 1, panPos = 0) {
25
+ const i0 = Math.round(t * SR); const n = len(buf);
26
+ if (i0 >= n) return;
27
+ const l = Math.cos((panPos + 1) * Math.PI / 4) * Math.SQRT2, r = Math.sin((panPos + 1) * Math.PI / 4) * Math.SQRT2;
28
+ const xl = x.L || x, xr = x.R || x;
29
+ for (let k = Math.max(0, -i0); k < xl.length && i0 + k < n; k++) {
30
+ buf.L[i0 + k] += xl[k] * g * l; buf.R[i0 + k] += xr[k] * g * r;
31
+ }
32
+ }
33
+ export function mixInto(dst, src, g = 1) { const n = Math.min(len(dst), len(src)); for (let i = 0; i < n; i++) { dst.L[i] += src.L[i] * g; dst.R[i] += src.R[i] * g; } }
34
+ export function gain(b, g) { for (let i = 0; i < len(b); i++) { b.L[i] *= g; b.R[i] *= g; } return b; }
35
+ export function peak(b) { let p = 0; for (let i = 0; i < len(b); i++) { p = Math.max(p, Math.abs(b.L[i]), Math.abs(b.R[i])); } return p; }
36
+
37
+ export function adsr(n, a, d, s, r, hold = null) {
38
+ const A = Math.max(1, Math.round(a * SR)), D = Math.max(1, Math.round(d * SR)), Rl = Math.max(1, Math.round(r * SR));
39
+ let H = hold == null ? n - A - D - Rl : Math.round(hold * SR); H = Math.max(0, H);
40
+ const e = new Float32Array(n); let i = 0;
41
+ for (let k = 0; k < A && i < n; k++) e[i++] = k / A;
42
+ for (let k = 0; k < D && i < n; k++) e[i++] = 1 + (s - 1) * k / D;
43
+ for (let k = 0; k < H && i < n; k++) e[i++] = s;
44
+ for (let k = 0; k < Rl && i < n; k++) e[i++] = s * (1 - k / Rl);
45
+ return e;
46
+ }
47
+
48
+ // ---------- biquad (RBJ cookbook)
49
+ export function biquadCoefs(type, f, q = 0.707, gainDb = 0) {
50
+ f = Math.min(f, SR / 2.2);
51
+ const w = 2 * Math.PI * f / SR, c = Math.cos(w), s = Math.sin(w), al = s / (2 * q), A = Math.pow(10, gainDb / 40);
52
+ let b0, b1, b2, a0, a1, a2;
53
+ switch (type) {
54
+ case 'lp': b0 = (1 - c) / 2; b1 = 1 - c; b2 = (1 - c) / 2; a0 = 1 + al; a1 = -2 * c; a2 = 1 - al; break;
55
+ case 'hp': b0 = (1 + c) / 2; b1 = -(1 + c); b2 = (1 + c) / 2; a0 = 1 + al; a1 = -2 * c; a2 = 1 - al; break;
56
+ case 'bp': b0 = al; b1 = 0; b2 = -al; a0 = 1 + al; a1 = -2 * c; a2 = 1 - al; break;
57
+ case 'peak': b0 = 1 + al * A; b1 = -2 * c; b2 = 1 - al * A; a0 = 1 + al / A; a1 = -2 * c; a2 = 1 - al / A; break;
58
+ case 'lowshelf': { const sq = 2 * Math.sqrt(A) * al;
59
+ b0 = A * ((A + 1) - (A - 1) * c + sq); b1 = 2 * A * ((A - 1) - (A + 1) * c); b2 = A * ((A + 1) - (A - 1) * c - sq);
60
+ a0 = (A + 1) + (A - 1) * c + sq; a1 = -2 * ((A - 1) + (A + 1) * c); a2 = (A + 1) + (A - 1) * c - sq; break; }
61
+ case 'highshelf': { const sq = 2 * Math.sqrt(A) * al;
62
+ b0 = A * ((A + 1) + (A - 1) * c + sq); b1 = -2 * A * ((A - 1) + (A + 1) * c); b2 = A * ((A + 1) + (A - 1) * c - sq);
63
+ a0 = (A + 1) - (A - 1) * c + sq; a1 = 2 * ((A - 1) - (A + 1) * c); a2 = (A + 1) - (A - 1) * c - sq; break; }
64
+ default: throw new Error('biquad type ' + type);
65
+ }
66
+ return [b0 / a0, b1 / a0, b2 / a0, a1 / a0, a2 / a0];
67
+ }
68
+ export function biquadMono(x, co) {
69
+ const [b0, b1, b2, a1, a2] = co; let x1 = 0, x2 = 0, y1 = 0, y2 = 0; const y = new Float32Array(x.length);
70
+ for (let i = 0; i < x.length; i++) { const v = b0 * x[i] + b1 * x1 + b2 * x2 - a1 * y1 - a2 * y2; x2 = x1; x1 = x[i]; y2 = y1; y1 = v; y[i] = v; }
71
+ return y;
72
+ }
73
+ export function filt(b, type, f, q, g) { const co = biquadCoefs(type, f, q, g); return { L: biquadMono(b.L, co), R: biquadMono(b.R, co) }; }
74
+
75
+ // ---------- compressor (feed-forward, peak detector, stereo linked)
76
+ export function compress(b, thrDb = -18, ratio = 3, attMs = 5, relMs = 100, makeupDb = 0) {
77
+ const at = Math.exp(-1 / (attMs * SR / 1000)), rt = Math.exp(-1 / (relMs * SR / 1000));
78
+ let env = 0; const out = clone(b); const mk = db(makeupDb);
79
+ for (let i = 0; i < len(b); i++) {
80
+ const lv = Math.max(Math.abs(b.L[i]), Math.abs(b.R[i]));
81
+ env = lv > env ? at * env + (1 - at) * lv : rt * env + (1 - rt) * lv;
82
+ const e = toDb(env); const over = e - thrDb; const gr = over > 0 ? over * (1 - 1 / ratio) : 0;
83
+ const g = db(-gr) * mk; out.L[i] *= g; out.R[i] *= g;
84
+ }
85
+ return out;
86
+ }
87
+
88
+ // ---------- Freeverb-style reverb (wet only)
89
+ const CombT = [1116, 1188, 1277, 1356, 1422, 1491, 1557, 1617], APT = [556, 441, 341, 225];
90
+ export function reverb(b, room = 0.5, damp = 0.5, wet = 0.25, width = 1) {
91
+ const n = len(b), scale = SR / 44100, fb = 0.7 + room * 0.28, out = stereo(n);
92
+ for (const [ch, spread] of [['L', 0], ['R', 23]]) {
93
+ const input = ch === 'L' ? b.L : b.R; const acc = new Float32Array(n);
94
+ for (const ct of CombT) {
95
+ const L = Math.round((ct + spread) * scale); const buf = new Float32Array(L); let idx = 0, store = 0;
96
+ for (let i = 0; i < n; i++) { const o = buf[idx]; store = o * (1 - damp) + store * damp; buf[idx] = input[i] * 0.015 + store * fb; acc[i] += o; idx = (idx + 1) % L; }
97
+ }
98
+ for (const at of APT) {
99
+ const L = Math.round((at + spread) * scale); const buf = new Float32Array(L); let idx = 0;
100
+ for (let i = 0; i < n; i++) { const bo = buf[idx]; const o = -acc[i] + bo; buf[idx] = acc[i] + bo * 0.5; acc[i] = o; idx = (idx + 1) % L; }
101
+ }
102
+ out[ch] = acc;
103
+ }
104
+ const w1 = wet * (width / 2 + 0.5), w2 = wet * ((1 - width) / 2);
105
+ const res = stereo(n);
106
+ for (let i = 0; i < n; i++) { res.L[i] = out.L[i] * w1 + out.R[i] * w2; res.R[i] = out.R[i] * w1 + out.L[i] * w2; }
107
+ return res;
108
+ }
109
+ export function withReverb(b, room, damp, wet, dry = 1) { const w = reverb(b, room, damp, wet); const o = clone(b); gain(o, dry); mixInto(o, w); return o; }
110
+
111
+ export function delay(b, timeS, fbk = 0.3, mix = 0.2) {
112
+ const d = Math.round(timeS * SR), n = len(b), o = clone(b);
113
+ for (const ch of ['L', 'R']) { const y = new Float32Array(n); for (let i = 0; i < n; i++) { y[i] = b[ch][i] + (i >= d ? y[i - d] * fbk : 0); } for (let i = 0; i < n; i++) o[ch][i] += (i >= d ? y[i - d] : 0) * mix; }
114
+ return o;
115
+ }
116
+ export function chorus(b, rate = 0.9, depthMs = 3, mix = 0.35) {
117
+ const n = len(b), o = clone(b), base = 0.012 * SR, dep = depthMs / 1000 * SR;
118
+ for (const [ch, ph] of [['L', 0], ['R', Math.PI / 2]]) {
119
+ const x = b[ch];
120
+ for (let i = 0; i < n; i++) { const d = base + dep * Math.sin(2 * Math.PI * rate * i / SR + ph); const p = i - d; const k = Math.floor(p); const fr = p - k; const v = k >= 1 ? x[k] * (1 - fr) + x[k + 1] * fr : 0; o[ch][i] = x[i] * (1 - mix) + v * mix; }
121
+ }
122
+ return o;
123
+ }
124
+
125
+ // ---------- loudness (ITU-R BS.1770-4, gated integrated LUFS)
126
+ export function lufs(b) {
127
+ const pre = biquadCoefsRaw([1.53512485958697, -2.69169618940638, 1.19839281085285], [1, -1.69065929318241, 0.73248077421585]);
128
+ const rlb = biquadCoefsRaw([1, -2, 1], [1, -1.99004745483398, 0.99007225036621]);
129
+ const kw = (x) => biquadMono(biquadMono(resampleTo48(x), pre), rlb);
130
+ const l = kw(b.L), r = kw(b.R); const blk = Math.round(0.4 * SR), hop = Math.round(0.1 * SR); const zs = [];
131
+ for (let s = 0; s + blk <= l.length; s += hop) { let z = 0; for (let i = s; i < s + blk; i++) z += l[i] * l[i] + r[i] * r[i]; zs.push(z / blk); }
132
+ if (!zs.length) return -70;
133
+ const L = (z) => -0.691 + 10 * Math.log10(Math.max(z, 1e-12));
134
+ let g = zs.filter((z) => L(z) > -70); if (!g.length) return -70;
135
+ const rel = L(g.reduce((a, c) => a + c, 0) / g.length) - 10; g = g.filter((z) => L(z) > rel);
136
+ return L(g.reduce((a, c) => a + c, 0) / g.length);
137
+ }
138
+ function biquadCoefsRaw(bb, aa) { return [bb[0], bb[1], bb[2], aa[1], aa[2]]; }
139
+ function resampleTo48(x) { return x; } // engine always runs at 48 kHz
140
+ export function truePeakDb(b) { // 4x linear-interp oversample estimate
141
+ let p = 0; for (const ch of ['L', 'R']) { const x = b[ch]; for (let i = 0; i < x.length - 1; i++) { for (let k = 0; k < 4; k++) { const v = Math.abs(x[i] + (x[i + 1] - x[i]) * k / 4); if (v > p) p = v; } } }
142
+ return toDb(p);
143
+ }
144
+ export function master(b, target = -14, tp = -1) {
145
+ let x = compress(filt(b, 'hp', 30), -16, 2, 20, 200);
146
+ for (let it = 0; it < 5; it++) {
147
+ gain(x, db(target - lufs(x)));
148
+ if (truePeakDb(x) <= tp) break;
149
+ const c = db(tp - 0.3), k = c * 0.7, w = c * 0.3;
150
+ for (const ch of ['L', 'R']) { const y = x[ch]; for (let i = 0; i < y.length; i++) { const a = Math.abs(y[i]); if (a > k) y[i] = Math.sign(y[i]) * (k + w * Math.tanh((a - k) / w)); } }
151
+ }
152
+ const pk = truePeakDb(x); if (pk > tp) gain(x, db(tp - pk));
153
+ return { buf: x, lufs: lufs(x), truePeak: truePeakDb(x) };
154
+ }
155
+ export function fadeOut(b, sec) { const n = len(b), f = Math.min(n, Math.round(sec * SR)); for (let i = 0; i < f; i++) { const g = 1 - i / f; b.L[n - f + i] *= g; b.R[n - f + i] *= g; } }
156
+
157
+ // ---------- WAV io
158
+ export function writeWav(path, b, bits = 24, fs) {
159
+ const { writeFileSync } = fs; const n = len(b), bps = bits / 8, data = n * 2 * bps; const buf = Buffer.alloc(44 + data);
160
+ buf.write('RIFF', 0); buf.writeUInt32LE(36 + data, 4); buf.write('WAVE', 8); buf.write('fmt ', 12); buf.writeUInt32LE(16, 16);
161
+ buf.writeUInt16LE(1, 20); buf.writeUInt16LE(2, 22); buf.writeUInt32LE(SR, 24); buf.writeUInt32LE(SR * 2 * bps, 28); buf.writeUInt16LE(2 * bps, 32); buf.writeUInt16LE(bits, 34);
162
+ buf.write('data', 36); buf.writeUInt32LE(data, 40); let o = 44; const mx = bits === 24 ? 8388607 : 32767;
163
+ for (let i = 0; i < n; i++) for (const v of [b.L[i], b.R[i]]) { const s = Math.max(-1, Math.min(1, v)); const q = Math.round(s * mx); if (bits === 24) buf.writeIntLE(q, o, 3); else buf.writeInt16LE(q, o); o += bps; }
164
+ writeFileSync(path, buf);
165
+ }
166
+ export function readWav(path, fs) {
167
+ const buf = fs.readFileSync(path); let p = 12, fmt = null, dataOff = 0, dataLen = 0;
168
+ while (p + 8 <= buf.length) { const id = buf.toString('ascii', p, p + 4), sz = buf.readUInt32LE(p + 4);
169
+ if (id === 'fmt ') fmt = { fmt: buf.readUInt16LE(p + 8), ch: buf.readUInt16LE(p + 10), sr: buf.readUInt32LE(p + 12), bits: buf.readUInt16LE(p + 22) };
170
+ if (id === 'data') { dataOff = p + 8; dataLen = Math.min(sz, buf.length - dataOff); break; } p += 8 + sz + (sz & 1); }
171
+ if (!fmt) throw new Error('not a WAV file: ' + path);
172
+ const bps = fmt.bits / 8, fr = Math.floor(dataLen / (bps * fmt.ch)); const L = new Float32Array(fr), R = new Float32Array(fr);
173
+ for (let i = 0; i < fr; i++) for (let c = 0; c < Math.min(2, fmt.ch); c++) { const o = dataOff + (i * fmt.ch + c) * bps; let v;
174
+ if (fmt.fmt === 3) v = buf.readFloatLE(o); else if (fmt.bits === 16) v = buf.readInt16LE(o) / 32768; else if (fmt.bits === 24) v = buf.readIntLE(o, 3) / 8388608; else if (fmt.bits === 32) v = buf.readInt32LE(o) / 2147483648; else v = (buf[o] - 128) / 128;
175
+ (c === 0 ? L : R)[i] = v; }
176
+ if (fmt.ch === 1) R.set(L);
177
+ return { buf: { L, R }, sr: fmt.sr };
178
+ }