loopwind 0.23.0 → 0.24.1

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 (497) hide show
  1. package/README.md +13 -117
  2. package/dist/cli.js +16 -10
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/add.d.ts.map +1 -1
  5. package/dist/commands/add.js +6 -10
  6. package/dist/commands/add.js.map +1 -1
  7. package/dist/commands/agent.d.ts +8 -0
  8. package/dist/commands/agent.d.ts.map +1 -0
  9. package/dist/commands/agent.js +101 -0
  10. package/dist/commands/agent.js.map +1 -0
  11. package/dist/commands/init.d.ts.map +1 -1
  12. package/dist/commands/init.js +17 -7
  13. package/dist/commands/init.js.map +1 -1
  14. package/dist/commands/render.d.ts.map +1 -1
  15. package/dist/commands/render.js +17 -19
  16. package/dist/commands/render.js.map +1 -1
  17. package/dist/default-templates/AGENTS.md +10 -24
  18. package/dist/lib/config.d.ts +2 -3
  19. package/dist/lib/config.d.ts.map +1 -1
  20. package/dist/lib/config.js +4 -9
  21. package/dist/lib/config.js.map +1 -1
  22. package/dist/lib/constants.d.ts +1 -3
  23. package/dist/lib/constants.d.ts.map +1 -1
  24. package/dist/lib/constants.js +2 -4
  25. package/dist/lib/constants.js.map +1 -1
  26. package/dist/lib/installer.d.ts +2 -0
  27. package/dist/lib/installer.d.ts.map +1 -1
  28. package/dist/lib/installer.js +6 -7
  29. package/dist/lib/installer.js.map +1 -1
  30. package/dist/lib/renderer.d.ts.map +1 -1
  31. package/dist/lib/renderer.js +4 -1
  32. package/dist/lib/renderer.js.map +1 -1
  33. package/dist/lib/utils.d.ts +13 -29
  34. package/dist/lib/utils.d.ts.map +1 -1
  35. package/dist/lib/utils.js +45 -155
  36. package/dist/lib/utils.js.map +1 -1
  37. package/dist/types/config.d.ts +0 -2
  38. package/dist/types/config.d.ts.map +1 -1
  39. package/dist/types/config.js.map +1 -1
  40. package/package.json +1 -15
  41. package/REGISTRY_SETUP.md +0 -363
  42. package/dist/default-templates/image/template.d.ts +0 -20
  43. package/dist/default-templates/image/template.d.ts.map +0 -1
  44. package/dist/default-templates/image/template.js +0 -18
  45. package/dist/default-templates/image/template.js.map +0 -1
  46. package/dist/default-templates/image/template.tsx +0 -20
  47. package/dist/default-templates/kitchen-sink/template.tsx +0 -64
  48. package/dist/default-templates/page/template.tsx +0 -37
  49. package/dist/default-templates/video/template.d.ts +0 -26
  50. package/dist/default-templates/video/template.d.ts.map +0 -1
  51. package/dist/default-templates/video/template.js +0 -33
  52. package/dist/default-templates/video/template.js.map +0 -1
  53. package/dist/default-templates/video/template.tsx +0 -37
  54. package/dist/default-templates/website/pages/home.tsx +0 -17
  55. package/dist/default-templates/website/parts/footer.tsx +0 -17
  56. package/dist/default-templates/website/parts/header.tsx +0 -17
  57. package/dist/default-templates/website/template.tsx +0 -17
  58. package/dist/default-templates/website-template/pages/home.tsx +0 -13
  59. package/dist/default-templates/website-template/parts/footer.tsx +0 -15
  60. package/dist/default-templates/website-template/parts/header.tsx +0 -15
  61. package/dist/default-templates/website-template/template.tsx +0 -32
  62. package/dist/lib/encode-worker.d.ts +0 -2
  63. package/dist/lib/encode-worker.d.ts.map +0 -1
  64. package/dist/lib/encode-worker.js +0 -29
  65. package/dist/lib/encode-worker.js.map +0 -1
  66. package/dist/lib/mjpeg-muxer.d.ts +0 -46
  67. package/dist/lib/mjpeg-muxer.d.ts.map +0 -1
  68. package/dist/lib/mjpeg-muxer.js +0 -513
  69. package/dist/lib/mjpeg-muxer.js.map +0 -1
  70. package/dist/lib/render-core.d.ts +0 -63
  71. package/dist/lib/render-core.d.ts.map +0 -1
  72. package/dist/lib/render-core.js +0 -65
  73. package/dist/lib/render-core.js.map +0 -1
  74. package/dist/lib/tailwind-browser.d.ts +0 -27
  75. package/dist/lib/tailwind-browser.d.ts.map +0 -1
  76. package/dist/lib/tailwind-browser.js +0 -853
  77. package/dist/lib/tailwind-browser.js.map +0 -1
  78. package/dist/lib/video-player.d.ts +0 -25
  79. package/dist/lib/video-player.d.ts.map +0 -1
  80. package/dist/lib/video-player.js +0 -392
  81. package/dist/lib/video-player.js.map +0 -1
  82. package/dist/sdk/compiler.d.ts +0 -94
  83. package/dist/sdk/compiler.d.ts.map +0 -1
  84. package/dist/sdk/compiler.js +0 -122
  85. package/dist/sdk/compiler.js.map +0 -1
  86. package/dist/sdk/edge/index.d.ts +0 -91
  87. package/dist/sdk/edge/index.d.ts.map +0 -1
  88. package/dist/sdk/edge/index.js +0 -187
  89. package/dist/sdk/edge/index.js.map +0 -1
  90. package/dist/sdk/index.d.ts +0 -62
  91. package/dist/sdk/index.d.ts.map +0 -1
  92. package/dist/sdk/index.js +0 -141
  93. package/dist/sdk/index.js.map +0 -1
  94. package/dist/sdk/preview.d.ts +0 -65
  95. package/dist/sdk/preview.d.ts.map +0 -1
  96. package/dist/sdk/preview.js +0 -262
  97. package/dist/sdk/preview.js.map +0 -1
  98. package/dist/sdk/template.d.ts +0 -162
  99. package/dist/sdk/template.d.ts.map +0 -1
  100. package/dist/sdk/template.js +0 -231
  101. package/dist/sdk/template.js.map +0 -1
  102. package/dist/sdk/workers/index.d.ts +0 -135
  103. package/dist/sdk/workers/index.d.ts.map +0 -1
  104. package/dist/sdk/workers/index.js +0 -271
  105. package/dist/sdk/workers/index.js.map +0 -1
  106. package/dist/sdk/workers/tailwind-config.d.ts +0 -48
  107. package/dist/sdk/workers/tailwind-config.d.ts.map +0 -1
  108. package/dist/sdk/workers/tailwind-config.js +0 -187
  109. package/dist/sdk/workers/tailwind-config.js.map +0 -1
  110. package/dist/sdk/workers/tailwind.d.ts +0 -9
  111. package/dist/sdk/workers/tailwind.d.ts.map +0 -1
  112. package/dist/sdk/workers/tailwind.js +0 -8
  113. package/dist/sdk/workers/tailwind.js.map +0 -1
  114. package/examples/code-editor-templates.ts +0 -173
  115. package/examples/nextjs-api/README.md +0 -180
  116. package/examples/nextjs-api/package.json +0 -21
  117. package/examples/nextjs-api/pages/api/intro-video.ts +0 -53
  118. package/examples/nextjs-api/pages/api/og-image.ts +0 -50
  119. package/examples/nextjs-template-import.ts +0 -58
  120. package/examples/sdk-video-preview.tsx +0 -120
  121. package/examples/template-compiler-workflow.ts +0 -251
  122. package/examples/visual-builder-templates.ts +0 -336
  123. package/render-examples-600x400.mjs +0 -161
  124. package/render-spring-variants-fixed.mjs +0 -60
  125. package/render-staggered-text.mjs +0 -56
  126. package/test-cloudflare-worker/README.md +0 -64
  127. package/test-cloudflare-worker/dist/README.md +0 -1
  128. package/test-cloudflare-worker/dist/index.js +0 -23743
  129. package/test-cloudflare-worker/dist/index.js.map +0 -8
  130. package/test-cloudflare-worker/package-lock.json +0 -1773
  131. package/test-cloudflare-worker/package.json +0 -25
  132. package/test-cloudflare-worker/test-sdk.mjs +0 -75
  133. package/test-cloudflare-worker/wrangler.toml +0 -14
  134. package/test-font-files.mjs +0 -72
  135. package/test-jsx-support.mjs +0 -146
  136. package/test-sdk-config.mjs +0 -454
  137. package/test-sdk-source-config.mjs +0 -427
  138. package/test-sdk-user-templates.mjs +0 -469
  139. package/test-static-debug.tsx +0 -19
  140. package/test-templates/TESTS.md +0 -63
  141. package/test-templates/config-test.mjs +0 -17
  142. package/test-templates/demo-intro-props.json +0 -4
  143. package/test-templates/run-tests.sh +0 -44
  144. package/test-templates/test-sdk.mjs +0 -139
  145. package/test-video-720p.mjs +0 -96
  146. package/test-video-breakdown.mjs +0 -98
  147. package/test-video-perf-1080.mjs +0 -67
  148. package/test-video-perf.mjs +0 -56
  149. package/test-video-props.json +0 -3
  150. package/test-worker-1080p.mjs +0 -103
  151. package/test-worker-viability.mjs +0 -140
  152. package/website/.astro/content.db +0 -0
  153. package/website/.astro/integrations/_inox-tools_astro-when/types.d.ts +0 -1
  154. package/website/.astro/integrations/astro_db/db.d.ts +0 -15
  155. package/website/.astro/settings.json +0 -5
  156. package/website/.astro/types.d.ts +0 -2
  157. package/website/DEPLOYMENT.md +0 -143
  158. package/website/OG_IMAGES.md +0 -142
  159. package/website/README.md +0 -158
  160. package/website/astro.config.mjs +0 -41
  161. package/website/dist/.gitkeep +0 -5
  162. package/website/dist/_astro/PlaygroundEditor.DzFavsm8.js +0 -26
  163. package/website/dist/_astro/VideoPreviewClient.BrajhYmh.js +0 -1
  164. package/website/dist/_astro/agents.CZXv4DCM.css +0 -1
  165. package/website/dist/_astro/client.BHSq4mdQ.js +0 -33
  166. package/website/dist/_astro/index.CTbGshLK.js +0 -9
  167. package/website/dist/_astro/jsx-runtime.BjG_zV1W.js +0 -9
  168. package/website/dist/_routes.json +0 -31
  169. package/website/dist/_worker.js/_@astrojs-ssr-adapter.mjs +0 -1033
  170. package/website/dist/_worker.js/_astro-internal_middleware.mjs +0 -40
  171. package/website/dist/_worker.js/chunks/Logo_Cud5QvBJ.mjs +0 -22
  172. package/website/dist/_worker.js/chunks/_@astro-renderers_-YVK7NHa.mjs +0 -15015
  173. package/website/dist/_worker.js/chunks/abap_BTmsHiP5.mjs +0 -1
  174. package/website/dist/_worker.js/chunks/actionscript-3_DmBelb1E.mjs +0 -1
  175. package/website/dist/_worker.js/chunks/ada_8-E0ahCN.mjs +0 -1
  176. package/website/dist/_worker.js/chunks/andromeeda_XI-CXx50.mjs +0 -1
  177. package/website/dist/_worker.js/chunks/angular-html_DKGh3gGH.mjs +0 -1
  178. package/website/dist/_worker.js/chunks/angular-ts_-qZGsJoA.mjs +0 -1
  179. package/website/dist/_worker.js/chunks/apache_ijTUt0Ee.mjs +0 -1
  180. package/website/dist/_worker.js/chunks/apex_agu1c6Sh.mjs +0 -1
  181. package/website/dist/_worker.js/chunks/apl_Bj2f7Art.mjs +0 -1
  182. package/website/dist/_worker.js/chunks/applescript_B_vXrOh3.mjs +0 -1
  183. package/website/dist/_worker.js/chunks/ara_DCEQ2rnh.mjs +0 -1
  184. package/website/dist/_worker.js/chunks/asciidoc_CGN_EkYS.mjs +0 -1
  185. package/website/dist/_worker.js/chunks/asm_BBWZgnDp.mjs +0 -1
  186. package/website/dist/_worker.js/chunks/astro/assets-service_j52rQLzU.mjs +0 -721
  187. package/website/dist/_worker.js/chunks/astro/server_CsUrSZgd.mjs +0 -2512
  188. package/website/dist/_worker.js/chunks/astro-designed-error-pages_1ELXm5Tt.mjs +0 -542
  189. package/website/dist/_worker.js/chunks/astro_Dr_hht3h.mjs +0 -1
  190. package/website/dist/_worker.js/chunks/aurora-x_9GHG8nSq.mjs +0 -1
  191. package/website/dist/_worker.js/chunks/awk_DHRvhXot.mjs +0 -1
  192. package/website/dist/_worker.js/chunks/ayu-dark_CcvqmEHE.mjs +0 -1
  193. package/website/dist/_worker.js/chunks/ballerina_C7SdeSZb.mjs +0 -1
  194. package/website/dist/_worker.js/chunks/bat_Dv4A3u45.mjs +0 -1
  195. package/website/dist/_worker.js/chunks/beancount_BfPf9Luv.mjs +0 -1
  196. package/website/dist/_worker.js/chunks/berry_B8rfM3lL.mjs +0 -1
  197. package/website/dist/_worker.js/chunks/bibtex_TcjYgtJM.mjs +0 -1
  198. package/website/dist/_worker.js/chunks/bicep_CrlFWCdN.mjs +0 -1
  199. package/website/dist/_worker.js/chunks/blade_lanKVYID.mjs +0 -1
  200. package/website/dist/_worker.js/chunks/bsl_BhppzXMB.mjs +0 -1
  201. package/website/dist/_worker.js/chunks/c_6FBALJTK.mjs +0 -1
  202. package/website/dist/_worker.js/chunks/cadence_2txU9LVE.mjs +0 -1
  203. package/website/dist/_worker.js/chunks/cairo_BkrFAIlP.mjs +0 -1
  204. package/website/dist/_worker.js/chunks/catppuccin-frappe_CkEqIYhU.mjs +0 -1
  205. package/website/dist/_worker.js/chunks/catppuccin-latte_DG4Gx_-v.mjs +0 -1
  206. package/website/dist/_worker.js/chunks/catppuccin-macchiato_Cwi3vCXf.mjs +0 -1
  207. package/website/dist/_worker.js/chunks/catppuccin-mocha_L9_OPlFX.mjs +0 -1
  208. package/website/dist/_worker.js/chunks/clarity_BEAe4Ulu.mjs +0 -1
  209. package/website/dist/_worker.js/chunks/clojure_VnUX6p2g.mjs +0 -1
  210. package/website/dist/_worker.js/chunks/cmake_0-SGkZEj.mjs +0 -1
  211. package/website/dist/_worker.js/chunks/cobol_92M_KGaE.mjs +0 -1
  212. package/website/dist/_worker.js/chunks/codeowners_CzMwskBv.mjs +0 -1
  213. package/website/dist/_worker.js/chunks/codeql_DWJZNHv1.mjs +0 -1
  214. package/website/dist/_worker.js/chunks/coffee_CQjKU2fh.mjs +0 -1
  215. package/website/dist/_worker.js/chunks/common-lisp_BBLWDpS5.mjs +0 -1
  216. package/website/dist/_worker.js/chunks/coq_hedRFV3D.mjs +0 -1
  217. package/website/dist/_worker.js/chunks/cpp_DlS1i6Zs.mjs +0 -1
  218. package/website/dist/_worker.js/chunks/crystal_D6n65fKV.mjs +0 -1
  219. package/website/dist/_worker.js/chunks/csharp_C6FCVFzc.mjs +0 -1
  220. package/website/dist/_worker.js/chunks/css_C5uJEgmJ.mjs +0 -1
  221. package/website/dist/_worker.js/chunks/csv_CtMYuuJl.mjs +0 -1
  222. package/website/dist/_worker.js/chunks/cue_BsPexqx6.mjs +0 -1
  223. package/website/dist/_worker.js/chunks/cypher_apzf6OBi.mjs +0 -1
  224. package/website/dist/_worker.js/chunks/d_DcvIRcgm.mjs +0 -1
  225. package/website/dist/_worker.js/chunks/dark-plus_C01ONtzj.mjs +0 -1
  226. package/website/dist/_worker.js/chunks/dart_WkzM5WrV.mjs +0 -1
  227. package/website/dist/_worker.js/chunks/dax_DjXAO5V4.mjs +0 -1
  228. package/website/dist/_worker.js/chunks/desktop_C92LCxdc.mjs +0 -1
  229. package/website/dist/_worker.js/chunks/diff_CVwM_9XJ.mjs +0 -1
  230. package/website/dist/_worker.js/chunks/docker_DPzgJf6Z.mjs +0 -1
  231. package/website/dist/_worker.js/chunks/dotenv_D_vgANvA.mjs +0 -1
  232. package/website/dist/_worker.js/chunks/dracula-soft_CLnUBwFm.mjs +0 -1
  233. package/website/dist/_worker.js/chunks/dracula_lBVpb6Lb.mjs +0 -1
  234. package/website/dist/_worker.js/chunks/dream-maker_DTLbzd_J.mjs +0 -1
  235. package/website/dist/_worker.js/chunks/edge_i54JYm3_.mjs +0 -1
  236. package/website/dist/_worker.js/chunks/elixir_BJCIjTu4.mjs +0 -1
  237. package/website/dist/_worker.js/chunks/elm_BbXD39-_.mjs +0 -1
  238. package/website/dist/_worker.js/chunks/emacs-lisp_pxa5cXaN.mjs +0 -1
  239. package/website/dist/_worker.js/chunks/erb_Ccjijeee.mjs +0 -1
  240. package/website/dist/_worker.js/chunks/erlang_B2VM_hi7.mjs +0 -1
  241. package/website/dist/_worker.js/chunks/everforest-dark_BxvIPBim.mjs +0 -1
  242. package/website/dist/_worker.js/chunks/everforest-light_B7VoyaJM.mjs +0 -1
  243. package/website/dist/_worker.js/chunks/fennel_D-uo7X6c.mjs +0 -1
  244. package/website/dist/_worker.js/chunks/fish_BjePoK3m.mjs +0 -1
  245. package/website/dist/_worker.js/chunks/fluent_C8fgkzLX.mjs +0 -1
  246. package/website/dist/_worker.js/chunks/fortran-fixed-form_D1pu5zrc.mjs +0 -1
  247. package/website/dist/_worker.js/chunks/fortran-free-form_CSGOhJD6.mjs +0 -1
  248. package/website/dist/_worker.js/chunks/fsharp_B0xy-A4Y.mjs +0 -1
  249. package/website/dist/_worker.js/chunks/gdresource_CWppjlHq.mjs +0 -1
  250. package/website/dist/_worker.js/chunks/gdscript_eQCHchcS.mjs +0 -1
  251. package/website/dist/_worker.js/chunks/gdshader_C4kxepX7.mjs +0 -1
  252. package/website/dist/_worker.js/chunks/genie_ACtQLcDW.mjs +0 -1
  253. package/website/dist/_worker.js/chunks/gherkin_BFp2uKUd.mjs +0 -1
  254. package/website/dist/_worker.js/chunks/git-commit_CLg9ZwMV.mjs +0 -1
  255. package/website/dist/_worker.js/chunks/git-rebase_DG8A80Nt.mjs +0 -1
  256. package/website/dist/_worker.js/chunks/github-dark-default_BI0EP2Kv.mjs +0 -1
  257. package/website/dist/_worker.js/chunks/github-dark-dimmed_a_NIC0Xb.mjs +0 -1
  258. package/website/dist/_worker.js/chunks/github-dark-high-contrast_jZGqT7hk.mjs +0 -1
  259. package/website/dist/_worker.js/chunks/github-dark_CHCDNd2O.mjs +0 -1
  260. package/website/dist/_worker.js/chunks/github-light-default_DRbOW5RG.mjs +0 -1
  261. package/website/dist/_worker.js/chunks/github-light-high-contrast_tn_kWutM.mjs +0 -1
  262. package/website/dist/_worker.js/chunks/github-light_D9brYzot.mjs +0 -1
  263. package/website/dist/_worker.js/chunks/gleam_Dmhu1oxW.mjs +0 -1
  264. package/website/dist/_worker.js/chunks/glimmer-js_BfZbXy8A.mjs +0 -1
  265. package/website/dist/_worker.js/chunks/glimmer-ts_B9QVICrD.mjs +0 -1
  266. package/website/dist/_worker.js/chunks/glsl_DD2PPwOs.mjs +0 -1
  267. package/website/dist/_worker.js/chunks/gnuplot_D2OYChUX.mjs +0 -1
  268. package/website/dist/_worker.js/chunks/go_DYGFTe3h.mjs +0 -1
  269. package/website/dist/_worker.js/chunks/graphql_B7XsT3nH.mjs +0 -1
  270. package/website/dist/_worker.js/chunks/groovy_BO12Uwkl.mjs +0 -1
  271. package/website/dist/_worker.js/chunks/hack_CB2_ztCP.mjs +0 -1
  272. package/website/dist/_worker.js/chunks/haml_CyfDcDD3.mjs +0 -1
  273. package/website/dist/_worker.js/chunks/handlebars_CfpxpWm2.mjs +0 -1
  274. package/website/dist/_worker.js/chunks/haskell_jUeC5uN5.mjs +0 -1
  275. package/website/dist/_worker.js/chunks/haxe_B6GxP1WB.mjs +0 -1
  276. package/website/dist/_worker.js/chunks/hcl_DwoHV2oh.mjs +0 -1
  277. package/website/dist/_worker.js/chunks/hjson_DV7cJRk4.mjs +0 -1
  278. package/website/dist/_worker.js/chunks/hlsl_BlFCscPI.mjs +0 -1
  279. package/website/dist/_worker.js/chunks/houston_COBFG1Mx.mjs +0 -1
  280. package/website/dist/_worker.js/chunks/html-derivative_C9pJ337h.mjs +0 -1
  281. package/website/dist/_worker.js/chunks/html_D1OkrZS5.mjs +0 -1
  282. package/website/dist/_worker.js/chunks/http_DIGXRqvJ.mjs +0 -1
  283. package/website/dist/_worker.js/chunks/hxml_DEwh9i-c.mjs +0 -1
  284. package/website/dist/_worker.js/chunks/hy_DDoIgW1K.mjs +0 -1
  285. package/website/dist/_worker.js/chunks/imba_B00zbHo4.mjs +0 -1
  286. package/website/dist/_worker.js/chunks/index_BDWR1Q-q.mjs +0 -1861
  287. package/website/dist/_worker.js/chunks/ini_D7XQA_p8.mjs +0 -1
  288. package/website/dist/_worker.js/chunks/java_B9wdFd8K.mjs +0 -1
  289. package/website/dist/_worker.js/chunks/javascript_CLsPGOON.mjs +0 -1
  290. package/website/dist/_worker.js/chunks/jinja_jarBCAN1.mjs +0 -1
  291. package/website/dist/_worker.js/chunks/jison_oGg3J708.mjs +0 -1
  292. package/website/dist/_worker.js/chunks/json5_DlZ1Kyaa.mjs +0 -1
  293. package/website/dist/_worker.js/chunks/json_DaYk_FMp.mjs +0 -1
  294. package/website/dist/_worker.js/chunks/jsonc_DlwgfSDs.mjs +0 -1
  295. package/website/dist/_worker.js/chunks/jsonl_BbCCVaZF.mjs +0 -1
  296. package/website/dist/_worker.js/chunks/jsonnet_Dt-G75xe.mjs +0 -1
  297. package/website/dist/_worker.js/chunks/jssm_BtKFTj2A.mjs +0 -1
  298. package/website/dist/_worker.js/chunks/jsx_DDx_xAZ8.mjs +0 -1
  299. package/website/dist/_worker.js/chunks/julia_CK0lv68l.mjs +0 -1
  300. package/website/dist/_worker.js/chunks/kanagawa-dragon_BldAK3Oo.mjs +0 -1
  301. package/website/dist/_worker.js/chunks/kanagawa-lotus_DVM8FX9_.mjs +0 -1
  302. package/website/dist/_worker.js/chunks/kanagawa-wave_Dpih0AKP.mjs +0 -1
  303. package/website/dist/_worker.js/chunks/kotlin_kWneB9V_.mjs +0 -1
  304. package/website/dist/_worker.js/chunks/kusto_BKVATd95.mjs +0 -1
  305. package/website/dist/_worker.js/chunks/laserwave_BqatxsVl.mjs +0 -1
  306. package/website/dist/_worker.js/chunks/latex_LVDcGBbc.mjs +0 -1
  307. package/website/dist/_worker.js/chunks/lean_W7qo-5M2.mjs +0 -1
  308. package/website/dist/_worker.js/chunks/less_DFNwJnBH.mjs +0 -1
  309. package/website/dist/_worker.js/chunks/light-plus_Dp0AoWsO.mjs +0 -1
  310. package/website/dist/_worker.js/chunks/liquid_D24qs0pc.mjs +0 -1
  311. package/website/dist/_worker.js/chunks/log_IPWMXriF.mjs +0 -1
  312. package/website/dist/_worker.js/chunks/logo_C6KaatrQ.mjs +0 -1
  313. package/website/dist/_worker.js/chunks/lua_CwnEf-T7.mjs +0 -1
  314. package/website/dist/_worker.js/chunks/luau_Br3-CXjS.mjs +0 -1
  315. package/website/dist/_worker.js/chunks/make_UBNG-kOo.mjs +0 -1
  316. package/website/dist/_worker.js/chunks/markdown_C7mhJFCm.mjs +0 -1
  317. package/website/dist/_worker.js/chunks/marko_4tchUvI7.mjs +0 -1
  318. package/website/dist/_worker.js/chunks/material-theme-darker_SKtaNEPn.mjs +0 -1
  319. package/website/dist/_worker.js/chunks/material-theme-lighter_zOX_DZCH.mjs +0 -1
  320. package/website/dist/_worker.js/chunks/material-theme-ocean_BN9WbhdC.mjs +0 -1
  321. package/website/dist/_worker.js/chunks/material-theme-palenight_DT_covjH.mjs +0 -1
  322. package/website/dist/_worker.js/chunks/material-theme_6RpeM3kc.mjs +0 -1
  323. package/website/dist/_worker.js/chunks/matlab_DCOXsPKR.mjs +0 -1
  324. package/website/dist/_worker.js/chunks/mdc_B9gb2UFP.mjs +0 -1
  325. package/website/dist/_worker.js/chunks/mdx_DGU7Nu9u.mjs +0 -1
  326. package/website/dist/_worker.js/chunks/mermaid_B69URzsZ.mjs +0 -1
  327. package/website/dist/_worker.js/chunks/min-dark_BgxifOMI.mjs +0 -1
  328. package/website/dist/_worker.js/chunks/min-light_BrPjXxUp.mjs +0 -1
  329. package/website/dist/_worker.js/chunks/mipsasm_9U-4_t7k.mjs +0 -1
  330. package/website/dist/_worker.js/chunks/mojo_B0wt7ug3.mjs +0 -1
  331. package/website/dist/_worker.js/chunks/monokai_B6Pxpoyi.mjs +0 -1
  332. package/website/dist/_worker.js/chunks/move_1eid4CyR.mjs +0 -1
  333. package/website/dist/_worker.js/chunks/narrat_Ds6-p5JZ.mjs +0 -1
  334. package/website/dist/_worker.js/chunks/nextflow_v2N1Qlqa.mjs +0 -1
  335. package/website/dist/_worker.js/chunks/nginx_Bp9Ab2NH.mjs +0 -1
  336. package/website/dist/_worker.js/chunks/night-owl_CdwOw_sc.mjs +0 -1
  337. package/website/dist/_worker.js/chunks/nim_BXGDUe53.mjs +0 -1
  338. package/website/dist/_worker.js/chunks/nix_CUig1nJH.mjs +0 -1
  339. package/website/dist/_worker.js/chunks/noop-middleware_B8fH5jha.mjs +0 -10
  340. package/website/dist/_worker.js/chunks/nord_SPoG1iae.mjs +0 -1
  341. package/website/dist/_worker.js/chunks/nushell_DJw1Lca8.mjs +0 -1
  342. package/website/dist/_worker.js/chunks/objective-c_Bktzl_CO.mjs +0 -1
  343. package/website/dist/_worker.js/chunks/objective-cpp_CP4DWdDp.mjs +0 -1
  344. package/website/dist/_worker.js/chunks/ocaml_CeEAs7bZ.mjs +0 -1
  345. package/website/dist/_worker.js/chunks/one-dark-pro_-hIwCNMi.mjs +0 -1
  346. package/website/dist/_worker.js/chunks/one-light_DSmYvJ05.mjs +0 -1
  347. package/website/dist/_worker.js/chunks/pascal_C-S_Ms_o.mjs +0 -1
  348. package/website/dist/_worker.js/chunks/perl_CKamvo15.mjs +0 -1
  349. package/website/dist/_worker.js/chunks/php_BlmcX_F3.mjs +0 -1
  350. package/website/dist/_worker.js/chunks/plastic_Ryt8tVoA.mjs +0 -1
  351. package/website/dist/_worker.js/chunks/plsql_Cb3v7cBj.mjs +0 -1
  352. package/website/dist/_worker.js/chunks/po_DZbdNRlo.mjs +0 -1
  353. package/website/dist/_worker.js/chunks/poimandres_bYmE3_5d.mjs +0 -1
  354. package/website/dist/_worker.js/chunks/polar_pJkMGwoW.mjs +0 -1
  355. package/website/dist/_worker.js/chunks/postcss_BAXSOKgk.mjs +0 -1
  356. package/website/dist/_worker.js/chunks/powerquery_oITMGN4x.mjs +0 -1
  357. package/website/dist/_worker.js/chunks/powershell_6306-xIF.mjs +0 -1
  358. package/website/dist/_worker.js/chunks/prisma_DSDxnZGz.mjs +0 -1
  359. package/website/dist/_worker.js/chunks/prolog_CxG7tjZR.mjs +0 -1
  360. package/website/dist/_worker.js/chunks/proto_CS9ByXm1.mjs +0 -1
  361. package/website/dist/_worker.js/chunks/pug_BMtLJo6U.mjs +0 -1
  362. package/website/dist/_worker.js/chunks/puppet_BfeeSzee.mjs +0 -1
  363. package/website/dist/_worker.js/chunks/purescript_BFfueNaH.mjs +0 -1
  364. package/website/dist/_worker.js/chunks/python_Cc4Faapv.mjs +0 -1
  365. package/website/dist/_worker.js/chunks/qml_C1CTJTK8.mjs +0 -1
  366. package/website/dist/_worker.js/chunks/qmldir_nG1KaqKR.mjs +0 -1
  367. package/website/dist/_worker.js/chunks/qss_Cncxk263.mjs +0 -1
  368. package/website/dist/_worker.js/chunks/r_ChR54Ihi.mjs +0 -1
  369. package/website/dist/_worker.js/chunks/racket_BDrhptDs.mjs +0 -1
  370. package/website/dist/_worker.js/chunks/raku_07OUHa0P.mjs +0 -1
  371. package/website/dist/_worker.js/chunks/razor_DIP3INLa.mjs +0 -1
  372. package/website/dist/_worker.js/chunks/red_DOPXfj-6.mjs +0 -1
  373. package/website/dist/_worker.js/chunks/reg_B64SwEDj.mjs +0 -1
  374. package/website/dist/_worker.js/chunks/regexp_ButFGoB5.mjs +0 -1
  375. package/website/dist/_worker.js/chunks/rel_BWJAWqZD.mjs +0 -1
  376. package/website/dist/_worker.js/chunks/riscv_79gXlbsF.mjs +0 -1
  377. package/website/dist/_worker.js/chunks/rose-pine-dawn_DHIjVGd3.mjs +0 -1
  378. package/website/dist/_worker.js/chunks/rose-pine-moon_t86aEbs0.mjs +0 -1
  379. package/website/dist/_worker.js/chunks/rose-pine_BHgrcDCs.mjs +0 -1
  380. package/website/dist/_worker.js/chunks/rst_D3F4Fcpj.mjs +0 -1
  381. package/website/dist/_worker.js/chunks/ruby_Cs7vM9iv.mjs +0 -1
  382. package/website/dist/_worker.js/chunks/rust_DpyRVatH.mjs +0 -1
  383. package/website/dist/_worker.js/chunks/sas_DW45xZXN.mjs +0 -1
  384. package/website/dist/_worker.js/chunks/sass_C6SiMwN_.mjs +0 -1
  385. package/website/dist/_worker.js/chunks/scala_DlZOjNZk.mjs +0 -1
  386. package/website/dist/_worker.js/chunks/scheme_D2ezSJXu.mjs +0 -1
  387. package/website/dist/_worker.js/chunks/scss_DG5Spjqu.mjs +0 -1
  388. package/website/dist/_worker.js/chunks/sdbl_ZCYaj4VN.mjs +0 -1
  389. package/website/dist/_worker.js/chunks/shaderlab_CAcRkg1_.mjs +0 -1
  390. package/website/dist/_worker.js/chunks/shellscript_BWwhkDVh.mjs +0 -1
  391. package/website/dist/_worker.js/chunks/shellsession_BfEA3juK.mjs +0 -1
  392. package/website/dist/_worker.js/chunks/slack-dark_CL3lSpCc.mjs +0 -1
  393. package/website/dist/_worker.js/chunks/slack-ochin_DdZKOQVh.mjs +0 -1
  394. package/website/dist/_worker.js/chunks/smalltalk_DgilzSui.mjs +0 -1
  395. package/website/dist/_worker.js/chunks/snazzy-light_eJU08Pz_.mjs +0 -1
  396. package/website/dist/_worker.js/chunks/solarized-dark_Dg_YQywx.mjs +0 -1
  397. package/website/dist/_worker.js/chunks/solarized-light_BnIsrA6p.mjs +0 -1
  398. package/website/dist/_worker.js/chunks/solidity_DkseH8pQ.mjs +0 -1
  399. package/website/dist/_worker.js/chunks/soy_DU7bOYoG.mjs +0 -1
  400. package/website/dist/_worker.js/chunks/sparql_BuI1DBDH.mjs +0 -1
  401. package/website/dist/_worker.js/chunks/splunk_B8Ha9Pkg.mjs +0 -1
  402. package/website/dist/_worker.js/chunks/sql_BniHwea5.mjs +0 -1
  403. package/website/dist/_worker.js/chunks/ssh-config_CkE1GuVe.mjs +0 -1
  404. package/website/dist/_worker.js/chunks/stata_Dtqpbd_l.mjs +0 -1
  405. package/website/dist/_worker.js/chunks/stylus_CXTtglzO.mjs +0 -1
  406. package/website/dist/_worker.js/chunks/svelte_BjWYcUCN.mjs +0 -1
  407. package/website/dist/_worker.js/chunks/swift_BzHql_rM.mjs +0 -1
  408. package/website/dist/_worker.js/chunks/synthwave-84_DLRNhxNA.mjs +0 -1
  409. package/website/dist/_worker.js/chunks/system-verilog_ChyInPph.mjs +0 -1
  410. package/website/dist/_worker.js/chunks/systemd_Bi9Qa2qD.mjs +0 -1
  411. package/website/dist/_worker.js/chunks/talonscript_B3sH_Y-V.mjs +0 -1
  412. package/website/dist/_worker.js/chunks/tasl_BJ5yipRs.mjs +0 -1
  413. package/website/dist/_worker.js/chunks/tcl_CoJQjNoP.mjs +0 -1
  414. package/website/dist/_worker.js/chunks/templ_CrU7Ffil.mjs +0 -1
  415. package/website/dist/_worker.js/chunks/terraform_DT9JSFpC.mjs +0 -1
  416. package/website/dist/_worker.js/chunks/tex_5PKu2yA0.mjs +0 -1
  417. package/website/dist/_worker.js/chunks/tokyo-night_Buo8OK7-.mjs +0 -1
  418. package/website/dist/_worker.js/chunks/toml_CPuXX3oc.mjs +0 -1
  419. package/website/dist/_worker.js/chunks/ts-tags_D0M_1VSH.mjs +0 -1
  420. package/website/dist/_worker.js/chunks/tsv_CuivVNot.mjs +0 -1
  421. package/website/dist/_worker.js/chunks/tsx_MkuGr8MY.mjs +0 -1
  422. package/website/dist/_worker.js/chunks/turtle_BqgEPK7f.mjs +0 -1
  423. package/website/dist/_worker.js/chunks/twig_r1G9rpYJ.mjs +0 -1
  424. package/website/dist/_worker.js/chunks/typescript_Au5buqzM.mjs +0 -1
  425. package/website/dist/_worker.js/chunks/typespec_47rhBK_z.mjs +0 -1
  426. package/website/dist/_worker.js/chunks/typst_BAtuQLh-.mjs +0 -1
  427. package/website/dist/_worker.js/chunks/v_BIvWImHg.mjs +0 -1
  428. package/website/dist/_worker.js/chunks/vala_DYEacj30.mjs +0 -1
  429. package/website/dist/_worker.js/chunks/vb_CikQuqGJ.mjs +0 -1
  430. package/website/dist/_worker.js/chunks/verilog_BQRENwI-.mjs +0 -1
  431. package/website/dist/_worker.js/chunks/vesper_DA0kvTmj.mjs +0 -1
  432. package/website/dist/_worker.js/chunks/vhdl_DHscJIyg.mjs +0 -1
  433. package/website/dist/_worker.js/chunks/viml_F2pvMwvG.mjs +0 -1
  434. package/website/dist/_worker.js/chunks/vitesse-black_D9tjNzd0.mjs +0 -1
  435. package/website/dist/_worker.js/chunks/vitesse-dark_Bnm5d0hd.mjs +0 -1
  436. package/website/dist/_worker.js/chunks/vitesse-light_CHwbyjNR.mjs +0 -1
  437. package/website/dist/_worker.js/chunks/vue-html_DyYtbbMK.mjs +0 -1
  438. package/website/dist/_worker.js/chunks/vue_DofN6juy.mjs +0 -1
  439. package/website/dist/_worker.js/chunks/vyper_CiR0m-OV.mjs +0 -1
  440. package/website/dist/_worker.js/chunks/wasm_CwIGgRGf.mjs +0 -1
  441. package/website/dist/_worker.js/chunks/wasm_jKWhg0J0.mjs +0 -1
  442. package/website/dist/_worker.js/chunks/wenyan_DKvVZKXW.mjs +0 -1
  443. package/website/dist/_worker.js/chunks/wgsl_BOWZY7yw.mjs +0 -1
  444. package/website/dist/_worker.js/chunks/wikitext_CXDhhHPy.mjs +0 -1
  445. package/website/dist/_worker.js/chunks/wolfram_ChkmGnW0.mjs +0 -1
  446. package/website/dist/_worker.js/chunks/xml_DXH3hHIu.mjs +0 -1
  447. package/website/dist/_worker.js/chunks/xsl_DuP2mFjg.mjs +0 -1
  448. package/website/dist/_worker.js/chunks/yaml_IGiEkTge.mjs +0 -1
  449. package/website/dist/_worker.js/chunks/zenscript_59iXGyNw.mjs +0 -1
  450. package/website/dist/_worker.js/chunks/zig_DKzb0zdT.mjs +0 -1
  451. package/website/dist/_worker.js/index.js +0 -61
  452. package/website/dist/_worker.js/manifest_Bk6136-u.mjs +0 -98
  453. package/website/dist/_worker.js/pages/_image.astro.mjs +0 -24
  454. package/website/dist/_worker.js/pages/agents.astro.mjs +0 -1
  455. package/website/dist/_worker.js/pages/animation.astro.mjs +0 -1
  456. package/website/dist/_worker.js/pages/api/playground/render.astro.mjs +0 -25562
  457. package/website/dist/_worker.js/pages/api/playground/templates.astro.mjs +0 -92
  458. package/website/dist/_worker.js/pages/api/raw-markdown/_---path_.astro.mjs +0 -44
  459. package/website/dist/_worker.js/pages/config.astro.mjs +0 -1
  460. package/website/dist/_worker.js/pages/fonts.astro.mjs +0 -1
  461. package/website/dist/_worker.js/pages/getting-started.astro.mjs +0 -1
  462. package/website/dist/_worker.js/pages/helpers.astro.mjs +0 -1
  463. package/website/dist/_worker.js/pages/images.astro.mjs +0 -1
  464. package/website/dist/_worker.js/pages/index.astro.mjs +0 -1
  465. package/website/dist/_worker.js/pages/llm.txt.astro.mjs +0 -1
  466. package/website/dist/_worker.js/pages/playground/_example_.astro.mjs +0 -95
  467. package/website/dist/_worker.js/pages/playground.astro.mjs +0 -1
  468. package/website/dist/_worker.js/pages/preview.astro.mjs +0 -1
  469. package/website/dist/_worker.js/pages/sdk.astro.mjs +0 -1
  470. package/website/dist/_worker.js/pages/sitemap.xml.astro.mjs +0 -1
  471. package/website/dist/_worker.js/pages/styling.astro.mjs +0 -1
  472. package/website/dist/_worker.js/pages/templates.astro.mjs +0 -1
  473. package/website/dist/_worker.js/pages/video.astro.mjs +0 -1
  474. package/website/dist/_worker.js/renderers.mjs +0 -2
  475. package/website/dist/agents/index.html +0 -54
  476. package/website/dist/animation/index.html +0 -1505
  477. package/website/dist/config/index.html +0 -186
  478. package/website/dist/fonts/index.html +0 -200
  479. package/website/dist/getting-started/index.html +0 -109
  480. package/website/dist/helpers/index.html +0 -350
  481. package/website/dist/images/index.html +0 -337
  482. package/website/dist/index.html +0 -141
  483. package/website/dist/llm.txt +0 -3626
  484. package/website/dist/playground/index.html +0 -6
  485. package/website/dist/preview/index.html +0 -113
  486. package/website/dist/robots.txt +0 -40
  487. package/website/dist/sdk/index.html +0 -1588
  488. package/website/dist/sitemap.xml +0 -76
  489. package/website/dist/styling/index.html +0 -368
  490. package/website/dist/templates/index.html +0 -76
  491. package/website/dist/video/index.html +0 -354
  492. package/website/package-lock.json +0 -8099
  493. package/website/package.json +0 -43
  494. package/website/public/.gitkeep +0 -5
  495. package/website/public/robots.txt +0 -40
  496. package/website/templates/og-image.tsx +0 -60
  497. package/website/wrangler.toml +0 -9
