@maniclang/workbench 0.1.11

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 (644) hide show
  1. package/CONTRIBUTING.md +40 -0
  2. package/README.md +155 -0
  3. package/dist/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  4. package/dist/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  5. package/dist/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  6. package/dist/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  7. package/dist/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  8. package/dist/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  9. package/dist/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  10. package/dist/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  11. package/dist/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  12. package/dist/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  13. package/dist/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  14. package/dist/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  15. package/dist/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  16. package/dist/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  17. package/dist/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  18. package/dist/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  19. package/dist/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  20. package/dist/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  21. package/dist/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  22. package/dist/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  23. package/dist/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  24. package/dist/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  25. package/dist/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  26. package/dist/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  27. package/dist/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  28. package/dist/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  29. package/dist/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  30. package/dist/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  31. package/dist/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  32. package/dist/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  33. package/dist/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  34. package/dist/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  35. package/dist/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  36. package/dist/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  37. package/dist/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  38. package/dist/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  39. package/dist/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  40. package/dist/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  41. package/dist/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  42. package/dist/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  43. package/dist/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  44. package/dist/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  45. package/dist/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  46. package/dist/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  47. package/dist/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  48. package/dist/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  49. package/dist/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  50. package/dist/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  51. package/dist/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  52. package/dist/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  53. package/dist/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  54. package/dist/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  55. package/dist/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  56. package/dist/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  57. package/dist/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  58. package/dist/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  59. package/dist/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  60. package/dist/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  61. package/dist/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  62. package/dist/client/assets/abap-CRCWOmpq.js +1 -0
  63. package/dist/client/assets/apex-DnsZk_dE.js +1 -0
  64. package/dist/client/assets/azcli-1IWB1ccx.js +1 -0
  65. package/dist/client/assets/bat-DPkNLes8.js +1 -0
  66. package/dist/client/assets/bicep-Corcdgou.js +2 -0
  67. package/dist/client/assets/cameligo-CGrWLZr3.js +1 -0
  68. package/dist/client/assets/clojure-D9WOWImG.js +1 -0
  69. package/dist/client/assets/codicon-CgENjH2v.ttf +0 -0
  70. package/dist/client/assets/coffee-B7EJu28W.js +1 -0
  71. package/dist/client/assets/cpp-SEyurbux.js +1 -0
  72. package/dist/client/assets/csharp-BoL64M5l.js +1 -0
  73. package/dist/client/assets/csp-C46ZqvIl.js +1 -0
  74. package/dist/client/assets/css-DQU6DXDx.js +3 -0
  75. package/dist/client/assets/cssMode-CtRONlr8.js +4 -0
  76. package/dist/client/assets/cypher-D84EuPTj.js +1 -0
  77. package/dist/client/assets/dart-D8lhlL1r.js +1 -0
  78. package/dist/client/assets/dockerfile-DLk6rpji.js +1 -0
  79. package/dist/client/assets/ecl-BO6FnfXk.js +1 -0
  80. package/dist/client/assets/editor.worker-CZyr7Ur9.js +26 -0
  81. package/dist/client/assets/elixir-BRjLKONM.js +1 -0
  82. package/dist/client/assets/flow9-Cac8vKd7.js +1 -0
  83. package/dist/client/assets/freemarker2-BTSNJUl8.js +3 -0
  84. package/dist/client/assets/fsharp-fd1GTHhf.js +1 -0
  85. package/dist/client/assets/go-O9LJTZXk.js +1 -0
  86. package/dist/client/assets/graphql-LQdxqEYJ.js +1 -0
  87. package/dist/client/assets/handlebars-qkUBjVg6.js +1 -0
  88. package/dist/client/assets/hcl-DxDQ3s82.js +1 -0
  89. package/dist/client/assets/html-pguqE00h.js +1 -0
  90. package/dist/client/assets/htmlMode-BCCLuk2F.js +4 -0
  91. package/dist/client/assets/index-BFrMLHHu.css +1 -0
  92. package/dist/client/assets/index-CdBC-xgi.js +1250 -0
  93. package/dist/client/assets/ini-BvajGCUy.js +1 -0
  94. package/dist/client/assets/java-SYsfObOQ.js +1 -0
  95. package/dist/client/assets/javascript-ciDUXdez.js +1 -0
  96. package/dist/client/assets/jsonMode-BmkXC0tI.js +10 -0
  97. package/dist/client/assets/julia-DQXNmw_w.js +1 -0
  98. package/dist/client/assets/kotlin-qQ0MG-9I.js +1 -0
  99. package/dist/client/assets/less-GGFNNJHn.js +2 -0
  100. package/dist/client/assets/lexon-Canl7DCW.js +1 -0
  101. package/dist/client/assets/liquid-CwE4UIwf.js +1 -0
  102. package/dist/client/assets/lua-D28Ae8-K.js +1 -0
  103. package/dist/client/assets/m3-DPitgjJI.js +1 -0
  104. package/dist/client/assets/markdown-B811l8j2.js +1 -0
  105. package/dist/client/assets/mdx-K_9Emnjy.js +1 -0
  106. package/dist/client/assets/mips-CdjsipkG.js +1 -0
  107. package/dist/client/assets/msdax-CYqgjx_P.js +1 -0
  108. package/dist/client/assets/mysql-BHd6q0vd.js +1 -0
  109. package/dist/client/assets/objective-c-B1aVtJYH.js +1 -0
  110. package/dist/client/assets/pascal-BhNW15KB.js +1 -0
  111. package/dist/client/assets/pascaligo-5jv8CcQD.js +1 -0
  112. package/dist/client/assets/perl-DlYyT36c.js +1 -0
  113. package/dist/client/assets/pgsql-Dy0bjov7.js +1 -0
  114. package/dist/client/assets/php-120yhfDK.js +1 -0
  115. package/dist/client/assets/pla-CjnFlu4u.js +1 -0
  116. package/dist/client/assets/postiats-CQpG440k.js +1 -0
  117. package/dist/client/assets/powerquery-DdJtto1Z.js +1 -0
  118. package/dist/client/assets/powershell-Bu_VLpJB.js +1 -0
  119. package/dist/client/assets/protobuf-IBS6jZEB.js +2 -0
  120. package/dist/client/assets/pug-kFxLfcjb.js +1 -0
  121. package/dist/client/assets/python-BzIc0EVe.js +1 -0
  122. package/dist/client/assets/qsharp-q7JyzKFN.js +1 -0
  123. package/dist/client/assets/r-BIFz-_sK.js +1 -0
  124. package/dist/client/assets/razor-lXZl6dtu.js +1 -0
  125. package/dist/client/assets/redis-CHOsPHWR.js +1 -0
  126. package/dist/client/assets/redshift-CBifECDb.js +1 -0
  127. package/dist/client/assets/restructuredtext-CghPJEOS.js +1 -0
  128. package/dist/client/assets/ruby-CYWGW-b1.js +1 -0
  129. package/dist/client/assets/rust-DMDD0SHb.js +1 -0
  130. package/dist/client/assets/sb-BYAiYHFx.js +1 -0
  131. package/dist/client/assets/scala-Bqvq8jcR.js +1 -0
  132. package/dist/client/assets/scheme-Dhb-2j9p.js +1 -0
  133. package/dist/client/assets/scss-CTwUZ5N7.js +3 -0
  134. package/dist/client/assets/shell-CsDZo4DB.js +1 -0
  135. package/dist/client/assets/solidity-CME5AdoB.js +1 -0
  136. package/dist/client/assets/sophia-RYC1BQQz.js +1 -0
  137. package/dist/client/assets/sparql-KEyrF7De.js +1 -0
  138. package/dist/client/assets/sql-BdTr02Mf.js +1 -0
  139. package/dist/client/assets/st-C7iG7M4S.js +1 -0
  140. package/dist/client/assets/swift-D7IUmUK8.js +1 -0
  141. package/dist/client/assets/systemverilog-DgMryOEJ.js +1 -0
  142. package/dist/client/assets/tcl-PloMZuKG.js +1 -0
  143. package/dist/client/assets/tsMode-BAXmgo_t.js +11 -0
  144. package/dist/client/assets/twig-BfRIq3la.js +1 -0
  145. package/dist/client/assets/typescript-Cdf8nS1n.js +1 -0
  146. package/dist/client/assets/typespec-CzxlYoT_.js +1 -0
  147. package/dist/client/assets/vb-BwAE3J76.js +1 -0
  148. package/dist/client/assets/wgsl-B_1kOXbF.js +298 -0
  149. package/dist/client/assets/xml-DGyPgYnj.js +1 -0
  150. package/dist/client/assets/yaml-Dqv3HtbL.js +1 -0
  151. package/dist/client/index.html +14 -0
  152. package/dist/client/manic-logo.png +0 -0
  153. package/dist/client/wasm/manic_lang.d.ts +74 -0
  154. package/dist/client/wasm/manic_lang.js +302 -0
  155. package/dist/client/wasm/manic_lang_bg.wasm +0 -0
  156. package/dist/client/wasm/manic_lang_bg.wasm.d.ts +13 -0
  157. package/dist/server/agentProtocol.d.ts +131 -0
  158. package/dist/server/agentProtocol.js +21 -0
  159. package/dist/server/agentProtocol.js.map +1 -0
  160. package/dist/server/agentRuns.d.ts +46 -0
  161. package/dist/server/agentRuns.js +138 -0
  162. package/dist/server/agentRuns.js.map +1 -0
  163. package/dist/server/agentThreads.d.ts +20 -0
  164. package/dist/server/agentThreads.js +205 -0
  165. package/dist/server/agentThreads.js.map +1 -0
  166. package/dist/server/aiSecrets.d.ts +21 -0
  167. package/dist/server/aiSecrets.js +68 -0
  168. package/dist/server/aiSecrets.js.map +1 -0
  169. package/dist/server/app.d.ts +34 -0
  170. package/dist/server/app.js +804 -0
  171. package/dist/server/app.js.map +1 -0
  172. package/dist/server/assets.d.ts +34 -0
  173. package/dist/server/assets.js +659 -0
  174. package/dist/server/assets.js.map +1 -0
  175. package/dist/server/candidateFix.d.ts +28 -0
  176. package/dist/server/candidateFix.js +111 -0
  177. package/dist/server/candidateFix.js.map +1 -0
  178. package/dist/server/cli.d.ts +2 -0
  179. package/dist/server/cli.js +118 -0
  180. package/dist/server/cli.js.map +1 -0
  181. package/dist/server/diagnostics.d.ts +13 -0
  182. package/dist/server/diagnostics.js +73 -0
  183. package/dist/server/diagnostics.js.map +1 -0
  184. package/dist/server/engineCheck.d.ts +7 -0
  185. package/dist/server/engineCheck.js +60 -0
  186. package/dist/server/engineCheck.js.map +1 -0
  187. package/dist/server/engineInstall.d.ts +34 -0
  188. package/dist/server/engineInstall.js +228 -0
  189. package/dist/server/engineInstall.js.map +1 -0
  190. package/dist/server/enginePaths.d.ts +3 -0
  191. package/dist/server/enginePaths.js +76 -0
  192. package/dist/server/enginePaths.js.map +1 -0
  193. package/dist/server/folderPicker.d.ts +1 -0
  194. package/dist/server/folderPicker.js +54 -0
  195. package/dist/server/folderPicker.js.map +1 -0
  196. package/dist/server/manicAgent.d.ts +75 -0
  197. package/dist/server/manicAgent.js +476 -0
  198. package/dist/server/manicAgent.js.map +1 -0
  199. package/dist/server/manicEnv.d.ts +18 -0
  200. package/dist/server/manicEnv.js +64 -0
  201. package/dist/server/manicEnv.js.map +1 -0
  202. package/dist/server/promptStore.d.ts +11 -0
  203. package/dist/server/promptStore.js +85 -0
  204. package/dist/server/promptStore.js.map +1 -0
  205. package/dist/server/renderJobs.d.ts +54 -0
  206. package/dist/server/renderJobs.js +290 -0
  207. package/dist/server/renderJobs.js.map +1 -0
  208. package/dist/server/settings.d.ts +40 -0
  209. package/dist/server/settings.js +262 -0
  210. package/dist/server/settings.js.map +1 -0
  211. package/dist/server/smartDraw.d.ts +7 -0
  212. package/dist/server/smartDraw.js +88 -0
  213. package/dist/server/smartDraw.js.map +1 -0
  214. package/dist/server/workspace.d.ts +27 -0
  215. package/dist/server/workspace.js +172 -0
  216. package/dist/server/workspace.js.map +1 -0
  217. package/examples/.manic-output/40b6f3b9-7638-4c0e-bb4f-570d45d1b225/job.json +26 -0
  218. package/examples/.manic-output/993f3788-f75e-445c-ba45-c401907b3c02/job.json +26 -0
  219. package/examples/.manic-output/993f3788-f75e-445c-ba45-c401907b3c02/markers.json +13 -0
  220. package/examples/.manic-output/993f3788-f75e-445c-ba45-c401907b3c02/out.mp4 +0 -0
  221. package/examples/.manic-workbench-threads/thread_3ce7448a13f64f9e887d1bc8106a97a8.json +45 -0
  222. package/examples/.manic-workbench-threads/thread_d494cda29249477591056234719e4a3a.json +21 -0
  223. package/examples/.manic-workbench-threads/thread_e98ebdc225184ea5b8ddda8b44541f63.json +29 -0
  224. package/examples/README.md +35 -0
  225. package/examples/a-story-1.manic +222 -0
  226. package/examples/a-story.manic +100 -0
  227. package/examples/achromat-cinematic.manic +105 -0
  228. package/examples/achromat.manic +32 -0
  229. package/examples/aes-decrypt.manic +359 -0
  230. package/examples/aes-encrypt.manic +359 -0
  231. package/examples/aes-round.manic +70 -0
  232. package/examples/aes-story.manic +622 -0
  233. package/examples/ai-story.manic +118 -0
  234. package/examples/analysis.manic +53 -0
  235. package/examples/archimedes_pi.manic +89 -0
  236. package/examples/area_under_curve.manic +131 -0
  237. package/examples/art-rakkan.manic +69 -0
  238. package/examples/aspheric-lens.manic +32 -0
  239. package/examples/astronomical-watch.manic +96 -0
  240. package/examples/asymptote-randomwalk3-reference.manic +58 -0
  241. package/examples/asymptote-tiling-reference.manic +65 -0
  242. package/examples/aws-clustered-web-services.manic +186 -0
  243. package/examples/aws-event-processing-clusters-poc.manic +97 -0
  244. package/examples/aws-three-tier-web-application.manic +134 -0
  245. package/examples/band.manic +43 -0
  246. package/examples/banner.manic +37 -0
  247. package/examples/bayes.manic +27 -0
  248. package/examples/bellcurve.manic +41 -0
  249. package/examples/bfs_dfs.manic +35 -0
  250. package/examples/block-tackle.manic +26 -0
  251. package/examples/bloom-scope.manic +172 -0
  252. package/examples/boolean.manic +46 -0
  253. package/examples/boxplot-wave.manic +93 -0
  254. package/examples/boxplot.manic +43 -0
  255. package/examples/brace.manic +46 -0
  256. package/examples/brachistochrone-annotated.manic +51 -0
  257. package/examples/brachistochrone.manic +27 -0
  258. package/examples/bubble_sort.manic +41 -0
  259. package/examples/bullet-block-annotated.manic +48 -0
  260. package/examples/bullet-block.manic +11 -0
  261. package/examples/bullet-impact.manic +65 -0
  262. package/examples/bungee.manic +9 -0
  263. package/examples/c4-internet-banking-components.manic +33 -0
  264. package/examples/c4-internet-banking-containers.manic +29 -0
  265. package/examples/c4-internet-banking.manic +26 -0
  266. package/examples/c4-story.manic +171 -0
  267. package/examples/c4-test.manic +52 -0
  268. package/examples/c4-zoom.manic +69 -0
  269. package/examples/calculus-demo.manic +129 -0
  270. package/examples/calculus-one.manic +288 -0
  271. package/examples/captions.manic +31 -0
  272. package/examples/car-suspension-annotated.manic +57 -0
  273. package/examples/car-suspension.manic +8 -0
  274. package/examples/cart-pendulum.manic +11 -0
  275. package/examples/charts-bar-line.manic +26 -0
  276. package/examples/charts-column-race.manic +19 -0
  277. package/examples/charts-gdp-race.manic +43 -0
  278. package/examples/charts-german-elections.manic +28 -0
  279. package/examples/charts-line-race.manic +21 -0
  280. package/examples/circle-in-three.manic +156 -0
  281. package/examples/circle-thirds-no-triangle.manic +161 -0
  282. package/examples/clip-window.manic +34 -0
  283. package/examples/cloud-feathers.manic +50 -0
  284. package/examples/cloud-jellyfish-v2.manic +87 -0
  285. package/examples/cloud-jellyfish.manic +48 -0
  286. package/examples/cloud-kaleidoscope.manic +48 -0
  287. package/examples/cloud-koi.manic +51 -0
  288. package/examples/cloud-lissajous.manic +23 -0
  289. package/examples/cloud-medusae.manic +46 -0
  290. package/examples/cloud-phoenix.manic +49 -0
  291. package/examples/cloud-plumes.manic +47 -0
  292. package/examples/cloud-pottery.manic +104 -0
  293. package/examples/cloud-shells.manic +50 -0
  294. package/examples/cloud-starfield.manic +23 -0
  295. package/examples/cloud-wave-lattice.manic +23 -0
  296. package/examples/cloud-word.manic +31 -0
  297. package/examples/cloud3-ripple.manic +53 -0
  298. package/examples/cloud3-sphere.manic +26 -0
  299. package/examples/clt.manic +35 -0
  300. package/examples/collide-blocks-annotated.manic +45 -0
  301. package/examples/collide-blocks.manic +11 -0
  302. package/examples/compare-pendulum.manic +11 -0
  303. package/examples/complex-flowchart.manic +196 -0
  304. package/examples/compound-pulley.manic +25 -0
  305. package/examples/conics.manic +46 -0
  306. package/examples/coordinates.manic +52 -0
  307. package/examples/correlation.manic +35 -0
  308. package/examples/covariance.manic +30 -0
  309. package/examples/creator-affine-fern-growth.manic +72 -0
  310. package/examples/creator-bowl-to-saddle.manic +86 -0
  311. package/examples/creator-branch-counting-tree3.manic +77 -0
  312. package/examples/creator-chaos-game-fern.manic +72 -0
  313. package/examples/creator-circle-inversion-chain.manic +61 -0
  314. package/examples/creator-convex-hull-depth.manic +59 -0
  315. package/examples/creator-coordinate-worlds.manic +182 -0
  316. package/examples/creator-ellipse-reflection-property.manic +59 -0
  317. package/examples/creator-free-kicks.manic +261 -0
  318. package/examples/creator-geometry-language-showcase.manic +259 -0
  319. package/examples/creator-geometry-morph-promo.manic +151 -0
  320. package/examples/creator-heightmap-world.manic +130 -0
  321. package/examples/creator-hilbert3-spatial-index.manic +203 -0
  322. package/examples/creator-how-rocket-launch-works.manic +192 -0
  323. package/examples/creator-implicit-surface-parameterized.manic +51 -0
  324. package/examples/creator-incenter-dissection.manic +56 -0
  325. package/examples/creator-lattice-paths.manic +118 -0
  326. package/examples/creator-line-inversion.manic +49 -0
  327. package/examples/creator-lsystem-fractal-curve.manic +121 -0
  328. package/examples/creator-mandelbrot-escape-test.manic +58 -0
  329. package/examples/creator-monty-hall.manic +104 -0
  330. package/examples/creator-noise-story.manic +123 -0
  331. package/examples/creator-one-tile-pattern-story.manic +169 -0
  332. package/examples/creator-pathfinding.manic +82 -0
  333. package/examples/creator-point-to-plane-distance.manic +167 -0
  334. package/examples/creator-race-quiz.manic +76 -0
  335. package/examples/creator-randomwalk3-diffusion.manic +72 -0
  336. package/examples/creator-reflected-ellipse.manic +48 -0
  337. package/examples/creator-rule90-sierpinski.manic +64 -0
  338. package/examples/creator-three-shadows-of-a-curve.manic +48 -0
  339. package/examples/creator-trigonometry-one-angle.manic +307 -0
  340. package/examples/creator-v2-latex-algebra.manic +29 -0
  341. package/examples/creator-v2-latex-calculus.manic +37 -0
  342. package/examples/creator-v2-latex-physics.manic +29 -0
  343. package/examples/creator-v2-olympiad-geometry.manic +92 -0
  344. package/examples/creator-v2-options-socials.manic +21 -0
  345. package/examples/creator-v2-timers.manic +25 -0
  346. package/examples/creator-v2-timing-square.manic +25 -0
  347. package/examples/creator-v2-timing.manic +34 -0
  348. package/examples/creator-v2.manic +36 -0
  349. package/examples/creator-why-rockets-use-stages.manic +198 -0
  350. package/examples/creator-wrap-real-line.manic +51 -0
  351. package/examples/cubic-graphs.manic +432 -0
  352. package/examples/curve-features.manic +41 -0
  353. package/examples/definedmotion-fourier-gallery.manic +171 -0
  354. package/examples/derivative-of-ln-x.manic +194 -0
  355. package/examples/diagonalise.manic +56 -0
  356. package/examples/dijkstra.manic +29 -0
  357. package/examples/dimensions-unfold.manic +211 -0
  358. package/examples/disc-integration.manic +172 -0
  359. package/examples/double-incline.manic +9 -0
  360. package/examples/double-integral3.manic +43 -0
  361. package/examples/double-pendulum.manic +35 -0
  362. package/examples/double-spring.manic +9 -0
  363. package/examples/drop-mass.manic +25 -0
  364. package/examples/eigen3.manic +34 -0
  365. package/examples/equal_cuts.manic +44 -0
  366. package/examples/equation.manic +16 -0
  367. package/examples/equilateral.manic +57 -0
  368. package/examples/euler_line.manic +51 -0
  369. package/examples/exponential-shells.manic +188 -0
  370. package/examples/extrude3.manic +37 -0
  371. package/examples/factorial-flowchart.manic +69 -0
  372. package/examples/fibonacci-sphere.manic +57 -0
  373. package/examples/flow-lorenz.manic +47 -0
  374. package/examples/fourier-series-live-wave.manic +114 -0
  375. package/examples/fourier-square-wave-live.manic +114 -0
  376. package/examples/fractal_tree.manic +39 -0
  377. package/examples/frame3-grid-policies.manic +48 -0
  378. package/examples/ftc.manic +54 -0
  379. package/examples/function_graph.manic +54 -0
  380. package/examples/galton-board-process.manic +150 -0
  381. package/examples/gcp-clustered-web-services.manic +186 -0
  382. package/examples/gcp-message-collecting.manic +139 -0
  383. package/examples/geo-pythagoras-short.manic +119 -0
  384. package/examples/glsl-boxgrid.manic +105 -0
  385. package/examples/glsl-parameter.manic +30 -0
  386. package/examples/glsl-raymarch.manic +59 -0
  387. package/examples/glsl-shapes.manic +122 -0
  388. package/examples/gradient-descent-field.manic +116 -0
  389. package/examples/gradient-fastest-descent-shorts.manic +153 -0
  390. package/examples/gradient-fastest-descent.manic +125 -0
  391. package/examples/gradient-pendulum-shorts.manic +117 -0
  392. package/examples/gradient.manic +74 -0
  393. package/examples/graph.manic +45 -0
  394. package/examples/graph_moving.manic +67 -0
  395. package/examples/grid-astar.manic +15 -0
  396. package/examples/grid-life-soup.manic +31 -0
  397. package/examples/grid-life-zoo.manic +46 -0
  398. package/examples/grid-life.manic +19 -0
  399. package/examples/grid-wfc.manic +13 -0
  400. package/examples/growing-fractal-tree3.manic +58 -0
  401. package/examples/gun-shot.manic +82 -0
  402. package/examples/hashmap.manic +38 -0
  403. package/examples/heightmap3-world.manic +64 -0
  404. package/examples/heightmap3.manic +23 -0
  405. package/examples/hilbert-curve3-space-filling.manic +117 -0
  406. package/examples/hill_run.manic +71 -0
  407. package/examples/histogram.manic +43 -0
  408. package/examples/hotdog-taco.manic +147 -0
  409. package/examples/hue_wave.manic +35 -0
  410. package/examples/hypothesis.manic +32 -0
  411. package/examples/image.manic +29 -0
  412. package/examples/incircle_tangents.manic +64 -0
  413. package/examples/incline-bumper.manic +11 -0
  414. package/examples/incline-pulley.manic +11 -0
  415. package/examples/incline-showcase.manic +55 -0
  416. package/examples/inline-math.manic +16 -0
  417. package/examples/inscribed-angle-short.manic +56 -0
  418. package/examples/integral-sqrt-tanx.manic +255 -0
  419. package/examples/integrals.manic +274 -0
  420. package/examples/inverse-derivatives.manic +94 -0
  421. package/examples/k8s-cluster-components.manic +82 -0
  422. package/examples/k8s-stateful-architecture.manic +134 -0
  423. package/examples/k8s-three-tier.manic +146 -0
  424. package/examples/kapitza.manic +11 -0
  425. package/examples/latex-disintegration.manic +123 -0
  426. package/examples/lens-paper.manic +36 -0
  427. package/examples/lens-prescription.manic +33 -0
  428. package/examples/lens-system.manic +34 -0
  429. package/examples/lens.manic +31 -0
  430. package/examples/limit-infinity.manic +30 -0
  431. package/examples/limit.manic +33 -0
  432. package/examples/linear-algebra-3d.manic +50 -0
  433. package/examples/linear-algebra.manic +115 -0
  434. package/examples/linear-map.manic +39 -0
  435. package/examples/linear-map3.manic +33 -0
  436. package/examples/linear-system.manic +99 -0
  437. package/examples/linear_transform.manic +43 -0
  438. package/examples/linked_list.manic +38 -0
  439. package/examples/lln.manic +31 -0
  440. package/examples/loop-cinematic.manic +41 -0
  441. package/examples/loop-track.manic +11 -0
  442. package/examples/lorenz-attractor.manic +55 -0
  443. package/examples/lorenz-shells.manic +43 -0
  444. package/examples/lost-in-patterns.manic +149 -0
  445. package/examples/lsystem-asymptote-curves.manic +81 -0
  446. package/examples/manic-ml-activation-focus.manic +133 -0
  447. package/examples/manic-ml-cnn-edge-story.manic +102 -0
  448. package/examples/manic-ml-forward-pass.manic +93 -0
  449. package/examples/manic-ml-learning-step.manic +116 -0
  450. package/examples/manic-ml-logits-sampling.manic +112 -0
  451. package/examples/manic-ml-scalar-to-tensor.manic +143 -0
  452. package/examples/manic-ml-token-embedding.manic +110 -0
  453. package/examples/manic-ml-transformer-attention.manic +102 -0
  454. package/examples/manic-ml-transformer-block.manic +116 -0
  455. package/examples/manic-promo.manic +64 -0
  456. package/examples/map-attractor.manic +45 -0
  457. package/examples/mask-lens.manic +33 -0
  458. package/examples/matrix.manic +37 -0
  459. package/examples/matrix3.manic +101 -0
  460. package/examples/matrix_addition.manic +66 -0
  461. package/examples/matrix_addition_plane.manic +91 -0
  462. package/examples/maxwell-boltzmann-effusion-v2.manic +142 -0
  463. package/examples/maxwell-boltzmann-process.manic +86 -0
  464. package/examples/microservices-platform.manic +140 -0
  465. package/examples/molecule.manic +8 -0
  466. package/examples/morph-icons.manic +29 -0
  467. package/examples/morph.manic +29 -0
  468. package/examples/morph3.manic +49 -0
  469. package/examples/motion-flow-foundation.manic +148 -0
  470. package/examples/motion-graphics-v2-story.manic +189 -0
  471. package/examples/motion-graphics-v2.manic +81 -0
  472. package/examples/motion-graphics.manic +81 -0
  473. package/examples/multivariable3.manic +26 -0
  474. package/examples/mystory.manic +9 -0
  475. package/examples/newton.manic +39 -0
  476. package/examples/newtons-cradle.manic +10 -0
  477. package/examples/nine_point.manic +59 -0
  478. package/examples/noise-terrain.manic +16 -0
  479. package/examples/off-axis.manic +32 -0
  480. package/examples/onprem-advanced-web-service-v2.manic +196 -0
  481. package/examples/onprem-advanced-web-service.manic +175 -0
  482. package/examples/orthocenter.manic +63 -0
  483. package/examples/param3.manic +43 -0
  484. package/examples/parameter-journeys.manic +154 -0
  485. package/examples/parameterized-field-advection.manic +57 -0
  486. package/examples/parameterized-generated-families3.manic +83 -0
  487. package/examples/particles-flow.manic +61 -0
  488. package/examples/pascal-triangle.manic +92 -0
  489. package/examples/pendulum-annotated.manic +72 -0
  490. package/examples/pendulum-damped.manic +35 -0
  491. package/examples/pendulum.manic +38 -0
  492. package/examples/perfect-reel.manic +43 -0
  493. package/examples/pie.manic +41 -0
  494. package/examples/pieday.manic +113 -0
  495. package/examples/piston.manic +7 -0
  496. package/examples/popkorn-field.manic +38 -0
  497. package/examples/prism-cinematic.manic +36 -0
  498. package/examples/prism.manic +32 -0
  499. package/examples/probability.manic +57 -0
  500. package/examples/process-branching-dispatch.manic +71 -0
  501. package/examples/process-stream-observe.manic +54 -0
  502. package/examples/projection.manic +57 -0
  503. package/examples/prompt-test-10.manic +257 -0
  504. package/examples/prompt-test-11.manic +168 -0
  505. package/examples/prompt-test-12.manic +177 -0
  506. package/examples/prompt-test-13.manic +228 -0
  507. package/examples/prompt-test-14.manic +319 -0
  508. package/examples/prompt-test-15.manic +325 -0
  509. package/examples/prompt-test-16.manic +252 -0
  510. package/examples/prompt-test-2.manic +239 -0
  511. package/examples/prompt-test-3.manic +336 -0
  512. package/examples/prompt-test-4.manic +195 -0
  513. package/examples/prompt-test-5.manic +223 -0
  514. package/examples/prompt-test-6.manic +222 -0
  515. package/examples/prompt-test-7.manic +156 -0
  516. package/examples/prompt-test-8.manic +266 -0
  517. package/examples/prompt-test-9.manic +171 -0
  518. package/examples/prompt-test.manic +158 -0
  519. package/examples/pulley-annotated.manic +54 -0
  520. package/examples/pulley-paper.manic +52 -0
  521. package/examples/pulley-scale.manic +23 -0
  522. package/examples/pulley.manic +24 -0
  523. package/examples/quadratic-formula-continuity.manic +110 -0
  524. package/examples/quiz-euler.manic +52 -0
  525. package/examples/quiz-geometry-2.manic +107 -0
  526. package/examples/quiz-geometry.manic +108 -0
  527. package/examples/quiz-skins.manic +22 -0
  528. package/examples/raft-cm.manic +24 -0
  529. package/examples/ramp.manic +25 -0
  530. package/examples/ray-fan.manic +27 -0
  531. package/examples/raymarch-alpha.manic +39 -0
  532. package/examples/raymarch-boxgrid.manic +47 -0
  533. package/examples/raymarch-docker-latency.manic +74 -0
  534. package/examples/raymarch-metaballs.manic +37 -0
  535. package/examples/raymarch-sculpture.manic +39 -0
  536. package/examples/raymarch-shapes3.manic +31 -0
  537. package/examples/reactive-integral.manic +172 -0
  538. package/examples/reactive-math-journey.manic +185 -0
  539. package/examples/reactive-math-notation.manic +150 -0
  540. package/examples/reactive-multiformat.manic +130 -0
  541. package/examples/reactive-world.manic +111 -0
  542. package/examples/refraction-paper.manic +40 -0
  543. package/examples/refraction.manic +32 -0
  544. package/examples/resonance.manic +10 -0
  545. package/examples/rewrite-exponential-cubic.manic +141 -0
  546. package/examples/rewrite-integration.manic +199 -0
  547. package/examples/riemann_rainbow.manic +61 -0
  548. package/examples/riemann_readout.manic +61 -0
  549. package/examples/robot-arm.manic +25 -0
  550. package/examples/rref.manic +48 -0
  551. package/examples/second-law-thermodynamics.manic +385 -0
  552. package/examples/series-parallel-springs.manic +8 -0
  553. package/examples/serverless-processing.manic +145 -0
  554. package/examples/shader-cellular.manic +35 -0
  555. package/examples/shader-fractal.manic +45 -0
  556. package/examples/shader-fx.manic +34 -0
  557. package/examples/shader-glitch-grid.manic +55 -0
  558. package/examples/shader-parameter.manic +25 -0
  559. package/examples/shader-patterns.manic +37 -0
  560. package/examples/shader-plasma.manic +43 -0
  561. package/examples/shader-shapes-dsl.manic +46 -0
  562. package/examples/shader-shapes.manic +37 -0
  563. package/examples/shader-warp.manic +22 -0
  564. package/examples/shapes-howto.manic +411 -0
  565. package/examples/sine_wave.manic +42 -0
  566. package/examples/skew.manic +40 -0
  567. package/examples/smoke.rs +57 -0
  568. package/examples/solids3.manic +22 -0
  569. package/examples/some-story.manic +299 -0
  570. package/examples/spinning-cylinder-flow.manic +87 -0
  571. package/examples/spline.manic +21 -0
  572. package/examples/spot-diagram.manic +32 -0
  573. package/examples/spring-annotated.manic +60 -0
  574. package/examples/spring-chain.manic +11 -0
  575. package/examples/spring-damped.manic +33 -0
  576. package/examples/spring-incline.manic +10 -0
  577. package/examples/spring-paper.manic +46 -0
  578. package/examples/spring-pendulum.manic +14 -0
  579. package/examples/spring.manic +33 -0
  580. package/examples/sqrt-tanx.manic +217 -0
  581. package/examples/ssl-handshake-sdf.manic +116 -0
  582. package/examples/stack_queue.manic +53 -0
  583. package/examples/statistics.manic +60 -0
  584. package/examples/story-addressable-asset-cues.manic +71 -0
  585. package/examples/story-dependent-chain-history.manic +56 -0
  586. package/examples/story-living-dependency-cloud.manic +50 -0
  587. package/examples/story-time-varying-field3.manic +57 -0
  588. package/examples/story.manic +4 -0
  589. package/examples/string-art-breath.manic +70 -0
  590. package/examples/string-wave.manic +10 -0
  591. package/examples/summary.manic +48 -0
  592. package/examples/svg-howto.manic +172 -0
  593. package/examples/svg-import.manic +18 -0
  594. package/examples/systems-architecture-poc.manic +92 -0
  595. package/examples/systems-arrow-patterns.manic +151 -0
  596. package/examples/systems-foundation.manic +71 -0
  597. package/examples/systems-rabbitmq-consumers.manic +118 -0
  598. package/examples/table.manic +39 -0
  599. package/examples/table_braces.manic +54 -0
  600. package/examples/tangent-length-short.manic +57 -0
  601. package/examples/tangent.manic +29 -0
  602. package/examples/tangents.manic +54 -0
  603. package/examples/taylor.manic +44 -0
  604. package/examples/terminal_boot.manic +40 -0
  605. package/examples/test.manic +61 -0
  606. package/examples/text-guide.manic +304 -0
  607. package/examples/textbook-coordinate-worlds.manic +129 -0
  608. package/examples/textbook-doubly-list.manic +33 -0
  609. package/examples/textbook-function-to-solid.manic +126 -0
  610. package/examples/textbook-geometry-dimension-reduction.manic +129 -0
  611. package/examples/textbook-incline-fbd.manic +43 -0
  612. package/examples/textbook-length-area-volume.manic +137 -0
  613. package/examples/textbook-matrix-inverses.manic +172 -0
  614. package/examples/textbook-pulley.manic +35 -0
  615. package/examples/textbook-statistical-dimensions.manic +151 -0
  616. package/examples/textbook-tension.manic +39 -0
  617. package/examples/textbook-watermelon-sections.manic +216 -0
  618. package/examples/thales-semicircle-short.manic +53 -0
  619. package/examples/three-d-v2-lab.manic +83 -0
  620. package/examples/three-d-v2-story.manic +106 -0
  621. package/examples/three-d-v2.manic +69 -0
  622. package/examples/three_d.manic +39 -0
  623. package/examples/timing-v2-scene.manic +47 -0
  624. package/examples/trajectory.manic +28 -0
  625. package/examples/transform_copy.manic +35 -0
  626. package/examples/transforms.manic +54 -0
  627. package/examples/trapped-light-dimensions.manic +226 -0
  628. package/examples/tree-of-leaves.manic +215 -0
  629. package/examples/triangle.manic +68 -0
  630. package/examples/two_person_walk.manic +296 -0
  631. package/examples/two_pointer.manic +32 -0
  632. package/examples/type-to-sdf.manic +139 -0
  633. package/examples/typewriter.manic +28 -0
  634. package/examples/vector_field.manic +32 -0
  635. package/examples/vertical-spring.manic +10 -0
  636. package/examples/volume3.manic +21 -0
  637. package/examples/volumes-solid-of-revolution.manic +111 -0
  638. package/examples/walk.manic +154 -0
  639. package/examples/wheel-duo.manic +91 -0
  640. package/examples/wheel-radial.manic +78 -0
  641. package/examples/wheel-square.manic +83 -0
  642. package/examples/wireframe-spheres.manic +37 -0
  643. package/examples/zeroth-law-thermodynamics.manic +269 -0
  644. package/package.json +59 -0
