v0.7.0

日期:

2021年6月1日

贡献者

共有45人为此版本贡献。名字旁有“+”的人是首次提交补丁。

  • André +

  • Anton Ballmaier

  • Benjamin Hackl

  • Clar Fon

  • Darylgolden

  • Devin Neal

  • Hugues Devimeux

  • Iced-Tea3 +

  • Jan-Hendrik Müller

  • Jason Villanueva

  • Jerónimo Squartini +

  • KingWampy

  • Laith Bahodi

  • Max Stoumen +

  • Mohammad Al-Fetyani

  • Naveen M K

  • NeoPlato

  • Newell Jensen

  • Nikhil Garuda

  • Nikhil Sharma +

  • PaulCMurdoch +

  • Philipp Imhof

  • Raghav Goel

  • Robert West +

  • Ryan McCauley +

  • Skaft +

  • SwiddisZwei +

  • e4coder +

  • friedkeenan

  • malte-v +

  • ralphieraccoon

  • sparshg

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

  • Aathish Sivasubrahmanian

  • Abhijith Muthyala

  • Anton Ballmaier

  • Aron

  • Benjamin Hackl

  • Darylgolden

  • Devin Neal

  • GameDungeon

  • Hugues Devimeux

  • Iced-Tea3

  • Jan-Hendrik Müller

  • Jason Villanueva

  • Jerónimo Squartini

  • KingWampy

  • Laith Bahodi

  • Mark Miller

  • Mohammad Al-Fetyani

  • Naveen M K

  • Nikhil Garuda

  • Oliver

  • Philipp Imhof

  • Raghav Goel

  • Ricky Chon

  • Ryan McCauley

  • Skaft

  • SwiddisZwei

  • e4coder

  • friedkeenan

  • ralphieraccoon

  • sparshg

合并的拉取请求

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

重大更改

  • #1521:改进 Animation 文档
    • 改进 Animation 类的文档。

    • 统一 get_all_mobjects 的签名。现在它总是返回一个 Mobjects 序列。这使得将 FadeTransform.get_all_mobjects 用作 Group 的方式失效。

  • #1470:停止支持 Python 3.6

    Manim 将不再支持 Python 3.6。

亮点

  • #1447:为极坐标添加了 PolarPlane

  • #1490:添加了 Polygram,重构了多边形继承树,并添加了 Star
  • #1462:OpenGL:添加了 ShaderMeshFullScreenQuad

    添加 Shader 和 Mesh 对象

  • #1418:添加了项目管理命令
    • manim init - 快速为 Manim 项目设置默认文件。

    • manim new project - 允许用户设置项目设置。它还在名为 <项目名称> 的新文件夹中创建项目。

    • manim new scene - 用于快速向文件中插入新场景。如果未提供 file name,则默认使用 main.py

已废弃的类和函数

  • #1598:更新示例以使用 Axes 并弃用 GraphScene

    GraphScene 已被弃用,其功能已转移到 Axes。请参阅更新的示例画廊了解用法示例。

  • #1454:淡化模块增强

    将所有 Fading 类的功能转移到 FadeInFadeOut。所有其他淡化类已被弃用。

  • #1375:删除了已弃用的 ShowCreation,转而使用 Create

