v0.17.0
2022 年 12 月 2 日
重大变更
- #2898
SVGMobject
:移植了 3b1b/manim 的改进实现
此版本中的实现SVGMobject
完全改变。Manim 现在使用 Python 库svgelements
来解析 SVG,而不是尝试自己解析。SVG 路径对象的前一个类SVGPathMobject
已被替换(不弃用)VMobjectFromSVGPath
。
如果您需要从 SVG 路径字符串创建 mobject,可以通过以下方式执行此操作:
import svgelements as se my_path_mobject = VMobjectFromSVGPath(se.Path(my_path_string))
Copy to clipboard
未使用的类TexSymbol
已被删除。由于返工,这些模块变得多余并已被manim.mobject.svg.svg_path
删除。 manim.mobject.svg.style_utils
- #3030 : 添加了对 Python 3.11 的支持,放弃了对 Python 3.7 的支持
亮点
- #3049:添加了
manim-voiceover
插件的主题指南
这个新的主题指南简要介绍了manim-voiceover
,这是一个有助于向动画添加画外音的插件。支持使用您自己的声音以及合成生成的声音。
新功能
- #2883:添加动画
RemoveTextLetterByLetter
- #3016
LineJointTypes
:为 Cairo 和 OpenGL 渲染器实现 - #3017:用
RendererType
枚举条目替换渲染器字符串
增强功能
- #2927:允许在传入 a
networkx
时返回 3D 布局dim=3``layout_config
Graph
- #3014
Mobject.animate()
:为某些 IDE 启用代码完成
使用现有通用 Mobject 类型 T 和_Animation Builder 的联合作为 Mobject.animate 声明的返回类型以改进代码完成度。
修复了错误
- #2846:防止
TransformMatchingTex
当没有什么可以褪色时崩溃 - #2885 : 验证文件路径时始终扩展用户
- #2888
tex_template
:修复了使用时值传播的错误tempconfig
- #2895:修复损坏
ShowPassingFlashWithThinningStrokeWidth
- #2920:修复了传递
faded_line_ratio
到时褪色线的对齐方式NumberPlane
- #2977:允许渲染空文本字符串
- #2992:修复了
CLI.tex_template_file
配置文件设置 - #3003 : 修复了创建动画对象后
run_time
的设置Succession
- #3019 : 修复了具有多个移动命令的渲染 SVG 路径
与文档相关的更改
- #2881:修复了深潜指南中的小拼写错误
- #2886:添加了文档字符串和固定类型提示
get_winding_number()
- #2892:更正了
PolygonOnAxes
示例中的错误 - #2903:修复了常见问题解答中的小语法问题:一般用法
- #2904:修复了Manim 开发过程中的格式和语法问题
- #2911:禁用
SoundExample
文档中的自动播放 - #2914:添加了 conda 安装说明
- #2915:添加文档
three_dimensions
- #2919:修正了参数并增强了描述
ImageMobject.interpolate_color()
- #2932:修复了空白格式问题
- #2933:改进了“此模块中没有场景”错误的答案
- #2936:添加了 Windows 安装说明
winget
- #2962:禁用文档中的“在 GitHub 上编辑”按钮
- #2978:添加了文档和示例
CyclicReplace
- #3001:添加了有关构建失败的常见问题解答
manimpango
条目 - #3004:修复了文档构建警告
- #3018 : #2988的后续- 对一些文档字符串的修复和改进
- #3022:更正了类型提示
Axes.coords_to_point()
- #3035 : 包含 ubuntu 上的 Latex 安装说明
- #3044 : 添加了 pycairo 和 manimpango 所需的 Debian 依赖项
有关测试系统的更改
- #2893:改进的性能
test_threed.py
- #2981:实现了后备保存行为
pytest --show_diff
- #2982:将不稳定的测试重写为非
text_mobject
图形化 - #2991:迁移
os.path
到pathlib.Path
测试中 - #3053:在帧比较测试中添加像素值错误的阈值
我们的开发基础设施的变化
- #2925:CI(测试臂):将 python 版本更新为
3.10.6
- #2963 : CI (test-arm): 始终选择正确的 python 版本
- #3029:CI:更新了操作版本并添加了 dependentabot 配置
- #3045 : 更新了 Ubuntu CI 任务的 python-opengl -> python3-opengl
代码质量改进和类似的重构
- #2872:添加
extract_frames.py
实用程序脚本以帮助可视化测试控制数据 - #2877:通过添加缺少的可选
notebook
依赖项修复了活页夹启动问题 - #2887 : 删除了导致文件名冲突的空 i18n 文件
- #2931:更新
mapbox-earcut
- #2938:iCR、OpenRefactory, Inc. 建议的修复
- #2954:修复了点击版本字符串
pyproject.toml
- #2958 : 修复 mypy 丢失的存根包
- #2975:修复了自述文件中损坏的链接
- #2980:更多地迁移
os.path
到pathlib.Path
- #2983:修复了 Windows CI 管道
- #2988 : 将文档字符串中的所有类型参数转换为正确的类型注释
- #2994 : 修复了 Python 3.10 下文档测试的分段错误
- #2995:添加编码
open
到utils.text_file_writing
- #3032 : 将 jupyter-core 从 4.11.1 提升到 4.11.2
- #3033:从 9.2.0 到 9.3.0 的凹凸枕头
- #3054:删除未使用的
GraphicalUnitTester
新发布
- #3023:准备新版本:v0.17.0