Problem
The current Manim Studio runtime inherits from:
manimcommunity/manim:v0.20.1
The upstream image includes a broad interactive Manim environment, including Jupyter-related and other packages that are not required for the normal Studio CLI, MCP, and render workflow.
A Docker Scout scan of the experimental 0.0.1 image reported:
- image size: approximately 1.5 GB
- packages: 817
- 2 critical vulnerabilities
- 65 high vulnerabilities
- 63 medium vulnerabilities
- 257 low vulnerabilities
- 63 unspecified vulnerabilities
Most findings originate from the upstream image, Debian packages, Jupyter components, and the broad LaTeX/font environment rather than Manim Studio code.
Goal
Investigate and validate a smaller purpose-built runtime containing only the dependencies required by Manim Studio.
Possible base:
python:3.11-slim-bookworm
Expected capabilities to preserve:
- Manim 0.20.1
- Manim Slides
- Studio CLI
- local MCP server
- Cairo/Pango text rendering
- images and video
- MathTex/LaTeX
- XeLaTeX where required
- Hebrew and RTL fonts
- named beats
- review artifacts
- PPTX export
- external-project mounts
Proposed approach
- Build a separate experimental runtime target.
- Keep the existing community-based runtime as the baseline.
- Define small capability-oriented smoke scenes.
- Compare image size, package count, Scout results, and runtime behavior.
- Consider an automated build/test minimization harness rather than manual package removal.
- Do not replace the existing runtime until the candidate passes the full capability matrix.
Acceptance criteria
- A candidate runtime builds reproducibly.
studio doctor passes.
- Basic Manim render passes.
- MathTex render passes.
- Hebrew/RTL render passes.
- Manim Slides render passes.
- external-project verification passes.
- PPTX export passes.
- MCP startup and structured operations pass.
- Image size and package count are materially reduced.
- Critical/high Scout findings are reduced or documented.
- The final dependency list and maintenance responsibilities are documented.
Priority and relationship
This issue is non-blocking.
It must not block:
- merging Project Init
- local development
- external-project creation
- work on educational presentations
Public-runtime distribution may continue experimentally while this issue remains open.
Problem
The current Manim Studio runtime inherits from:
The upstream image includes a broad interactive Manim environment, including Jupyter-related and other packages that are not required for the normal Studio CLI, MCP, and render workflow.
A Docker Scout scan of the experimental
0.0.1image reported:Most findings originate from the upstream image, Debian packages, Jupyter components, and the broad LaTeX/font environment rather than Manim Studio code.
Goal
Investigate and validate a smaller purpose-built runtime containing only the dependencies required by Manim Studio.
Possible base:
Expected capabilities to preserve:
Proposed approach
Acceptance criteria
studio doctorpasses.Priority and relationship
This issue is non-blocking.
It must not block:
Public-runtime distribution may continue experimentally while this issue remains open.