ManimCommunity / ManimCommunity/manim

Setting a stroke width for a `Tex` object gives "M" devil horns

Open
#3,328 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
40.9k
Forks
3.1k
Avg merge
3d 12h
Merged PRs (30d)
25

Description

Consider the following scene:

```python
class Test(Scene):
def construct(self):
test = Tex("M")
test.set_stroke(color = RED, width = 8)
self.add(test)
```

This is the result with the cairo renderer:

![Test_ManimCE_v0 17 3](https://github.com/ManimCommunity/manim/assets/20936595/58085ddc-1a34-43e7-b592-9e79e3db0db3)

I would expect those devil horns not to be there. Interestingly, while the problem seems to be there in the opengl renderer as well, it's not nearly as pronounced.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the provided scene using Tex("M") and set_stroke(width=8), rendering it with both the cairo and opengl renderers to reproduce the difference. Trace the stroke handling for Tex objects from this entry point. Done means the cairo result no longer shows the unintended devil horns and remains consistent with the opengl result.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.