v0.10.0

日期:

2021年9月1日

贡献者

共有40人参与了本次发布。名字旁带有“+”的人员是首次贡献补丁。

  • Animfysyk +

  • Benjamin Hackl

  • Christian Clauss

  • Daniel Adelodun +

  • Darigov Research

  • Darylgolden

  • Eric Biedert +

  • Harivinay

  • Jan-Hendrik Müller

  • Jephian Lin +

  • Joy Bhalla +

  • Laith Bahodi

  • Lalourche +

  • Max Stoumen

  • Naveen M K

  • Oliver

  • Partha Das +

  • Raj Dandekar +

  • Rohan Sharma +

  • Ryan McCauley

  • Václav Hlaváč +

  • asjadaugust +

  • ccn

  • icedcoffeeee

  • sparshg

  • vinnniii15 +

  • vladislav doster +

  • xia0long +

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

  • Aathish Sivasubrahmanian

  • Benjamin Hackl

  • Darylgolden

  • Devin Neal

  • Eric Biedert

  • GameDungeon

  • Harivinay

  • Hugues Devimeux

  • Jan-Hendrik Müller

  • Jason Villanueva

  • Jephian Lin

  • Joy Bhalla

  • KingWampy

  • Laith Bahodi

  • Naveen M K

  • Oliver

  • Raghav Goel

  • Raj Dandekar

  • Ryan McCauley

  • ccn

  • icedcoffeeee

  • ralphieraccoon

  • sparshg

合并的拉取请求

此版本共合并了59个拉取请求。

重大更改

  • #1843:删除了冗余的OpenGL文件,并为Surface添加了元类支持
    • 来自opengl_geometry.pyopengl_text_mobject.pyopengl_tex_mobject.pyopengl_svg_path.pyopengl_svg_mobject.py以及opengl_three_dimensions.py大部分内容的OpenGL<x>类已被移除。

    • ParametricSurface已重命名为Surface

已废弃的类和函数

新功能

  • #1929:为ThreeDScene.move_camera()实现了zoom参数

    现在可以通过在construct方法中调用,例如self.move_camera(zoom=2),来放大ThreeDScene

  • #1980:为TracedPath添加了dissipating_time关键字参数,以允许动画化一个消散的路径

  • #1899:允许在运行时将渲染器切换到OpenGL

    以前,元类方法仅在类对象初始化时(即导入时)更改继承链以在OpenGL和cairo mobject之间切换。此拉取请求还在config.renderer的值更改时触发继承链的更改。

  • #1828:添加了配置选项zero_pad,用于PNG文件名的零填充

改进

  • #1882:为PMobject及其子类添加了OpenGL支持

  • #1881:为Angle添加了方法Angle.get_lines()Angle.get_value()

  • #1952:添加了为OpenGL保存最后一帧的选项

  • #1922:修复了当OpenGL渲染器引发错误时,IPython界面无法干净退出的问题

  • #1923:修复了manim init子命令的CLI帮助文本未被截断的问题

  • #1868:为IPython magic添加了OpenGL支持

    现在在使用%%manim magic命令时,OpenGL渲染器可以在Jupyter Notebook中使用。

  • #1841:降低了Dot3D的默认分辨率

  • #1866:允许将关键字参数corner_radius传递给SurroundingRectangle

  • #1847:允许在不依赖mobject的情况下创建Cross

修复的错误

  • #1985:使用height来确定font_size,而不是_font_size属性

  • #1758:修复了使用OpenGL渲染器时场景选择被忽略的问题

  • #1871:修复了VectorScene.vector_to_coords()损坏的问题

  • #1973:修复了Table.get_entries()的索引以遵守行长度的问题

  • #1950:修复了将自定义箭头形状传递给CurvedArrow的问题

  • #1967:修复了Axes.coordinate_labels指的是整个坐标轴而非仅其标签的问题

  • #1951:修复了Axes.get_line_graph()返回的图表在坐标轴下方渲染的问题

  • #1943:为BraceLabel添加了buff关键字参数

  • #1938:修复了Rotate对于\(2\pi\)倍数角度的问题

  • #1924:使箭头尖端正确地向内IN和向外OUT旋转

  • #1931:修复了Mobject.arrange_in_grid()中的row_heights问题

  • #1893:修复了渲染包含单个场景但未指定场景名称的文件时CLI报错的问题

  • #1744:修复了NumberPlanex_rangey_range为严格正值或严格负值时存在的bug

  • #1887:修复了custom_configframes_comparison中不起作用的问题

  • #1879:修复了Poetry确定已安装版本的方式

测试系统相关更改

  • #1894:修复了一个OpenGL测试

开发基础设施更改

  • #1987:在Windows管道中增加了对子进程使用OpenGL的支持

  • #1964:添加了CITATION.cff以及一个在新版本发布时自动更新此引用的方法

  • #1856:修改了Dockerfile以支持通过docker buildx进行多平台构建

  • #1955:部分支持使用Docker进行OpenGL渲染

  • #1896:使RTD通过apt安装FFMPEG而不是安装Python绑定

  • #1864:缩短并简化了PR模板

  • #1853:将Sphinx更新到4.1.2

代码质量改进和类似重构

  • #1960:减少忽略的flake8错误

  • #1947:设置flake8不忽略Python代码中未定义的名称

  • #1948:flake8:设置最大行长而不是忽略长行

  • #1956:升级到现代Python语法
  • #1898:将self.data["attr"]self.uniforms["attr"]替换为self.attr

    特别是,现在可以直接访问OpenGLVMobject.points

  • #1934:通过实施LGTM的建议来提高代码质量

  • #1861:将dearpygui版本更新到0.8.x

新版本发布

  • #1989:准备新版本v0.10.0