@@ -0,0 +1,74 @@
1
+ // Gradient paint — the color is computed, not painted.
2
+ // manic examples/gradient.manic
3
+ // manic examples/gradient.manic --still 11 --scale 1.5
4
+ //
5
+ // One word, five truths (stops ≥ 2, evenly spaced; mode optional):
6
+ // gradient(path, c1, c2) arc-length along a stroke
7
+ // gradient(plot, c1, c2, c3, 270) linear over the bounds — height, any number of stops
8
+ // gradient(shape, c1, c2, radial) centre → edge
9
+ // gradient(traj, c1, c2, "speed") a trajectory colored by its true local speed
10
+ // gradient(path, c1, c2, "curvature") any path colored by how hard it bends
11
+
12
+ title("Gradient Paint");
13
+ canvas(1280, 720);
14
+ template("blank");
15
+
16
+ // --- cast ---
17
+
18
+ // a radial "energy well" behind everything
19
+ circle(well, (640, 400), 260);
20
+ filled(well);
21
+ gradient(well, panel, void, radial);
22
+ opacity(well, 0.85);
23
+
24
+ // a plot colored by its own height, in three stops: blue low, cyan mid, gold high.
25
+ // The vertical linear gradient over the curve's bounds IS its y-value.
26
+ axes(ax, (640, 400), 520, 220);
27
+ plot(wave, (640, 400), 78, 150, sin, 6.6);
28
+ stroke(wave, 4);
29
+ gradient(wave, blue, cyan, gold, 270);
30
+ untraced(wave);
31
+
32
+ // a curve colored by its own curvature — the tight apex carries the color
33
+ spline(swoop, (160, 640), (400, 260), (640, 160), (880, 260), (1120, 640));
34
+ stroke(swoop, 5);
35
+ gradient(swoop, dim, magenta, "curvature");
36
+ untraced(swoop);
37
+
38
+ // an RK4 free kick (top-down pitch) colored by its true speed —
39
+ // gold off the boot, blue as drag bites (slowest stop first, fastest last)
40
+ freekick(kick, (185, 690), 30, 36, 3.5, 5.5, 120);
41
+ stroke(kick, 5);
42
+ gradient(kick, blue, gold, "speed");
43
+ untraced(kick);
44
+ hidden(kick.ball);
45
+
46
+ // an arrow whose head takes the gradient's tip color
47
+ arrow(dart, (420, 600), (1040, 600));
48
+ stroke(dart, 4);
49
+ gradient(dart, dim, lime);
50
+ untraced(dart);
51
+
52
+ // headline + caption
53
+ text(head, (640, 100), "the color is computed, not painted");
54
+ display(head); color(head, cyan); size(head, 30); hidden(head);
55
+ text(cap, (640, 680), ""); color(cap, dim); size(cap, 22);
56
+
57
+ // --- script ---
58
+
59
+ show(head, 0.5);
60
+ say(cap, "a height-colored plot: blue low, cyan mid, gold high");
61
+ draw(wave, 1.8);
62
+ wait(0.6);
63
+
64
+ say(cap, "a curve colored by its own curvature — the bend glows");
65
+ draw(swoop, 1.6);
66
+ wait(0.6);
67
+
68
+ say(cap, "a free kick colored by its true speed — gold fast, blue slow");
69
+ draw(kick, 1.6);
70
+ wait(0.6);
71
+
72
+ say(cap, "an arc-length stroke; the arrowhead takes its tip color");
73
+ draw(dart, 1.2);
74
+ wait(1.2);
@@ -0,0 +1,45 @@
1
+ // Graph — the algo kit's `graph` builtin (Manim's Graph/DiGraph). Nodes are
2
+ // labelled circles; `a-b` is an undirected edge, `a>b` a directed arrow. Tag
3
+ // broadcast (`draw(g.edges)`, `flash(g.nodes, …)`) animates whole groups.
4
+ //
5
+ // manic examples/graph.manic
6
+ // manic examples/graph.manic --record out --fps 60
7
+
8
+ title("Graph");
9
+ canvas(1280, 720);
10
+
11
+ text(head, (640, 118), "a directed graph, traversed");
12
+ display(head); color(head, cyan); size(head, 34); hidden(head);
13
+ text(cap, (640, 664), ""); color(cap, dim); size(cap, 22);
14
+
15
+ // six vertices in a circle; directed edges (a>b)
16
+ graph(g, "a b c d e f",
17
+ "a>b b>c c>d d>e e>f f>a a>d b>e",
18
+ circular, (640, 384), 210);
19
+
20
+ // nodes fade in (hidden→show); edges trace on (untraced→draw)
21
+ hidden(g.nodes);
22
+ untraced(g.edges);
23
+
24
+ show(head, 0.5);
25
+ say(cap, "drop in the vertices");
26
+ show(g.nodes, 0.4); // broadcasts over every node
27
+ say(cap, "connect the directed edges");
28
+ draw(g.edges, 0.6); // broadcasts over every edge
29
+
30
+ section("Traversal");
31
+ say(cap, "walk a > b > c > d");
32
+ seq {
33
+ flash(g.a, magenta);
34
+ flash(g.b, magenta);
35
+ flash(g.c, magenta);
36
+ flash(g.d, magenta);
37
+ }
38
+ say(cap, "highlight the visited path");
39
+ par {
40
+ recolor(g.a, lime, 0.4);
41
+ recolor(g.b, lime, 0.4);
42
+ recolor(g.c, lime, 0.4);
43
+ recolor(g.d, lime, 0.4);
44
+ }
45
+ wait(1.2);
@@ -0,0 +1,67 @@
1
+ // Moving Graph — vertices move and the edges reflow to follow them
2
+ // (Manim's MovingVertices / MovingDiGraph). Also exercises layout reveal,
3
+ // per-node moves, tag-broadcast recolour, and a highlight sweep.
4
+ //
5
+ // manic examples/graph_moving.manic
6
+ // manic examples/graph_moving.manic --record out --fps 60
7
+ //
8
+ // Node ids are g.1 … g.4 ; edge ids g.1-2 etc ; tags g.nodes / g.edges.
9
+
10
+ title("Moving Graph");
11
+ canvas(1280, 720);
12
+
13
+ text(head, (640, 118), "edges follow their vertices");
14
+ display(head); color(head, cyan); size(head, 34); hidden(head);
15
+ text(cap, (640, 664), ""); color(cap, dim); size(cap, 22);
16
+
17
+ // four vertices, five undirected edges, circular to start
18
+ graph(g, "1 2 3 4", "1-2 2-3 3-4 1-3 1-4", circular, (640, 384), 150);
19
+ hidden(g.nodes);
20
+ untraced(g.edges);
21
+
22
+ // --- reveal ---
23
+ show(head, 0.5);
24
+ say(cap, "a small graph");
25
+ show(g.nodes, 0.4);
26
+ draw(g.edges, 0.6);
27
+ wait(0.5);
28
+
29
+ // --- case 1: fling the vertices to the corners; edges reflow live ---
30
+ section("Moving vertices");
31
+ say(cap, "move each vertex — the edges stretch to follow");
32
+ par {
33
+ move(g.1, (360, 250), 1.2, overshoot);
34
+ move(g.2, (920, 250), 1.2, overshoot);
35
+ move(g.3, (920, 520), 1.2, overshoot);
36
+ move(g.4, (360, 520), 1.2, overshoot);
37
+ }
38
+ wait(0.8);
39
+
40
+ // --- case 2: orbit two vertices past each other ---
41
+ say(cap, "swap two vertices");
42
+ par {
43
+ move(g.2, (360, 520), 1.0, smooth);
44
+ move(g.4, (920, 250), 1.0, smooth);
45
+ }
46
+ wait(0.8);
47
+
48
+ // --- case 3: pull one vertex around; incident edges track it ---
49
+ say(cap, "drag one vertex around");
50
+ seq {
51
+ move(g.1, (640, 150), 0.7, smooth);
52
+ move(g.1, (1080, 384), 0.7, smooth);
53
+ move(g.1, (640, 620), 0.7, smooth);
54
+ move(g.1, (360, 250), 0.7, smooth);
55
+ }
56
+ wait(0.6);
57
+
58
+ // --- case 4: recolour the whole graph via tag broadcast, then highlight ---
59
+ section("Styling");
60
+ say(cap, "recolour every edge, then highlight a node");
61
+ recolor(g.edges, cyan, 0.5);
62
+ flash(g.1, magenta);
63
+ par {
64
+ recolor(g.1, lime, 0.4);
65
+ pulse(g.1);
66
+ }
67
+ wait(1.5);
@@ -0,0 +1,15 @@
1
+ title("A* Pathfinding — Search Over Space");
2
+ canvas("16:9");
3
+ template("neon");
4
+
5
+ watermark(mark, (w*0.15, h*0.05), "Made With Manic");
6
+
7
+ // A cell grid seeded from a compact ASCII maze: `#` wall, `.` open, `@` start,
8
+ // `*` goal. A* explores the open cells (frontier cyan → current magenta), then
9
+ // the shortest route is traced in gold — the spatial sibling of the algo kit's
10
+ // graph search, sharing its exact colour grammar.
11
+ grid(g, "@ . . . . . . . ; # # # # # # . # ; . . . . . . . . ; . # # # # # # # ; . . . . . . . . ; # # # # # # # *", (cx, cy+20), 8, 6, 78);
12
+ neighbors(g, "4");
13
+
14
+ gridastar(g, (0,0), (7,5), manhattan);
15
+ draw(g.path, 1.4);
@@ -0,0 +1,31 @@
1
+ // grid-life-soup — Conway's Game of Life from a random soup, on the grid kit.
2
+ //
3
+ // A 40x40 cellular automaton seeded with a pseudo-random field (manic has no
4
+ // rand(), so a shader-style hash stands in), then evolved: each
5
+ // `evolve(life,"life")` pre-simulates one Conway generation at build time
6
+ // (alive = a filled `wall` cell, B3/S23, 8-neighbourhood), and `run` replays
7
+ // the 30 stored generations — the soup settles into gliders, blinkers and still lifes.
8
+ //
9
+ // manic examples/grid-life-soup.manic
10
+ title("Conway's Life — a random soup");
11
+ canvas(1080, 1080);
12
+ template("paper");
13
+
14
+ let cols = 40;
15
+ let rows = 40;
16
+ let cell = 25;
17
+ grid(life, (540, 540), cols, rows, cell);
18
+
19
+ // seed ~45% of cells at random — `random` is deterministic, so the soup is
20
+ // reproducible; render with `--seed random` to roll a fresh soup each time.
21
+ for r in 0..rows {
22
+ for c in 0..cols {
23
+ if random(r, c) > 0.55 {
24
+ setcell(life, r, c, wall);
25
+ }
26
+ }
27
+ }
28
+
29
+ // pre-simulate 30 generations, then replay them over 8s
30
+ for g in 0..30 { evolve(life, "life"); }
31
+ run(life, 30, 8);
@@ -0,0 +1,46 @@
1
+ // Conway's Life — the Zoo. img_4.png's taxonomy (still lifes / oscillators /
2
+ // spaceships) is nothing more than Conway's Life on a grid — which the grid kit
3
+ // already does: seed cells, `evolve` a few generations at build time, then `run`
4
+ // to replay them. Three grids run in parallel: a Block that never moves, a Blinker
5
+ // that oscillates, and a Glider that walks across its grid. No new kit needed.
6
+ title("Conway's Life — the Zoo");
7
+ canvas("16:9");
8
+ template("mono");
9
+
10
+ let u = (w+h-abs(w-h))/1440;
11
+ text(kicker, (cx, h*0.10), "STILL LIFE · OSCILLATOR · SPACESHIP — all just Conway's Life");
12
+ size(kicker, 22*u); color(kicker, dim); bold(kicker); wrap(kicker, w*0.9);
13
+
14
+ // --- Still life: Block (never changes) ---
15
+ grid(blk, (w*0.22, cy), 6, 6, 40);
16
+ setcell(blk, 2, 2, wall); setcell(blk, 2, 3, wall);
17
+ setcell(blk, 3, 2, wall); setcell(blk, 3, 3, wall);
18
+ text(blkL, (w*0.22, cy+180*u), "Block — still life"); size(blkL, 20*u); color(blkL, cyan);
19
+
20
+ // --- Oscillator: Blinker (period 2) ---
21
+ grid(bln, (w*0.5, cy), 6, 6, 40);
22
+ setcell(bln, 2, 1, wall); setcell(bln, 2, 2, wall); setcell(bln, 2, 3, wall);
23
+ text(blnL, (w*0.5, cy+180*u), "Blinker — oscillator (p2)"); size(blnL, 20*u); color(blnL, cyan);
24
+
25
+ // --- Spaceship: Glider (translates) ---
26
+ grid(gld, (w*0.78, cy), 8, 8, 34);
27
+ setcell(gld, 1, 2, wall);
28
+ setcell(gld, 2, 3, wall);
29
+ setcell(gld, 3, 1, wall); setcell(gld, 3, 2, wall); setcell(gld, 3, 3, wall);
30
+ text(gldL, (w*0.78, cy+180*u), "Glider — spaceship"); size(gldL, 20*u); color(gldL, cyan);
31
+
32
+ // Pre-simulate 8 generations of each (build time), same count so they replay in sync.
33
+ evolve(blk, "life"); evolve(blk, "life"); evolve(blk, "life"); evolve(blk, "life");
34
+ evolve(blk, "life"); evolve(blk, "life"); evolve(blk, "life"); evolve(blk, "life");
35
+ evolve(bln, "life"); evolve(bln, "life"); evolve(bln, "life"); evolve(bln, "life");
36
+ evolve(bln, "life"); evolve(bln, "life"); evolve(bln, "life"); evolve(bln, "life");
37
+ evolve(gld, "life"); evolve(gld, "life"); evolve(gld, "life"); evolve(gld, "life");
38
+ evolve(gld, "life"); evolve(gld, "life"); evolve(gld, "life"); evolve(gld, "life");
39
+
40
+ // Replay all three at once — the whole zoo, self-animating.
41
+ par {
42
+ run(blk, 8, 5.0);
43
+ run(bln, 8, 5.0);
44
+ run(gld, 8, 5.0);
45
+ }
46
+ wait(0.6);
@@ -0,0 +1,19 @@
1
+ title("Conway's Life — A Glider");
2
+ canvas("16:9");
3
+ template("neon");
4
+
5
+ watermark(mark, (w*0.15, h*0.05), "Made With Manic");
6
+
7
+ // A cellular automaton on the same cell grid. `step` pre-simulates one Conway
8
+ // generation at build time (alive = a filled `wall` cell, 8-neighbourhood);
9
+ // `run` then replays the stored generations. This glider walks diagonally.
10
+ grid(life, (cx, cy+10), 14, 12, 42);
11
+ setcell(life, 1, 2, wall);
12
+ setcell(life, 2, 3, wall);
13
+ setcell(life, 3, 1, wall);
14
+ setcell(life, 3, 2, wall);
15
+ setcell(life, 3, 3, wall);
16
+
17
+ evolve(life, "life"); evolve(life, "life"); evolve(life, "life");
18
+ evolve(life, "life"); evolve(life, "life"); evolve(life, "life");
19
+ run(life, 6, 5.0);
@@ -0,0 +1,13 @@
1
+ title("Wave Function Collapse — A Maze, Settling");
2
+ canvas("16:9");
3
+ template("neon");
4
+
5
+ watermark(mark, (w*0.15, h*0.05), "Made With Manic");
6
+
7
+ // `collapse` pre-simulates a seeded Wave-Function-Collapse-style settling at
8
+ // build time — each cell is decided under its neighbours' constraints, one row
9
+ // at a time — then `run` replays the grid resolving from empty to a finished
10
+ // maze. Seeded, so it is fully deterministic (same seed ⇒ same maze).
11
+ grid(mz, (cx, cy+10), 20, 14, 30);
12
+ collapse(mz, "maze", 7);
13
+ run(mz, 14, 5.0);
@@ -0,0 +1,58 @@
1
+ title("One Rule Grows a Forest");
2
+ canvas("9:16");
3
+ template("blank");
4
+
5
+ watermark(mark,(w*0.16,h*0.055),"Made With Manic");
6
+ text(kicker,(cx,h*0.085),"FRACTAL TREE · BATCHED GENERATIONS");
7
+ text(headline,(cx,h*0.13),"How can one branch become 1,023?");
8
+ text(caption,(cx,h*0.84),"Repeat one rule: split, turn, shrink—and keep every generation readable.");
9
+ text(cta,(cx,h*0.91),"CREATE YOUR OWN → 8gwifi.org/manic");
10
+ size(kicker,20); color(kicker,dim); bold(kicker); hidden(kicker);
11
+ size(headline,34); bold(headline); wrap(headline,w*0.84); hidden(headline);
12
+ size(caption,22); color(caption,dim); wrap(caption,w*0.82); hidden(caption);
13
+ size(cta,22); color(cta,cyan); bold(cta); hidden(cta);
14
+
15
+ camera3((9,-13,8),(0,0,3.2),43);
16
+ tree3(tree,(0,0,-3.2),2.1,27,0.72,10,42);
17
+ for i in 0..10 { untraced(tree.d{i}); hidden(tree.d{i}); }
18
+ hidden(tree.leaves);
19
+
20
+ step("the seed") {
21
+ show(kicker,0.3); show(headline,0.45); show(caption,0.4);
22
+ view3(tree,"isometric",0.7,smooth,1.42);
23
+ }
24
+ wait(0.35);
25
+
26
+ step("grow by generation") {
27
+ par {
28
+ stagger(0.16) {
29
+ for i in 0..10 {
30
+ par { show(tree.d{i},0.22); draw(tree.d{i},0.58,smooth); }
31
+ }
32
+ }
33
+ say(caption,"Each depth is one renderer batch, even when it contains hundreds of branches.",0.45);
34
+ view3(tree,"isometric",1.1,smooth,1.48);
35
+ }
36
+ }
37
+ wait(0.4);
38
+
39
+ step("find the canopy") {
40
+ par {
41
+ show(tree.leaves,0.65);
42
+ seq {
43
+ orbit3(42,24,21.0,2.1,smooth);
44
+ view3(tree,"isometric",0.9,smooth,1.42);
45
+ }
46
+ say(caption,"A semantic camera journey reveals the rule first, then the whole canopy.",0.45);
47
+ }
48
+ }
49
+ wait(0.5);
50
+
51
+ step("takeaway") {
52
+ par {
53
+ pulse(tree.leaves,0.7);
54
+ say(caption,"Deep procedural geometry stays simple to author, deterministic, and smooth to seek.",0.45);
55
+ show(cta,0.45);
56
+ }
57
+ }
58
+ wait(1.3);
@@ -0,0 +1,82 @@
1
+ // ============================================================================
2
+ // gun-shot.manic — a scene, not a lesson. No physics kit, just imagination.
3
+ // ----------------------------------------------------------------------------
4
+ // A gun fires · the camera races along with the bullet · a block drops in out
5
+ // of nowhere · BOOM. Built entirely from base manic — shapes, `move`, `cam`/
6
+ // `zoom` to fly the camera, `flash`/`shake`/`pulse`, and a `for`-loop spark
7
+ // burst. This is manic as a storytelling language: dream a scene, write it.
8
+ // ============================================================================
9
+
10
+ title("Gun Shot");
11
+ canvas("16:9");
12
+
13
+ // ---- the world (wide — the camera pans across it) ----
14
+ line(ground, (-300, 560), (2400, 560)); color(ground, dim); stroke(ground, 4);
15
+
16
+ // the gun: barrel + body + grip
17
+ rect(barrel, (250, 470), 96, 22); color(barrel, dim); filled(barrel);
18
+ rect(body, (206, 478), 52, 42); color(body, dim); filled(body);
19
+ polygon(grip, (186, 500), (220, 500), (212, 554), (180, 550), dim);
20
+
21
+ // the bullet at the muzzle, and a muzzle flash — both waiting
22
+ circle(bullet, (302, 470), 12); color(bullet, gold); glow(bullet, 2.2); hidden(bullet);
23
+ circle(mflash, (312, 470), 30); color(mflash, gold); glow(mflash, 3.5); hidden(mflash);
24
+
25
+ // the block — waiting above, off-screen, to drop in ahead
26
+ rect(block, (1750, 250), 130, 130); color(block, cyan); filled(block); glow(block, 1.4); hidden(block);
27
+ text(boom, (1750, 320), "BOOM!"); size(boom, 96); color(boom, magenta); bold(boom); glow(boom, 2.5); display(boom); hidden(boom);
28
+
29
+ // a ring of impact sparks around the block (revealed at the hit)
30
+ for i in 0..14 {
31
+ let ang = i * tau / 14.0;
32
+ line(spark{i}, (1700, 470), (1700 + 160*cos(ang), 470 + 160*sin(ang)));
33
+ color(spark{i}, gold); stroke(spark{i}, 5); glow(spark{i}, 2); untraced(spark{i}); tag(spark{i}, sparks);
34
+ }
35
+
36
+ // a caption pinned to the screen (rides along through the camera move)
37
+ text(cap, (cx, h - 56), ""); color(cap, fg); size(cap, 26); bold(cap); display(cap); sticky(cap);
38
+
39
+ // ================= THE SCENE =================
40
+ cam((440, 380), 0.4, smooth); // frame the gun
41
+ say(cap, "steady…", 0.4);
42
+ wait(0.6);
43
+
44
+ // FIRE!
45
+ say(cap, "FIRE!", 0.2);
46
+ par { show(mflash, 0.06); pulse(mflash); show(bullet, 0.08); }
47
+ fade(mflash, 0.3);
48
+
49
+ // the bullet races off — the camera flies with it — and mid-flight, out of
50
+ // nowhere, a block slams down into its path
51
+ par {
52
+ move(bullet, (1690, 470), 2.6, smooth);
53
+ cam((1560, 380), 2.6, smooth);
54
+ zoom(1.15, 2.6, smooth);
55
+ seq {
56
+ wait(1.5);
57
+ say(cap, "…wait — what's THAT?!", 0.3);
58
+ show(block, 0.1);
59
+ move(block, (1750, 470), 0.4, bounce);
60
+ }
61
+ }
62
+
63
+ // BOOM — impact
64
+ say(cap, "BOOM!", 0.15);
65
+ par {
66
+ flash(block, gold);
67
+ shake(block, 0.5);
68
+ zoom(1.5, 0.15);
69
+ show(boom, 0.12); pulse(boom);
70
+ draw(sparks, 0.35);
71
+ }
72
+ wait(0.5);
73
+
74
+ // settle — pull back
75
+ par {
76
+ fade(sparks, 0.5);
77
+ fade(boom, 0.6);
78
+ fade(bullet, 0.4);
79
+ zoom(1.0, 0.9, smooth);
80
+ }
81
+ say(cap, "…scene.", 0.4);
82
+ wait(0.8);
@@ -0,0 +1,38 @@
1
+ // Hash Map — separate chaining. `hashmap(id, n, (cx,cy))` draws n numbered
2
+ // buckets in a column; `put(id, key, val)` hashes the key to a bucket and chains
3
+ // the `key:val` entry on (collisions extend the chain); `get(id, key)` hashes,
4
+ // then scans that bucket's chain — each entry flashes until the key matches
5
+ // (lime) or the chain ends (bucket flashes magenta = miss).
6
+ //
7
+ // (Hash = sum of the key's bytes mod n. "cat" and "act" are anagrams, so they
8
+ // collide — same bucket, chained.)
9
+ //
10
+ // manic examples/hashmap.manic
11
+
12
+ title("Hash Map");
13
+ canvas("16:9");
14
+
15
+ text(head, (cx, 60), "separate chaining: hash the key, chain on collision");
16
+ display(head); color(head, cyan); size(head, 26); hidden(head);
17
+ text(cap, (cx, 690), ""); color(cap, dim); size(cap, 24);
18
+
19
+ hashmap(ht, 5, (360, 360), 128, 46);
20
+
21
+ show(head, 0.5);
22
+ say(cap, "put cat, dog, ok — each hashes to its bucket");
23
+ put(ht, "cat", "7");
24
+ put(ht, "dog", "3");
25
+ put(ht, "ok", "1");
26
+ wait(0.5);
27
+
28
+ section("Collision");
29
+ say(cap, "put act — same bytes as cat, so it collides and chains on");
30
+ put(ht, "act", "9");
31
+ wait(0.6);
32
+
33
+ section("Lookup");
34
+ say(cap, "get act — scan the chain in bucket 2 until the key matches");
35
+ get(ht, "act");
36
+ say(cap, "get xyz — hashes to a bucket, scans, falls off the end: miss");
37
+ get(ht, "xyz");
38
+ wait(1.2);
@@ -0,0 +1,64 @@
1
+ // From Flat Map to 3D World — the creative payoff of the Grid→3D bridge. A grid-kit
2
+ // Wave Function Collapse settles a map in 2D; then the very same grid is lifted by
3
+ // heightmap3 into a 3D terrain that rises as the camera tilts down. One grid, two
4
+ // dimensions — the grid kit never learns about 3D.
5
+ title("From Flat Map to 3D World");
6
+ canvas("16:9");
7
+ template("neon");
8
+
9
+ let u = (w+h-abs(w-h))/1440;
10
+ watermark(mk, (w*0.86, h*0.06), "Made With Manic");
11
+
12
+ // The 2D map (grid kit): a seeded WFC settle.
13
+ grid(world, (cx, cy), 20, 16, 30);
14
+ collapse(world, "maze", 11);
15
+
16
+ // The 3D terrain from the SAME grid — near top-down at first, so it reads flat like
17
+ // the map, then the tilt reveals its height. Hidden until the lift.
18
+ camera3((0, -1.6, 20), (0, 0, 0), 24);
19
+ heightmap3(land, world, "h*1.9 + fbm(x*1.2, y*1.2)*0.9 + 0.1", 8);
20
+ color(land, cyan);
21
+ hidden(land);
22
+
23
+ text(cap, (cx, h*0.9), "a flat 2D map…");
24
+ size(cap, 30*u); color(cap, dim); wrap(cap, w*0.7);
25
+
26
+ // 1 — the map settles in 2D (Wave Function Collapse).
27
+ step("settle") {
28
+ par {
29
+ say(cap, "a flat 2D map, generated cell by cell…");
30
+ run(world, 16, 3.4);
31
+ }
32
+ }
33
+ wait(0.4);
34
+
35
+ // 2 — the same grid lifts into 3D: fade the flat map, reveal the terrain (still
36
+ // near top-down, so it still reads flat — the map has just gained a third axis).
37
+ step("lift") {
38
+ par {
39
+ say(cap, "…is secretly a 3D world");
40
+ fade(world.cells, 0.6);
41
+ fade(world.lines, 0.6);
42
+ show(land, 0.7);
43
+ }
44
+ }
45
+
46
+ // 3 — pull back and tilt so the WHOLE world is in frame at once.
47
+ step("reveal") {
48
+ orbit3(25, 38, 27, 3.8, smooth);
49
+ }
50
+ wait(0.4);
51
+
52
+ // 4 — a slow rotation around the full terrain.
53
+ step("rotate") {
54
+ seq {
55
+ say(cap, "one grid — 2D pathfinding AND 3D terrain, bridged by manic");
56
+ orbit3(170, 34, 27, 5.2, smooth);
57
+ }
58
+ }
59
+
60
+ // 5 — then fly in close and low over the peaks. That's manic.
61
+ step("zoom") {
62
+ orbit3(235, 15, 10, 4.6, smooth);
63
+ }
64
+ wait(1.2);
@@ -0,0 +1,23 @@
1
+ // heightmap3 — a Grid Kit → 3D bridge. A 2D grid's per-cell state is lifted into a
2
+ // surface3-style terrain mesh. The grid kit stays entirely 3D-unaware; heightmap3
3
+ // lives on the 3D side and just reads the grid's cells. Here a seeded Wave Function
4
+ // Collapse settles a map, then its walls rise into an island terrain a camera orbits.
5
+ title("Heightmap3 — A Grid Becomes Terrain");
6
+ canvas("16:9");
7
+ template("neon");
8
+
9
+ // A grid-kit map: `collapse` pre-simulates a seeded WFC settle (clustered walls).
10
+ grid(mz, (cx, cy), 18, 14, 30);
11
+ collapse(mz, "islands", 5);
12
+ hidden(mz.cells); hidden(mz.lines); // we only want the 3D terrain, not the flat grid
13
+
14
+ // Lift it: h = 1 for a filled cell, 0 otherwise. The formula raises the walls and
15
+ // blends in organic `fbm` noise for a natural roll — grid value AND noise compose.
16
+ camera3((0, -12, 7), (0, 0, 0.7), 32);
17
+ heightmap3(land, mz, "h*1.5 + fbm(x*1.1, y*1.1)*0.85 + 0.1", 7);
18
+ color(land, cyan);
19
+
20
+ // A slow turntable so the terrain reads in 3D.
21
+ orbit3(70, 34, 13, 4.5, smooth);
22
+ orbit3(200, 30, 13, 4.5, smooth);
23
+ orbit3(330, 36, 13, 4.5, smooth);