[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70796":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},70796,"videos","3b1b\u002Fvideos","3b1b","Code for the manim-generated scenes used in 3blue1brown videos",null,"Python",10822,2062,159,43,0,31,61,155,93,119.94,"Other",false,"master",true,[],"2026-06-12 04:00:57","\nThis project contains the code used to generate the explanatory math videos found on [3Blue1Brown](https:\u002F\u002Fwww.3blue1brown.com\u002F).\n\nThis almost entirely consists of scenes generated using the library [Manim](https:\u002F\u002Fgithub.com\u002F3b1b\u002Fmanim).  See also the community maintained version at [ManimCommunity](https:\u002F\u002Fgithub.com\u002FManimCommunity\u002Fmanim\u002F).\n\nOlder projects may have code dependent on older versions of manim, and so may not run out of the box here.\n\nNote, while the library Manim itself is [open source](https:\u002F\u002Fopensource.org\u002Fosd) software and under the [MIT license](https:\u002F\u002Fgithub.com\u002F3b1b\u002Fmanim\u002Fblob\u002Fmaster\u002FLICENSE.md), the contents of this repository are available under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa].\n\n[![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]\n\n[cc-by-nc-sa]: http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc-sa\u002F4.0\u002F\n[cc-by-nc-sa-image]: https:\u002F\u002Flicensebuttons.net\u002Fl\u002Fby-nc-sa\u002F4.0\u002F88x31.png\n\n## Workflow\n\nI made [this video](https:\u002F\u002Fyoutu.be\u002Frbu7Zu5X1zI) to show more of how I use manim. Note that I'm using 3b1b\u002Fmanim, not the community edition, some functionality may differ between the two. Aside from [installing manim itself](https:\u002F\u002Fgithub.com\u002F3b1b\u002Fmanim?tab=readme-ov-file#installation), replicating the workflow involves some custom plugins with Sublime, the text editor I use.\n\nIf you use another text editor, the same functionality can be mimicked. The key is to make use of two facts.\n\n- Running `manimgl (file name) (scene name) -se (line_number)` will drop you into an interactive mode at that line of the file, like a debugger, with an iPython terminal that can be used to interact with the scene.\n\n- Within that interactive mode, if you enter \"checkpoint_paste()\" to the terminal, it will run whatever bit of code is copied to the clipboard. Moreover, if that copied code begins with a comment, the first time it sees that comment it will save the state of the scene at that point, and for all future calls on code beginning with the same comment, it will first revert to that state of the scene before running the code.\n    - The argument \"skip\" of checkpoint_paste will mean it runs the code without animating, as if all run times set to 0.\n    - The argument \"record\" of checkpoint_paste will cause whatever animations are run with that copied code to be rendered to file.\n\nFor my own workflow, I set up some keyboard shortcuts to kick off each of these commands. For those who want to try it out themselves, here's what's involved.\n\n### Sublime-specific instructions\n\nInstall [Terminus](https:\u002F\u002Fpackagecontrol.io\u002Fpackages\u002FTerminus) (via package control). This is a terminal run within sublime, and it lets us write some plugins that take the state in sublime, like where your cursor is, what's highlighted, etc., and use that to run a desired command line instruction.\n\nTake the files in the \"sublime_custom_commands\" sub-directory of this repo, and copy them into the Packages\u002FUser\u002F directory of your Sublime Application. This should be a directory with a path that looks something like \u002Fwherever\u002Fyour\u002Fsublime\u002Flives\u002FPackages\u002FUser\u002F\n\nAdd some keybindings to reference these commands. Here's what I have inside my key_bindings file, you can find your own under the menu Sublime Text -> Settings -> Keybindings\n\n```\n    { \"keys\": [\"shift+super+r\"], \"command\": \"manim_run_scene\" },\n    { \"keys\": [\"super+r\"], \"command\": \"manim_checkpoint_paste\" },\n    { \"keys\": [\"super+alt+r\"], \"command\": \"manim_recorded_checkpoint_paste\" },\n    { \"keys\": [\"super+ctrl+r\"], \"command\": \"manim_skipped_checkpoint_paste\" },\n    { \"keys\": [\"super+e\"], \"command\": \"manim_exit\" },\n    { \"keys\": [\"super+option+\u002F\"], \"command\": \"comment_fold\"},\n```\n\nFor example, I bind the \"command + shift + R\" to a custom \"manim_run_scene\" command. If the cursor is inside a line of a scene, this will drop you into the interactive mode at that point of the scene. If the cursor is on the line defining the scene, it will copy to the clipboard the command needed to render that full scene to file.\n\nI bind \"command + R\" to a \"manim_checkpoint_paste\" command, which will copy whatever bit of code is highlighted, and run \"checkpoint_paste()\" in the interactive terminal.\n\nOf course, you could set these to whatever keyboard shortcuts you prefer.\n\n## Installation\n1. Install `manimgl` [from source](https:\u002F\u002Fgithub.com\u002F3b1b\u002Fmanim?tab=readme-ov-file#directly-windows) since the latest version published is not up to date.\n2. Ensure Latex is installed, for example on Ubuntu\n   ```sh\n   sudo apt install texlive\n   sudo apt install texlive-latex-extra\n   sudo apt install texlive-fonts-extra\n   sudo apt install texlive-science\n   ```\n3. Clone this repository to run the video samples\n   ```sh\n   git clone git@github.com:3b1b\u002Fvideos.git\n   cd videos\n   ```\n\n### Running a video\n\n1. Setup includes (if you don't want to modify your path)\n    ```sh\n    cd _2023\u002Foptics_puzzles\n    vi e_field.py\n    ```\n    And add the following to the top\n    ```python\n    import sys\n    sys.path.append(\".\")\n    sys.path.append(\"..\")\n    sys.path.append(\"..\u002F..\")\n    ```\n\n2. Run an example\n   ```sh\n   manimgl e_field.py\n   ```\n   Or\n   ```sh\n   manimgl e_field.py WavesIn3D\n   ```\n\nCopyright © 2026 3Blue1Brown","3b1b\u002Fvideos 项目包含了生成 3Blue1Brown 数学解释视频中使用的动画场景的代码。该项目主要基于 Manim 库，这是一个用 Python 编写的数学动画引擎，能够创建高质量的教育视频。核心功能包括通过编写 Python 代码来定义动画场景，并且支持交互式调试和即时预览，极大提高了制作效率与精度。适合用于教育内容创作者特别是数学、科学领域的讲师或爱好者，以及对动画制作感兴趣的技术人员。注意，虽然 Manim 是开源软件（MIT 许可），但本仓库的内容受 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License 保护。",2,"2026-06-11 03:34:13","high_star"]