| name | fourmost-educational-animation |
| description | Create a short Manim animation that explains the 4MOST spectrograph for 11th‑grade physics classes. Includes installation, script writing, rendering, common pitfalls, and fallback to external video. |
| version | 1.0.0 |
Goal
When to Use
Create a short Manim animation that explains the 4MOST spectrograph for 11th‑grade physics classes. Includes installation, script writing, rendering, common pitfalls, and fallback to external video.
Overview
This skill contains a reusable operational workflow. Follow the existing task-specific steps and examples in the sections below.
Pitfalls
- Do not hardcode credentials, tokens, or personal secrets.
- Verify external service URLs, paths, and permissions before making changes.
- Keep generated outputs reproducible and record input assumptions.
Verification
- Confirm required inputs and credentials are available.
- Run the smallest safe command or example before scaling up.
- Check produced files, API responses, or plots before reporting success.
Generate a concise, visually clear animation of the 4MOST multi‑object spectrograph suitable for a high‑school physics lesson.
Prerequisites
- Python 3.11+ installed.
- Ability to install Python packages (pip).
- Optional: graphical environment for rendering; otherwise use background rendering.
Step‑by‑step Procedure
- Create a working directory
mkdir -p ~/animations && cd ~/animations
- Install Manim (use
--break-system-packages if the environment is externally managed)
pip install manim --break-system-packages
- Write the animation script (save as
fourmost_spectrograph.py). Use Create instead of the deprecated ShowCreation. Example minimal script:
from manim import *
class FourMOSTSpectrograph(Scene):
def construct(self):
self.camera.background_color = "#0D1117"
title = Text("How the 4MOST Spectrograph Works", font="DejaVu Sans Mono", color=WHITE).scale(0.8).to_edge(UP)
self.play(Write(title))
self.wait(1)
Keep the script small (≈ 200‑250 lines) to avoid long render times.
- Render the animation
- Handle common errors
NameError: ShowCreation is not defined → replace with Create.
- Attribute errors from missing mobject properties often stem from mismatched Manim versions; ensure the script matches the installed Manim version (check
manim --version).
- If rendering times out or hangs, simplify the scene (fewer objects, use
Create/FadeIn instead of complex transforms).
- Fallback
If local rendering is impossible (e.g., no display, strict time limits), provide an existing public video that covers the same material, such as:
Pitfalls & Tips
- Never mix
Write and FadeOut in the same self.play – it causes overlapping text (see manim-educational-animation skill). Insert a short self.wait(0.5) after a FadeOut before the next Write.
- Use consistent positioning (
.to_edge, .next_to) to avoid drift.
- Keep colour palette dark‑background friendly (see colour constants in the skill). Adjust for classroom projectors if needed.
- Render in background to keep the interactive session responsive.
- If the script fails to locate the file, double‑check the path (
/home/hermes/animations/...). Use ls or read_file to verify.
Verification
- After rendering, the output video will be in
media/videos/.../FourMOSTSpectrograph.mp4. Play it locally to confirm the sequence runs smoothly and fits within a 2‑minute classroom slot.
- Ensure the final video has no leftover objects (use a final
FadeOut of the entire scene).
References