Skip to content

Continuous Release 1.0.0 #128

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

Merged
merged 10 commits into from
Feb 21, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Package extension
run: npm run package-vsce

- name: Upload VSIX artifact to
- name: Upload VSIX artifact to GitHub Release notes
if: startsWith(github.ref, 'refs/tags/')
uses: actions/upload-artifact@v4
with:
Expand Down
34 changes: 22 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div align="center">
<a href="https://marketplace.visualstudio.com/items?itemName=bhoov.vscode-manim">
<a href="https://marketplace.visualstudio.com/items?itemName=Manim-Notebook.manim-notebook">
<img src="./assets/manim-notebook-logo.png" width="130px" alt="Manim Notebook Logo showing a physical notebook with an 'M' letter on its title page"/>
</a>

Expand All @@ -11,27 +11,28 @@
</div>

<div align="center">
<a href="https://marketplace.visualstudio.com/items?itemName=bhoov.vscode-manim">VSCode Marketplace (outdated)</a>
| <a href="https://github.com/Manim-Notebook/manim-notebook/">GitHub</a>
<a href="https://marketplace.visualstudio.com/items?itemName=Manim-Notebook.manim-notebook">VSCode Marketplace</a>
|
<a href="https://github.com/Manim-Notebook/manim-notebook/">GitHub</a>
</div>
</div>

> [!note]
> December 2024 / January 2025: Hey there👋 We are currently working to ship the first release of Manim Notebook. The version already available on the VSCode Marketplace is outdated. If you are interested in the current state of the extension, just clone this repo and follow the [Developing guide](https://github.com/Manim-Notebook/manim-notebook/wiki/Developing).
<br>

> [!warning]
> This VSCode extension is specifically for [3b1b's original manim library](https://github.com/3b1b/manim)<br>
> and *NOT* the [Manim Community Edition (Manim CE)](https://www.manim.community/).
> This extension is for [3b1b's Manim library](https://github.com/3b1b/manim) and *NOT* the [Manim Community Edition (Manim CE)](https://www.manim.community/).

[**Manim Notebook Quick Showcase Video**](https://github.com/user-attachments/assets/24eab702-e351-4cc9-8f7b-7b94c54b4072)

## 🎈 What is this?

Manim Notebook is a VSCode extension that tailors your needs when writing Python code to animate mathematical concepts with 3Blue1Brown's [Manim library](https://github.com/3b1b/manim). It's *NOT* a Jupyter Notebook; instead it enriches your existing Python files with interactive Manim cells that let you live-preview parts of the code and instantly see the animations.
Manim Notebook is a VSCode extension tailored to your needs when writing Python code to animate mathematical concepts with 3Blue1Brown's [Manim library](https://github.com/3b1b/manim). It's *NOT* a Jupyter Notebook; instead it enriches your existing Python files with interactive Manim cells that let you live-preview parts of the code and instantly see the animations.

Originally, the motivation for this extension was Grant Sanderson's video [How I animate 3Blue1Brown](https://youtu.be/rbu7Zu5X1zI?feature=shared) where he shows his Manim workflow in Sublime Text. This extension brings a similar workflow to VSCode but even goes further and provides a rich VSCode integration.

## 💻 Usage

Our VSCode **walkthrough** will guide you through the first steps and provide a sample file. It should open automatically upon installation of [the Manim Notebook extension](https://marketplace.visualstudio.com/items?itemName=bhoov.vscode-manim). If not, you can invoke it manually: open the command palette (`Ctrl/Cmd + Shift + P`) and search for `Manim Notebook: Open Walkthrough`.
Our VSCode **walkthrough** will guide you through the first steps and provide a sample file. The walkthrough should open automatically upon installation of [the Manim Notebook extension](https://marketplace.visualstudio.com/items?itemName=Manim-Notebook.manim-notebook). If not, you can invoke it manually: open the command palette (`Ctrl/Cmd + Shift + P`) and search for `Manim Notebook: Open Walkthrough`.

The main concept is that of a Manim Cell, which is just a regular Python comment, but one that starts with `##` instead of `#`.

Expand All @@ -44,13 +45,22 @@ The main concept is that of a Manim Cell, which is just a regular Python comment

## 🚀 Features

- **Manim Cells**. Split your code into Manim Cells that start with `##`. You will be presented with a CodeLens to preview the animation.
- **Preview any code**. Simple as that, select any code and preview it.
- **Manim Cells**. Split your code into Manim Cells that start with `##`. You will be presented with a CodeLens to preview the animation (and you can even _reload_ your changed Python files such that you don't have to restart the preview).
- **Preview any code**. Simple as that, select any code and preview it. No manual copy-pasting needed.
- **With or without Terminal**. The extension parses the `manimgl` terminal output to provide rich VSCode integrations and makes possible an almost terminal-free workflow.
- Shows the progress of the live Manim preview as VSCode progress bar.
- Takes a user-defined delay into account, e.g. to wait for custom shell startup scripts (like `venv` activation).
- State management: keeps track of the ManimGL state to react accordingly in different situations, e.g. prevent from running multiple statements at the same time.
- **Video export**. Export your animations to a video file. A small wizard will guide you through the most important settings.
- **And more...** Find all commands in the command palette (`Ctrl/Cmd + Shift + P`) by searching for `> Manim Notebook`. E.g. another command lets you `clear()` the window. Yet with another one you can start the scene at your cursor.

TODO: Add a more complete feature list (maybe to the Wiki?). Add images to showcase each feature.
<sub>
In the long run, we aim to even provide a <strong>Debugger for Manim code</strong> such that you can step through your animations and run until breakpoints. This would be a huge step forward in the Manim development workflow. For now, the Manim Cells that we provide are a start towards a more interactive experience.
</sub>

<br>
<br>

<a href="https://marketplace.visualstudio.com/items?itemName=Manim-Notebook.manim-notebook">
<img src="https://github.com/user-attachments/assets/b13a01f6-7d24-4bfb-9d3f-fee7b8a456a3" alt="Manim Notebook Logo with a fancy color-gradient background"/>
</a>
8 changes: 6 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "manim-notebook",
"displayName": "Manim Notebook",
"description": "ManimGL with interactive previewing to easily visualize and share the beauty of mathematics and related fields.",
"version": "0.0.4",
"version": "1.0.0",
"publisher": "Manim-Notebook",
"author": {
"name": "Manim Notebook Contributors"
Expand Down Expand Up @@ -293,5 +293,9 @@
"type": "git",
"url": "https://github.com/Manim-Notebook/manim-notebook.git"
},
"icon": "assets/manim-notebook-logo.png"
"icon": "assets/manim-notebook-logo.png",
"galleryBanner": {
"color": "#112039",
"theme": "dark"
}
}