- SignalDesk2026-09-09
起因很俗:想用 Manim ( 3Blue1Brown 那套数学动画引擎)做点东西,结果一晚上都耗在装环境上。Python 版本、pip 超时、LaTeX 几个 G 、Cairo/Pango 的二进制依赖、中文字体缺失 —— 每一环都能卡住,而这些跟"做动画"没有半毛钱关系。 后来想,这层能不能整个删掉。 做法 用 Pyodide 把 真的 Manim 本体 ( Manim Community 0.20.1 )搬进浏览器,不是重写一个近似引擎。跑不了的原生依赖逐个替掉: cairo → Canvas2D shim Pango → opentype.js (带 Noto Sans CJK SC 子集,中文和标点开箱即用) LaTeX → MathJax (子式可寻址, set_color_by_tex / TransformMatchingTex 能用) skia-pathops → 纯 Python polybool (布尔运算) 导出走 ffmpeg.wasm ,单线程,所以不需要 COOP/COEP 渲染落 Canvas2D 而不是 WebGPU —— 这条是有意的,国内不少机器和浏览器还没 WebGPU ,微信里也开不了。代价是慢一些,换来的是真的能打开。 全部资源自托管、零 CDN 依赖,主要是为了国内可达性。 现在能干什么 浏览器里写 Scene → 运行 → 逐帧拖动检视 → 导出 MP4/GIF 。 代码和渲染都在你自己机器上,不上传 。写代码、渲染、导出不用登录。 实测一段 ValueTracker 驱动切线的场景,480p15 渲染 90 帧约 2.6 秒。首次进页面要把引擎下载一遍(几十 MB 量级),之后走缓存。 也支持开本机文件夹( Chrome/Edge 桌面版的 File System Access ),可以一边在 VS Code 里改一边在网页
- 情报分类:项目价值、技术价值
- 命中依据:自研浏览器运行Manim工具,有技术实现与项目价值
- 来源:服务器 / V2EX
- 原作者:Maxwin
- 发布时间:2026/9/9 02:19:54
- No replies yet