Hacker News new | past | comments | ask | show | jobs | submit login

A community fork of 3Brown1Blue's [0] Manim [1] for creating the math animations and pictures used in their videos. From the manimcommunity's README:

""" NOTE: This repository is maintained by the Manim Community and is not associated with Grant Sanderson or 3Blue1Brown in any way (although we are definitely indebted to him for providing his work to the world). If you would like to study how Grant makes his videos, head over to his repository (3b1b/manim). This fork is updated more frequently than his, and it's recommended to use this fork if you'd like to use Manim for your own projects. """

See the gallery for it in action [2].

[0] https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw

[1] https://github.com/3b1b/manim

[2] https://docs.manim.community/en/stable/examples.html




Someone please correct me if I am wrong (always, but am extra asking for it), is that the main 3b1b/manim is really just for Grant and folks in making his videos, and while he did open source it, he isn't interested in running a big OSS project.

To me this really shows the power of OSS, and that one can "take ownership" of their destiny through forking and that it doesn't need to be adversarial.

In many ways, ideas are much more powerful than code. That code itself can be a thought terminating thing, by making ideas reified, it also instantly constructs an Overton Window or maybe a Chesteron's Fence, or maybe a Winchester House. A Knot's Berry Farm of technical debt built on soggy metaphors.


Yes, I've heard him say in a few places in his videos that he gives his blessing to this fork and encourages its use over his own repo for that exact reason.


The cool thing about this is that it shows you can open source stuff and have people use it, but you don't have maintain the project.

At the same time, I hope it encourages folks to open source their code even if it isn't "ready for prime time" or what ever euphemism is for embarrassment.


lmaoooooooo well said clapping


While this seems to be good intentions, the message is unclear and confusing.

3b1b's explaination in his readme is much clearer and Manim community should decouple itself from the 3B1B name / popularity.

"Manim is an animation engine for explanatory math videos. It's used to create precise animations programmatically, as demonstrated in the videos of 3Blue1Brown." [1]

"Note, there are two versions of manim. This repository began as a personal project by the author of 3Blue1Brown for the purpose of animating those videos, with video-specific code available here. In 2020 a group of developers forked it into what is now the community edition, with a goal of being more stable, better tested, quicker to respond to community contributions, and all around friendlier to get started with. See this page for more details." [2]

[1] Manim Community Edition Readme [2] Manim 3B1B edition


Agreed, I immediately got the impression it was what 3b1b was using...


To be fair the gist of it is that "this is what the 3b1b team are using except it is a bit better".


IIRC older projects of 3b1b don't necessarily build with later, evolving versions of 3b1b Manim. There might be some mix of versioning questions mixed in with branding questions.


Although the fact that the 3b1b team isn't using the community version makes me wonder why and whether the community version is actually better. In any case I'll take their word for it that it's more beginner friendly.


I believe 3b1b uses his extensive knowledge of the system he developed to sometimes do hacky things that wouldn't be easy to support long-term. His repo may be better for someone who has a similar extensive knowledge, but won't be ideal for someone who is mostly interested in it as a tool and doesn't want to learn its innards.


Community version core dev here, the reason is slightly complicated:

Back in 2019, there was no community edition, and most people based their own work off 3b1b's repository. Back then, Manim used a renderer called Cairo, which was painfully slow especially for 3D Scenes. So in late 2019, 3b1b started work on making Manim use OpenGL as its renderer instead, in a new branch called the "shaders" branch. In mid-2020, the community became frustrated at Grant's lack of interaction with them and slow response in merging PRs, so they decided to start their own fork. However, since the shaders branch was still extremely buggy and unfinished back then, they decided to build off the master branch instead.

In early 2021, the OpenGL transition on 3b1b/manim was "complete" (the shaders branch became the master branch, and 3b1b/manim uses OpenGL as its renderer now). This is probably the main reason 3b1b still uses his own version.

Since we decided to work on the master branch, we were (and still are) using Cairo as the default renderer. However, work quickly began after this to transition the community version to use OpenGL. We currently have an experimental OpenGL renderer, and it actually is nearly as complete as 3b1b/manim. However, since we had to worry about backwards compatibility, tests, documentation, Jupyter, etc., this transition takes a lot of work and is still ongoing. I expect that within 1 or 2 months however, that the community version will become "strictly better" than 3b1b's version, i.e. it can do everything the 3b1b version can with the OpenGL renderer (although it may still be considered experimental).

The reason we recommend using the community version is because it is significantly less buggy, has much more comprehensive documentation, tests, Jupyter support, new features added by contributors and devs, plus if you happen to run into a bug, you're far more likely to have a contributor notice it and make a PR fixing it quickly. Yes our renderer is slower, but we're quickly preparing to transition to OpenGL as a default.

If you don't believe us that the community edition is more recommended for beginners, 3b1b himself says it now: https://www.3blue1brown.com/contact#manim

For more information, you can read this page: https://docs.manim.community/en/stable/installation/versions...


Have you thought about renaming the fork? Something like how pcsxr is a fork of pcsx, rather than having the two projects the same name.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: