@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.
- package/CONTRIBUTING.md +40 -0
- package/README.md +155 -0
- package/dist/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/client/assets/abap-CRCWOmpq.js +1 -0
- package/dist/client/assets/apex-DnsZk_dE.js +1 -0
- package/dist/client/assets/azcli-1IWB1ccx.js +1 -0
- package/dist/client/assets/bat-DPkNLes8.js +1 -0
- package/dist/client/assets/bicep-Corcdgou.js +2 -0
- package/dist/client/assets/cameligo-CGrWLZr3.js +1 -0
- package/dist/client/assets/clojure-D9WOWImG.js +1 -0
- package/dist/client/assets/codicon-CgENjH2v.ttf +0 -0
- package/dist/client/assets/coffee-B7EJu28W.js +1 -0
- package/dist/client/assets/cpp-SEyurbux.js +1 -0
- package/dist/client/assets/csharp-BoL64M5l.js +1 -0
- package/dist/client/assets/csp-C46ZqvIl.js +1 -0
- package/dist/client/assets/css-DQU6DXDx.js +3 -0
- package/dist/client/assets/cssMode-CtRONlr8.js +4 -0
- package/dist/client/assets/cypher-D84EuPTj.js +1 -0
- package/dist/client/assets/dart-D8lhlL1r.js +1 -0
- package/dist/client/assets/dockerfile-DLk6rpji.js +1 -0
- package/dist/client/assets/ecl-BO6FnfXk.js +1 -0
- package/dist/client/assets/editor.worker-CZyr7Ur9.js +26 -0
- package/dist/client/assets/elixir-BRjLKONM.js +1 -0
- package/dist/client/assets/flow9-Cac8vKd7.js +1 -0
- package/dist/client/assets/freemarker2-BTSNJUl8.js +3 -0
- package/dist/client/assets/fsharp-fd1GTHhf.js +1 -0
- package/dist/client/assets/go-O9LJTZXk.js +1 -0
- package/dist/client/assets/graphql-LQdxqEYJ.js +1 -0
- package/dist/client/assets/handlebars-qkUBjVg6.js +1 -0
- package/dist/client/assets/hcl-DxDQ3s82.js +1 -0
- package/dist/client/assets/html-pguqE00h.js +1 -0
- package/dist/client/assets/htmlMode-BCCLuk2F.js +4 -0
- package/dist/client/assets/index-BFrMLHHu.css +1 -0
- package/dist/client/assets/index-CdBC-xgi.js +1250 -0
- package/dist/client/assets/ini-BvajGCUy.js +1 -0
- package/dist/client/assets/java-SYsfObOQ.js +1 -0
- package/dist/client/assets/javascript-ciDUXdez.js +1 -0
- package/dist/client/assets/jsonMode-BmkXC0tI.js +10 -0
- package/dist/client/assets/julia-DQXNmw_w.js +1 -0
- package/dist/client/assets/kotlin-qQ0MG-9I.js +1 -0
- package/dist/client/assets/less-GGFNNJHn.js +2 -0
- package/dist/client/assets/lexon-Canl7DCW.js +1 -0
- package/dist/client/assets/liquid-CwE4UIwf.js +1 -0
- package/dist/client/assets/lua-D28Ae8-K.js +1 -0
- package/dist/client/assets/m3-DPitgjJI.js +1 -0
- package/dist/client/assets/markdown-B811l8j2.js +1 -0
- package/dist/client/assets/mdx-K_9Emnjy.js +1 -0
- package/dist/client/assets/mips-CdjsipkG.js +1 -0
- package/dist/client/assets/msdax-CYqgjx_P.js +1 -0
- package/dist/client/assets/mysql-BHd6q0vd.js +1 -0
- package/dist/client/assets/objective-c-B1aVtJYH.js +1 -0
- package/dist/client/assets/pascal-BhNW15KB.js +1 -0
- package/dist/client/assets/pascaligo-5jv8CcQD.js +1 -0
- package/dist/client/assets/perl-DlYyT36c.js +1 -0
- package/dist/client/assets/pgsql-Dy0bjov7.js +1 -0
- package/dist/client/assets/php-120yhfDK.js +1 -0
- package/dist/client/assets/pla-CjnFlu4u.js +1 -0
- package/dist/client/assets/postiats-CQpG440k.js +1 -0
- package/dist/client/assets/powerquery-DdJtto1Z.js +1 -0
- package/dist/client/assets/powershell-Bu_VLpJB.js +1 -0
- package/dist/client/assets/protobuf-IBS6jZEB.js +2 -0
- package/dist/client/assets/pug-kFxLfcjb.js +1 -0
- package/dist/client/assets/python-BzIc0EVe.js +1 -0
- package/dist/client/assets/qsharp-q7JyzKFN.js +1 -0
- package/dist/client/assets/r-BIFz-_sK.js +1 -0
- package/dist/client/assets/razor-lXZl6dtu.js +1 -0
- package/dist/client/assets/redis-CHOsPHWR.js +1 -0
- package/dist/client/assets/redshift-CBifECDb.js +1 -0
- package/dist/client/assets/restructuredtext-CghPJEOS.js +1 -0
- package/dist/client/assets/ruby-CYWGW-b1.js +1 -0
- package/dist/client/assets/rust-DMDD0SHb.js +1 -0
- package/dist/client/assets/sb-BYAiYHFx.js +1 -0
- package/dist/client/assets/scala-Bqvq8jcR.js +1 -0
- package/dist/client/assets/scheme-Dhb-2j9p.js +1 -0
- package/dist/client/assets/scss-CTwUZ5N7.js +3 -0
- package/dist/client/assets/shell-CsDZo4DB.js +1 -0
- package/dist/client/assets/solidity-CME5AdoB.js +1 -0
- package/dist/client/assets/sophia-RYC1BQQz.js +1 -0
- package/dist/client/assets/sparql-KEyrF7De.js +1 -0
- package/dist/client/assets/sql-BdTr02Mf.js +1 -0
- package/dist/client/assets/st-C7iG7M4S.js +1 -0
- package/dist/client/assets/swift-D7IUmUK8.js +1 -0
- package/dist/client/assets/systemverilog-DgMryOEJ.js +1 -0
- package/dist/client/assets/tcl-PloMZuKG.js +1 -0
- package/dist/client/assets/tsMode-BAXmgo_t.js +11 -0
- package/dist/client/assets/twig-BfRIq3la.js +1 -0
- package/dist/client/assets/typescript-Cdf8nS1n.js +1 -0
- package/dist/client/assets/typespec-CzxlYoT_.js +1 -0
- package/dist/client/assets/vb-BwAE3J76.js +1 -0
- package/dist/client/assets/wgsl-B_1kOXbF.js +298 -0
- package/dist/client/assets/xml-DGyPgYnj.js +1 -0
- package/dist/client/assets/yaml-Dqv3HtbL.js +1 -0
- package/dist/client/index.html +14 -0
- package/dist/client/manic-logo.png +0 -0
- package/dist/client/wasm/manic_lang.d.ts +74 -0
- package/dist/client/wasm/manic_lang.js +302 -0
- package/dist/client/wasm/manic_lang_bg.wasm +0 -0
- package/dist/client/wasm/manic_lang_bg.wasm.d.ts +13 -0
- package/dist/server/agentProtocol.d.ts +131 -0
- package/dist/server/agentProtocol.js +21 -0
- package/dist/server/agentProtocol.js.map +1 -0
- package/dist/server/agentRuns.d.ts +46 -0
- package/dist/server/agentRuns.js +138 -0
- package/dist/server/agentRuns.js.map +1 -0
- package/dist/server/agentThreads.d.ts +20 -0
- package/dist/server/agentThreads.js +205 -0
- package/dist/server/agentThreads.js.map +1 -0
- package/dist/server/aiSecrets.d.ts +21 -0
- package/dist/server/aiSecrets.js +68 -0
- package/dist/server/aiSecrets.js.map +1 -0
- package/dist/server/app.d.ts +34 -0
- package/dist/server/app.js +804 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/assets.d.ts +34 -0
- package/dist/server/assets.js +659 -0
- package/dist/server/assets.js.map +1 -0
- package/dist/server/candidateFix.d.ts +28 -0
- package/dist/server/candidateFix.js +111 -0
- package/dist/server/candidateFix.js.map +1 -0
- package/dist/server/cli.d.ts +2 -0
- package/dist/server/cli.js +118 -0
- package/dist/server/cli.js.map +1 -0
- package/dist/server/diagnostics.d.ts +13 -0
- package/dist/server/diagnostics.js +73 -0
- package/dist/server/diagnostics.js.map +1 -0
- package/dist/server/engineCheck.d.ts +7 -0
- package/dist/server/engineCheck.js +60 -0
- package/dist/server/engineCheck.js.map +1 -0
- package/dist/server/engineInstall.d.ts +34 -0
- package/dist/server/engineInstall.js +228 -0
- package/dist/server/engineInstall.js.map +1 -0
- package/dist/server/enginePaths.d.ts +3 -0
- package/dist/server/enginePaths.js +76 -0
- package/dist/server/enginePaths.js.map +1 -0
- package/dist/server/folderPicker.d.ts +1 -0
- package/dist/server/folderPicker.js +54 -0
- package/dist/server/folderPicker.js.map +1 -0
- package/dist/server/manicAgent.d.ts +75 -0
- package/dist/server/manicAgent.js +476 -0
- package/dist/server/manicAgent.js.map +1 -0
- package/dist/server/manicEnv.d.ts +18 -0
- package/dist/server/manicEnv.js +64 -0
- package/dist/server/manicEnv.js.map +1 -0
- package/dist/server/promptStore.d.ts +11 -0
- package/dist/server/promptStore.js +85 -0
- package/dist/server/promptStore.js.map +1 -0
- package/dist/server/renderJobs.d.ts +54 -0
- package/dist/server/renderJobs.js +290 -0
- package/dist/server/renderJobs.js.map +1 -0
- package/dist/server/settings.d.ts +40 -0
- package/dist/server/settings.js +262 -0
- package/dist/server/settings.js.map +1 -0
- package/dist/server/smartDraw.d.ts +7 -0
- package/dist/server/smartDraw.js +88 -0
- package/dist/server/smartDraw.js.map +1 -0
- package/dist/server/workspace.d.ts +27 -0
- package/dist/server/workspace.js +172 -0
- package/dist/server/workspace.js.map +1 -0
- package/examples/.manic-output/40b6f3b9-7638-4c0e-bb4f-570d45d1b225/job.json +26 -0
- package/examples/.manic-output/993f3788-f75e-445c-ba45-c401907b3c02/job.json +26 -0
- package/examples/.manic-output/993f3788-f75e-445c-ba45-c401907b3c02/markers.json +13 -0
- package/examples/.manic-output/993f3788-f75e-445c-ba45-c401907b3c02/out.mp4 +0 -0
- package/examples/.manic-workbench-threads/thread_3ce7448a13f64f9e887d1bc8106a97a8.json +45 -0
- package/examples/.manic-workbench-threads/thread_d494cda29249477591056234719e4a3a.json +21 -0
- package/examples/.manic-workbench-threads/thread_e98ebdc225184ea5b8ddda8b44541f63.json +29 -0
- package/examples/README.md +35 -0
- package/examples/a-story-1.manic +222 -0
- package/examples/a-story.manic +100 -0
- package/examples/achromat-cinematic.manic +105 -0
- package/examples/achromat.manic +32 -0
- package/examples/aes-decrypt.manic +359 -0
- package/examples/aes-encrypt.manic +359 -0
- package/examples/aes-round.manic +70 -0
- package/examples/aes-story.manic +622 -0
- package/examples/ai-story.manic +118 -0
- package/examples/analysis.manic +53 -0
- package/examples/archimedes_pi.manic +89 -0
- package/examples/area_under_curve.manic +131 -0
- package/examples/art-rakkan.manic +69 -0
- package/examples/aspheric-lens.manic +32 -0
- package/examples/astronomical-watch.manic +96 -0
- package/examples/asymptote-randomwalk3-reference.manic +58 -0
- package/examples/asymptote-tiling-reference.manic +65 -0
- package/examples/aws-clustered-web-services.manic +186 -0
- package/examples/aws-event-processing-clusters-poc.manic +97 -0
- package/examples/aws-three-tier-web-application.manic +134 -0
- package/examples/band.manic +43 -0
- package/examples/banner.manic +37 -0
- package/examples/bayes.manic +27 -0
- package/examples/bellcurve.manic +41 -0
- package/examples/bfs_dfs.manic +35 -0
- package/examples/block-tackle.manic +26 -0
- package/examples/bloom-scope.manic +172 -0
- package/examples/boolean.manic +46 -0
- package/examples/boxplot-wave.manic +93 -0
- package/examples/boxplot.manic +43 -0
- package/examples/brace.manic +46 -0
- package/examples/brachistochrone-annotated.manic +51 -0
- package/examples/brachistochrone.manic +27 -0
- package/examples/bubble_sort.manic +41 -0
- package/examples/bullet-block-annotated.manic +48 -0
- package/examples/bullet-block.manic +11 -0
- package/examples/bullet-impact.manic +65 -0
- package/examples/bungee.manic +9 -0
- package/examples/c4-internet-banking-components.manic +33 -0
- package/examples/c4-internet-banking-containers.manic +29 -0
- package/examples/c4-internet-banking.manic +26 -0
- package/examples/c4-story.manic +171 -0
- package/examples/c4-test.manic +52 -0
- package/examples/c4-zoom.manic +69 -0
- package/examples/calculus-demo.manic +129 -0
- package/examples/calculus-one.manic +288 -0
- package/examples/captions.manic +31 -0
- package/examples/car-suspension-annotated.manic +57 -0
- package/examples/car-suspension.manic +8 -0
- package/examples/cart-pendulum.manic +11 -0
- package/examples/charts-bar-line.manic +26 -0
- package/examples/charts-column-race.manic +19 -0
- package/examples/charts-gdp-race.manic +43 -0
- package/examples/charts-german-elections.manic +28 -0
- package/examples/charts-line-race.manic +21 -0
- package/examples/circle-in-three.manic +156 -0
- package/examples/circle-thirds-no-triangle.manic +161 -0
- package/examples/clip-window.manic +34 -0
- package/examples/cloud-feathers.manic +50 -0
- package/examples/cloud-jellyfish-v2.manic +87 -0
- package/examples/cloud-jellyfish.manic +48 -0
- package/examples/cloud-kaleidoscope.manic +48 -0
- package/examples/cloud-koi.manic +51 -0
- package/examples/cloud-lissajous.manic +23 -0
- package/examples/cloud-medusae.manic +46 -0
- package/examples/cloud-phoenix.manic +49 -0
- package/examples/cloud-plumes.manic +47 -0
- package/examples/cloud-pottery.manic +104 -0
- package/examples/cloud-shells.manic +50 -0
- package/examples/cloud-starfield.manic +23 -0
- package/examples/cloud-wave-lattice.manic +23 -0
- package/examples/cloud-word.manic +31 -0
- package/examples/cloud3-ripple.manic +53 -0
- package/examples/cloud3-sphere.manic +26 -0
- package/examples/clt.manic +35 -0
- package/examples/collide-blocks-annotated.manic +45 -0
- package/examples/collide-blocks.manic +11 -0
- package/examples/compare-pendulum.manic +11 -0
- package/examples/complex-flowchart.manic +196 -0
- package/examples/compound-pulley.manic +25 -0
- package/examples/conics.manic +46 -0
- package/examples/coordinates.manic +52 -0
- package/examples/correlation.manic +35 -0
- package/examples/covariance.manic +30 -0
- package/examples/creator-affine-fern-growth.manic +72 -0
- package/examples/creator-bowl-to-saddle.manic +86 -0
- package/examples/creator-branch-counting-tree3.manic +77 -0
- package/examples/creator-chaos-game-fern.manic +72 -0
- package/examples/creator-circle-inversion-chain.manic +61 -0
- package/examples/creator-convex-hull-depth.manic +59 -0
- package/examples/creator-coordinate-worlds.manic +182 -0
- package/examples/creator-ellipse-reflection-property.manic +59 -0
- package/examples/creator-free-kicks.manic +261 -0
- package/examples/creator-geometry-language-showcase.manic +259 -0
- package/examples/creator-geometry-morph-promo.manic +151 -0
- package/examples/creator-heightmap-world.manic +130 -0
- package/examples/creator-hilbert3-spatial-index.manic +203 -0
- package/examples/creator-how-rocket-launch-works.manic +192 -0
- package/examples/creator-implicit-surface-parameterized.manic +51 -0
- package/examples/creator-incenter-dissection.manic +56 -0
- package/examples/creator-lattice-paths.manic +118 -0
- package/examples/creator-line-inversion.manic +49 -0
- package/examples/creator-lsystem-fractal-curve.manic +121 -0
- package/examples/creator-mandelbrot-escape-test.manic +58 -0
- package/examples/creator-monty-hall.manic +104 -0
- package/examples/creator-noise-story.manic +123 -0
- package/examples/creator-one-tile-pattern-story.manic +169 -0
- package/examples/creator-pathfinding.manic +82 -0
- package/examples/creator-point-to-plane-distance.manic +167 -0
- package/examples/creator-race-quiz.manic +76 -0
- package/examples/creator-randomwalk3-diffusion.manic +72 -0
- package/examples/creator-reflected-ellipse.manic +48 -0
- package/examples/creator-rule90-sierpinski.manic +64 -0
- package/examples/creator-three-shadows-of-a-curve.manic +48 -0
- package/examples/creator-trigonometry-one-angle.manic +307 -0
- package/examples/creator-v2-latex-algebra.manic +29 -0
- package/examples/creator-v2-latex-calculus.manic +37 -0
- package/examples/creator-v2-latex-physics.manic +29 -0
- package/examples/creator-v2-olympiad-geometry.manic +92 -0
- package/examples/creator-v2-options-socials.manic +21 -0
- package/examples/creator-v2-timers.manic +25 -0
- package/examples/creator-v2-timing-square.manic +25 -0
- package/examples/creator-v2-timing.manic +34 -0
- package/examples/creator-v2.manic +36 -0
- package/examples/creator-why-rockets-use-stages.manic +198 -0
- package/examples/creator-wrap-real-line.manic +51 -0
- package/examples/cubic-graphs.manic +432 -0
- package/examples/curve-features.manic +41 -0
- package/examples/definedmotion-fourier-gallery.manic +171 -0
- package/examples/derivative-of-ln-x.manic +194 -0
- package/examples/diagonalise.manic +56 -0
- package/examples/dijkstra.manic +29 -0
- package/examples/dimensions-unfold.manic +211 -0
- package/examples/disc-integration.manic +172 -0
- package/examples/double-incline.manic +9 -0
- package/examples/double-integral3.manic +43 -0
- package/examples/double-pendulum.manic +35 -0
- package/examples/double-spring.manic +9 -0
- package/examples/drop-mass.manic +25 -0
- package/examples/eigen3.manic +34 -0
- package/examples/equal_cuts.manic +44 -0
- package/examples/equation.manic +16 -0
- package/examples/equilateral.manic +57 -0
- package/examples/euler_line.manic +51 -0
- package/examples/exponential-shells.manic +188 -0
- package/examples/extrude3.manic +37 -0
- package/examples/factorial-flowchart.manic +69 -0
- package/examples/fibonacci-sphere.manic +57 -0
- package/examples/flow-lorenz.manic +47 -0
- package/examples/fourier-series-live-wave.manic +114 -0
- package/examples/fourier-square-wave-live.manic +114 -0
- package/examples/fractal_tree.manic +39 -0
- package/examples/frame3-grid-policies.manic +48 -0
- package/examples/ftc.manic +54 -0
- package/examples/function_graph.manic +54 -0
- package/examples/galton-board-process.manic +150 -0
- package/examples/gcp-clustered-web-services.manic +186 -0
- package/examples/gcp-message-collecting.manic +139 -0
- package/examples/geo-pythagoras-short.manic +119 -0
- package/examples/glsl-boxgrid.manic +105 -0
- package/examples/glsl-parameter.manic +30 -0
- package/examples/glsl-raymarch.manic +59 -0
- package/examples/glsl-shapes.manic +122 -0
- package/examples/gradient-descent-field.manic +116 -0
- package/examples/gradient-fastest-descent-shorts.manic +153 -0
- package/examples/gradient-fastest-descent.manic +125 -0
- package/examples/gradient-pendulum-shorts.manic +117 -0
- package/examples/gradient.manic +74 -0
- package/examples/graph.manic +45 -0
- package/examples/graph_moving.manic +67 -0
- package/examples/grid-astar.manic +15 -0
- package/examples/grid-life-soup.manic +31 -0
- package/examples/grid-life-zoo.manic +46 -0
- package/examples/grid-life.manic +19 -0
- package/examples/grid-wfc.manic +13 -0
- package/examples/growing-fractal-tree3.manic +58 -0
- package/examples/gun-shot.manic +82 -0
- package/examples/hashmap.manic +38 -0
- package/examples/heightmap3-world.manic +64 -0
- package/examples/heightmap3.manic +23 -0
- package/examples/hilbert-curve3-space-filling.manic +117 -0
- package/examples/hill_run.manic +71 -0
- package/examples/histogram.manic +43 -0
- package/examples/hotdog-taco.manic +147 -0
- package/examples/hue_wave.manic +35 -0
- package/examples/hypothesis.manic +32 -0
- package/examples/image.manic +29 -0
- package/examples/incircle_tangents.manic +64 -0
- package/examples/incline-bumper.manic +11 -0
- package/examples/incline-pulley.manic +11 -0
- package/examples/incline-showcase.manic +55 -0
- package/examples/inline-math.manic +16 -0
- package/examples/inscribed-angle-short.manic +56 -0
- package/examples/integral-sqrt-tanx.manic +255 -0
- package/examples/integrals.manic +274 -0
- package/examples/inverse-derivatives.manic +94 -0
- package/examples/k8s-cluster-components.manic +82 -0
- package/examples/k8s-stateful-architecture.manic +134 -0
- package/examples/k8s-three-tier.manic +146 -0
- package/examples/kapitza.manic +11 -0
- package/examples/latex-disintegration.manic +123 -0
- package/examples/lens-paper.manic +36 -0
- package/examples/lens-prescription.manic +33 -0
- package/examples/lens-system.manic +34 -0
- package/examples/lens.manic +31 -0
- package/examples/limit-infinity.manic +30 -0
- package/examples/limit.manic +33 -0
- package/examples/linear-algebra-3d.manic +50 -0
- package/examples/linear-algebra.manic +115 -0
- package/examples/linear-map.manic +39 -0
- package/examples/linear-map3.manic +33 -0
- package/examples/linear-system.manic +99 -0
- package/examples/linear_transform.manic +43 -0
- package/examples/linked_list.manic +38 -0
- package/examples/lln.manic +31 -0
- package/examples/loop-cinematic.manic +41 -0
- package/examples/loop-track.manic +11 -0
- package/examples/lorenz-attractor.manic +55 -0
- package/examples/lorenz-shells.manic +43 -0
- package/examples/lost-in-patterns.manic +149 -0
- package/examples/lsystem-asymptote-curves.manic +81 -0
- package/examples/manic-ml-activation-focus.manic +133 -0
- package/examples/manic-ml-cnn-edge-story.manic +102 -0
- package/examples/manic-ml-forward-pass.manic +93 -0
- package/examples/manic-ml-learning-step.manic +116 -0
- package/examples/manic-ml-logits-sampling.manic +112 -0
- package/examples/manic-ml-scalar-to-tensor.manic +143 -0
- package/examples/manic-ml-token-embedding.manic +110 -0
- package/examples/manic-ml-transformer-attention.manic +102 -0
- package/examples/manic-ml-transformer-block.manic +116 -0
- package/examples/manic-promo.manic +64 -0
- package/examples/map-attractor.manic +45 -0
- package/examples/mask-lens.manic +33 -0
- package/examples/matrix.manic +37 -0
- package/examples/matrix3.manic +101 -0
- package/examples/matrix_addition.manic +66 -0
- package/examples/matrix_addition_plane.manic +91 -0
- package/examples/maxwell-boltzmann-effusion-v2.manic +142 -0
- package/examples/maxwell-boltzmann-process.manic +86 -0
- package/examples/microservices-platform.manic +140 -0
- package/examples/molecule.manic +8 -0
- package/examples/morph-icons.manic +29 -0
- package/examples/morph.manic +29 -0
- package/examples/morph3.manic +49 -0
- package/examples/motion-flow-foundation.manic +148 -0
- package/examples/motion-graphics-v2-story.manic +189 -0
- package/examples/motion-graphics-v2.manic +81 -0
- package/examples/motion-graphics.manic +81 -0
- package/examples/multivariable3.manic +26 -0
- package/examples/mystory.manic +9 -0
- package/examples/newton.manic +39 -0
- package/examples/newtons-cradle.manic +10 -0
- package/examples/nine_point.manic +59 -0
- package/examples/noise-terrain.manic +16 -0
- package/examples/off-axis.manic +32 -0
- package/examples/onprem-advanced-web-service-v2.manic +196 -0
- package/examples/onprem-advanced-web-service.manic +175 -0
- package/examples/orthocenter.manic +63 -0
- package/examples/param3.manic +43 -0
- package/examples/parameter-journeys.manic +154 -0
- package/examples/parameterized-field-advection.manic +57 -0
- package/examples/parameterized-generated-families3.manic +83 -0
- package/examples/particles-flow.manic +61 -0
- package/examples/pascal-triangle.manic +92 -0
- package/examples/pendulum-annotated.manic +72 -0
- package/examples/pendulum-damped.manic +35 -0
- package/examples/pendulum.manic +38 -0
- package/examples/perfect-reel.manic +43 -0
- package/examples/pie.manic +41 -0
- package/examples/pieday.manic +113 -0
- package/examples/piston.manic +7 -0
- package/examples/popkorn-field.manic +38 -0
- package/examples/prism-cinematic.manic +36 -0
- package/examples/prism.manic +32 -0
- package/examples/probability.manic +57 -0
- package/examples/process-branching-dispatch.manic +71 -0
- package/examples/process-stream-observe.manic +54 -0
- package/examples/projection.manic +57 -0
- package/examples/prompt-test-10.manic +257 -0
- package/examples/prompt-test-11.manic +168 -0
- package/examples/prompt-test-12.manic +177 -0
- package/examples/prompt-test-13.manic +228 -0
- package/examples/prompt-test-14.manic +319 -0
- package/examples/prompt-test-15.manic +325 -0
- package/examples/prompt-test-16.manic +252 -0
- package/examples/prompt-test-2.manic +239 -0
- package/examples/prompt-test-3.manic +336 -0
- package/examples/prompt-test-4.manic +195 -0
- package/examples/prompt-test-5.manic +223 -0
- package/examples/prompt-test-6.manic +222 -0
- package/examples/prompt-test-7.manic +156 -0
- package/examples/prompt-test-8.manic +266 -0
- package/examples/prompt-test-9.manic +171 -0
- package/examples/prompt-test.manic +158 -0
- package/examples/pulley-annotated.manic +54 -0
- package/examples/pulley-paper.manic +52 -0
- package/examples/pulley-scale.manic +23 -0
- package/examples/pulley.manic +24 -0
- package/examples/quadratic-formula-continuity.manic +110 -0
- package/examples/quiz-euler.manic +52 -0
- package/examples/quiz-geometry-2.manic +107 -0
- package/examples/quiz-geometry.manic +108 -0
- package/examples/quiz-skins.manic +22 -0
- package/examples/raft-cm.manic +24 -0
- package/examples/ramp.manic +25 -0
- package/examples/ray-fan.manic +27 -0
- package/examples/raymarch-alpha.manic +39 -0
- package/examples/raymarch-boxgrid.manic +47 -0
- package/examples/raymarch-docker-latency.manic +74 -0
- package/examples/raymarch-metaballs.manic +37 -0
- package/examples/raymarch-sculpture.manic +39 -0
- package/examples/raymarch-shapes3.manic +31 -0
- package/examples/reactive-integral.manic +172 -0
- package/examples/reactive-math-journey.manic +185 -0
- package/examples/reactive-math-notation.manic +150 -0
- package/examples/reactive-multiformat.manic +130 -0
- package/examples/reactive-world.manic +111 -0
- package/examples/refraction-paper.manic +40 -0
- package/examples/refraction.manic +32 -0
- package/examples/resonance.manic +10 -0
- package/examples/rewrite-exponential-cubic.manic +141 -0
- package/examples/rewrite-integration.manic +199 -0
- package/examples/riemann_rainbow.manic +61 -0
- package/examples/riemann_readout.manic +61 -0
- package/examples/robot-arm.manic +25 -0
- package/examples/rref.manic +48 -0
- package/examples/second-law-thermodynamics.manic +385 -0
- package/examples/series-parallel-springs.manic +8 -0
- package/examples/serverless-processing.manic +145 -0
- package/examples/shader-cellular.manic +35 -0
- package/examples/shader-fractal.manic +45 -0
- package/examples/shader-fx.manic +34 -0
- package/examples/shader-glitch-grid.manic +55 -0
- package/examples/shader-parameter.manic +25 -0
- package/examples/shader-patterns.manic +37 -0
- package/examples/shader-plasma.manic +43 -0
- package/examples/shader-shapes-dsl.manic +46 -0
- package/examples/shader-shapes.manic +37 -0
- package/examples/shader-warp.manic +22 -0
- package/examples/shapes-howto.manic +411 -0
- package/examples/sine_wave.manic +42 -0
- package/examples/skew.manic +40 -0
- package/examples/smoke.rs +57 -0
- package/examples/solids3.manic +22 -0
- package/examples/some-story.manic +299 -0
- package/examples/spinning-cylinder-flow.manic +87 -0
- package/examples/spline.manic +21 -0
- package/examples/spot-diagram.manic +32 -0
- package/examples/spring-annotated.manic +60 -0
- package/examples/spring-chain.manic +11 -0
- package/examples/spring-damped.manic +33 -0
- package/examples/spring-incline.manic +10 -0
- package/examples/spring-paper.manic +46 -0
- package/examples/spring-pendulum.manic +14 -0
- package/examples/spring.manic +33 -0
- package/examples/sqrt-tanx.manic +217 -0
- package/examples/ssl-handshake-sdf.manic +116 -0
- package/examples/stack_queue.manic +53 -0
- package/examples/statistics.manic +60 -0
- package/examples/story-addressable-asset-cues.manic +71 -0
- package/examples/story-dependent-chain-history.manic +56 -0
- package/examples/story-living-dependency-cloud.manic +50 -0
- package/examples/story-time-varying-field3.manic +57 -0
- package/examples/story.manic +4 -0
- package/examples/string-art-breath.manic +70 -0
- package/examples/string-wave.manic +10 -0
- package/examples/summary.manic +48 -0
- package/examples/svg-howto.manic +172 -0
- package/examples/svg-import.manic +18 -0
- package/examples/systems-architecture-poc.manic +92 -0
- package/examples/systems-arrow-patterns.manic +151 -0
- package/examples/systems-foundation.manic +71 -0
- package/examples/systems-rabbitmq-consumers.manic +118 -0
- package/examples/table.manic +39 -0
- package/examples/table_braces.manic +54 -0
- package/examples/tangent-length-short.manic +57 -0
- package/examples/tangent.manic +29 -0
- package/examples/tangents.manic +54 -0
- package/examples/taylor.manic +44 -0
- package/examples/terminal_boot.manic +40 -0
- package/examples/test.manic +61 -0
- package/examples/text-guide.manic +304 -0
- package/examples/textbook-coordinate-worlds.manic +129 -0
- package/examples/textbook-doubly-list.manic +33 -0
- package/examples/textbook-function-to-solid.manic +126 -0
- package/examples/textbook-geometry-dimension-reduction.manic +129 -0
- package/examples/textbook-incline-fbd.manic +43 -0
- package/examples/textbook-length-area-volume.manic +137 -0
- package/examples/textbook-matrix-inverses.manic +172 -0
- package/examples/textbook-pulley.manic +35 -0
- package/examples/textbook-statistical-dimensions.manic +151 -0
- package/examples/textbook-tension.manic +39 -0
- package/examples/textbook-watermelon-sections.manic +216 -0
- package/examples/thales-semicircle-short.manic +53 -0
- package/examples/three-d-v2-lab.manic +83 -0
- package/examples/three-d-v2-story.manic +106 -0
- package/examples/three-d-v2.manic +69 -0
- package/examples/three_d.manic +39 -0
- package/examples/timing-v2-scene.manic +47 -0
- package/examples/trajectory.manic +28 -0
- package/examples/transform_copy.manic +35 -0
- package/examples/transforms.manic +54 -0
- package/examples/trapped-light-dimensions.manic +226 -0
- package/examples/tree-of-leaves.manic +215 -0
- package/examples/triangle.manic +68 -0
- package/examples/two_person_walk.manic +296 -0
- package/examples/two_pointer.manic +32 -0
- package/examples/type-to-sdf.manic +139 -0
- package/examples/typewriter.manic +28 -0
- package/examples/vector_field.manic +32 -0
- package/examples/vertical-spring.manic +10 -0
- package/examples/volume3.manic +21 -0
- package/examples/volumes-solid-of-revolution.manic +111 -0
- package/examples/walk.manic +154 -0
- package/examples/wheel-duo.manic +91 -0
- package/examples/wheel-radial.manic +78 -0
- package/examples/wheel-square.manic +83 -0
- package/examples/wireframe-spheres.manic +37 -0
- package/examples/zeroth-law-thermodynamics.manic +269 -0
- package/package.json +59 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// manic-ml-logits-sampling.manic — ML7 acceptance story
|
|
2
|
+
// The same LM projection is viewed at two temperatures, then top-p sampling
|
|
3
|
+
// filters, renormalizes, and makes one reproducible next-token choice.
|
|
4
|
+
|
|
5
|
+
title("Manic ML — How a Transformer Chooses the Next Token");
|
|
6
|
+
canvas("16:9");
|
|
7
|
+
template("mono");
|
|
8
|
+
|
|
9
|
+
creator(me, "@anish2good name=Manic_ML tagline=Models_made_visible yt=zarigatongy x=@anish2good web=8gwifi.org/manic accent=cyan secondary=magenta footer=compact cta=Follow_the_computation safe=clean");
|
|
10
|
+
socials(me);
|
|
11
|
+
|
|
12
|
+
let u = (w+h-abs(w-h))/1440;
|
|
13
|
+
|
|
14
|
+
if h > 1.45*w {
|
|
15
|
+
watermark(manicMark, (w*0.15, h*0.06), "Made With Manic");
|
|
16
|
+
text(kicker, (cx, h*0.07), "MANIC ML · LOGITS → PROBABILITIES → TOKEN");
|
|
17
|
+
text(headline, (cx, h*0.115), "How does a transformer choose its next word?");
|
|
18
|
+
text(caption, (cx, h*0.83), "One hidden vector. One full distribution. One reproducible choice.");
|
|
19
|
+
|
|
20
|
+
tokenize(words, (cx, h*0.17), "the model learned to", word, w*0.78);
|
|
21
|
+
embedding(context, words, (cx, h*0.42), "seeded 6 37", sinusoidal, w*0.88, h*0.34);
|
|
22
|
+
transformer(block, context, (cx, h*0.47), "heads=2 mask=causal mlp=12 activation=gelu norm=pre dropout=0 mode=inference seed=41", w*0.90, h*0.50);
|
|
23
|
+
logits(cool, block, 4, (cx, h*0.51), "reason | predict | learn | adapt | explain | .", 0.55, w*0.86, h*0.54, 73);
|
|
24
|
+
logits(warm, block, 4, (cx, h*0.51), "reason | predict | learn | adapt | explain | .", 1.45, w*0.86, h*0.54, 73);
|
|
25
|
+
}
|
|
26
|
+
else if w > 1.25*h {
|
|
27
|
+
watermark(manicMark, (w*0.17, h*0.09), "Made With Manic");
|
|
28
|
+
text(kicker, (cx, h*0.065), "MANIC ML · LOGITS → PROBABILITIES → TOKEN");
|
|
29
|
+
text(headline, (cx, h*0.13), "How does a transformer choose its next word?");
|
|
30
|
+
text(caption, (cx, h*0.82), "One hidden vector. One full distribution. One reproducible choice.");
|
|
31
|
+
|
|
32
|
+
tokenize(words, (cx, h*0.21), "the model learned to", word, w*0.64);
|
|
33
|
+
embedding(context, words, (cx, h*0.50), "seeded 6 37", sinusoidal, w*0.88, h*0.42);
|
|
34
|
+
transformer(block, context, (cx, h*0.50), "heads=2 mask=causal mlp=12 activation=gelu norm=pre dropout=0 mode=inference seed=41", w*0.90, h*0.58);
|
|
35
|
+
logits(cool, block, 4, (cx, h*0.51), "reason | predict | learn | adapt | explain | .", 0.55, w*0.78, h*0.54, 73);
|
|
36
|
+
logits(warm, block, 4, (cx, h*0.51), "reason | predict | learn | adapt | explain | .", 1.45, w*0.78, h*0.54, 73);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
watermark(manicMark, (w*0.18, h*0.08), "Made With Manic");
|
|
40
|
+
text(kicker, (cx, h*0.065), "MANIC ML · LOGITS → PROBABILITIES → TOKEN");
|
|
41
|
+
text(headline, (cx, h*0.155), "How does a transformer choose its next word?");
|
|
42
|
+
text(caption, (cx, h*0.82), "One hidden vector. One full distribution. One reproducible choice.");
|
|
43
|
+
|
|
44
|
+
tokenize(words, (cx, h*0.21), "the model learned to", word, w*0.70);
|
|
45
|
+
embedding(context, words, (cx, h*0.50), "seeded 6 37", sinusoidal, w*0.88, h*0.40);
|
|
46
|
+
transformer(block, context, (cx, h*0.50), "heads=2 mask=causal mlp=12 activation=gelu norm=pre dropout=0 mode=inference seed=41", w*0.90, h*0.55);
|
|
47
|
+
logits(cool, block, 4, (cx, h*0.51), "reason | predict | learn | adapt | explain | .", 0.55, w*0.82, h*0.54, 73);
|
|
48
|
+
logits(warm, block, 4, (cx, h*0.51), "reason | predict | learn | adapt | explain | .", 1.45, w*0.82, h*0.54, 73);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
size(kicker, 17*u); color(kicker, dim); bold(kicker); hidden(kicker);
|
|
52
|
+
size(headline, 29*u); bold(headline); wrap(headline, w*0.88); hidden(headline);
|
|
53
|
+
size(caption, 18*u); color(caption, dim); wrap(caption, w*0.86); hidden(caption);
|
|
54
|
+
hidden(words);
|
|
55
|
+
hidden(context);
|
|
56
|
+
hidden(block);
|
|
57
|
+
hidden(cool);
|
|
58
|
+
hidden(warm);
|
|
59
|
+
|
|
60
|
+
step("prompt") {
|
|
61
|
+
par {
|
|
62
|
+
show(kicker, 0.28);
|
|
63
|
+
show(headline, 0.42);
|
|
64
|
+
show(words.labels, 0.28);
|
|
65
|
+
show(words.source, 0.34);
|
|
66
|
+
show(words.tokens, 0.62);
|
|
67
|
+
show(words.indices, 0.62);
|
|
68
|
+
show(caption, 0.28);
|
|
69
|
+
say(caption, "The prompt becomes an ordered token lane.", 0.34);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
wait(0.45);
|
|
73
|
+
|
|
74
|
+
step("hidden-state") {
|
|
75
|
+
seq {
|
|
76
|
+
fade(words, 0.28);
|
|
77
|
+
par {
|
|
78
|
+
show(block.output, 0.70);
|
|
79
|
+
show(block.labels, 0.26);
|
|
80
|
+
say(caption, "The transformer MLP ends at a hidden representation—not probabilities.", 0.40);
|
|
81
|
+
}
|
|
82
|
+
pulse(block.output, 0.72);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
wait(0.45);
|
|
86
|
+
|
|
87
|
+
step("cool-temperature") {
|
|
88
|
+
seq {
|
|
89
|
+
fade(block, 0.30);
|
|
90
|
+
sample(cool, "greedy", 3.4, smooth);
|
|
91
|
+
say(caption, "Low temperature sharpens every candidate. Greedy keeps only the maximum.", 0.42);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
wait(0.65);
|
|
95
|
+
|
|
96
|
+
step("warm-temperature") {
|
|
97
|
+
seq {
|
|
98
|
+
fade(cool, 0.30);
|
|
99
|
+
sample(warm, "top-p 0.90 seed=17", 3.8, smooth);
|
|
100
|
+
say(caption, "Higher temperature spreads the full softmax. Top-p keeps the smallest 90% nucleus, renormalizes it, then samples.", 0.46);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
wait(0.75);
|
|
104
|
+
|
|
105
|
+
step("takeaway") {
|
|
106
|
+
par {
|
|
107
|
+
pulse(warm.temperature, 0.70);
|
|
108
|
+
pulse(warm.probabilities, 0.70);
|
|
109
|
+
say(caption, "Temperature reshapes probability. Sampling turns that distribution into one reproducible next token.", 0.44);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
wait(1.30);
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// manic-ml-scalar-to-tensor.manic — ML foundation story
|
|
2
|
+
// One value gains an axis, then rows, then stacked channels. The ML-specific
|
|
3
|
+
// surface is only tensor(...); ordinary Manic verbs own the explanation.
|
|
4
|
+
|
|
5
|
+
title("Manic ML — From Scalar to Tensor");
|
|
6
|
+
canvas("16:9");
|
|
7
|
+
template("mono");
|
|
8
|
+
|
|
9
|
+
creator(me, "@anish2good name=Manic_ML tagline=Models_made_visible yt=zarigatongy x=@anish2good web=8gwifi.org/manic accent=cyan secondary=magenta footer=compact cta=Build_the_dimensions safe=clean");
|
|
10
|
+
socials(me);
|
|
11
|
+
|
|
12
|
+
let u = (w+h-abs(w-h))/1440;
|
|
13
|
+
let cell = 38*u;
|
|
14
|
+
|
|
15
|
+
if h > 1.45*w {
|
|
16
|
+
watermark(manicMark, (w*0.15, h*0.06), "Made With Manic");
|
|
17
|
+
text(kicker, (cx, h*0.065), "MANIC ML · DATA FOUNDATIONS");
|
|
18
|
+
text(headline, (cx, h*0.105), "One value gains dimensions");
|
|
19
|
+
text(caption, (cx, h*0.84), "Begin with one measured value.");
|
|
20
|
+
|
|
21
|
+
tensor(scalar, (cx, h*0.20), "7", cell, gold);
|
|
22
|
+
tensor(vector, (cx, h*0.35), "7 2 -1 4", cell, cyan);
|
|
23
|
+
tensor(matrix, (cx, h*0.53), "7 2 -1; 4 0 3; 1 5 6", cell, magenta);
|
|
24
|
+
tensor(volume, (cx, h*0.72), "7 2 -1; 4 0 3; 1 5 6 | 2 4 8; 1 3 9; 0 5 6", cell, lime);
|
|
25
|
+
|
|
26
|
+
text(scalarTitle, (cx, h*0.155), "SCALAR · RANK 0");
|
|
27
|
+
text(vectorTitle, (cx, h*0.295), "VECTOR · RANK 1");
|
|
28
|
+
text(matrixTitle, (cx, h*0.445), "MATRIX · RANK 2");
|
|
29
|
+
text(volumeTitle, (cx, h*0.625), "TENSOR · RANK 3");
|
|
30
|
+
|
|
31
|
+
arrow(grow1, (cx, h*0.245), (cx, h*0.285));
|
|
32
|
+
arrow(grow2, (cx, h*0.395), (cx, h*0.435));
|
|
33
|
+
arrow(grow3, (cx, h*0.585), (cx, h*0.615));
|
|
34
|
+
}
|
|
35
|
+
else if w > 1.25*h {
|
|
36
|
+
watermark(manicMark, (w*0.17, h*0.09), "Made With Manic");
|
|
37
|
+
text(kicker, (cx, h*0.075), "MANIC ML · DATA FOUNDATIONS");
|
|
38
|
+
text(headline, (cx, h*0.14), "One value gains dimensions");
|
|
39
|
+
text(caption, (cx, h*0.82), "Begin with one measured value.");
|
|
40
|
+
|
|
41
|
+
tensor(scalar, (w*0.11, h*0.46), "7", cell, gold);
|
|
42
|
+
tensor(vector, (w*0.34, h*0.46), "7 2 -1 4", cell, cyan);
|
|
43
|
+
tensor(matrix, (w*0.61, h*0.46), "7 2 -1; 4 0 3; 1 5 6", cell, magenta);
|
|
44
|
+
tensor(volume, (w*0.86, h*0.46), "7 2 -1; 4 0 3; 1 5 6 | 2 4 8; 1 3 9; 0 5 6", cell, lime);
|
|
45
|
+
|
|
46
|
+
text(scalarTitle, (w*0.11, h*0.34), "SCALAR · RANK 0");
|
|
47
|
+
text(vectorTitle, (w*0.34, h*0.34), "VECTOR · RANK 1");
|
|
48
|
+
text(matrixTitle, (w*0.61, h*0.34), "MATRIX · RANK 2");
|
|
49
|
+
text(volumeTitle, (w*0.86, h*0.34), "TENSOR · RANK 3");
|
|
50
|
+
|
|
51
|
+
arrow(grow1, (w*0.17, h*0.46), (w*0.23, h*0.46));
|
|
52
|
+
arrow(grow2, (w*0.44, h*0.46), (w*0.51, h*0.46));
|
|
53
|
+
arrow(grow3, (w*0.70, h*0.46), (w*0.76, h*0.46));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
watermark(manicMark, (w*0.18, h*0.08), "Made With Manic");
|
|
57
|
+
text(kicker, (cx, h*0.06), "MANIC ML · DATA FOUNDATIONS");
|
|
58
|
+
text(headline, (cx, h*0.17), "One value gains dimensions");
|
|
59
|
+
text(caption, (cx, h*0.84), "Begin with one measured value.");
|
|
60
|
+
|
|
61
|
+
tensor(scalar, (w*0.24, h*0.34), "7", cell, gold);
|
|
62
|
+
tensor(vector, (w*0.73, h*0.34), "7 2 -1 4", cell, cyan);
|
|
63
|
+
tensor(matrix, (w*0.24, h*0.65), "7 2 -1; 4 0 3; 1 5 6", cell, magenta);
|
|
64
|
+
tensor(volume, (w*0.73, h*0.65), "7 2 -1; 4 0 3; 1 5 6 | 2 4 8; 1 3 9; 0 5 6", cell, lime);
|
|
65
|
+
|
|
66
|
+
text(scalarTitle, (w*0.24, h*0.235), "SCALAR · RANK 0");
|
|
67
|
+
text(vectorTitle, (w*0.73, h*0.235), "VECTOR · RANK 1");
|
|
68
|
+
text(matrixTitle, (w*0.24, h*0.505), "MATRIX · RANK 2");
|
|
69
|
+
text(volumeTitle, (w*0.73, h*0.505), "TENSOR · RANK 3");
|
|
70
|
+
|
|
71
|
+
arrow(grow1, (w*0.34, h*0.34), (w*0.50, h*0.34));
|
|
72
|
+
arrow(grow2, (w*0.73, h*0.40), (w*0.36, h*0.56));
|
|
73
|
+
arrow(grow3, (w*0.35, h*0.65), (w*0.50, h*0.65));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
size(kicker, 19*u); color(kicker, dim); bold(kicker); hidden(kicker);
|
|
77
|
+
size(headline, 34*u); bold(headline); wrap(headline, w*0.82); hidden(headline);
|
|
78
|
+
size(caption, 21*u); color(caption, dim); wrap(caption, w*0.78); hidden(caption);
|
|
79
|
+
|
|
80
|
+
size(scalarTitle, 17*u); bold(scalarTitle); color(scalarTitle, dim); hidden(scalarTitle);
|
|
81
|
+
size(vectorTitle, 17*u); bold(vectorTitle); color(vectorTitle, dim); hidden(vectorTitle);
|
|
82
|
+
size(matrixTitle, 17*u); bold(matrixTitle); color(matrixTitle, dim); hidden(matrixTitle);
|
|
83
|
+
size(volumeTitle, 17*u); bold(volumeTitle); color(volumeTitle, dim); hidden(volumeTitle);
|
|
84
|
+
|
|
85
|
+
color(grow1, dim); stroke(grow1, 2.5*u); hidden(grow1);
|
|
86
|
+
color(grow2, dim); stroke(grow2, 2.5*u); hidden(grow2);
|
|
87
|
+
color(grow3, dim); stroke(grow3, 2.5*u); hidden(grow3);
|
|
88
|
+
|
|
89
|
+
hidden(scalar.cells); hidden(scalar.values); hidden(scalar.labels);
|
|
90
|
+
hidden(vector.cells); hidden(vector.values); hidden(vector.labels);
|
|
91
|
+
hidden(matrix.cells); hidden(matrix.values); hidden(matrix.labels);
|
|
92
|
+
hidden(volume.cells); hidden(volume.values); hidden(volume.labels);
|
|
93
|
+
|
|
94
|
+
step("scalar") {
|
|
95
|
+
show(kicker, 0.35);
|
|
96
|
+
show(headline, 0.45);
|
|
97
|
+
show(caption, 0.40);
|
|
98
|
+
show(scalarTitle, 0.30);
|
|
99
|
+
par {
|
|
100
|
+
show(scalar.cells, 0.55);
|
|
101
|
+
show(scalar.values, 0.55);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
wait(0.55);
|
|
105
|
+
|
|
106
|
+
step("vector") {
|
|
107
|
+
par {
|
|
108
|
+
show(grow1, 0.35);
|
|
109
|
+
show(vectorTitle, 0.30);
|
|
110
|
+
show(vector.cells, 0.60);
|
|
111
|
+
show(vector.values, 0.60);
|
|
112
|
+
say(caption, "Repeat the value along one ordered axis: position now matters.", 0.40);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
wait(0.60);
|
|
116
|
+
|
|
117
|
+
step("matrix") {
|
|
118
|
+
par {
|
|
119
|
+
show(grow2, 0.35);
|
|
120
|
+
show(matrixTitle, 0.30);
|
|
121
|
+
show(matrix.cells, 0.65);
|
|
122
|
+
show(matrix.values, 0.65);
|
|
123
|
+
say(caption, "Add rows to the columns: one axis becomes a two-dimensional matrix.", 0.40);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
wait(0.65);
|
|
127
|
+
|
|
128
|
+
step("tensor") {
|
|
129
|
+
par {
|
|
130
|
+
show(grow3, 0.35);
|
|
131
|
+
show(volumeTitle, 0.30);
|
|
132
|
+
show(volume.cells, 0.70);
|
|
133
|
+
show(volume.values, 0.70);
|
|
134
|
+
say(caption, "Stack matrices as channels: the same values now carry depth and context.", 0.40);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
wait(0.75);
|
|
138
|
+
|
|
139
|
+
step("one-family") {
|
|
140
|
+
pulse(volume.channel1, 0.75);
|
|
141
|
+
say(caption, "Scalar, vector, and matrix are all tensors—distinguished by their axes.", 0.45);
|
|
142
|
+
}
|
|
143
|
+
wait(1.50);
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
// manic-ml-token-embedding.manic — ML5 acceptance story
|
|
2
|
+
// A repeated word keeps one seeded educational token embedding, while exact
|
|
3
|
+
// sinusoidal position makes each occurrence a different model input.
|
|
4
|
+
|
|
5
|
+
title("Manic ML — From Words to Positioned Embeddings");
|
|
6
|
+
canvas("16:9");
|
|
7
|
+
template("mono");
|
|
8
|
+
|
|
9
|
+
creator(me, "@anish2good name=Manic_ML tagline=Models_made_visible yt=zarigatongy x=@anish2good web=8gwifi.org/manic accent=cyan secondary=magenta footer=compact cta=Follow_the_representation safe=clean");
|
|
10
|
+
socials(me);
|
|
11
|
+
|
|
12
|
+
let u = (w+h-abs(w-h))/1440;
|
|
13
|
+
|
|
14
|
+
if h > 1.45*w {
|
|
15
|
+
watermark(manicMark, (w*0.16, h*0.055), "Made With Manic");
|
|
16
|
+
text(kicker, (cx, h*0.055), "MANIC ML · EMBEDDINGS");
|
|
17
|
+
text(headline, (cx, h*0.095), "A word needs meaning—and a place");
|
|
18
|
+
text(caption, (cx, h*0.84), "Start with text. Keep every boundary and every number inspectable.");
|
|
19
|
+
|
|
20
|
+
tokenize(words, (cx, h*0.19), "the cat chased the cat", word, w*0.80);
|
|
21
|
+
embedding(context, words, (cx, h*0.50), "seeded 6 37", sinusoidal, w*0.90, h*0.48);
|
|
22
|
+
}
|
|
23
|
+
else if w > 1.25*h {
|
|
24
|
+
watermark(manicMark, (w*0.16, h*0.08), "Made With Manic");
|
|
25
|
+
text(kicker, (cx, h*0.07), "MANIC ML · EMBEDDINGS");
|
|
26
|
+
text(headline, (cx, h*0.125), "A word needs meaning—and a place");
|
|
27
|
+
text(caption, (cx, h*0.84), "Start with text. Keep every boundary and every number inspectable.");
|
|
28
|
+
|
|
29
|
+
tokenize(words, (cx, h*0.23), "the cat chased the cat", word, w*0.68);
|
|
30
|
+
embedding(context, words, (cx, h*0.54), "seeded 6 37", sinusoidal, w*0.90, h*0.48);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
watermark(manicMark, (w*0.18, h*0.08), "Made With Manic");
|
|
34
|
+
text(kicker, (cx, h*0.06), "MANIC ML · EMBEDDINGS");
|
|
35
|
+
text(headline, (cx, h*0.17), "A word needs meaning—and a place");
|
|
36
|
+
text(caption, (cx, h*0.83), "Start with text. Keep every boundary and every number inspectable.");
|
|
37
|
+
|
|
38
|
+
tokenize(words, (cx, h*0.30), "the cat chased the cat", word, w*0.76);
|
|
39
|
+
embedding(context, words, (cx, h*0.60), "seeded 6 37", sinusoidal, w*0.90, h*0.38);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
size(kicker, 18*u); color(kicker, dim); bold(kicker); hidden(kicker);
|
|
43
|
+
size(headline, 32*u); bold(headline); wrap(headline, w*0.84); hidden(headline);
|
|
44
|
+
size(caption, 20*u); color(caption, dim); wrap(caption, w*0.82); hidden(caption);
|
|
45
|
+
hidden(words);
|
|
46
|
+
hidden(context);
|
|
47
|
+
|
|
48
|
+
step("sentence") {
|
|
49
|
+
show(kicker, 0.30);
|
|
50
|
+
show(headline, 0.42);
|
|
51
|
+
show(words.labels, 0.35);
|
|
52
|
+
show(words.source, 0.40);
|
|
53
|
+
show(caption, 0.35);
|
|
54
|
+
}
|
|
55
|
+
wait(0.55);
|
|
56
|
+
|
|
57
|
+
step("tokens") {
|
|
58
|
+
par {
|
|
59
|
+
show(words.tokens, 0.75);
|
|
60
|
+
show(words.indices, 0.75);
|
|
61
|
+
say(caption, "Word tokenization turns the sentence into five ordered identities.", 0.38);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
wait(0.60);
|
|
65
|
+
|
|
66
|
+
step("lookup") {
|
|
67
|
+
fade(words, 0.35);
|
|
68
|
+
par {
|
|
69
|
+
show(context.labels, 0.40);
|
|
70
|
+
show(context.tokens, 0.55);
|
|
71
|
+
show(context.vectors, 0.95);
|
|
72
|
+
say(caption, "A seeded educational lookup gives each token identity one six-number vector.", 0.40);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
wait(0.60);
|
|
76
|
+
|
|
77
|
+
step("same-word") {
|
|
78
|
+
par {
|
|
79
|
+
pulse(context.row1, 0.70);
|
|
80
|
+
pulse(context.row4, 0.70);
|
|
81
|
+
say(caption, "Both copies of cat reuse the same base embedding. The lookup depends on the token—not its location.", 0.42);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
wait(0.65);
|
|
85
|
+
|
|
86
|
+
step("position") {
|
|
87
|
+
par {
|
|
88
|
+
show(context.positions, 1.00);
|
|
89
|
+
show(context.operators, 0.45);
|
|
90
|
+
say(caption, "Sinusoidal position adds a deterministic coordinate for places 0 through 4.", 0.42);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
wait(0.65);
|
|
94
|
+
|
|
95
|
+
step("model-input") {
|
|
96
|
+
par {
|
|
97
|
+
show(context.combined, 1.00);
|
|
98
|
+
say(caption, "Token vector plus position becomes the model input. The repeated word now carries two different locations.", 0.42);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
wait(0.70);
|
|
102
|
+
|
|
103
|
+
step("takeaway") {
|
|
104
|
+
par {
|
|
105
|
+
pulse(context.row1, 0.72);
|
|
106
|
+
pulse(context.row4, 0.72);
|
|
107
|
+
say(caption, "Meaning says what the token is. Position says where this occurrence belongs.", 0.42);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
wait(1.40);
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// manic-ml-transformer-attention.manic — ML4 acceptance story
|
|
2
|
+
// Explicit token embeddings become Q/K/V, one query row becomes normalized
|
|
3
|
+
// attention weights, values mix, a residual is added, and a real output
|
|
4
|
+
// projection produces top-k probabilities.
|
|
5
|
+
|
|
6
|
+
title("Manic ML — One Transformer Attention Head");
|
|
7
|
+
canvas("16:9");
|
|
8
|
+
template("mono");
|
|
9
|
+
|
|
10
|
+
creator(me, "@anish2good name=Manic_ML tagline=Models_made_visible yt=zarigatongy x=@anish2good web=8gwifi.org/manic accent=cyan secondary=magenta footer=compact cta=Follow_the_attention safe=clean");
|
|
11
|
+
socials(me);
|
|
12
|
+
|
|
13
|
+
let u = (w+h-abs(w-h))/1440;
|
|
14
|
+
|
|
15
|
+
if h > 1.45*w {
|
|
16
|
+
watermark(manicMark, (w*0.15, h*0.06), "Made With Manic");
|
|
17
|
+
text(kicker, (cx, h*0.065), "MANIC ML · SELF-ATTENTION");
|
|
18
|
+
text(headline, (cx, h*0.105), "One token finds context");
|
|
19
|
+
text(caption, (cx, h*0.84), "Start with explicit token embeddings—not decorative wires.");
|
|
20
|
+
|
|
21
|
+
attention(head, (cx, h*0.38), "Art | ificial | intelligence | transforms | business",
|
|
22
|
+
"1 0.2 -0.4 0.7; 0.8 0.1 -0.3 0.6; -0.2 1 0.5 0.3; 0.1 0.6 0.9 -0.2; 0.7 -0.1 0.4 1",
|
|
23
|
+
w*0.82, h*0.40, 23);
|
|
24
|
+
topk(next, head, 3, (cx, h*0.71), "business | work | world | industry | future | people", 4, w*0.72, h*0.18, 29);
|
|
25
|
+
}
|
|
26
|
+
else if w > 1.25*h {
|
|
27
|
+
watermark(manicMark, (w*0.17, h*0.09), "Made With Manic");
|
|
28
|
+
text(kicker, (cx, h*0.075), "MANIC ML · SELF-ATTENTION");
|
|
29
|
+
text(headline, (cx, h*0.14), "One token finds context");
|
|
30
|
+
text(caption, (cx, h*0.83), "Start with explicit token embeddings—not decorative wires.");
|
|
31
|
+
|
|
32
|
+
attention(head, (w*0.40, h*0.48), "Art | ificial | intelligence | transforms | business",
|
|
33
|
+
"1 0.2 -0.4 0.7; 0.8 0.1 -0.3 0.6; -0.2 1 0.5 0.3; 0.1 0.6 0.9 -0.2; 0.7 -0.1 0.4 1",
|
|
34
|
+
w*0.68, h*0.58, 23);
|
|
35
|
+
topk(next, head, 3, (w*0.84, h*0.52), "business | work | world | industry | future | people", 4, w*0.26, h*0.34, 29);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
watermark(manicMark, (w*0.18, h*0.08), "Made With Manic");
|
|
39
|
+
text(kicker, (cx, h*0.06), "MANIC ML · SELF-ATTENTION");
|
|
40
|
+
text(headline, (cx, h*0.13), "One token finds context");
|
|
41
|
+
text(caption, (cx, h*0.84), "Start with explicit token embeddings—not decorative wires.");
|
|
42
|
+
|
|
43
|
+
attention(head, (cx, h*0.39), "Art | ificial | intelligence | transforms | business",
|
|
44
|
+
"1 0.2 -0.4 0.7; 0.8 0.1 -0.3 0.6; -0.2 1 0.5 0.3; 0.1 0.6 0.9 -0.2; 0.7 -0.1 0.4 1",
|
|
45
|
+
w*0.84, h*0.42, 23);
|
|
46
|
+
topk(next, head, 3, (cx, h*0.72), "business | work | world | industry | future | people", 4, w*0.72, h*0.18, 29);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
size(kicker, 19*u); color(kicker, dim); bold(kicker); hidden(kicker);
|
|
50
|
+
size(headline, 34*u); bold(headline); wrap(headline, w*0.82); hidden(headline);
|
|
51
|
+
size(caption, 21*u); color(caption, dim); wrap(caption, w*0.78); hidden(caption);
|
|
52
|
+
hidden(head); hidden(next);
|
|
53
|
+
|
|
54
|
+
step("tokens") {
|
|
55
|
+
show(kicker, 0.35);
|
|
56
|
+
show(headline, 0.45);
|
|
57
|
+
show(caption, 0.40);
|
|
58
|
+
show(head.labels, 0.40);
|
|
59
|
+
show(head.tokens, 0.60);
|
|
60
|
+
}
|
|
61
|
+
wait(0.55);
|
|
62
|
+
|
|
63
|
+
step("projections") {
|
|
64
|
+
par {
|
|
65
|
+
show(head.q, 0.55);
|
|
66
|
+
show(head.k, 0.55);
|
|
67
|
+
show(head.v, 0.55);
|
|
68
|
+
say(caption, "Each embedding is projected into a Query, Key, and Value vector.", 0.40);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
wait(0.60);
|
|
72
|
+
|
|
73
|
+
step("scores") {
|
|
74
|
+
show(head.matrix, 0.70);
|
|
75
|
+
say(caption, "Scaled dot products become one softmax row: every weight is positive and the row sums to 100%.", 0.45);
|
|
76
|
+
}
|
|
77
|
+
wait(0.65);
|
|
78
|
+
|
|
79
|
+
step("attend") {
|
|
80
|
+
par {
|
|
81
|
+
attend(head, 3, 5.20, smooth);
|
|
82
|
+
say(caption, "Focus intelligence: Q asks, K measures relevance, and weighted V carries the context.", 0.45);
|
|
83
|
+
seq {
|
|
84
|
+
par { cam((cx, h*0.46), 0.75, smooth); zoom(1.07, 0.75, smooth); }
|
|
85
|
+
wait(3.45);
|
|
86
|
+
par { cam((cx, cy), 0.85, smooth); zoom(1.0, 0.85, smooth); }
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
wait(0.75);
|
|
91
|
+
|
|
92
|
+
step("prediction") {
|
|
93
|
+
show(next, 0.70);
|
|
94
|
+
say(caption, "The residual plus attention mix enters an output projection and a truthful softmax ranking.", 0.45);
|
|
95
|
+
}
|
|
96
|
+
wait(0.80);
|
|
97
|
+
|
|
98
|
+
step("takeaway") {
|
|
99
|
+
pulse(next.rank0, 0.75);
|
|
100
|
+
say(caption, "Attention is selective information flow—not every connection shouting at once.", 0.45);
|
|
101
|
+
}
|
|
102
|
+
wait(1.50);
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// manic-ml-transformer-block.manic — ML6 acceptance story
|
|
2
|
+
// One persistent token lane passes through multi-head causal attention,
|
|
3
|
+
// concatenation, two residual paths, pre-normalization, and a GELU MLP.
|
|
4
|
+
|
|
5
|
+
title("Manic ML — Inside One Transformer Block");
|
|
6
|
+
canvas("16:9");
|
|
7
|
+
template("mono");
|
|
8
|
+
|
|
9
|
+
creator(me, "@anish2good name=Manic_ML tagline=Models_made_visible yt=zarigatongy x=@anish2good web=8gwifi.org/manic accent=cyan secondary=magenta footer=compact cta=Follow_the_computation safe=clean");
|
|
10
|
+
socials(me);
|
|
11
|
+
|
|
12
|
+
let u = (w+h-abs(w-h))/1440;
|
|
13
|
+
|
|
14
|
+
if h > 1.45*w {
|
|
15
|
+
watermark(manicMark, (w*0.15, h*0.06), "Made With Manic");
|
|
16
|
+
text(kicker, (cx, h*0.065), "MANIC ML · TRANSFORMER BLOCK");
|
|
17
|
+
text(headline, (cx, h*0.105), "Inside one transformer block");
|
|
18
|
+
text(caption, (cx, h*0.84), "Follow one token lane through every computed stage.");
|
|
19
|
+
|
|
20
|
+
tokenize(words, (cx, h*0.15), "the cat slept because it dreamed", word, w*0.82);
|
|
21
|
+
embedding(context, words, (cx, h*0.41), "seeded 6 37", sinusoidal, w*0.90, h*0.38);
|
|
22
|
+
transformer(block, context, (cx, h*0.49), "heads=2 mask=causal mlp=12 activation=gelu norm=pre dropout=0 mode=inference seed=41", w*0.90, h*0.56);
|
|
23
|
+
}
|
|
24
|
+
else if w > 1.25*h {
|
|
25
|
+
watermark(manicMark, (w*0.17, h*0.09), "Made With Manic");
|
|
26
|
+
text(kicker, (cx, h*0.065), "MANIC ML · TRANSFORMER BLOCK");
|
|
27
|
+
text(headline, (cx, h*0.14), "Inside one transformer block");
|
|
28
|
+
text(caption, (cx, h*0.82), "Follow one token lane through every computed stage.");
|
|
29
|
+
|
|
30
|
+
tokenize(words, (cx, h*0.22), "the cat slept because it dreamed", word, w*0.72);
|
|
31
|
+
embedding(context, words, (cx, h*0.54), "seeded 6 37", sinusoidal, w*0.90, h*0.48);
|
|
32
|
+
transformer(block, context, (cx, h*0.52), "heads=2 mask=causal mlp=12 activation=gelu norm=pre dropout=0 mode=inference seed=41", w*0.92, h*0.62);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
watermark(manicMark, (w*0.18, h*0.08), "Made With Manic");
|
|
36
|
+
text(kicker, (cx, h*0.06), "MANIC ML · TRANSFORMER BLOCK");
|
|
37
|
+
text(headline, (cx, h*0.13), "Inside one transformer block");
|
|
38
|
+
text(caption, (cx, h*0.83), "Follow one token lane through every computed stage.");
|
|
39
|
+
|
|
40
|
+
tokenize(words, (cx, h*0.23), "the cat slept because it dreamed", word, w*0.78);
|
|
41
|
+
embedding(context, words, (cx, h*0.52), "seeded 6 37", sinusoidal, w*0.90, h*0.44);
|
|
42
|
+
transformer(block, context, (cx, h*0.52), "heads=2 mask=causal mlp=12 activation=gelu norm=pre dropout=0 mode=inference seed=41", w*0.90, h*0.57);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
size(kicker, 18*u); color(kicker, dim); bold(kicker); hidden(kicker);
|
|
46
|
+
size(headline, 30*u); bold(headline); wrap(headline, w*0.86); hidden(headline);
|
|
47
|
+
size(caption, 19*u); color(caption, dim); wrap(caption, w*0.84); hidden(caption);
|
|
48
|
+
hidden(words);
|
|
49
|
+
hidden(context);
|
|
50
|
+
hidden(block);
|
|
51
|
+
|
|
52
|
+
step("tokens") {
|
|
53
|
+
par {
|
|
54
|
+
show(kicker, 0.28);
|
|
55
|
+
show(headline, 0.42);
|
|
56
|
+
show(words.labels, 0.30);
|
|
57
|
+
show(words.source, 0.36);
|
|
58
|
+
show(words.tokens, 0.70);
|
|
59
|
+
show(words.indices, 0.70);
|
|
60
|
+
show(caption, 0.32);
|
|
61
|
+
say(caption, "Six ordered tokens begin as one persistent lane.", 0.36);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
wait(0.55);
|
|
65
|
+
|
|
66
|
+
step("model-input") {
|
|
67
|
+
seq {
|
|
68
|
+
fade(words, 0.32);
|
|
69
|
+
par {
|
|
70
|
+
show(context.labels, 0.32);
|
|
71
|
+
show(context.tokens, 0.42);
|
|
72
|
+
show(context.vectors, 0.82);
|
|
73
|
+
say(caption, "Each identity receives a stable lookup vector.", 0.36);
|
|
74
|
+
}
|
|
75
|
+
par {
|
|
76
|
+
show(context.positions, 0.72);
|
|
77
|
+
show(context.operators, 0.34);
|
|
78
|
+
show(context.combined, 0.78);
|
|
79
|
+
say(caption, "Position is added exactly. These six vectors are the block input.", 0.38);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
wait(0.60);
|
|
84
|
+
|
|
85
|
+
step("encode") {
|
|
86
|
+
seq {
|
|
87
|
+
par {
|
|
88
|
+
fade(context, 0.34);
|
|
89
|
+
fade(caption, 0.24);
|
|
90
|
+
}
|
|
91
|
+
par {
|
|
92
|
+
encode(block, 6.2, smooth);
|
|
93
|
+
seq {
|
|
94
|
+
par { cam((cx - w*0.25, h*0.52), 0.75, smooth); zoom(1.08, 0.75, smooth); }
|
|
95
|
+
wait(1.35);
|
|
96
|
+
cam((cx + w*0.17, h*0.52), 1.15, smooth);
|
|
97
|
+
wait(1.50);
|
|
98
|
+
par { cam((cx, cy), 0.85, smooth); zoom(1.0, 0.85, smooth); }
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
wait(0.70);
|
|
104
|
+
|
|
105
|
+
step("takeaway") {
|
|
106
|
+
seq {
|
|
107
|
+
show(caption, 0.20);
|
|
108
|
+
par {
|
|
109
|
+
pulse(block.residual1, 0.72);
|
|
110
|
+
pulse(block.residual2, 0.72);
|
|
111
|
+
pulse(block.output, 0.72);
|
|
112
|
+
say(caption, "Attention shares context. The MLP reshapes each token. Residuals keep its identity continuous.", 0.42);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
wait(1.35);
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// manic-promo — a generative promo built from the `cloud` primitive alone.
|
|
2
|
+
// Five particle swarms fly in and assemble into words: MANIC at the centre,
|
|
3
|
+
// with 3B1B, Manim, Animation and Generative claiming the four corners. Each
|
|
4
|
+
// word is `cloud(...) from text("…")` — the glyphs are filled with points whose
|
|
5
|
+
// homes arrive as `hx`/`hy`; the block re-centres and scales that home to its
|
|
6
|
+
// slot, then blends the swarm in from a golden-angle scatter over time `t`.
|
|
7
|
+
// One primitive, five words, no art assets. Change the words and it just works.
|
|
8
|
+
//
|
|
9
|
+
// manic examples/manic-promo.manic
|
|
10
|
+
title("manic — generative animation, from a swarm");
|
|
11
|
+
canvas(1080, 1080);
|
|
12
|
+
template("black");
|
|
13
|
+
|
|
14
|
+
// --- centre: MANIC, big, a cycling rainbow ---------------------------------
|
|
15
|
+
cloud(manic, 2000, #ffffff, 0.96) from text("MANIC") {
|
|
16
|
+
let a = 0.5 * (1 + tanh((t - mod(i * 7, 29) * 0.04 - 1.0) * 2.2));
|
|
17
|
+
let px = (hx - 540) * 0.62 + 540;
|
|
18
|
+
let py = (hy - 540) * 0.62 + 540;
|
|
19
|
+
let sx = 540 + cos(i * 2.39996) * (420 + mod(i * 97, 260));
|
|
20
|
+
let sy = 540 + sin(i * 2.39996) * (420 + mod(i * 97, 260));
|
|
21
|
+
let x = sx * (1 - a) + px * a;
|
|
22
|
+
let y = sy * (1 - a) + py * a;
|
|
23
|
+
let r = 2.4;
|
|
24
|
+
let hue = mod(hx * 0.4 + t * 22, 360);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// --- four corners: the world manic plays in --------------------------------
|
|
28
|
+
cloud(tl, 780, #3b8ee0, 0.95) from text("3B1B") {
|
|
29
|
+
let a = 0.5 * (1 + tanh((t - 2.4) * 2.2));
|
|
30
|
+
let px = (hx - 540) * 0.34 + 250;
|
|
31
|
+
let py = (hy - 540) * 0.34 + 240;
|
|
32
|
+
let x = (250 + cos(i * 2.39996) * 460) * (1 - a) + px * a;
|
|
33
|
+
let y = (240 + sin(i * 2.39996) * 460) * (1 - a) + py * a;
|
|
34
|
+
let r = 2;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
cloud(tr, 820, #46e2c8, 0.95) from text("Manim") {
|
|
38
|
+
let a = 0.5 * (1 + tanh((t - 2.7) * 2.2));
|
|
39
|
+
let px = (hx - 540) * 0.34 + 830;
|
|
40
|
+
let py = (hy - 540) * 0.34 + 240;
|
|
41
|
+
let x = (830 + cos(i * 2.39996) * 460) * (1 - a) + px * a;
|
|
42
|
+
let y = (240 + sin(i * 2.39996) * 460) * (1 - a) + py * a;
|
|
43
|
+
let r = 2;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
cloud(bl, 1000, #f0a54e, 0.95) from text("Animation") {
|
|
47
|
+
let a = 0.5 * (1 + tanh((t - 3.0) * 2.2));
|
|
48
|
+
let px = (hx - 540) * 0.30 + 250;
|
|
49
|
+
let py = (hy - 540) * 0.30 + 840;
|
|
50
|
+
let x = (250 + cos(i * 2.39996) * 460) * (1 - a) + px * a;
|
|
51
|
+
let y = (840 + sin(i * 2.39996) * 460) * (1 - a) + py * a;
|
|
52
|
+
let r = 2;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
cloud(br, 1050, #b06ef0, 0.95) from text("Generative") {
|
|
56
|
+
let a = 0.5 * (1 + tanh((t - 3.3) * 2.2));
|
|
57
|
+
let px = (hx - 540) * 0.30 + 830;
|
|
58
|
+
let py = (hy - 540) * 0.30 + 840;
|
|
59
|
+
let x = (830 + cos(i * 2.39996) * 460) * (1 - a) + px * a;
|
|
60
|
+
let y = (840 + sin(i * 2.39996) * 460) * (1 - a) + py * a;
|
|
61
|
+
let r = 2;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
wait(12);
|