Skip to content

Commit cddd47c

Browse files
authored
Remove WebGL renderer (ManimCommunity#2630)
* Remove WebGL renderer Fixes ManimCommunity#2629 * Remove occurence of webgl_renderer in CI config * Fix Dockerfile * Remove reference to webgl renderer in config docs * Update poetry lock file * Remove some scripts related to webgl * Don't use rich 12.0 version * Ignore rich 12.0.0 * Fix dependency, it was wrong previously
1 parent cecb2f8 commit cddd47c

25 files changed

+470
-3632
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
4646
- name: Install Manim
4747
run: |
48-
poetry install -E webgl_renderer
48+
poetry install
4949
5050
- name: Run tests
5151
run: |
@@ -202,7 +202,7 @@ jobs:
202202
- name: Install manim
203203
run: |
204204
poetry config experimental.new-installer false
205-
poetry install -E webgl_renderer
205+
poetry install
206206
207207
- name: Run tests
208208
run: |

docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ RUN wget -O /tmp/install-tl-unx.tar.gz http://mirror.ctan.org/systems/texlive/tl
3030
# clone and build manim
3131
COPY . /opt/manim
3232
WORKDIR /opt/manim
33-
RUN pip install --no-cache .[jupyterlab,webgl_renderer]
33+
RUN pip install --no-cache .[jupyterlab]
3434

3535
RUN pip install -r docs/requirements.txt
3636

docs/source/tutorials/configuration.rst

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,6 @@ A list of all config options
360360
'progress_bar', 'quality', 'right_side', 'save_as_gif', 'save_last_frame',
361361
'save_pngs', 'scene_names', 'show_in_file_browser', 'sound', 'tex_dir',
362362
'tex_template', 'tex_template_file', 'text_dir', 'top', 'transparent',
363-
'upto_animation_number', 'use_opengl_renderer', 'use_webgl_renderer',
364-
'verbosity', 'video_dir', 'webgl_renderer_path', 'window_position',
365-
'window_monitor', 'window_size', 'write_all', 'write_to_movie', 'enable_wireframe',
366-
'force_window']
363+
'upto_animation_number', 'use_opengl_renderer', 'verbosity', 'video_dir',
364+
'window_position', 'window_monitor', 'window_size', 'write_all', 'write_to_movie',
365+
'enable_wireframe', 'force_window']

manim/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
config.renderer = parsed_renderer
2828
elif arg == "--use_opengl_renderer":
2929
config.renderer = "opengl"
30-
elif arg == "--use_webgl_renderer":
31-
config.renderer = "webgl"
3230

3331
# many scripts depend on this -> has to be loaded first
3432
from .utils.commands import * # isort:skip

manim/_config/default.cfg

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,9 @@ tex_dir = {media_dir}/Tex
9393
text_dir = {media_dir}/texts
9494
partial_movie_dir = {video_dir}/partial_movie_files/{scene_name}
9595

96-
# --renderer [cairo|opengl|webgl]
96+
# --renderer [cairo|opengl]
9797
renderer = cairo
9898

99-
# --use_webgl_renderer
100-
use_webgl_renderer = False
101-
102-
# --webgl_renderer_path
103-
webgl_renderer_path =
104-
10599
# --use_opengl_renderer
106100
use_opengl_renderer = False
107101

manim/_config/utils.py

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,6 @@ class MyScene(Scene):
255255
"input_file",
256256
"media_embed",
257257
"media_width",
258-
"webgl_renderer_path",
259258
"log_dir",
260259
"log_to_file",
261260
"max_files_cached",
@@ -282,7 +281,6 @@ class MyScene(Scene):
282281
"upto_animation_number",
283282
"renderer",
284283
"use_opengl_renderer",
285-
"use_webgl_renderer",
286284
"enable_gui",
287285
"gui_location",
288286
"use_projection_fill_shaders",
@@ -537,7 +535,6 @@ def digest_parser(self, parser: configparser.ConfigParser) -> ManimConfig:
537535
"flush_cache",
538536
"custom_folders",
539537
"use_opengl_renderer",
540-
"use_webgl_renderer",
541538
"enable_gui",
542539
"fullscreen",
543540
"use_projection_fill_shaders",
@@ -577,7 +574,6 @@ def digest_parser(self, parser: configparser.ConfigParser) -> ManimConfig:
577574
"movie_file_extension",
578575
"background_color",
579576
"renderer",
580-
"webgl_renderer_path",
581577
"window_position",
582578
]:
583579
setattr(self, key, parser["CLI"].get(key, fallback="", raw=True))
@@ -710,7 +706,6 @@ def digest_args(self, args: argparse.Namespace) -> ManimConfig:
710706
"renderer",
711707
"background_color",
712708
"use_opengl_renderer",
713-
"use_webgl_renderer",
714709
"enable_gui",
715710
"fullscreen",
716711
"use_projection_fill_shaders",
@@ -1181,7 +1176,7 @@ def dry_run(self, val: bool) -> None:
11811176

11821177
@property
11831178
def renderer(self):
1184-
"""Renderer: "cairo", "opengl", "webgl"""
1179+
"""Renderer: "cairo", "opengl"""
11851180
return self._d["renderer"]
11861181

