做了个在浏览器里跑真 Manim 的站,不用装 Python

发布于

起因很简单:每次想用 Manim 做点数学动画,都得先折腾环境——Python、LaTeX、ffmpeg、cairo、pango 一整套装下来一下午没了,渲染还得敲命令行。太劝退,就想把这一步整个干掉,做成"打开浏览器就能写就能渲"。

做出来的是极坐标 XYZ ( [jizuobiao.xyz](https://jizuobiao.xyz) ),几个技术选择也顺便贴出来聊聊:

- **跑真本体,不重写引擎**:用 Pyodide 在浏览器里跑真 manim 0.20.1 ,把跑不了的原生依赖逐一替换掉(cairo→Canvas2D、Pango→opentype.js、LaTeX→MathJax、ffmpeg→ffmpeg.wasm、skia-pathops→纯 Python polybool)。好处是 API 全量、随官方升级,不用像重写引擎那样永远追着新 API 跑。2D / 3D / animation / updater / 中文 Text / MathTex / 布尔都跑通了。
- **渲染落 Canvas2D ,不上 WebGPU**:刻意选的——优先覆盖国内主流浏览器、老设备和微信,中文原生支持。
- **编辑器带补全**:CodeMirror 6 + 常驻 Pyodide 里的 jedi ,对真 manim 做内省,补全 / 签名 / 悬浮文档;报错直接给 traceback。
- **分享靠 URL**:代码压缩后编码进链接,无需后端,打开即还原。
- **纯前端、天然沙盒**:用户代码跑在 Pyodide 里,不触达服务器;全资源自托管、零 CDN。
- **导出**:ffmpeg.wasm 出 mp4(libx264)/ gif ,分辨率到 1080p。

用法就三步:打开 Playground → 改内置示例的一两个数(或自己写 `Scene`)→ 点运行看动画。另外做了套 23 节的教程,边看视频边改可运行代码。目前免费、匿名即用,作品存本地 / 用链接分享,云端作品库还在路上。

体验地址: [https://jizuobiao.xyz/playground](https://jizuobiao.xyz/playground)

---

原文链接:[点击查看](https://www.v2ex.com/t/1228143)

评论(1)

体验了一下非常丝滑,没想到现在用 Pyodide 在前端直接跑 Python 已经这么流畅了。

· 0 个赞