Transforming Tex with opengl renderer results in "Exception: Could not find a ring to attach"
Description of bug / unexpected behavior
When I try to transform Tex with opengl renderer, I encountered "Exception: Could not find a ring to attach". With the default cairo renderer everything worked fine.
Expected behavior
I expected my code will run even if I choose the opengl renderer.
How to reproduce the issue
Code for reproducing the problem
Run with the --renderer=opegl flag, and you'll encounter "Exception: Could not find a ring to attach". Without the --renderer=opegl flag, everything works just fine.
from manim import *
class Tran(Scene):
def construct(self):
A = Tex("A")
B = Tex("B")
self.play((A, B))
Logs
Terminal output
System specifications
System Details
- OS: Ubuntu 24.04 LTS, kernel: 6.8.0-31-generic
- RAM: 64GB
- Python version (
python/py/python3 --version): Python 3.10.14 - Installed modules (provide output from
pip list):
Package Version
-------------------- -----------
asttokens 2.4.1
Brotli 1.1.0
build 1.2.1
CacheControl 0.14.0
certifi 2024.2.2
cffi 1.16.0
charset-normalizer 3.3.2
cleo 2.1.0
click 8.1.7
click-default-group 1.2.4
cloup 3.0.5
colorama 0.4.6
colour 0.1.5
comm 0.2.2
contourpy 1.2.1
crashtest 0.4.1
cryptography 42.0.7
cycler 0.12.1
dearpygui 1.11.1
debugpy 1.8.1
decorator 5.1.1
distlib 0.3.8
dulwich 0.21.7
exceptiongroup 1.2.0
executing 2.0.1
fastjsonschema 2.19.1
filelock 3.14.0
fonttools 4.52.4
future 1.0.0
glcontext 2.5.0
gprof2dot 2019.11.30
idna 3.7
importlib_metadata 7.1.0
installer 0.7.0
ipykernel 6.29.3
ipython 8.24.0
isosurfaces 0.1.2
jaraco.classes 3.4.0
jedi 0.19.1
jeepney 0.8.0
jupyter_client 8.6.2
jupyter_core 5.7.2
keyring 24.3.1
kiwisolver 1.4.5
manim 0.18.1
ManimPango 0.5.0
mapbox-earcut 1.0.1
markdown-it-py 3.0.0
matplotlib 3.9.0
matplotlib-inline 0.1.7
mdurl 0.1.2
moderngl 5.10.0
moderngl-window 2.4.1
more-itertools 10.2.0
mpmath 1.3.0
msgpack 1.0.8
multipledispatch 0.6.0
nest_asyncio 1.6.0
networkx 3.3
numpy 1.26.4
packaging 24.0
parso 0.8.4
pexpect 4.9.0
pickleshare 0.7.5
pillow 10.3.0
pip 24.0
pkginfo 1.10.0
platformdirs 4.2.2
poetry 1.8.3
poetry-core 1.9.0
poetry-plugin-export 1.8.0
prompt-toolkit 3.0.42
psutil 5.9.8
ptyprocess 0.7.0
pure-eval 0.2.2
pycairo 1.26.0
pycparser 2.22
pydub 0.25.1
pyglet 1.5.16
Pygments 2.18.0
PyOpenGL 3.1.7
pyparsing 3.1.2
pyproject_hooks 1.1.0
pyrr 0.10.3
PySocks 1.7.1
python-dateutil 2.9.0
PyYAML 6.0.1
pyzmq 26.0.3
rapidfuzz 3.9.1
requests 2.32.2
requests-toolbelt 1.0.0
rich 13.7.1
scipy 1.13.1
screeninfo 0.8.1
SecretStorage 3.3.3
setuptools 70.0.0
shellingham 1.5.4
six 1.16.0
skia-pathops 0.8.0.post1
snakeviz 2.2.0
srt 3.5.3
stack-data 0.6.2
svgelements 1.9.6
sympy 1.12
tomli 2.0.1
tomlkit 0.12.5
tornado 6.4
tqdm 4.66.4
traitlets 5.14.3
trove-classifiers 2024.5.22
typing_extensions 4.11.0
urllib3 2.2.1
validators 0.28.3
virtualenv 20.26.2
watchdog 4.0.1
wcwidth 0.2.13
wheel 0.43.0
zipp 3.17.0
LaTeX details
- LaTeX distribution: TeX Live 2023
is this really your complete code?
from manim import *
class Tran(Scene):
def construct(self):
A = Tex("A")
B = Tex("B")
self.play((A, B))
You are missing any form of animation command inside the self.play()
Sorry, the code should be the following one:
from manim import *
class Tran(Scene):
def construct(self):
A = Tex("A")
B = Tex("B")
self.play(Transform(A, B))
I am experiencing the same issue, except with ReplacementTransform(integer.copy(), hexInt). integer is an Integer() object while hexInt is a VGroup. The confusion is that it works half of the time and the other half it doesn't. This is the first Transform() and second self.play(). With the cairo renderer, it also works 100% of the time, no issues there.