@@ -1,140 +0,0 @@
1
- import { renderSVG, initWasm, defineTemplate } from './dist/sdk/workers/index.js';
2
- import { Resvg } from '@resvg/resvg-wasm';
3
- import HME from 'h264-mp4-encoder';
4
- import React from 'react';
5
-
6
- // Typical real-world template
7
- const template = defineTemplate({
8
- name: 'worker-test',
9
- type: 'video',
10
- size: { width: 1280, height: 720 },
11
- video: { fps: 30, duration: 10 }, // 10 second clip
12
- render: ({ tw, progress, frame }) => React.createElement(
13
- 'div',
14
- { style: tw('flex flex-col items-center justify-center w-full h-full bg-gradient-to-br from-indigo-900 via-purple-900 to-pink-800') },
15
- React.createElement('h1', {
16
- style: tw('text-7xl font-black text-white ease-out-cubic enter-bounce-in-up/0/800')
17
- }, 'LOOPWIND'),
18
- React.createElement('p', {
19
- style: tw('text-2xl text-white/80 mt-4 ease-out enter-fade-in-up/400/600')
20
- }, 'Worker Viability Test'),
21
- React.createElement('div', { style: tw('flex gap-4 mt-8') },
22
- React.createElement('div', {
23
- style: tw('px-4 py-2 bg-white/10 rounded-full text-white ease-out enter-fade-in-up/900/400')
24
- }, 'Feature 1'),
25
- React.createElement('div', {
26
- style: tw('px-4 py-2 bg-white/10 rounded-full text-white ease-out enter-fade-in-up/1050/400')
27
- }, 'Feature 2'),
28
- React.createElement('div', {
29
- style: tw('px-4 py-2 bg-white/10 rounded-full text-white ease-out enter-fade-in-up/1200/400')
30
- }, 'Feature 3')
31
- )
32
- )
33
- });
34
-
35
- async function runTests() {
36
- console.log('=== Worker Viability Tests ===\n');
37
- console.log('Testing various configurations to find what works in Workers');
38
- console.log('Cloudflare Workers limits: 30s CPU time (paid), 128MB memory\n');
39
-
40
- await initWasm();
41
-
42
- const configs = [
43
- { width: 640, height: 360, fps: 24, duration: 5, name: '360p/24fps/5s' },
44
- { width: 640, height: 360, fps: 24, duration: 10, name: '360p/24fps/10s' },
45
- { width: 854, height: 480, fps: 24, duration: 5, name: '480p/24fps/5s' },
46
- { width: 854, height: 480, fps: 24, duration: 10, name: '480p/24fps/10s' },
47
- { width: 1280, height: 720, fps: 24, duration: 5, name: '720p/24fps/5s' },
48
- { width: 1280, height: 720, fps: 24, duration: 10, name: '720p/24fps/10s' },
49
- { width: 1280, height: 720, fps: 30, duration: 5, name: '720p/30fps/5s' },
50
- { width: 1280, height: 720, fps: 30, duration: 10, name: '720p/30fps/10s' },
51
- ];
52
-
53
- const results = [];
54
-
55
- for (const config of configs) {
56
- const { width, height, fps, duration, name } = config;
57
- const totalFrames = fps * duration;
58
-
59
- console.log(`\nTesting ${name} (${totalFrames} frames)...`);
60
- const start = Date.now();
61
-
62
- // SVG generation
63
- const svgStart = Date.now();
64
- const svgs = [];
65
- for (let i = 0; i < totalFrames; i++) {
66
- const progress = i / (totalFrames - 1);
67
- const svg = await renderSVG(template, { progress, frame: i });
68
- svgs.push(svg);
69
- }
70
- const svgTime = Date.now() - svgStart;
71
-
72
- // RGBA conversion
73
- const rgbaStart = Date.now();
74
- const rgbaFrames = [];
75
- for (let i = 0; i < totalFrames; i++) {
76
- const resvg = new Resvg(svgs[i], { fitTo: { mode: 'width', value: width } });
77
- const rendered = resvg.render();
78
- rgbaFrames.push(rendered.pixels);
79
- }
80
- const rgbaTime = Date.now() - rgbaStart;
81
-
82
- // H.264 encoding
83
- const encodeStart = Date.now();
84
- const encoder = await HME.createH264MP4Encoder();
85
- encoder.width = width;
86
- encoder.height = height;
87
- encoder.frameRate = fps;
88
- encoder.quantizationParameter = 23;
89
- encoder.speed = 10;
90
- encoder.groupOfPictures = fps;
91
- encoder.initialize();
92
-
93
- for (const frame of rgbaFrames) {
94
- encoder.addFrameRgba(frame);
95
- }
96
- encoder.finalize();
97
- const output = encoder.FS.readFile(encoder.outputFilename);
98
- encoder.delete();
99
- const encodeTime = Date.now() - encodeStart;
100
-
101
- const totalTime = Date.now() - start;
102
- const realTimeRatio = totalTime / (duration * 1000);
103
- const workerViable = totalTime < 30000;
104
-
105
- results.push({
106
- name,
107
- totalTime,
108
- svgTime,
109
- rgbaTime,
110
- encodeTime,
111
- realTimeRatio,
112
- workerViable,
113
- outputSize: output.length
114
- });
115
-
116
- console.log(` Total: ${totalTime}ms (${realTimeRatio.toFixed(2)}x real-time)`);
117
- console.log(` SVG: ${svgTime}ms, RGBA: ${rgbaTime}ms, H.264: ${encodeTime}ms`);
118
- console.log(` Worker viable: ${workerViable ? 'YES ✓' : 'NO ✗'}`);
119
- }
120
-
121
- console.log('\n\n=== SUMMARY ===\n');
122
- console.log('Config | Total | RGBA/frame | Ratio | Worker OK');
123
- console.log('--------------------|----------|------------|--------|----------');
124
- for (const r of results) {
125
- const frames = parseInt(r.name.split('/')[1]) * parseInt(r.name.split('/')[2].replace('s', ''));
126
- const rgbaPerFrame = (r.rgbaTime / frames).toFixed(0);
127
- console.log(
128
- `${r.name.padEnd(19)} | ${(r.totalTime + 'ms').padEnd(8)} | ${(rgbaPerFrame + 'ms').padEnd(10)} | ${r.realTimeRatio.toFixed(2)}x | ${r.workerViable ? 'YES ✓' : 'NO ✗'}`
129
- );
130
- }
131
-
132
- console.log('\n=== CONCLUSIONS ===');
133
- const viableConfigs = results.filter(r => r.workerViable);
134
- if (viableConfigs.length > 0) {
135
- console.log('Worker-viable configurations (< 30s):');
136
- viableConfigs.forEach(r => console.log(` - ${r.name}: ${r.totalTime}ms`));
137
- }
138
- }
139
-
140
- runTests().catch(console.error);
Binary file
@@ -1 +0,0 @@
1
- import '@inox-tools/astro-when';
@@ -1,15 +0,0 @@
1
- // This file is generated by Astro DB
2
- declare module 'astro:db' {
3
- export const Team: import("@astrojs/db/runtime").Table<
4
- "Team",
5
- {"id":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"id","collection":"Team","primaryKey":true}},"name":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"name","collection":"Team","primaryKey":false,"optional":false}},"slug":{"type":"text","schema":{"unique":true,"deprecated":false,"name":"slug","collection":"Team","primaryKey":false,"optional":false}},"createdAt":{"type":"date","schema":{"optional":false,"unique":false,"deprecated":false,"name":"createdAt","collection":"Team","default":"2025-11-21T18:59:54.504Z"}},"updatedAt":{"type":"date","schema":{"optional":false,"unique":false,"deprecated":false,"name":"updatedAt","collection":"Team","default":"2025-11-21T18:59:54.504Z"}}}
6
- >;
7
- export const UserTeam: import("@astrojs/db/runtime").Table<
8
- "UserTeam",
9
- {"id":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"id","collection":"UserTeam","primaryKey":true}},"userId":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"userId","collection":"UserTeam","primaryKey":false,"optional":false}},"teamId":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"teamId","collection":"UserTeam","primaryKey":false,"optional":false,"references":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"id","collection":"Team","primaryKey":true}}}},"role":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"role","collection":"UserTeam","default":"member","primaryKey":false,"optional":false}},"joinedAt":{"type":"date","schema":{"optional":false,"unique":false,"deprecated":false,"name":"joinedAt","collection":"UserTeam","default":"2025-11-21T18:59:54.504Z"}}}
10
- >;
11
- export const Loop: import("@astrojs/db/runtime").Table<
12
- "Loop",
13
- {"id":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"id","collection":"Loop","primaryKey":true}},"userId":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"userId","collection":"Loop","primaryKey":false,"optional":false}},"teamId":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"teamId","collection":"Loop","primaryKey":false,"optional":false,"references":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"id","collection":"Team","primaryKey":true}}}},"name":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"name","collection":"Loop","primaryKey":false,"optional":false}},"slug":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"slug","collection":"Loop","primaryKey":false,"optional":false}},"description":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"description","collection":"Loop","primaryKey":false,"optional":true}},"templateCode":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"templateCode","collection":"Loop","primaryKey":false,"optional":false}},"propsCode":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"propsCode","collection":"Loop","primaryKey":false,"optional":false}},"configCode":{"type":"text","schema":{"unique":false,"deprecated":false,"name":"configCode","collection":"Loop","primaryKey":false,"optional":true}},"isPublic":{"type":"boolean","schema":{"optional":false,"unique":false,"deprecated":false,"name":"isPublic","collection":"Loop","default":false}},"createdAt":{"type":"date","schema":{"optional":false,"unique":false,"deprecated":false,"name":"createdAt","collection":"Loop","default":"2025-11-21T18:59:54.504Z"}},"updatedAt":{"type":"date","schema":{"optional":false,"unique":false,"deprecated":false,"name":"updatedAt","collection":"Loop","default":"2025-11-21T18:59:54.504Z"}}}
14
- >;
15
- }
@@ -1,5 +0,0 @@
1
- {
2
- "_variables": {
3
- "lastUpdateCheck": 1763410784506
4
- }
5
- }
@@ -1,2 +0,0 @@
1
- /// <reference types="astro/client" />
2
- /// <reference path="integrations/_inox-tools_astro-when/types.d.ts" />
@@ -1,143 +0,0 @@
1
- # Deployment Guide
2
-
3
- This documentation website is configured for deployment on **Cloudflare Pages/Workers** with hybrid rendering.
4
-
5
- ## Quick Deploy
6
-
7
- ```bash
8
- cd website
9
-
10
- # Install dependencies
11
- npm install
12
-
13
- # Build and deploy
14
- npm run deploy
15
- ```
16
-
17
- ## What's Included
18
-
19
- ### 1. Dynamic OG Image Generation
20
-
21
- Every documentation page automatically generates its own Open Graph image using **loopwind SDK**.
22
-
23
- - **API Route**: `/api/og/[...slug].tsx`
24
- - **Format**: 1200x630 PNG
25
- - **Generation**: Pre-rendered at build time for known pages, generated on-demand for others
26
- - **Caching**: Immutable cache headers for optimal performance
27
-
28
- **Example URLs:**
29
- - `/api/og/sdk` → SDK page OG image
30
- - `/api/og/config` → Config page OG image
31
- - `/api/og/getting-started` → Getting Started OG image
32
-
33
- ### 2. Cloudflare Workers Adapter
34
-
35
- - **File**: `astro.config.mjs`
36
- - **Adapter**: `@astrojs/cloudflare`
37
- - **Output**: Hybrid (SSG + SSR)
38
- - **Platform**: Cloudflare Workers with Assets
39
-
40
- ### 3. Build Configuration
41
-
42
- The Vite config externalizes Node.js built-ins for Cloudflare compatibility:
43
-
44
- ```javascript
45
- vite: {
46
- ssr: {
47
- external: ['node:fs', 'fs', 'path', etc.],
48
- noExternal: ['loopwind'], // Bundle loopwind SDK
49
- },
50
- }
51
- ```
52
-
53
- ## Deployment Steps
54
-
55
- ### First Time Setup
56
-
57
- 1. **Install Wrangler CLI** (if not already installed):
58
- ```bash
59
- npm install -g wrangler
60
- ```
61
-
62
- 2. **Login to Cloudflare**:
63
- ```bash
64
- npx wrangler login
65
- ```
66
-
67
- 3. **Build and Deploy**:
68
- ```bash
69
- npm run deploy
70
- ```
71
-
72
- ### Subsequent Deployments
73
-
74
- Just run:
75
-
76
- ```bash
77
- npm run deploy
78
- ```
79
-
80
- Or separately:
81
-
82
- ```bash
83
- npm run build
84
- npm run cf:deploy
85
- ```
86
-
87
- ## Environment
88
-
89
- - **Node.js**: 18+ recommended
90
- - **Package Manager**: npm
91
- - **Platform**: Cloudflare Workers + Assets
92
- - **Build Time**: ~2-3 seconds
93
-
94
- ## Performance
95
-
96
- - **Build**: ~2.7s
97
- - **OG Images**: Generated at build time (< 100ms each)
98
- - **Caching**: Immutable cache headers for all OG images
99
- - **CDN**: Cloudflare's global network
100
-
101
- ## Verify Deployment
102
-
103
- After deployment, test:
104
-
105
- 1. **Home page**: `https://your-domain.com`
106
- 2. **OG image**: `https://your-domain.com/api/og/sdk`
107
- 3. **API routes**: All `/api/*` routes should work
108
-
109
- ## Troubleshooting
110
-
111
- ### Build Fails
112
-
113
- - Check Node.js version (18+)
114
- - Run `npm install` to ensure dependencies are up to date
115
- - Check `npm run build` output for errors
116
-
117
- ### OG Images Not Generating
118
-
119
- - Verify loopwind is installed: `npm list loopwind`
120
- - Check `/api/og/[...slug].tsx` is present
121
- - Test locally: `npm run dev` then visit `http://localhost:4321/api/og/sdk`
122
-
123
- ### Cloudflare Deploy Fails
124
-
125
- - Ensure you're logged in: `npx wrangler whoami`
126
- - Check `wrangler.toml` configuration (should not exist for Pages)
127
- - Verify Cloudflare account has Pages enabled
128
-
129
- ## Local Development
130
-
131
- ```bash
132
- npm run dev
133
- # Visit: http://localhost:4321
134
- # Test OG: http://localhost:4321/api/og/sdk
135
- ```
136
-
137
- ## Documentation
138
-
139
- - [loopwind SDK Docs](/sdk)
140
- - [OG Images Setup](./OG_IMAGES.md)
141
- - [Cloudflare Astro Guide](https://developers.cloudflare.com/workers/framework-guides/web-apps/astro/)
142
-
143
-
@@ -1,142 +0,0 @@
1
- # Dynamic OG Image Generation with loopwind SDK
2
-
3
- This website generates Open Graph images dynamically for each documentation page using the **loopwind SDK**.
4
-
5
- ## How It Works
6
-
7
- 1. **API Route**: `/src/pages/api/og/[...slug].ts`
8
- - Uses `loopwind/sdk` to define and render OG image templates
9
- - Generates 1200x630 PNG images on-the-fly
10
- - Pre-renders images at build time for all known pages
11
- - Falls back to runtime generation for unknown pages
12
-
13
- 2. **Base Layout**: `/src/layouts/BaseLayout.astro`
14
- - Automatically generates OG image URL from page slug
15
- - Format: `/api/og/{page-slug}`
16
- - Falls back to static image if custom image is provided
17
-
18
- 3. **Docs Layout**: `/src/layouts/DocsLayout.astro`
19
- - Same dynamic OG image generation
20
- - Integrated with all MDX documentation pages
21
-
22
- ## OG Image Template
23
-
24
- The template uses:
25
- - **loopwind SDK** with `defineTemplate()` and `renderImage()`
26
- - **shadcn/ui dark theme** colors
27
- - **Responsive design** with title, description, logo, and branding
28
- - **Static rendering** at build time for performance
29
-
30
- ## Page Metadata
31
-
32
- Page metadata is defined in the API route at `/src/pages/api/og/[...slug].ts`:
33
-
34
- ```typescript
35
- const pageMetadata: Record<string, { title: string; description: string }> = {
36
- 'index': {
37
- title: 'Getting Started',
38
- description: 'CLI-based Image & Video Generator',
39
- },
40
- 'sdk': {
41
- title: 'SDK',
42
- description: 'Use loopwind programmatically',
43
- },
44
- // ... more pages
45
- };
46
- ```
47
-
48
- ## Adding a New Page
49
-
50
- When you add a new MDX page, add its metadata to the `pageMetadata` object:
51
-
52
- ```typescript
53
- 'your-new-page': {
54
- title: 'Your Page Title',
55
- description: 'Your page description for OG image',
56
- },
57
- ```
58
-
59
- The OG image will be automatically generated and available at:
60
- - Build time: `/api/og/your-new-page` (pre-rendered)
61
- - Runtime: Generated on first request if not pre-rendered
62
-
63
- ## Testing OG Images
64
-
65
- **Local development:**
66
- ```bash
67
- npm run dev
68
- # Visit: http://localhost:4321/api/og/sdk
69
- ```
70
-
71
- **Check OG tags:**
72
- ```bash
73
- curl -I http://localhost:4321/api/og/sdk
74
- # Should return: Content-Type: image/png
75
- ```
76
-
77
- **View in browser:**
78
- Open any page and check the `<meta property="og:image">` tag in the HTML source.
79
-
80
- ## Benefits
81
-
82
- ✅ **Zero static assets** - No need to generate and commit OG images
83
- ✅ **Auto-updates** - OG images update when content changes
84
- ✅ **Consistent design** - All pages use the same template
85
- ✅ **Fast** - Pre-rendered at build time for production
86
- ✅ **SEO-friendly** - Proper OG tags for social sharing
87
- ✅ **Type-safe** - Full TypeScript support with loopwind SDK
88
-
89
- ## Performance
90
-
91
- - **Build time**: ~50-100ms per image
92
- - **Runtime**: Cached with `immutable` headers
93
- - **Size**: ~50-80KB per PNG
94
- - **Format**: 1200x630 PNG (standard OG size)
95
-
96
- ## Example Usage
97
-
98
- Every MDX page automatically gets an OG image:
99
-
100
- ```astro
101
- ---
102
- layout: ../layouts/DocsLayout.astro
103
- title: My Page Title
104
- description: My page description
105
- ---
106
-
107
- # My Page
108
-
109
- Content here...
110
- ```
111
-
112
- This automatically generates:
113
- - OG image at `/api/og/my-page`
114
- - Meta tags: `<meta property="og:image" content="https://loopwind.dev/api/og/my-page" />`
115
- - Pre-rendered at build time for Cloudflare deployment
116
-
117
- ## Customization
118
-
119
- To customize the OG image template, edit `/src/pages/api/og/[...slug].ts`:
120
-
121
- ```typescript
122
- const ogTemplate = defineTemplate({
123
- name: 'loopwind-og',
124
- size: { width: 1200, height: 630 },
125
- config: {
126
- colors: {
127
- // Your custom colors
128
- },
129
- },
130
- render: ({ tw, title, description }) => (
131
- // Your custom JSX
132
- ),
133
- });
134
- ```
135
-
136
- ## Related Documentation
137
-
138
- - [loopwind SDK](/sdk) - Using loopwind programmatically
139
- - [Styling](/styling) - Tailwind CSS styling guide
140
- - [Config](/config) - loopwind.json configuration
141
-
142
-
package/website/README.md DELETED
@@ -1,158 +0,0 @@
1
- # loopwind Documentation Website
2
-
3
- This is the documentation website for loopwind, built with [Astro](https://astro.build/) and styled with [Tailwind CSS 4](https://tailwindcss.com/) using shadcn/ui design tokens.
4
-
5
- ## Features
6
-
7
- - **Dynamic OG Images**: Each page generates its own Open Graph image on-the-fly using the loopwind SDK
8
- - **Dark Theme**: Beautiful dark mode optimized for readability
9
- - **Responsive Design**: Works perfectly on desktop, tablet, and mobile
10
- - **AI-Friendly**: Copy raw markdown for LLM context
11
-
12
- ## Development
13
-
14
- Install dependencies:
15
-
16
- ```bash
17
- cd website
18
- npm install
19
- ```
20
-
21
- Start the dev server:
22
-
23
- ```bash
24
- npm run dev
25
- ```
26
-
27
- Open http://localhost:4321
28
-
29
- ## Build
30
-
31
- Build for production:
32
-
33
- ```bash
34
- npm run build
35
- ```
36
-
37
- Preview the build:
38
-
39
- ```bash
40
- npm run preview
41
- ```
42
-
43
- ## Dynamic OG Images
44
-
45
- Each documentation page automatically gets a custom OG image generated using the loopwind SDK. The images are:
46
-
47
- - Generated at build time (pre-rendered)
48
- - Cached indefinitely
49
- - Customized per page with title and description
50
-
51
- The OG image API route is at `src/pages/api/og/[...slug].ts`.
52
-
53
- ## Deployment
54
-
55
- ### Netlify (Current)
56
-
57
- This site is configured to deploy on Netlify. The `netlify.toml` file in the root directory handles the configuration.
58
-
59
- **Netlify Settings:**
60
- - Base directory: `website`
61
- - Build command: `npm run build`
62
- - Publish directory: `dist`
63
-
64
- Just connect your GitHub repo to Netlify and it will automatically deploy!
65
-
66
- ### Other Platforms
67
-
68
- You can also deploy to:
69
- - **Vercel**: Connect repo, set build settings
70
- - **Cloudflare Pages**: Install `@astrojs/cloudflare` adapter
71
- - **GitHub Pages**: May need additional configuration
72
-
73
- ## Adding Documentation
74
-
75
- Documentation pages are in `src/pages/` as `.mdx` files. They use the `DocsLayout` for consistent styling and navigation.
76
-
77
- To add a new page:
78
-
79
- 1. Create `src/pages/your-page.mdx`
80
- 2. Add frontmatter:
81
- ```yaml
82
- ---
83
- layout: ../layouts/DocsLayout.astro
84
- title: Your Page Title
85
- description: Page description
86
- ---
87
- ```
88
- 3. Add to navigation in `src/layouts/DocsLayout.astro`
89
- 4. Add metadata to `src/pages/api/og/[...slug].ts` for OG images
90
-
91
- ## Styling
92
-
93
- The site uses **Tailwind CSS 4** with shadcn/ui-inspired design tokens defined in `src/styles/global.css`:
94
-
95
- - Dark theme optimized for readability
96
- - Semantic color names (`background`, `foreground`, `muted`, `accent`, etc.)
97
- - Consistent spacing and typography
98
- - Custom brand gradient for the logo
99
-
100
- All styles use Tailwind utility classes and the `@theme` directive for design tokens.
101
-
102
- ## Structure
103
-
104
- ```
105
- website/
106
- ├── src/
107
- │ ├── components/
108
- │ │ ├── Hero.astro # Home page hero
109
- │ │ ├── Logo.astro # loopwind logo
110
- │ │ └── CodeVideoDemo.astro # Code + video side-by-side
111
- │ ├── layouts/
112
- │ │ ├── BaseLayout.astro # Base HTML with meta tags
113
- │ │ └── DocsLayout.astro # Docs with sidebar
114
- │ ├── pages/
115
- │ │ ├── index.mdx # Getting Started
116
- │ │ ├── getting-started.mdx # Installation guide
117
- │ │ ├── templates.mdx # Installing Templates
118
- │ │ ├── images.mdx # Image Rendering
119
- │ │ ├── video.mdx # Video Rendering
120
- │ │ ├── animation.mdx # Animation Classes
121
- │ │ ├── helpers.mdx # QR & Composition
122
- │ │ ├── styling.mdx # Tailwind & shadcn/ui
123
- │ │ ├── fonts.mdx # Font Handling
124
- │ │ ├── config.mdx # loopwind.json reference
125
- │ │ ├── agents.mdx # AI Agents & Cursor
126
- │ │ ├── sdk.mdx # Programmatic SDK
127
- │ │ ├── preview.mdx # Preview Mode
128
- │ │ ├── llm.txt.ts # Combined docs endpoint
129
- │ │ └── api/
130
- │ │ ├── og/[...slug].ts # Dynamic OG image generation
131
- │ │ └── raw-markdown/[...path].ts # Raw markdown API
132
- │ └── styles/
133
- │ └── global.css # Tailwind 4 + design tokens
134
- ├── public/
135
- │ ├── favicon.svg
136
- │ ├── demo-intro.mp4 # Generated demo video
137
- │ └── robots.txt
138
- ├── scripts/
139
- │ └── generate-demo-video.mjs # Script to generate demo
140
- ├── astro.config.mjs # Includes @tailwindcss/vite
141
- ├── package.json
142
- └── tsconfig.json
143
- ```
144
-
145
- ## Technologies
146
-
147
- - **[Astro](https://astro.build/)** - Static site generator
148
- - **[Tailwind CSS 4](https://tailwindcss.com/)** - Utility-first CSS
149
- - **[MDX](https://mdxjs.com/)** - Markdown with JSX
150
- - **[loopwind SDK](https://loopwind.dev/sdk)** - Dynamic OG image generation
151
- - **[shadcn/ui](https://ui.shadcn.com/)** - Design system tokens
152
-
153
- ## Performance
154
-
155
- - Fast page loads with Astro's static generation
156
- - Pre-rendered OG images for instant social previews
157
- - Optimized fonts and assets
158
- - Minimal JavaScript bundle
@@ -1,41 +0,0 @@
1
- import { defineConfig } from 'astro/config';
2
- import mdx from '@astrojs/mdx';
3
- import tailwindcss from '@tailwindcss/vite';
4
- import cloudflare from '@astrojs/cloudflare';
5
- import react from '@astrojs/react';
6
-
7
- // https://astro.build/config
8
- export default defineConfig({
9
- site: 'https://loopwind.dev',
10
- output: 'hybrid',
11
- adapter: cloudflare({
12
- platformProxy: {
13
- enabled: true,
14
- },
15
- }),
16
- integrations: [mdx(), react()],
17
- vite: {
18
- plugins: [tailwindcss()],
19
- ssr: {
20
- // Only external Node.js built-ins that aren't used in workers paths
21
- external: [
22
- 'node:fs/promises',
23
- 'node:fs',
24
- 'node:path',
25
- 'node:os',
26
- 'fs',
27
- 'fs/promises',
28
- 'path',
29
- 'os',
30
- ],
31
- },
32
- optimizeDeps: {
33
- exclude: ['@resvg/resvg-wasm'],
34
- },
35
- },
36
- markdown: {
37
- shikiConfig: {
38
- theme: 'github-dark',
39
- },
40
- },
41
- });
@@ -1,5 +0,0 @@
1
- # Place demo videos here
2
- # Generate with: loopwind render video-intro '{"title":"loopwind","subtitle":"Generate videos with React + Tailwind"}' --out public/demo-intro.mp4
3
-
4
-
5
-