Show HN: Manim (3Blue1Brown's animation engine) in the browser via WebGPU

studio.academa.ai

48 points by sinaatalay 22 hours ago

Grant Sanderson (3Blue1Brown) created Manim, the Python library he uses to make the math animations in his videos.

We reimplemented Manim with the same Python API, but the implementation underneath is Rust, connected to Python through PyO3. The Rust code uses wgpu, so rendering happens on the GPU.

To run it in the browser, we compiled the Rust parts to WebAssembly so the PyO3 extension loads in Pyodide. In the browser, wgpu targets the WebGPU API, so animations render in real time on your GPU through the browser.

The editor is Monaco (the editor that powers VS Code) with a live preview: write your Manim code on one side, watch the animation update on the other.

There's also a built-in AI agent if you'd rather vibe-code your animations.

Aurornis 18 hours ago

Looks interesting, but to be honest I'm put off by the idea that you had AI rewrite someone's library and now you're using their name and brand to promote your $20-$100 per month tool based on their work.

Calling it Manim in the browser and using 3Blue1Brown's name is really misleading when you discover that it's none of those things and you're trying to charge for it.

This is a very bad misappropriation of someone else's work and fame for your personal gain.

I can only hope that this inspires some people to vibecode and equivalent service but make it open source and free to all.

cure_42 20 hours ago

Not open source...?

rkolodz 17 hours ago

Just to let you know that "Live preview" in Windows on ARM fails to start with the message below. Chrome and Edge, I did not test FF.

animg.app shadertoy.com and glsl.app are working fine at the same time.

--- Live preview couldn't start Your browser supports WebGPU but no compatible GPU was available. Try updating your graphics drivers, enabling hardware acceleration, or using another device or browser.

  • sinaatalay 16 hours ago

    Thank you for letting us know.

mllev15 18 hours ago

So you vibe ported manim to rust, kept it closed source, and you’re selling access to it with a monthly subscription? This isn’t satire?

  • apoogdk 17 hours ago

    I built the core of the animation engine, and I think our wording may have created the wrong impression about how it was developed.

    For the use case we have, we needed a fast animation engine. The engine didn’t begin as a port or rewrite of Manim. We originally built it under a different name as a standalone Rust/WebGPU 3D animation engine for real-time AI tutoring. I spent roughly two months building the renderer and animation system from scratch.

    Our original engine had a different interface, different defaults and produced different visual results. Only after the engine was already working did we decide to make part of its Python interface compatible with ManimCE. We did that because many users already know the Manim API, and coding models are already familiar with its classes and common animation patterns. We spent substantial time matching ManimCE’s visual behavior as closely as possible. We believe this compatibility layer makes adoption easier; yet the underlying renderer, scene system, and implementation are our own.

    So describing this as vibe coding Manim in Rust and then closing the source is inaccurate. The browser editor, rendering, and video downloads are free. You are free to write code, render and download videos as much as you want. The paid features are the AI-powered functionality, which are priced to cover their cost to us.

    We respect that some people would prefer it to be open-source, but choosing not to open-source an independently developed engine is different from taking an open-source project and repackaging it as proprietary software.

    • mkl 17 hours ago

      In that case you shouldn't call it Manim or "3Blue1Brown's animation engine". At best this has a partly Manim-compatible API, similar to how XY [1] has a partly Matplotlib-compatible API.

      [1] https://news.ycombinator.com/item?id=49085798

      • sinaatalay 17 hours ago

        We are fully compatible with Manim CE. Our goal is 1:1 API compatibility, so people can continue using the API they already know.

        We never intended to use 3Blue1Brown's name in a negative or misleading way. We simply wanted to communicate that we have made the Manim API created by 3Blue1Brown accessible in the browser with WebGPU, without requiring any installation.

        • Aurornis 17 hours ago

          > We never intended to use 3Blue1Brown's name in a negative or misleading way

          You submitted this with the title “Manim (3Blue1Brown's animation engine) in the browser via WebGPU”

          Being misleading is exactly what you intended to do.

          • thirtygeo 16 hours ago

            Such bad faith here.. Rip off and then caught (inevitable, because most on HN likely love the original), then backpedal like crazy when called out

    • Aurornis 17 hours ago

      > So describing this as vibe coding Manim in Rust and then closing the source is inaccurate.

      Your team submitted this with the title “Manim (3Blue1Brown's animation engine) in the browser via WebGPU”

      If anyone is being misleading, it’s your team.

  • rvz 15 hours ago

    Maybe manim should not have used MIT as the license in the first place, since the license permits it.

    • Aurornis 6 hours ago

      MIT license does not give someone license to advertise a completely different project with your project's name and the name of its famous author.

      • rvz 5 hours ago

        On the website and even here, there is no advertisement of an endorsement or use of the author's name for this product. In fact, it is an attribution.

        We already know they took the open-source code, re-implemented it and closed-sourced it into a product and that is permitted under the MIT license:

        >> So you vibe ported manim to rust, kept it closed source, and you’re selling access to it with a monthly subscription? This isn’t satire?

        This isn't the same as what you would get from something like Markdown [0], which explicitly says:

        "Neither the name “Markdown” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission."

        What he must do is to attribute credit of the library to the original author (3Blue1Brown) for the derived use. But other than that, this is permitted.

        [0] https://daringfireball.net/projects/markdown/license

        • Aurornis 4 hours ago

          > On the website and even here, there is no advertisement of an endorsement or use of the author's name for this product. In fact, it is an attribution.

          I'm talking about the submission title, which makes the claim that Manim (3Blue1Brown's animation engine) is running in the browser via WebGPU.

          The product at the link is not 3Blue1Brown's animation engine. It is not Manim. They created something different and used Manim's API as a guide.

          The submission title claimed it was Manim and 3Blue1Brown's engine. It is not.

jjcm 17 hours ago

Yo that homepage zoom from the app screenshot straight into the experience was SMOOTH.

arecsu 21 hours ago

This is very cool!! I'm also mesmerized about the opening animation that transforms the interface of the editor to a complete viewport state. For some reason is pretty laggy on Chrome (macbook air M1) but Firefox is super smooth. Besides that, awesome idea :)

  • sinaatalay 21 hours ago

    Thank you! We simply mount the entire app inside the landing page, but rotate and scale it down. When the page opens, it smoothly animates into full screen using CSS transitions.

jsLavaGoat 19 hours ago

manim mcp is open source and works with your existing agent

iamleppert 21 hours ago

All of the examples besides the first one that is itself underwhelming are behind a paywall. For all we know it could be pre-recorded. Hard pass.

  • sinaatalay 21 hours ago

    You can use the editor however you like without signing up. The examples are simply sample prompts for the AI, but you can paste in any Manim code to editor from ChatGPT or anywhere else, and the preview will render it instantly.

    Downloading videos is completely free. Only the AI-powered features are behind the paywall, and there's a 7-day free trial.

    We'll put more pre-written examples, thank you!

    • farski 20 hours ago

      That was also unclear to me, so +1 for more code examples. Also, it seems like maybe this doesn't work in Safari but there's not error message or anything. I was looking for a Run or Render button or something to get things to happen, until I gave up and tried Firefox.

      • sinaatalay 1 hour ago

        Thank you for letting us know about the Safari issue.

        We've made the AI chat free up to a certain usage limit, so if you're interested, you can give it a try now!

  • sinaatalay 1 hour ago

    Sorry about that paywall. We've made the AI chat free up to a certain usage limit, so if you're interested, you can give it a try now!

emrekmz 21 hours ago

Great work! This can go huge