This repo contains a local Codex plugin that helps create mathematical animations and still-frame visualizations with Manim Community Edition.
plugins/manim/.codex-plugin/plugin.json- The plugin manifest and UI metadata.
plugins/manim/skills/manim-visualizer/SKILL.md- The skill Codex should use for Manim-based math visualization work.
plugins/manim/skills/transformer-visualizer/SKILL.md- A transformer-focused skill for step-by-step LLM inference visuals.
plugins/manim/scripts/init_manim_project.sh- Checks native prerequisites and creates a standalone
uv-managed Manim project.
- Checks native prerequisites and creates a standalone
plugins/manim/scripts/render_manim.sh- Renders a specific scene from a local Manim project.
plugins/manim/scripts/render_manim_docker.sh- Renders a scene inside a pinned official Manim Docker image.
plugins/manim/docker/Dockerfile- Pins the repo's container path to the official
manimcommunity/manim:v0.20.1image.
- Pins the repo's container path to the official
.devcontainer/devcontainer.json- Opens this repo inside the pinned Manim container.
.agents/plugins/marketplace.json- A repo-local marketplace entry for the plugin.
- The plugin is skill-first instead of MCP-heavy.
- Setup is explicit: missing Cairo, Pango, or LaTeX dependencies are surfaced directly.
- Rendering stays workspace-local so generated scenes and media live with the user's project, not inside the plugin.
- The isolated path is container-first: use Docker when you want LaTeX support and reproducible renders without modifying the host.
The repo now includes reusable transformer visualization primitives plus one scene per major inference stage under manim/scenes/transformer_inference/.
Example steps:
EmbeddingAndPositionStepQKVProjectionStepAttentionScoringStepAttentionAggregationStepResidualMLPStepLogitSamplingStep
Render one step at a time:
export PATH="$HOME/Library/TinyTeX/bin/universal-darwin:$PATH"
./plugins/manim/scripts/render_manim.sh \
--project-dir ./manim \
--scene-file ./manim/scenes/transformer_inference/attention_scoring_step.py \
--scene-name AttentionScoringStep \
--quality lowRender a workspace-local project with the pinned official Manim container:
./plugins/manim/scripts/render_manim_docker.sh \
--project-dir /path/to/workspace/manim \
--scene-file /path/to/workspace/manim/scenes/example.py \
--scene-name ExampleScene \
--quality lowOpen this repo in a devcontainer:
devcontainer open .- The setup flow in this plugin was verified against the current stable Manim docs on April 6, 2026.
- At that time, the latest GitHub release was
v0.20.1dated February 27, 2026. - The Docker guidance in this repo was verified against the current stable Docker docs on April 6, 2026.