11871182
@renderer.setter
@@ -1221,7 +1216,7 @@ def renderer(self, val: str) -> None:
12211216
self._set_from_list(
12221217
"renderer",
12231218
val,
1224-
["cairo", "opengl", "webgl"],
1219+
["cairo", "opengl"],
12251220
)
12261221

12271222
@property
@@ -1236,31 +1231,9 @@ def use_opengl_renderer(self, val: bool) -> None:
12361231
self._set_from_list(
12371232
"renderer",
12381233
"opengl",
1239-
["cairo", "opengl", "webgl"],
1234+
["cairo", "opengl"],
12401235
)
12411236

1242-
@property
1243-
def use_webgl_renderer(self):
1244-
"""Whether or not to use WebGL renderer."""
1245-
return self._d["use_webgl_renderer"]
1246-
1247-
@use_webgl_renderer.setter
1248-
def use_webgl_renderer(self, val: bool) -> None:
1249-
self._d["use_webgl_renderer"] = val
1250-
if val:
1251-
self._set_from_list(
1252-
"webgl",
1253-
"renderer",
1254-
["cairo", "opengl", "webgl"],
1255-
)
1256-
self["disable_caching"] = True
1257-
1258-
webgl_renderer_path = property(
1259-
lambda self: self._d["webgl_renderer_path"],
1260-
lambda self, val: self._d.__setitem__("webgl_renderer_path", val),
1261-
doc="Path to WebGL renderer.",
1262-
)
1263-
12641237
media_dir = property(
12651238
lambda self: self._d["media_dir"],
12661239
lambda self, val: self._set_dir("media_dir", val),

manim/camera/webgl_camera.py

Lines changed: 0 additions & 35 deletions
This file was deleted.

manim/cli/render/commands.py

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,6 @@ def render(
5050
)
5151
args["renderer"] = "opengl"
5252

53-
if args["use_webgl_renderer"]:
54-
logger.warning(
55-
"--use_webgl_renderer is deprecated, please use --renderer=webgl instead!",
56-
)
57-
args["renderer"] = "webgl"
58-
59-
if args["use_webgl_renderer"] and args["use_opengl_renderer"]:
60-
logger.warning("You may select only one renderer!")
61-
sys.exit()
62-
6353
if args["save_as_gif"]:
6454
logger.warning("--save_as_gif is deprecated, please use --format=gif instead!")
6555
args["format"] = "gif"
@@ -120,20 +110,6 @@ def __repr__(self):
120110
except Exception:
121111
error_console.print_exception()
122112
sys.exit(1)
123-
elif config.renderer == "webgl":
124-
try:
125-
from manim.grpc.impl import frame_server_impl
126-
127-
server = frame_server_impl.get(file)
128-
server.start()
129-
server.wait_for_termination()
130-
except ModuleNotFoundError:
131-
console.print(
132-
"Dependencies for the WebGL render are missing. Run "
133-
"pip install manim[webgl_renderer] to install them.",
134-
)
135-
error_console.print_exception()
136-
sys.exit(1)
137113
else:
138114
for SceneClass in scene_classes_from_file(file):
139115
try:

manim/cli/render/render_options.py

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def validate_resolution(ctx, param, value):
9595
),
9696
option(
9797
"--renderer",
98-
type=click.Choice(["cairo", "opengl", "webgl"], case_sensitive=False),
98+
type=click.Choice(["cairo", "opengl"], case_sensitive=False),
9999
help="Select a renderer for your Scene.",
100100
default=None,
101101
),
@@ -105,18 +105,6 @@ def validate_resolution(ctx, param, value):
105105
help="Render scenes using OpenGL (Deprecated).",
106106
default=None,
107107
),
108-
option(
109-
"--use_webgl_renderer",
110-
is_flag=True,
111-
help="Render scenes using the WebGL frontend (Deprecated).",
112-
default=None,
113-
),
114-
option(
115-
"--webgl_renderer_path",
116-
default=None,
117-
type=click.Path(),
118-
help="The path to the WebGL frontend.",
119-
),
120108
option(
121109
"-g",
122110
"--save_pngs",

manim/constants.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767
"GIF_FILE_EXTENSION",
6868
"FFMPEG_VERBOSITY_MAP",
6969
"VERBOSITY_CHOICES",
70-
"WEBGL_RENDERER_INFO",
7170
"QUALITIES",
7271
"DEFAULT_QUALITY",
7372
"DEFAULT_QUALITY_SHORT",
@@ -216,12 +215,6 @@
216215
"CRITICAL": "fatal",
217216
}
218217
VERBOSITY_CHOICES = FFMPEG_VERBOSITY_MAP.keys()
219-
WEBGL_RENDERER_INFO: str = (
220-
"The Electron frontend to Manim is hosted at "
221-
"https://github.com/ManimCommunity/manim-renderer. After cloning and building it, "
222-
"you can either start it prior to running Manim or specify the path to the "
223-
"executable with the --webgl_renderer_path flag."
224-
)
225218

226219
# Video qualities
227220
QUALITIES: dict[str, dict[str, str | int | None]] = {

0 commit comments

Comments
 (0)