v0.16.0

Date:

2022年7月13日

贡献者

共有44人参与了此版本的贡献。名字旁边带有“+”的人是首次提交补丁的作者。

  • 亚历克斯·莱姆贝克

  • 巴鲁迪·艾门 +

  • 本杰明·哈克尔

  • Charalampos Georgiou +

  • 辛迪公园 +

  • Ejar +

  • 弗朗切斯科·弗拉西内利 +

  • 弗朗西斯科·曼里克斯·诺沃亚 +

  • 雅各布·埃文·希夫 +

  • 海梅·桑托斯 +

  • 乔纳森·阿尔珀特

  • 约书亚·曼克洛 +

  • 凯文·卢比克 +

  • 莱斯·巴霍迪

  • 孔令仁 +

  • Logen +

  • 纳文·M·K

  • 诺姆·扎克斯

  • 佩德罗·拉姆科夫斯基 +

  • 拉加夫·戈尔

  • 西米恩·威迪斯

  • 斯帕什·戈恩卡

  • TornaxO7 +

  • 特里斯坦·舒尔茨 +

  • 威尔·索尔塔斯

  • ad_chaos

  • conor-oneill-2 +

  • fcrozatier +

  • mooncaker816 +

  • niklebedenko +

  • nyabkun +

  • quark67

此版本中包含的补丁已由以下贡献者审核。

  • 亚历克斯·莱姆贝克

  • 本杰明·哈克尔

  • Darylgolden

  • 弗朗切斯科·弗拉西内利

  • 弗朗西斯科·曼里克斯·诺沃亚

  • 吉安卢卡·吉佩托

  • 扬-亨德里克·穆勒

  • 乔纳森·阿尔珀特

  • 凯文·卢比克

  • 莱斯·巴霍迪

  • 纳文·M·K

  • 佩德罗·拉姆科夫斯基

  • 菲利普·伊姆霍夫

  • 拉加夫·戈尔

  • 瑞安·麦考利

  • 斯帕什·戈恩卡

  • TornaxO7

  • 特里斯坦·舒尔茨

  • ad_chaos

  • hickmott99

合并的拉取请求

本次发布共合并了56个拉取请求。

亮点

  • #2550: New thematic guide: a deep dive into the internals of the library

    这个新的主题指南旨在成为一个全面的教程,描述当你运行Manim以生成视频时,Manim所做的所有事情。

  • #2732: 改进了部署文档的整体结构;添加了一个专门的常见问题解答部分

  • #2749: Added ChangeSpeed, an animation wrapper that allows to smoothly change the speed at which an animation is played

    任何动画的速度都可以通过将动画包裹在ChangeSpeed中并传递一个字典作为speedinfo来改变,该字典的键是相对动画运行时间戳,值是绝对速度因子;例如,{0.5: 2, 0.75: 0.25}在动画完成50%时平滑地将动画速度加快2倍,然后在动画完成75%后平滑地将速度减慢到默认运行速度的1/4。动画的run_time将被调整以匹配改变后的播放速度。

    也可以添加基于时间的更新器,这些更新器会考虑速度的变化,使用辅助的ChangeSpeed.add_updater()方法来实现。

新功能

  • #2667: 使FFmpeg可执行文件路径可配置

  • #2739: 通过关键字参数 use_vectorized 添加了向量化绘图功能以提高性能

增强功能

  • #2186: 启用了通过值为OpenGLSurface填充颜色的功能,将Surface.set_fill_by_value()colors关键字参数替换为colorscale

  • #2288: 当尝试将相同的mobject作为子对象添加两次时,添加了警告

  • #2707: Fixed missing get_nth_curve_length_pieces method of OpenGLVMobject
    • OpenGLVMobject中移除了get_curve_functions_with_lengths的重复定义

    • get_nth_curve_length_pieces的定义添加到OpenGLVMobject

  • #2709: 改进了Matrix括号的外观

  • #2714: 修复了 OpenGLVMobject.pointwise_become_partial() 以改进笔画渲染

  • #2727: 对ArrowVectorField和Bézier曲线计算的性能略有提升

  • #2728: 添加了 VectorField.fit_to_coordinate_system() 以将矢量场拟合到给定的坐标系

  • #2730: 添加了注释,以便用户更容易找到默认CLI子命令的文档

  • #2746: 在docker镜像中安装了ghostscript

  • #2841: 添加了 split_quadratic_bezier()subdivide_quadratic_bezier()

  • #2842: CLI: 将功能从manim new移动到manim init,并为manim new添加了弃用警告

  • #2866: 重新组织测试文件以匹配库模块结构

修复的bug

关于测试系统的更改

  • #2743: 用np.testing中的断言函数替换了assert语句

我们的开发基础设施的变化

  • #2700: CI: 更新了Python版本

  • #2701: CI: 添加了一个工作流,用于在发布和提交到主分支后发布Docker镜像

代码质量改进和类似的重构

  • #2680: 增加了numpy的最低要求版本至1.19

  • #2687: 从 os.path 迁移到 pathlibSVGMobject 和其他位置

  • #2715: 更新了已弃用的 pillow 常量

  • #2735: 将pyjwt从2.3.0升级到2.4.0

  • #2748: 将pillow从9.1.0升级到9.1.1

  • #2751: 修复了flake C417并改进了注释

  • #2825: 将 notebook 从 6.4.11 升级到 6.4.12

  • #2864: 更新了锁文件

新版本

  • #2863: 准备了新版本, v0.16.0