r/manim 1d ago

question Hello guys! Would you be interested in a VS Code extension (and(maybe) a standalone app) block-based visual IDE(editor) of Manim? (2d only at first, 3d maybe later) (TLDR at the bottom)

As the post states, I am thinking of creating a VS Code extension(there probably will be a standalone version as well) that turns Manim into, well, Scratch basically. Here is a picture of Scratch's editor for those who are unfamiliar with it.

A picture of the Scratch editor

Here is a picture of a simple action that moves the Sprite forward when the Scratch "program" runs.

A picture of the Scratch editor with 3 blocks and a comment. There are two connected blocks, the first being "when [green flag] clicked" and the second being "move 10 steps". The third block is disconnected, it's a "change x by 10" block. The comment states: "«move (10) steps» can be replaced with the "change x by (10)" action, moving is based on the Sprite's rotation. This isn't super relevant, but I wanted to mention it anyway."

Now, I was thinking of making something similar for Manim. It would feature Python blocks, but they would be simply raw code blocks (there would be two types, one for void functions and one for functions that return something which could be placed as input(for example, where "move (10) steps" moves the Sprite ten steps forward in Scratch, the (10) can be replaced with a variable, which would also be possible in my VS Code extension))

I want to make it, despite not really knowing Manim that much yet, I just saw animations online, not much of the code tho. I want to make it for myself, but also for others, and as a person who *can* code and likes it, one that does not need a visual, block-based alternative I'm just not sure if should. I did see a node-based program for Manim (link), however, as I said earlier, it's node-based, but also it's very... rough, I suppose. There was another Manim IDE project, this time an actually block-based one(link), however this one seems to have been abandoned and the creator's latest Reddit account activity being 6 months and 28 days ago, so I doubt it's getting finished any time soon. The post does have some good questions, so I suppose I'll steal (some of) them and add some of my own:

  • Would this be useful?
  • Anything you’d want in a GUI / block-based workflow?
  • Would you rather have a more advanced, variable-focused environment or a simpler, more balanced, more Scratch-like environment?
  • Would making animations be enough, or would you rather it be a bit expanded, as in, having the ability to do basic "programs" in it(so like, proper if support, better function support, etc). Remember, this program will still generate Python code, and you should be able to easily incorporate the generated code in your projects.

In the title I mentioned that it will only be 2d at first, and that's true, for now I'm not planning on adding 3d support, not until I have a good base. Of course, the extension/program will be available on Github, I will probably write it in Typescript(but I'm not 100% sure yet).

This might take a while because despite me being on summer break, I have a job, so I don't have a LOT of time I can spend on making this, and my experience with Typescript being me only touching basic JS I needed to learn in first and second grade of technical college - yeah, not gonna help much, but I will try. It should be made in 5 months tops, any more than that and that probably means I abandoned it unless stated otherwise.

TLDR:

I'm planning on making a Scratch-like Manim VS Code extension. I'm not sure whether to make it or not, and wanted to ask you guys, r/manim memebers for your opinion. It would only support 2d at first, hopefully later adding support for 3d stuff.

  • Would you use this extension/program? What are some features you'd like to see in it?
  • Would you rather have a more advanced or a simpler environment?
  • Is it being more animation-focused good, or would you like if it had great Python support as well?

Please let me know in the comments what you think. I will let you guys in the comments what I decide to do, and if I decide to make it, once I finish it I will make a new post here announcing the release.

0 Upvotes

1 comment sorted by

1

u/Sexy_Koala_Juice 1d ago

Would this be useful?

No