Skip to content

Fail closed when manim.font, quality, or manim_path is a list - #106

Merged
cursor[bot] merged 3 commits into
mainfrom
cursor/manim-font-quality-2ccd
Sep 7, 2026
Merged

cursor[bot] merged 3 commits into
mainfrom
cursor/manim-font-quality-2ccd

Conversation

@jmjava

@jmjava jmjava commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

YAML lists for manim.font, manim.quality, and manim.manim_path were coerced with str():

  • font became "['Liberation Sans']" and Manim used a bogus family
  • quality became "['1080p30']", missed the preset map, and silently fell back to 720p30
  • manim_path became "['/usr/bin/manim']" and binary lookup failed later

This PR requires those present keys to be non-empty YAML strings at Config.__post_init__. Missing keys still use defaults (Liberation Sans, 1080p30, no path).

Test plan

  • ruff check src/ tests/
  • Targeted pytest: test_from_yaml_list_manim_font_raises, _quality_raises, _path_raises
  • Full pytest tests/ — 631 passed, 1 skipped
  • docgen benchmark vs src/docgen/benchmark_data/baseline.json (quality average 100.0)

Milestone

milestones/manim-font-quality.md

Open in Web Open in Cursor 

cursoragent and others added 2 commits September 7, 2026 20:54
YAML lists were str()'d into a bogus font name, a quality string that
silently fell back to 720p30, or a nonexistent manim binary path.
Require those present keys to be non-empty YAML strings at config load.

Co-authored-by: jmjava <jmjava@gmail.com>
ruff, pytest (631 passed, 1 skipped), and docgen benchmark are green.

Co-authored-by: jmjava <jmjava@gmail.com>
@jmjava
jmjava marked this pull request as ready for review September 7, 2026 20:55
Co-authored-by: jmjava <jmjava@gmail.com>
@cursor
cursor Bot merged commit 5c900d0 into main Sep 7, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants