A 13-minute (786 s) 1080p instructional video on the Treatise on Rights by Imam Ali ibn al-Husayn (Zayn al-Abidin), taught in the style of Justin Sung: the big idea first, then the groups, then the details.
risalat-al-huquq.mp4— the final video (H.264 + AAC, with an embedded English subtitle track)risalat-al-huquq.srt— the subtitles as a separate filescenes.py— the narration script and the slide HTML for each scenebuild.py— the pipeline: TTS → slides rendered in headless Chrome → ffmpegnarration/— cached narration (one mp3 plus sentence timings per step), so rebuilds do not call the TTS service
Structure
The rights form six rings that ripple outward. Each ring is taught as one pattern:
| Ring | Pattern |
|---|---|
| 0 Root (God) | sincerity; every other right branches from it |
| 1 Self (7 organs) | guard it from the unlawful / use it for good |
| 2 Acts (prayer, fasting, charity, hajj, offering) | "know that…" → understanding before action |
| 3 Power (authority, knowledge, property) | a mirror: the same three channels in both directions |
| 4 Family | a ladder of closeness |
| 5 Everyone else | pairs: two sides of one relationship |
It closes with four patterns to keep, then a recall exercise (draw the rings from memory, explain the links, apply one right).
Rebuild
pip install edge-tts playwright # plus ffmpeg and a Chromium binary (set CHROME=/path/to/chrome)
python build.py --out risalat-al-huquq.mp4 # full video, about 3 minutes on 16 cores
python build.py --only 3 --out /tmp/preview.mp4 # one scene (here, the map)
Narration that changes in scenes.py gets new cache entries in narration/; unchanged steps reuse their cached audio.
Fonts (Inter, Caveat, Noto Naskh Arabic; OFL) download automatically into the work directory (RH_WORK, default /tmp/rh-build).
Notes
- Source: WikiShia, "Text: Risalat al-huquq (Treatise on Rights)", English translation via al-Islam.org. The narration paraphrases that translation and quotes only short phrases.
- The voice is Microsoft's
en-US-AndrewNeuralvoice (through edge-tts). Only the teaching style follows Justin Sung; the voice is not his.