@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,185 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// reactive-math-journey.manic — from Class 1 counting to PhD curiosity
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
// One equation id grows with the learner. `rewrite` keeps the journey continuous
|
|
5
|
+
// while a progress marker climbs through school, university and research.
|
|
6
|
+
// The ending returns to 1+1: advanced mathematics keeps the original curiosity.
|
|
7
|
+
// ============================================================================
|
|
8
|
+
|
|
9
|
+
title("From 1 + 1 to a PhD in Mathematics");
|
|
10
|
+
canvas("9:16");
|
|
11
|
+
template("shorts");
|
|
12
|
+
watermark(manicMark, (w*0.895-100, h*0.075+24), "Made With Manic");
|
|
13
|
+
|
|
14
|
+
creator(me, "@anish2good name=Math_Journey tagline=Stay_curious yt=zarigatongy x=@anish2good web=8gwifi.org/manic accent=cyan secondary=magenta footer=social cta=Keep_learning safe=reels");
|
|
15
|
+
socials(me);
|
|
16
|
+
|
|
17
|
+
text(kicker, (540, 135), "THE JOURNEY OF MATHEMATICS");
|
|
18
|
+
size(kicker, 23); color(kicker, dim); bold(kicker); hidden(kicker);
|
|
19
|
+
|
|
20
|
+
text(headline, (540, 225), "From 1 + 1 to a PhD");
|
|
21
|
+
size(headline, 47); color(headline, fg); bold(headline); hidden(headline);
|
|
22
|
+
|
|
23
|
+
text(subhead, (540, 292), "Same curiosity. Bigger questions.");
|
|
24
|
+
size(subhead, 25); color(subhead, cyan); bold(subhead); hidden(subhead);
|
|
25
|
+
|
|
26
|
+
// The learning stage leaves a slim left lane for the climbing progress marker.
|
|
27
|
+
rect(stage, (610, 790), 820, 760);
|
|
28
|
+
color(stage, panel); outline(stage, dim); opacity(stage, 0.78);
|
|
29
|
+
|
|
30
|
+
line(rail, (135, 1135), (135, 535));
|
|
31
|
+
color(rail, cyan); stroke(rail, 3); dashed(rail, 13, 10); opacity(rail, 0.35);
|
|
32
|
+
untraced(rail);
|
|
33
|
+
|
|
34
|
+
for i in 0..13 {
|
|
35
|
+
dot(milestone{i}, (135, 1135 - i*50), 5);
|
|
36
|
+
color(milestone{i}, dim); opacity(milestone{i}, 0.55);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
dot(learner, (135, 1135), 12);
|
|
40
|
+
color(learner, cyan); glow(learner, 2.2); hidden(learner);
|
|
41
|
+
|
|
42
|
+
text(level, (610, 495), "CLASS 1 · COUNTING");
|
|
43
|
+
size(level, 25); color(level, cyan); bold(level); hidden(level);
|
|
44
|
+
|
|
45
|
+
equation(work, (610, 775), `1+1=2`, 58);
|
|
46
|
+
hidden(work);
|
|
47
|
+
|
|
48
|
+
text(note, (610, 1035), "Two apples. One idea. A lifetime of questions begins.");
|
|
49
|
+
size(note, 27); color(note, dim); wrap(note, 700); hidden(note);
|
|
50
|
+
|
|
51
|
+
text(altitude, (540, 1265), "SCHOOL → UNIVERSITY → RESEARCH");
|
|
52
|
+
size(altitude, 22); color(altitude, dim); bold(altitude); hidden(altitude);
|
|
53
|
+
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
// TIMELINE
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
|
|
58
|
+
par {
|
|
59
|
+
show(kicker, 0.40); show(headline, 0.55); show(subhead, 0.55);
|
|
60
|
+
show(level, 0.45); show(note, 0.45); show(altitude, 0.45);
|
|
61
|
+
draw(rail, 0.90); show(learner, 0.45);
|
|
62
|
+
}
|
|
63
|
+
show(work, 0.55);
|
|
64
|
+
wait(0.85);
|
|
65
|
+
|
|
66
|
+
// Class 2 — repeated addition discovers multiplication.
|
|
67
|
+
par {
|
|
68
|
+
say(level, "CLASS 2 · MULTIPLICATION", 0.35);
|
|
69
|
+
say(note, "Addition gets impatient and invents a shortcut.", 0.35);
|
|
70
|
+
move(learner, (135, 1085), 0.45, smooth);
|
|
71
|
+
}
|
|
72
|
+
rewrite(work, `3+3+3+3=12`, 0.80, smooth);
|
|
73
|
+
wait(0.35);
|
|
74
|
+
rewrite(work, `4\times3=\textcolor{lime}{12}`, 0.80, smooth);
|
|
75
|
+
wait(0.65);
|
|
76
|
+
|
|
77
|
+
// Class 5 — pieces become numbers too.
|
|
78
|
+
par {
|
|
79
|
+
say(level, "CLASS 5 · FRACTIONS", 0.35);
|
|
80
|
+
say(note, "Now even pieces of a whole can be added exactly.", 0.35);
|
|
81
|
+
move(learner, (135, 1035), 0.45, smooth);
|
|
82
|
+
}
|
|
83
|
+
rewrite(work, `\frac{1}{2}+\frac{1}{3}=\textcolor{lime}{\frac{5}{6}}`, 0.90, smooth);
|
|
84
|
+
wait(0.70);
|
|
85
|
+
|
|
86
|
+
// Class 7 — the mystery number gets a name.
|
|
87
|
+
par {
|
|
88
|
+
say(level, "CLASS 7 · ALGEBRA", 0.35);
|
|
89
|
+
say(note, "A blank box becomes x — and arithmetic starts telling stories.", 0.35);
|
|
90
|
+
move(learner, (135, 985), 0.45, smooth);
|
|
91
|
+
}
|
|
92
|
+
rewrite(work, `x+3=7`, 0.80, smooth);
|
|
93
|
+
wait(0.30);
|
|
94
|
+
rewrite(work, `x=\textcolor{lime}{4}`, 0.75, smooth);
|
|
95
|
+
wait(0.65);
|
|
96
|
+
|
|
97
|
+
// Class 8 — shapes reveal equations hidden inside them.
|
|
98
|
+
par {
|
|
99
|
+
say(level, "CLASS 8 · GEOMETRY", 0.35);
|
|
100
|
+
say(note, "A right triangle quietly connects three squares.", 0.35);
|
|
101
|
+
move(learner, (135, 935), 0.45, smooth);
|
|
102
|
+
}
|
|
103
|
+
rewrite(work, `a^2+b^2=\textcolor{cyan}{c^2}`, 0.85, smooth);
|
|
104
|
+
wait(0.70);
|
|
105
|
+
|
|
106
|
+
// Class 10 — one formula solves every quadratic.
|
|
107
|
+
par {
|
|
108
|
+
say(level, "CLASS 10 · QUADRATICS", 0.35);
|
|
109
|
+
say(note, "The unknown now has two possible futures.", 0.35);
|
|
110
|
+
move(learner, (135, 885), 0.45, smooth);
|
|
111
|
+
}
|
|
112
|
+
rewrite(work, `ax^2+bx+c=0`, 0.85, smooth);
|
|
113
|
+
wait(0.30);
|
|
114
|
+
rewrite(work, `x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}`, 1.00, smooth);
|
|
115
|
+
wait(0.75);
|
|
116
|
+
|
|
117
|
+
// Class 11 — circles turn into identities.
|
|
118
|
+
par {
|
|
119
|
+
say(level, "CLASS 11 · TRIGONOMETRY", 0.35);
|
|
120
|
+
say(note, "Sine and cosine travel differently, but always return to one.", 0.35);
|
|
121
|
+
move(learner, (135, 835), 0.45, smooth);
|
|
122
|
+
}
|
|
123
|
+
rewrite(work, `\sin^2\theta+\cos^2\theta=\textcolor{lime}{1}`, 0.90, smooth);
|
|
124
|
+
wait(0.70);
|
|
125
|
+
|
|
126
|
+
// Class 12 — mathematics learns to describe change itself.
|
|
127
|
+
par {
|
|
128
|
+
say(level, "CLASS 12 · CALCULUS", 0.35);
|
|
129
|
+
say(note, "Not just where things are — how fast they are changing.", 0.35);
|
|
130
|
+
move(learner, (135, 785), 0.45, smooth);
|
|
131
|
+
}
|
|
132
|
+
rewrite(work, `\frac{d}{dx}x^n=\textcolor{cyan}{nx^{n-1}}`, 0.95, smooth);
|
|
133
|
+
wait(0.75);
|
|
134
|
+
|
|
135
|
+
// University — numbers become transformations and uncertain beliefs.
|
|
136
|
+
par {
|
|
137
|
+
say(level, "UNIVERSITY · LINEAR ALGEBRA", 0.35);
|
|
138
|
+
say(note, "Some directions do not turn — they only stretch.", 0.35);
|
|
139
|
+
move(learner, (135, 735), 0.45, smooth);
|
|
140
|
+
}
|
|
141
|
+
rewrite(work, `A\vec v=\textcolor{magenta}{\lambda}\vec v`, 0.90, smooth);
|
|
142
|
+
wait(0.70);
|
|
143
|
+
|
|
144
|
+
par {
|
|
145
|
+
say(level, "UNIVERSITY · PROBABILITY", 0.35);
|
|
146
|
+
say(note, "Evidence arrives, and a belief learns how to update.", 0.35);
|
|
147
|
+
move(learner, (135, 685), 0.45, smooth);
|
|
148
|
+
}
|
|
149
|
+
rewrite(work, `P(A\mid B)=\frac{P(B\mid A)P(A)}{P(B)}`, 0.95, smooth);
|
|
150
|
+
wait(0.75);
|
|
151
|
+
|
|
152
|
+
// Graduate study — equations evolve, then decompose into waves.
|
|
153
|
+
par {
|
|
154
|
+
say(level, "GRADUATE · DIFFERENTIAL EQUATIONS", 0.35);
|
|
155
|
+
say(note, "A tiny law of change predicts an entire future.", 0.35);
|
|
156
|
+
move(learner, (135, 635), 0.45, smooth);
|
|
157
|
+
}
|
|
158
|
+
rewrite(work, `\frac{dy}{dt}=ky`, 0.85, smooth);
|
|
159
|
+
wait(0.30);
|
|
160
|
+
rewrite(work, `y(t)=y_0e^{kt}`, 0.85, smooth);
|
|
161
|
+
wait(0.70);
|
|
162
|
+
|
|
163
|
+
par {
|
|
164
|
+
say(level, "GRADUATE · FOURIER ANALYSIS", 0.35);
|
|
165
|
+
say(note, "A complicated signal turns out to be a choir of simple waves.", 0.35);
|
|
166
|
+
move(learner, (135, 585), 0.45, smooth);
|
|
167
|
+
}
|
|
168
|
+
rewrite(work, `f(x)=\sum_{n=-\infty}^{\infty}c_ne^{inx}`, 0.95, smooth);
|
|
169
|
+
wait(0.75);
|
|
170
|
+
|
|
171
|
+
// PhD — the symbols are advanced; the habit is still “what if?”
|
|
172
|
+
par {
|
|
173
|
+
say(level, "PhD · THE EDGE OF WHAT WE KNOW", 0.40);
|
|
174
|
+
say(note, "The integral now ranges over every possible field configuration.", 0.40);
|
|
175
|
+
move(learner, (135, 535), 0.55, overshoot);
|
|
176
|
+
}
|
|
177
|
+
rewrite(work, `\mathcal{Z}=\int\mathcal{D}\phi\,e^{-S[\phi]}`, 1.05, smooth);
|
|
178
|
+
wait(1.00);
|
|
179
|
+
|
|
180
|
+
// A loopable ending: the notation grew, but the first question never left.
|
|
181
|
+
say(level, "THE REAL DEGREE · STAYING CURIOUS", 0.40);
|
|
182
|
+
say(note, "After all that mathematics, the best researchers still ask: why?", 0.40);
|
|
183
|
+
rewrite(work, `1+1=\textcolor{lime}{2}`, 1.00, smooth);
|
|
184
|
+
pulse(learner, 0.65);
|
|
185
|
+
wait(1.80);
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// reactive-math-notation.manic — one Reels-ready stage, thirteen notation worlds
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
// `rewrite` is deliberately domain-neutral. The same persistent equation moves
|
|
5
|
+
// through algebra, calculus, logic, physics, chemistry, biology, probability
|
|
6
|
+
// and linear algebra;
|
|
7
|
+
// only changed RaTeX parts leave or enter. Mixed prose + inline math uses normal
|
|
8
|
+
// `text`, and the last scene proves creator-defined notation needs no new verb.
|
|
9
|
+
// ============================================================================
|
|
10
|
+
|
|
11
|
+
title("Reactive Mathematics — One Language, Every Notation");
|
|
12
|
+
canvas("9:16");
|
|
13
|
+
template("shorts");
|
|
14
|
+
watermark(manicMark, (w*0.895-100, h*0.075+24), "Made With Manic");
|
|
15
|
+
|
|
16
|
+
creator(me, "@anish2good name=Notation_Lab tagline=Every_symbol_can_move yt=zarigatongy x=@anish2good web=8gwifi.org/manic accent=cyan secondary=magenta footer=social cta=Create_your_own safe=reels");
|
|
17
|
+
socials(me);
|
|
18
|
+
|
|
19
|
+
text(kicker, (540, 145), "ONE EQUATION · THIRTEEN SCIENTIFIC WORLDS");
|
|
20
|
+
size(kicker, 23); color(kicker, dim); bold(kicker); hidden(kicker);
|
|
21
|
+
|
|
22
|
+
text(headline, (540, 235), "If LaTeX can say it, Manic can move it");
|
|
23
|
+
size(headline, 39); color(headline, fg); bold(headline); hidden(headline);
|
|
24
|
+
|
|
25
|
+
rect(stage, (540, 755), 940, 760);
|
|
26
|
+
color(stage, panel); outline(stage, dim); opacity(stage, 0.72); hidden(stage);
|
|
27
|
+
|
|
28
|
+
text(topic, (540, 445), "01 · ALGEBRAIC REARRANGEMENT");
|
|
29
|
+
size(topic, 23); color(topic, cyan); bold(topic); hidden(topic);
|
|
30
|
+
|
|
31
|
+
equation(work, (540, 730), `2(x+3)=14`, 52);
|
|
32
|
+
hidden(work);
|
|
33
|
+
|
|
34
|
+
text(note, (540, 1040), "Keep the structure. Move only the mathematical change.");
|
|
35
|
+
size(note, 25); color(note, dim); wrap(note, 800); hidden(note);
|
|
36
|
+
|
|
37
|
+
// A normal text entity may freely mix prose and several inline formulas.
|
|
38
|
+
text(mixed, (540, 735), `Energy $E=mc^2$ uses mass $m$ and light speed $c$.`);
|
|
39
|
+
size(mixed, 31); color(mixed, fg); wrap(mixed, 780); hidden(mixed);
|
|
40
|
+
|
|
41
|
+
text(scope, (540, 1245), "RaTeX accuracy · local motion · one stable layout");
|
|
42
|
+
size(scope, 22); color(scope, dim); bold(scope); hidden(scope);
|
|
43
|
+
|
|
44
|
+
// A subtle dashed construction line also demonstrates that `dashed` belongs
|
|
45
|
+
// to Manic itself — plots and all other path-like entities can use it.
|
|
46
|
+
line(rule, (215, 1155), (865, 1155));
|
|
47
|
+
color(rule, cyan); stroke(rule, 2); dashed(rule, 12, 9); opacity(rule, 0.35);
|
|
48
|
+
untraced(rule);
|
|
49
|
+
|
|
50
|
+
// ---------------------------------------------------------------------------
|
|
51
|
+
// TIMELINE — every chapter reuses `work`; nothing is manually repositioned.
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
|
|
54
|
+
par {
|
|
55
|
+
show(kicker, 0.45); show(headline, 0.55); show(stage, 0.50);
|
|
56
|
+
show(topic, 0.45); show(note, 0.45); show(scope, 0.45); draw(rule, 0.85);
|
|
57
|
+
}
|
|
58
|
+
show(work, 0.55);
|
|
59
|
+
wait(0.70);
|
|
60
|
+
rewrite(work, `2x=8\quad\Rightarrow\quad \textcolor{lime}{x=4}`, 0.85, smooth);
|
|
61
|
+
wait(0.75);
|
|
62
|
+
|
|
63
|
+
say(topic, "02 · INTEGRALS & DERIVATIVES", 0.35);
|
|
64
|
+
say(note, "The Fundamental Theorem becomes a change of state, not a scene cut.", 0.35);
|
|
65
|
+
rewrite(work, `F(x)=\int_0^x t^2\,dt`, 0.80, smooth);
|
|
66
|
+
wait(0.45);
|
|
67
|
+
rewrite(work, `F'(x)=\frac{d}{dx}\int_0^x t^2\,dt=\textcolor{cyan}{x^2}`, 0.95, smooth);
|
|
68
|
+
wait(0.70);
|
|
69
|
+
|
|
70
|
+
say(topic, "03 · FRACTIONS, ROOTS, POWERS & LIMITS", 0.35);
|
|
71
|
+
say(note, "Nested notation is still one screen-aware equation.", 0.35);
|
|
72
|
+
rewrite(work, `x^2+\sqrt{x}+\frac{1}{x}`, 0.80, smooth);
|
|
73
|
+
wait(0.40);
|
|
74
|
+
rewrite(work, `\lim_{x\to0}\frac{\sqrt{1+x}-1}{x}=\frac{1}{2}`, 0.95, smooth);
|
|
75
|
+
wait(0.70);
|
|
76
|
+
|
|
77
|
+
say(topic, "04 · TRIGONOMETRIC IDENTITIES", 0.35);
|
|
78
|
+
say(note, "The unchanged terms stay; only the conclusion arrives.", 0.35);
|
|
79
|
+
rewrite(work, `\sin^2\theta+\cos^2\theta`, 0.80, smooth);
|
|
80
|
+
wait(0.40);
|
|
81
|
+
rewrite(work, `\sin^2\theta+\cos^2\theta=\textcolor{lime}{1}`, 0.85, smooth);
|
|
82
|
+
wait(0.70);
|
|
83
|
+
|
|
84
|
+
say(topic, "05 · SET NOTATION & LOGIC", 0.35);
|
|
85
|
+
say(note, "Membership, intersections and propositions share the same engine.", 0.35);
|
|
86
|
+
rewrite(work, `x\in A\cap B`, 0.80, smooth);
|
|
87
|
+
wait(0.40);
|
|
88
|
+
rewrite(work, `(x\in A)\land(x\in B)`, 0.85, smooth);
|
|
89
|
+
wait(0.70);
|
|
90
|
+
|
|
91
|
+
say(topic, "06 · SUMMATIONS & PRODUCTS", 0.35);
|
|
92
|
+
say(note, "Large operators retain their limits and baseline alignment.", 0.35);
|
|
93
|
+
rewrite(work, `\sum_{k=1}^{n}k`, 0.80, smooth);
|
|
94
|
+
wait(0.40);
|
|
95
|
+
rewrite(work, `\prod_{k=1}^{n}k=\textcolor{magenta}{n!}`, 0.85, smooth);
|
|
96
|
+
wait(0.70);
|
|
97
|
+
|
|
98
|
+
say(topic, "07 · PHYSICS FORMULAS & UNITS", 0.35);
|
|
99
|
+
say(note, "Symbols and dimensional units can live in one exact expression.", 0.35);
|
|
100
|
+
rewrite(work, `F=ma`, 0.80, smooth);
|
|
101
|
+
wait(0.40);
|
|
102
|
+
rewrite(work, `[F]=\mathrm{kg}\cdot\mathrm{m}\cdot\mathrm{s}^{-2}`, 0.90, smooth);
|
|
103
|
+
wait(0.70);
|
|
104
|
+
|
|
105
|
+
say(topic, "08 · CHEMISTRY · BALANCED REACTIONS", 0.35);
|
|
106
|
+
say(note, "Keep every molecule; introduce only the coefficients that balance atoms.", 0.35);
|
|
107
|
+
rewrite(work, `H_2+O_2\rightarrow H_2O`, 0.80, smooth);
|
|
108
|
+
wait(0.40);
|
|
109
|
+
rewrite(work, `\textcolor{cyan}{2}H_2+O_2\rightarrow\textcolor{cyan}{2}H_2O`, 0.90, smooth);
|
|
110
|
+
wait(0.70);
|
|
111
|
+
|
|
112
|
+
say(topic, "09 · BIOLOGY · HARDY–WEINBERG", 0.35);
|
|
113
|
+
say(note, "A population model grows from allele frequencies into genotype frequencies.", 0.35);
|
|
114
|
+
rewrite(work, `p+q=1`, 0.80, smooth);
|
|
115
|
+
wait(0.40);
|
|
116
|
+
rewrite(work, `p^2+2pq+q^2=\textcolor{lime}{1}`, 0.90, smooth);
|
|
117
|
+
wait(0.70);
|
|
118
|
+
|
|
119
|
+
say(topic, "10 · PROBABILITY EXPRESSIONS", 0.35);
|
|
120
|
+
say(note, "Conditioning expands into Bayes' rule without replacing the stage.", 0.35);
|
|
121
|
+
rewrite(work, `P(A\mid B)`, 0.80, smooth);
|
|
122
|
+
wait(0.40);
|
|
123
|
+
rewrite(work, `P(A\mid B)=\frac{P(B\mid A)P(A)}{P(B)}`, 0.95, smooth);
|
|
124
|
+
wait(0.70);
|
|
125
|
+
|
|
126
|
+
say(topic, "11 · MATRICES & VECTORS", 0.35);
|
|
127
|
+
say(note, "Rows, columns, brackets and vector marks remain genuine LaTeX.", 0.35);
|
|
128
|
+
rewrite(work, `\vec v=\begin{bmatrix}1\\2\end{bmatrix}`, 0.85, smooth);
|
|
129
|
+
wait(0.40);
|
|
130
|
+
rewrite(work, `A\vec v=\begin{bmatrix}a&b\\c&d\end{bmatrix}\begin{bmatrix}1\\2\end{bmatrix}`, 1.00, smooth);
|
|
131
|
+
wait(0.75);
|
|
132
|
+
|
|
133
|
+
say(topic, "12 · TEXT MIXED WITH MATHEMATICS", 0.35);
|
|
134
|
+
say(note, "Ordinary prose can carry multiple inline formulas naturally.", 0.35);
|
|
135
|
+
fade(work, 0.35);
|
|
136
|
+
show(mixed, 0.55);
|
|
137
|
+
wait(1.25);
|
|
138
|
+
fade(mixed, 0.35);
|
|
139
|
+
|
|
140
|
+
say(topic, "13 · YOUR OWN NOTATION", 0.35);
|
|
141
|
+
say(note, "Define the meaning in your story; Manic preserves the supported notation.", 0.35);
|
|
142
|
+
rewrite(work, `\mathcal{R}_{\star}(x)\equiv x^2+1`, 0.90, smooth);
|
|
143
|
+
wait(0.45);
|
|
144
|
+
rewrite(work, `\mathcal{R}_{\star}(2)=\textcolor{lime}{5}`, 0.85, smooth);
|
|
145
|
+
wait(1.20);
|
|
146
|
+
|
|
147
|
+
say(topic, "ONE REACTIVE LANGUAGE", 0.40);
|
|
148
|
+
say(note, "Math, physics, logic — creators decide what comes next.", 0.40);
|
|
149
|
+
pulse(work, 0.70);
|
|
150
|
+
wait(1.80);
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// reactive-multiformat.manic — one semantic story, four output formats
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
// Keep this source unchanged and render it with:
|
|
5
|
+
// manic examples/reactive-multiformat.manic --canvas portrait
|
|
6
|
+
// manic examples/reactive-multiformat.manic --canvas 4:5
|
|
7
|
+
// manic examples/reactive-multiformat.manic --canvas square
|
|
8
|
+
// manic examples/reactive-multiformat.manic --canvas 16:9
|
|
9
|
+
// The override is applied before w/h/cx/cy and the build-time layout branch.
|
|
10
|
+
// Every format keeps the same named steps, continuity, duration and identity.
|
|
11
|
+
// ============================================================================
|
|
12
|
+
|
|
13
|
+
title("One Story, Every Screen");
|
|
14
|
+
canvas("9:16");
|
|
15
|
+
template("shorts");
|
|
16
|
+
|
|
17
|
+
creator(me, "@anish2good name=Visual_Proofs tagline=One_idea_every_screen yt=zarigatongy x=@anish2good web=8gwifi.org/manic accent=cyan secondary=magenta footer=signature cta=Keep_the_story safe=clean");
|
|
18
|
+
|
|
19
|
+
let u = (w+h-abs(w-h)) / 2160; // min(w,h) / 1080 without a layout-specific constant
|
|
20
|
+
watermark(manicMark, (w*0.955-100, h*0.045+24), "Made With Manic");
|
|
21
|
+
|
|
22
|
+
// Portrait Reel / Short: story reads from top to bottom.
|
|
23
|
+
if h > 1.45*w {
|
|
24
|
+
text(kicker, (cx, 125*u), "ONE SOURCE · PORTRAIT");
|
|
25
|
+
text(headline, (cx, 215*u), "A derivative is a world of slopes");
|
|
26
|
+
equation(work, (cx, 355*u), `f(x)=0.35x^2`, 54*u);
|
|
27
|
+
|
|
28
|
+
rect(stage, (cx, 900*u), 930*u, 940*u);
|
|
29
|
+
axes(ax, (cx, 1030*u), 410*u, 350*u, 1);
|
|
30
|
+
plot(curve, (cx, 1030*u), 115*u, 62*u, "0.35*x*x", (-3.5,3.5));
|
|
31
|
+
deriv(derivative, curve);
|
|
32
|
+
tangent(tan, curve, -2.7, 235*u);
|
|
33
|
+
slope(rate, curve, -2.7, (24*u,-30*u));
|
|
34
|
+
equation(curveLabel, (cx+310*u, 690*u), `f(x)`, 31*u);
|
|
35
|
+
equation(derivativeLabel, (cx+300*u, 1290*u), `f'(x)`, 31*u);
|
|
36
|
+
text(caption, (cx, 1450*u), "Move along the curve and every local slope tells part of a second story.");
|
|
37
|
+
wrap(caption, w*0.72);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Landscape lesson: explanation on the left, visual stage on the right.
|
|
41
|
+
else if w > 1.25*h {
|
|
42
|
+
text(kicker, (w*0.25, h*0.13), "ONE SOURCE · LANDSCAPE");
|
|
43
|
+
text(headline, (w*0.25, h*0.24), "A derivative is a world of slopes");
|
|
44
|
+
equation(work, (w*0.25, h*0.38), `f(x)=0.35x^2`, 54*u);
|
|
45
|
+
|
|
46
|
+
rect(stage, (w*0.72, h*0.48), w*0.49, h*0.70);
|
|
47
|
+
axes(ax, (w*0.72, h*0.55), 350*u, 285*u, 1);
|
|
48
|
+
plot(curve, (w*0.72, h*0.55), 90*u, 48*u, "0.35*x*x", (-3.5,3.5));
|
|
49
|
+
deriv(derivative, curve);
|
|
50
|
+
tangent(tan, curve, -2.7, 190*u);
|
|
51
|
+
slope(rate, curve, -2.7, (20*u,-25*u));
|
|
52
|
+
equation(curveLabel, (w*0.88, h*0.27), `f(x)`, 29*u);
|
|
53
|
+
equation(derivativeLabel, (w*0.88, h*0.76), `f'(x)`, 29*u);
|
|
54
|
+
text(caption, (w*0.25, h*0.60), "Move along the curve and every local slope tells part of a second story.");
|
|
55
|
+
wrap(caption, w*0.38);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Square post / 4:5 feed: compact stacked composition.
|
|
59
|
+
else {
|
|
60
|
+
text(kicker, (cx, h*0.09), "ONE SOURCE · FEED");
|
|
61
|
+
text(headline, (cx, h*0.17), "A derivative is a world of slopes");
|
|
62
|
+
equation(work, (cx, h*0.27), `f(x)=0.35x^2`, 52*u);
|
|
63
|
+
|
|
64
|
+
rect(stage, (cx, h*0.55), w*0.86, h*0.48);
|
|
65
|
+
axes(ax, (cx, h*0.59), 360*u, 270*u, 1);
|
|
66
|
+
plot(curve, (cx, h*0.59), 92*u, 48*u, "0.35*x*x", (-3.5,3.5));
|
|
67
|
+
deriv(derivative, curve);
|
|
68
|
+
tangent(tan, curve, -2.7, 195*u);
|
|
69
|
+
slope(rate, curve, -2.7, (20*u,-25*u));
|
|
70
|
+
equation(curveLabel, (cx+270*u, h*0.42), `f(x)`, 29*u);
|
|
71
|
+
equation(derivativeLabel, (cx+270*u, h*0.73), `f'(x)`, 29*u);
|
|
72
|
+
text(caption, (cx, h*0.84), "Move along the curve and every local slope tells part of a second story.");
|
|
73
|
+
wrap(caption, w*0.72);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
size(kicker, 22*u); color(kicker, dim); bold(kicker); hidden(kicker);
|
|
77
|
+
size(headline, 39*u); color(headline, fg); bold(headline); hidden(headline);
|
|
78
|
+
size(caption, 25*u); color(caption, dim); hidden(caption);
|
|
79
|
+
|
|
80
|
+
color(stage, panel); outline(stage, dim); opacity(stage, 0.72); hidden(stage);
|
|
81
|
+
color(ax, dim); opacity(ax, 0.52); untraced(ax);
|
|
82
|
+
color(curve, cyan); stroke(curve, 6*u); glow(curve, 0.75); untraced(curve);
|
|
83
|
+
color(derivative, magenta); stroke(derivative, 5*u); dashed(derivative, 18*u, 11*u); untraced(derivative);
|
|
84
|
+
color(tan, gold); stroke(tan, 4*u); hidden(tan);
|
|
85
|
+
color(rate, gold); hidden(rate);
|
|
86
|
+
color(work, cyan); hidden(work);
|
|
87
|
+
color(curveLabel, cyan); hidden(curveLabel);
|
|
88
|
+
color(derivativeLabel, magenta); hidden(derivativeLabel);
|
|
89
|
+
|
|
90
|
+
socials(me);
|
|
91
|
+
|
|
92
|
+
step("question") {
|
|
93
|
+
show(stage, 0.35);
|
|
94
|
+
show(kicker, 0.35);
|
|
95
|
+
show(headline, 0.45);
|
|
96
|
+
show(work, 0.50);
|
|
97
|
+
draw(ax, 0.80);
|
|
98
|
+
draw(curve, 1.30);
|
|
99
|
+
show(curveLabel, 0.40);
|
|
100
|
+
show(caption, 0.45);
|
|
101
|
+
}
|
|
102
|
+
wait(0.65);
|
|
103
|
+
|
|
104
|
+
step("measure") {
|
|
105
|
+
rewrite(work, `f'(x)=0.70x`, 0.90, smooth);
|
|
106
|
+
show(tan, 0.40);
|
|
107
|
+
show(rate, 0.40);
|
|
108
|
+
to(tan, x, 2.7, 2.80, smooth);
|
|
109
|
+
to(rate, x, 2.7, 2.80, smooth);
|
|
110
|
+
say(caption, "The tangent and its live slope move as one explanation.", 0.40);
|
|
111
|
+
}
|
|
112
|
+
wait(0.55);
|
|
113
|
+
|
|
114
|
+
step("collect-the-slopes") {
|
|
115
|
+
rewrite(work, `\textcolor{magenta}{f'(x)}=0.70x`, 0.90, smooth);
|
|
116
|
+
fade(tan, 0.35);
|
|
117
|
+
fade(rate, 0.35);
|
|
118
|
+
draw(derivative, 1.55);
|
|
119
|
+
show(derivativeLabel, 0.40);
|
|
120
|
+
say(caption, "Collect those local slopes and the derivative curve appears.", 0.40);
|
|
121
|
+
}
|
|
122
|
+
wait(0.65);
|
|
123
|
+
|
|
124
|
+
step("takeaway") {
|
|
125
|
+
rewrite(work, `\text{slope of }f=\textcolor{magenta}{f'}`, 0.95, smooth);
|
|
126
|
+
pulse(curve, 0.70);
|
|
127
|
+
pulse(derivative, 0.70);
|
|
128
|
+
say(caption, "The layout can change. The idea, timing and identity stay together.", 0.40);
|
|
129
|
+
}
|
|
130
|
+
wait(1.60);
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// reactive-world.manic — one world, named state transitions
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
// Each `step` changes several existing representations together. The equation,
|
|
5
|
+
// tangent, live slope, derivative curve, caption and camera share one continuous
|
|
6
|
+
// stage; anything a step does not mention simply persists.
|
|
7
|
+
// ============================================================================
|
|
8
|
+
|
|
9
|
+
title("Reactive World — The Derivative Lives on the Curve");
|
|
10
|
+
canvas("9:16");
|
|
11
|
+
template("terminal");
|
|
12
|
+
watermark(manicMark, (865, 165), "Made With Manic");
|
|
13
|
+
|
|
14
|
+
creator(me, "@anish2good name=Calculus_World tagline=One_idea_many_views yt=zarigatongy x=@anish2good web=8gwifi.org/manic accent=cyan secondary=magenta footer=social cta=See_the_change safe=reels");
|
|
15
|
+
socials(me);
|
|
16
|
+
|
|
17
|
+
text(kicker, (540, 130), "ONE WORLD · FIVE NAMED STEPS");
|
|
18
|
+
size(kicker, 23); color(kicker, dim); bold(kicker); hidden(kicker);
|
|
19
|
+
|
|
20
|
+
text(headline, (540, 215), "The derivative lives on the curve");
|
|
21
|
+
size(headline, 39); color(headline, fg); bold(headline); hidden(headline);
|
|
22
|
+
|
|
23
|
+
rect(stage, (540, 855), 930, 1050);
|
|
24
|
+
color(stage, panel); outline(stage, dim); opacity(stage, 0.72);
|
|
25
|
+
|
|
26
|
+
equation(work, (540, 390), `f(x)=0.35x^2`, 51);
|
|
27
|
+
color(work, cyan); hidden(work);
|
|
28
|
+
|
|
29
|
+
let ox = 540;
|
|
30
|
+
let oy = 1050;
|
|
31
|
+
let sx = 115;
|
|
32
|
+
let sy = 62;
|
|
33
|
+
|
|
34
|
+
axes(ax, (ox, oy), 410, 420, 1);
|
|
35
|
+
color(ax, dim); opacity(ax, 0.55); untraced(ax);
|
|
36
|
+
|
|
37
|
+
plot(f, (ox, oy), sx, sy, "0.35*x*x", (-3.5, 3.5));
|
|
38
|
+
color(f, cyan); stroke(f, 6); glow(f, 0.8); untraced(f);
|
|
39
|
+
|
|
40
|
+
deriv(df, f);
|
|
41
|
+
color(df, magenta); stroke(df, 5); dashed(df, 18, 11); untraced(df);
|
|
42
|
+
|
|
43
|
+
tangent(tan, f, -2.8, 235);
|
|
44
|
+
color(tan, gold); stroke(tan, 4); hidden(tan);
|
|
45
|
+
|
|
46
|
+
slope(rate, f, -2.8, (24, -30));
|
|
47
|
+
color(rate, gold); hidden(rate);
|
|
48
|
+
|
|
49
|
+
dot(vertex, (ox, oy), 10);
|
|
50
|
+
color(vertex, lime); glow(vertex, 1.8); hidden(vertex);
|
|
51
|
+
|
|
52
|
+
equation(curveLabel, (790, 650), `f(x)`, 31);
|
|
53
|
+
color(curveLabel, cyan); hidden(curveLabel);
|
|
54
|
+
|
|
55
|
+
equation(derivLabel, (790, 1320), `f'(x)`, 31);
|
|
56
|
+
color(derivLabel, magenta); hidden(derivLabel);
|
|
57
|
+
|
|
58
|
+
text(caption, (540, 1450), "Start with one curve and one moving question: how steep is it?");
|
|
59
|
+
size(caption, 26); color(caption, dim); wrap(caption, 820); hidden(caption);
|
|
60
|
+
|
|
61
|
+
// ---------------------------------------------------------------------------
|
|
62
|
+
// NAMED REACTIVE STEPS
|
|
63
|
+
// ---------------------------------------------------------------------------
|
|
64
|
+
|
|
65
|
+
step("question") {
|
|
66
|
+
show(kicker, 0.40);
|
|
67
|
+
show(headline, 0.50);
|
|
68
|
+
show(work, 0.55);
|
|
69
|
+
draw(ax, 0.85);
|
|
70
|
+
draw(f, 1.40);
|
|
71
|
+
show(curveLabel, 0.45);
|
|
72
|
+
show(caption, 0.45);
|
|
73
|
+
}
|
|
74
|
+
wait(0.75);
|
|
75
|
+
|
|
76
|
+
step("measure-slope") {
|
|
77
|
+
rewrite(work, `f'(x)=0.70x`, 0.90, smooth);
|
|
78
|
+
show(tan, 0.45);
|
|
79
|
+
show(rate, 0.45);
|
|
80
|
+
to(tan, x, 2.8, 3.20, smooth);
|
|
81
|
+
to(rate, x, 2.8, 3.20, smooth);
|
|
82
|
+
say(caption, "Move the point: the tangent and its slope update together.", 0.40);
|
|
83
|
+
}
|
|
84
|
+
wait(0.60);
|
|
85
|
+
|
|
86
|
+
step("find-the-flat-point") {
|
|
87
|
+
rewrite(work, `f'(0)=\textcolor{lime}{0}`, 0.85, smooth);
|
|
88
|
+
to(tan, x, 0, 1.80, smooth);
|
|
89
|
+
to(rate, x, 0, 1.80, smooth);
|
|
90
|
+
show(vertex, 0.40);
|
|
91
|
+
say(caption, "At the vertex the tangent becomes flat, so the derivative is zero.", 0.40);
|
|
92
|
+
}
|
|
93
|
+
wait(0.65);
|
|
94
|
+
|
|
95
|
+
step("see-the-derivative") {
|
|
96
|
+
rewrite(work, `f'(x)=\textcolor{magenta}{0.70x}`, 0.90, smooth);
|
|
97
|
+
fade(tan, 0.40);
|
|
98
|
+
fade(rate, 0.40);
|
|
99
|
+
draw(df, 1.70);
|
|
100
|
+
show(derivLabel, 0.45);
|
|
101
|
+
say(caption, "Collect every local slope and a second curve appears: the derivative.", 0.40);
|
|
102
|
+
}
|
|
103
|
+
wait(0.70);
|
|
104
|
+
|
|
105
|
+
step("takeaway") {
|
|
106
|
+
rewrite(work, `\text{slope of }f=\textcolor{magenta}{f'}`, 0.95, smooth);
|
|
107
|
+
pulse(f, 0.70);
|
|
108
|
+
pulse(df, 0.70);
|
|
109
|
+
say(caption, "One idea, synchronized across symbols, geometry and motion.", 0.40);
|
|
110
|
+
}
|
|
111
|
+
wait(1.80);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// refraction-paper.manic — Snell's law as a textbook figure (annotated)
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
// The `refract` sim dressed as a physics-class page: `template("paper")` inks
|
|
5
|
+
// it on cream, labelled media + normal + the law itself, and a gentle camera
|
|
6
|
+
// push on the bending point while `run` sweeps the incidence angle. Elevation
|
|
7
|
+
// lens: textbook annotation + camera. (Paper suits the geometry; the coloured
|
|
8
|
+
// dispersion demos stay on a dark bench where light glows.)
|
|
9
|
+
// ============================================================================
|
|
10
|
+
|
|
11
|
+
title("Refraction — Snell's Law");
|
|
12
|
+
canvas("16:9");
|
|
13
|
+
template("paper");
|
|
14
|
+
|
|
15
|
+
refract(r, (660, 400), 1.0, 1.52);
|
|
16
|
+
color(r.incident, red); // gold washes out on cream — ink the incoming ray red
|
|
17
|
+
color(r.thetai, red);
|
|
18
|
+
|
|
19
|
+
// ---- textbook annotations (screen-fixed) ----
|
|
20
|
+
text(mAir, (150, 300), "air n = 1.00"); color(mAir, dim); size(mAir, 22); sticky(mAir);
|
|
21
|
+
text(mGla, (150, 500), "glass n = 1.52"); color(mGla, dim); size(mGla, 22); sticky(mGla);
|
|
22
|
+
text(nlab, (708, 250), "normal"); color(nlab, dim); size(nlab, 18); sticky(nlab);
|
|
23
|
+
text(law, (cx, 92), "n1 · sin(in) = n2 · sin(out)"); color(law, fg); size(law, 30); bold(law); sticky(law);
|
|
24
|
+
|
|
25
|
+
text(cap, (cx, h - 46), ""); color(cap, fg); size(cap, 24); bold(cap); display(cap); sticky(cap);
|
|
26
|
+
|
|
27
|
+
// ================= THE SCENE =================
|
|
28
|
+
say(cap, "light bends as it crosses into glass — Snell's law", 0.5);
|
|
29
|
+
wait(0.5);
|
|
30
|
+
|
|
31
|
+
par {
|
|
32
|
+
run(r, 8);
|
|
33
|
+
seq {
|
|
34
|
+
par { cam((660, 400), 2.2, smooth); zoom(1.18, 2.2, smooth); } // ease in on the boundary
|
|
35
|
+
say(cap, "steeper in → it bends more, toward the normal", 0.3);
|
|
36
|
+
wait(3.0);
|
|
37
|
+
say(cap, "…but sin(in) / sin(out) never changes — that ratio IS n", 0.3);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
wait(1.2);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// refraction.manic — Snell's law you can watch (real optics)
|
|
3
|
+
// ----------------------------------------------------------------------------
|
|
4
|
+
// The `optics` kit's first builtin: `refract` draws a light ray meeting the
|
|
5
|
+
// boundary between two media and bending. `run` SWEEPS the incidence angle, so
|
|
6
|
+
// the refracted ray genuinely swings — and the "in"/"out" read-outs are the
|
|
7
|
+
// true Snell angles, not painted. Here: air (n=1.00) into crown glass (n=1.52).
|
|
8
|
+
// ============================================================================
|
|
9
|
+
|
|
10
|
+
title("Refraction — Snell's Law");
|
|
11
|
+
canvas("16:9");
|
|
12
|
+
|
|
13
|
+
// air on top, glass below; no fixed angle → run(r) sweeps it
|
|
14
|
+
refract(r, (640, 380), 1.0, 1.52);
|
|
15
|
+
|
|
16
|
+
text(cap, (cx, h - 46), ""); color(cap, fg); size(cap, 24); bold(cap); display(cap); sticky(cap);
|
|
17
|
+
|
|
18
|
+
// ================= THE SCENE =================
|
|
19
|
+
say(cap, "a ray of light, crossing from air into glass…", 0.5);
|
|
20
|
+
wait(0.5);
|
|
21
|
+
|
|
22
|
+
par {
|
|
23
|
+
run(r, 7);
|
|
24
|
+
seq {
|
|
25
|
+
say(cap, "shallow angle — it barely bends", 0.3);
|
|
26
|
+
wait(2.2);
|
|
27
|
+
say(cap, "steeper in → it bends MORE, toward the normal", 0.3);
|
|
28
|
+
wait(2.6);
|
|
29
|
+
say(cap, "sin(in) / sin(out) is fixed — THAT ratio is the refractive index", 0.3);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
wait(1.2);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// resonance.manic — a driven spring pumped near its natural frequency.
|
|
2
|
+
title("Resonance — driving near the natural frequency");
|
|
3
|
+
canvas("16:9");
|
|
4
|
+
text(hdr,(cx,44),"Resonance — drive near √(k/m) and the amplitude grows and grows"); size(hdr,22); color(hdr,cyan); bold(hdr); display(hdr);
|
|
5
|
+
resonance(rs, (400,300), 3.8); // natural freq = √(16/1) = 4; drive 3.8 ≈ resonance
|
|
6
|
+
untraced(rs.path);
|
|
7
|
+
phase(rs, (960,200), 100); // spiral OUT to a big steady-state loop
|
|
8
|
+
energygraph(rs, (960,470), 100); // energy climbs, then plateaus
|
|
9
|
+
text(cap,(cx,h-32),"drive frequency 3.8 vs natural 4.0 — near resonance, so it builds up big"); size(cap,15); color(cap,dim); display(cap);
|
|
10
|
+
par { run(rs, 12); draw(rs.path, 12); }
|