新功能

  • #1566:添加了为 Rectangle 添加网格线的功能

  • #1548:添加了 ArcBrace,它是 Brace 的一个子类。

  • #1559:更新 VGroup 以支持项目赋值 (#1530)

    支持 VGroup 的带索引项目赋值

  • #1518:允许在一个 Animation 中淡化多个 Mobject

  • #1422:添加了 override_animation() 装饰器

  • #1504:颜色模块增强
    • 用之前的 DARK_BLUE 替换了 BLUE_E 并删除了 DARK_BLUE

    • GRAY_A 添加了别名 LIGHTER_GRAY

    • 添加了 PURE_REDPURE_BLUE 并将 GREEN_SCREEN 重命名为 PURE_GREEN

    • 所有灰色现在也可用英式拼写表示(包括 GREY_BROWN

    • 替换了文档中的颜色示例。它现在可以作为所有颜色名称的快速参考。

  • #1272:在 geometry 模块中实现元类方法,使 mobject 与 cairo 和 opengl 渲染兼容

  • #1404:添加了两个弃用装饰器

    添加了两个函数装饰器 deprecateddeprecated_params,作为弃用代码的一致方式。

改进

  • #1572:通过元类实现 OpenGL 兼容性:TracedPathParametricFunctionBraceVGroup

  • #1472:将 GraphScene 的方法移植到 CoordinateSystem

  • #1589:通过元类实现 OpenGL 兼容性:ValueTracker

  • #1564:为 TeX 编译错误添加额外说明

    在 TeX 编译错误时添加使用自定义 TexTemplate 的提示

  • #1584:在 round_corners() 中添加了对 0 的检查

  • #1586:为所有 isinstance 出现添加 OpenGLMobject 支持

    此拉取请求增加了对剩余动画类以及其他适当位置的 OpenGL 支持。

  • #1577:添加了新的元类 ConvertToOpenGL(替换 MetaVMobject),恢复 IntelliSense

  • #1562:改进了 VectorField 的每步微调精度

    在 VectorField 的微调函数中实现了龙格-库塔算法。这提高了对象沿矢量场移动时的精度。这也提高了效率,因为微调函数达到精度所需的循环次数少于以前的实现。

  • #1480:向 Tex 错误添加日志信息

  • #1567:与 ManimPango v0.3.0 的兼容性修复
    • 现在 Manim 需要 ManimPango v0.3.0+。

    • 当 Markup 不正确时,显示 Pango 的错误

  • #1512:通过元类实现 OpenGL 兼容性:图

  • #1511:通过元类实现 OpenGL 兼容性:svg_mobject、text_mobject、tex_mobject

  • #1502:为 Sphere 添加了 center 参数,为 Dot3D 添加了 point 参数

  • #1486rate_functions 更新

    更改了非标准速率函数的图片。

  • #1495:将 value_tracker 移植到 OpenGL

  • #1382:扩展 ValueTrackers 的文档、测试和功能;移除 ExponentialValueTracker

    为 ValueTracker 和 ComplexValueTracker 添加了更多文档和内联运算符。使 value_tracker.py 的覆盖率达到 100%。移除了 ExponentialValueTracker。

  • #1475:添加 SVG 椭圆弧支持

修复的错误

  • #1574:修复了处理省略椭圆弧命令的 SVG 时出现的错误

  • #1596:修复非空白 Tex 参数分隔符的索引问题

    修复 #1568

    修复了将 Tex 对象的 arg_separator 设置为非空白字符时的问题。方法 break_up_by_substrings(self) 在设置索引时未考虑分隔符。

  • #1588:修复了多个动画保存到同一文件的问题

  • #1571:引入并行化后修复测试

  • #1545:修复 LinearTransformationScene 的过时参数并添加示例+类型提示。

  • #1513:修复旋转 VMobject 时渐变色的旋转问题
    • 修复了旋转 VMobject 时渐变方向保持不变的问题

    • 在 VMobject 中添加了 rotate_sheen_direction() 方法

  • #1570:将错误输出到 stderr

  • #1560:在 .gitattributes 中将 *.npz *.wav *.png 声明为二进制文件

  • #1211:重构场景缓存并修复在场景中复制 mobject 时生成不同哈希值的问题

    重构了内部场景缓存机制,并修复了复制 mobject 时生成不一致哈希值的错误。

  • #1527:改进了 sqrt 内子字符串隔离的处理,并修复了匹配形状变换中 transform_mismatch 的错误

  • #1526:修复淡化

  • #1523:修复多个 FadeIn / Out 仅在 VMobject 上工作的问题

测试系统相关更改

  • #1556:尝试使用 pytest-xdist 进行测试并行化

开发基础设施更改

  • #1505:在 PR 模板中添加文档引用

    在拉取请求模板中添加了文档链接。

  • #1499:更新了文档中的 Discord 链接,指向标准化重定向

  • #1461:构建文档 - 日志记录

  • #1481:pyproject.toml:poetry_core -> poetry-core

  • #1477:将 RDT Sphinx 包更新到版本 3.5.3

  • #1460:创建 CONTRIBUTING.md

  • #1453:manim_directive:修复文档中的图像链接 - Windows

    在 Windows 上使用 POSIX 路径链接图像,以便文档可以在本地构建。

代码质量改进和类似重构

  • #1465:为 coordinate_systems 中的一些函数添加了类型提示和描述。

  • #1552:移除了 geometry 中不需要的参数

    移除了 anchors_span_full_rangeclose_new_pointsanchors_span_full_rangepreserve_tip_size_when_scalingmark_paths_closedclose_new_points

  • #1597:从全局命名空间中移除了 hilite_me 和 insert_line_numbers_in_html

  • #1535:更新依赖并修复测试

  • #1544:添加拼写检查器作为预提交钩子

  • #1542:交换文档中的 pango 标记链接

  • #1531:不要在 deprecation.py 中使用已弃用的方法

  • #1492:移除 #1404 中引入的无关 print 语句

  • #1471:修复 lgtm 的一些警告

需要再次回滚的更改

  • #1606:恢复 DARK_BLUE

新版本发布

  • #1601:v0.7.0 准备:添加了更新日志并提升了版本号