Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLI: manim init vs manim new + documentation! #2695

Open
1 of 2 tasks
behackl opened this issue Apr 23, 2022 · 9 comments
Open
1 of 2 tasks

CLI: manim init vs manim new + documentation! #2695

behackl opened this issue Apr 23, 2022 · 9 comments
Labels
documentation Improvements or additions to documentation enhancement Additions and improvements in general maintenance refactoring, typos, removing clutter/dead code, and other code quality improvements

Comments

@behackl
Copy link
Member

behackl commented Apr 23, 2022

Enhancement proposal

The dialog for creating a new project spawned using our CLI with manim new is actually pretty cool -- but unfortunately more or less completely undocumented. This should be changed, for example by rewriting the project creation part of the quickstart tutorial.

Moreover, I am not quite sure why we have both manim new and manim init, which seems to do a pretty similar thing.

  • Deprecation of manim new + moving functionality to manim init
  • Documenting the new utility in form of a tutorial (or by rewriting the quickstart tutorial)
@behackl behackl added documentation Improvements or additions to documentation enhancement Additions and improvements in general maintenance refactoring, typos, removing clutter/dead code, and other code quality improvements labels Apr 23, 2022
@joybh98
Copy link
Contributor

joybh98 commented Apr 24, 2022

Can I work on this ?

@behackl
Copy link
Member Author

behackl commented Apr 24, 2022

Can I work on this ?

Sure. After sleeping over it, I think the command that should remain is manim init (in resemblance to git init, and similar CLI scripts), so the first step would probably be a PR that

  • moves the functionality from manim new to manim init,
  • and issues a deprecation warning for manim new.

Removing manim new, and rewriting the documentation can then be done in a later PR.

@joybh98
Copy link
Contributor

joybh98 commented Apr 26, 2022

@behackl so if I understand correctly, first you want me to work on the command first, then the documentation right ?

@Darylgolden
Copy link
Member

@behackl so if I understand correctly, first you want me to work on the command first, then the documentation right ?

I'm not @behackl, but that's how I would interpret his comment.

@Phosphorescentt
Copy link
Contributor

Phosphorescentt commented Jun 11, 2022

I think the command that should remain is manim init (in resemblance to git init, and similar CLI scripts), so the first step would probably be a PR that

* moves the functionality from `manim new` to `manim init`,

* and issues a deprecation warning for `manim new`.

Removing manim new, and rewriting the documentation can then be done in a later PR.

I think it still makes sense for manim new to exist but with different functionality. manim new lets you decide whether you want to create a new project, or a new scene, the latter of which shouldn't be under manim init. If it were, we would have to write something like manim init new-scene which is a but cumbersome and doesn't make 100% sense in my mind.

I propose instead that both init and new stay, but we move some functionality around:

  • manim init should only create a new project and it should have the same dialog as manim new project
  • manim new should still exist but it should only have the manim new scene functionality that currently exists

This allows us to give manim init better functionality whilst also keeping manim new scene or just manim new which seems like a command that could be extended to generate more boilerplate code as required.

@Phosphorescentt
Copy link
Contributor

After more consideration, it does make more sense to just move all the current functionality from manim new to manim init, but I do think there is scope to keep manim new around for generating boilerplate code.

@Phosphorescentt
Copy link
Contributor

@behackl can this issue be closed now?

@behackl
Copy link
Member Author

behackl commented Jul 10, 2022

@behackl can this issue be closed now?

I've edited the issue description, there is still work to be done. :-)

@MrDiver
Copy link
Collaborator

MrDiver commented Dec 10, 2023

init should also contain VectorScene and LinearTransformationScene and ThreeDScene and ZoomedScene

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement Additions and improvements in general maintenance refactoring, typos, removing clutter/dead code, and other code quality improvements
Projects
Status: 🆕 New
Development

No branches or pull requests

5 participants