Skip to content

Commit 1e6be03

Browse files
committed
Merge remote-tracking branch 'origin/main' into color_fix
2 parents 56ba61a + 0902eef commit 1e6be03

File tree

27 files changed

+2678
-1513
lines changed

27 files changed

+2678
-1513
lines changed

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ repos:
3535
- id: python-check-blanket-noqa
3636
name: Precision flake ignores
3737
- repo: https://github.com/psf/black
38-
rev: 23.1.0
38+
rev: 23.3.0
3939
hooks:
4040
- id: black
4141
- repo: https://github.com/asottile/blacken-docs
@@ -58,7 +58,7 @@ repos:
5858
flake8-simplify==0.14.1,
5959
]
6060
- repo: https://github.com/pre-commit/mirrors-mypy
61-
rev: v1.1.1
61+
rev: v1.2.0
6262
hooks:
6363
- id: mypy
6464
additional_dependencies:

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ authors:
44
-
55
name: "The Manim Community Developers"
66
cff-version: "1.2.0"
7-
date-released: 2022-12-26
7+
date-released: 2023-04-06
88
license: MIT
99
message: "We acknowledge the importance of good software to support research, and we note that research becomes more valuable when it is communicated effectively. To demonstrate the value of Manim, we ask that you cite Manim in your work."
1010
title: Manim – Mathematical Animation Framework
1111
url: "https://www.manim.community/"
12-
version: "v0.17.2"
12+
version: "v0.17.3"
1313
...

docs/source/_static/logo.png

11.4 KB
Loading

docs/source/changelog.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Changelog
55

66
.. toctree::
77

8+
changelog/0.17.3-changelog
89
changelog/0.17.2-changelog
910
changelog/0.17.1-changelog
1011
changelog/0.17.0-changelog
Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
*******
2+
v0.17.3
3+
*******
4+
5+
:Date: April 06, 2023
6+
7+
Contributors
8+
============
9+
10+
A total of 35 people contributed to this
11+
release. People with a '+' by their names authored a patch for the first
12+
time.
13+
14+
* Alex Lembcke
15+
* Benjamin Hackl
16+
* DegrangeM +
17+
* Elyanah Aco +
18+
* Francisco Manríquez Novoa
19+
* Fredrik Lundström +
20+
* Frédéric Crozatier
21+
* Ikko Eltociear Ashimine +
22+
* ItIsJoeyG +
23+
* JinchuLi2002 +
24+
* Kevin Lubick
25+
* KingAndCross +
26+
* M. A. Ali +
27+
* Matthew Lee +
28+
* Max Coplan +
29+
* Naveen M K
30+
* NotWearingPants
31+
* Oscar Rangel +
32+
* Papierkorb2292 +
33+
* Phoenix2157 +
34+
* Tristan Schulz
35+
* ciobaca +
36+
* coreyp1 +
37+
* davidot +
38+
* icedcoffeeee
39+
* karpfediem +
40+
* vahndi
41+
42+
43+
The patches included in this release have been reviewed by
44+
the following contributors.
45+
46+
* Benjamin Hackl
47+
* Fredrik Lundström
48+
* Frédéric Crozatier
49+
* Hugues Devimeux
50+
* Kevin Lubick
51+
* KingAndCross
52+
* Matthew Lee
53+
* Naveen M K
54+
* Tristan Schulz
55+
* coreyp1
56+
* davidot
57+
* strager
58+
59+
Pull requests merged
60+
====================
61+
62+
A total of 42 pull requests were merged for this release.
63+
64+
Deprecated classes and functions
65+
--------------------------------
66+
67+
* :pr:`3103`: Removed deprecated function ``OpenGLSurface.set_fill_by_value``
68+
69+
70+
New features
71+
------------
72+
73+
* :pr:`2974`: Added :class:`.DiGraph`, a mobject representing directed graphs
74+
75+
76+
* :pr:`3042`: Added :meth:`.Scene.replace` and use in :class:`.ReplacementTransform`
77+
78+
* :pr:`3155`: Added support for individualized radius values in :meth:`.Polygram.round_corners`
79+
80+
81+
* :pr:`3159`: Added :meth:`.set_opacity_by_tex` method for setting the opacity of parts of Tex mobjects
82+
83+
84+
* :pr:`3201`: New tip shape :class:`.StealthTip`, allow specifying tip shape of :class:`.NumberLine`
85+
86+
87+
Enhancements
88+
------------
89+
90+
* :pr:`3046`: Add warning if font is not found for Text, Code, and MarkupText
91+
92+
93+
* :pr:`3083`: Minor performance improvement in :mod:`.bezier` with preallocating array
94+
95+
96+
* :pr:`3092`: Improved :meth:`.Mobject.add` performance by checking for redundancy only once
97+
98+
99+
* :pr:`3134`: Performance: Store color data of ``OpenGLSurface`` to prevent OpenGL embed lag
100+
101+
102+
* :pr:`3180`: Performance: Speed up width/height/depth calculations by reducing copying
103+
104+
105+
* :pr:`3181`: Improved creation time for large :class:`.Text` mobjects
106+
107+
108+
* :pr:`3182`: Reduce memory allocations when building :class:`.SVGMobject`
109+
110+
111+
* :pr:`3191`: Fixed OpenGL rendering in named threads
112+
113+
114+
Fixed bugs
115+
----------
116+
117+
* :pr:`3015`: Fixed bug with ``label_constructor`` in :meth:`.NumberLine.add_labels`
118+
119+
120+
* :pr:`3095`: Fixed ``get_axis_labels`` for :class:`.Axes` and :class:`.ThreeDAxes`
121+
122+
123+
* :pr:`3106`: Fixed ignored ``depth_test`` argument for ``OpenGLVMobjects``
124+
125+
126+
* :pr:`3149`: Allow to use ``call_updater=True`` in :meth:`.Mobject.add_updater` with non-timebased updaters too
127+
128+
129+
* :pr:`3152`: Fixed behavior of :class:`.Wait` and :meth:`.Scene.wait` with specified ``stop_condition``
130+
131+
132+
* :pr:`3163`: Fixed :class:`.BraceLabel` not passing additional keyword arguments to :class:`.Brace`
133+
134+
135+
* :pr:`3195`: Fixed :class:`.Axes` scaling for :meth:`.plot_implicit_curve`
136+
137+
138+
Documentation-related changes
139+
-----------------------------
140+
141+
* :pr:`3105`: Converted types specified in docstrings to proper type hints in :mod:`.three_dimensions`
142+
143+
144+
* :pr:`3108`: Clarified documentation for ``--resolution`` command line flag
145+
146+
147+
* :pr:`3109`: Clean-up, type-hints and documentation for :mod:`.three_dimensions`
148+
149+
150+
* :pr:`3124`: Fixed docstring of :meth:`.ThreeDCamera.get_value_trackers`
151+
152+
153+
* :pr:`3126`: Fixed dead links to troubleshooting page
154+
155+
156+
* :pr:`3137`: Fixed example using ``reverse=True`` with :class:`.Write`
157+
158+
159+
* :pr:`3160`: Fixed a typo
160+
161+
162+
* :pr:`3189`: Corrected the hinted return type for :func:`angle_between_vectors`
163+
164+
165+
* :pr:`3199`: Updated ``winget`` command for installing MiKTeX in documentation
166+
167+
168+
* :pr:`3204`: Fixed docstring formatting of :meth:`.Scene.replace` and improved its error handling
169+
170+
171+
Code quality improvements and similar refactors
172+
-----------------------------------------------
173+
174+
* :pr:`3144`: Fixed typo in ``stripUntranslatable.awk``
175+
176+
177+
* :pr:`3154`: Bump ipython from 8.7.0 to 8.10.0
178+
179+
180+
* :pr:`3156`: CI: Remove actions using self-hosted runners
181+
182+
183+
* :pr:`3164`: Bump markdown-it-py from 2.1.0 to 2.2.0
184+
185+
186+
* :pr:`3165`: Removed deprecated keyword argument in :meth:`.Mobject.align_to`
187+
188+
189+
* :pr:`3166`: Made :class:`.ArrowTriangleTip`, :class:`.ArrowTriangleFilledTip` available to module namespace
190+
191+
192+
* :pr:`3179`: Fixed deprecation warning in :class:`.ParametricFunction` with ``use_vectorized=True``
193+
194+
195+
* :pr:`3186`: Updated extlinks to work with latest version of Sphinx
196+
197+
198+
* :pr:`3196`: CI: updated PATH for recent changed in TinyTex
199+
200+
201+
* :pr:`3200`: Made import from ``moderngl`` compatible with more recent versions
202+
203+
204+
New releases
205+
------------
206+
207+
* :pr:`3198`: Prepare new release: v0.17.3

docs/source/conf.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,9 +144,11 @@
144144
}
145145

146146
# opengraph settings
147-
ogp_image = "https://www.manim.community/logo.png"
148147
ogp_site_name = "Manim Community | Documentation"
149148
ogp_site_url = "https://docs.manim.community/"
149+
ogp_social_cards = {
150+
"image": "_static/logo.png",
151+
}
150152

151153

152154
# inheritance_graph settings

docs/source/guides/deep_dive.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ describing the control points in between ("handles").
385385
.. hint::
386386
To learn more about Bézier curves, take a look at the excellent
387387
online textbook `A Primer on Bézier curves <https://pomax.github.io/bezierinfo/>`__
388-
by `Pomax <https://twitter.com/TheRealPomax>`__ -- there is an playground representing
388+
by `Pomax <https://twitter.com/TheRealPomax>`__ -- there is a playground representing
389389
cubic Bézier curves `in §1 <https://pomax.github.io/bezierinfo/#introduction>`__,
390390
the red and yellow points are "anchors", and the green and blue
391391
points are "handles".

docs/source/installation/windows.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ For Windows, the recommended LaTeX distribution is
137137
`MiKTeX <https://miktex.org/download>`__. You can install it by using the
138138
installer from the linked MiKTeX site, or by using the package manager
139139
of your choice (Chocolatey: ``choco install miktex.install``,
140-
Scoop: ``scoop install latex``, Winget: ``winget install ChristianSchenk.MiKTeX``).
140+
Scoop: ``scoop install latex``, Winget: ``winget install MiKTeX.MiKTeX``).
141141

142142
If you are concerned about disk space, there are some alternative,
143143
smaller distributions of LaTeX.

manim/mobject/geometry/tips.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
"ArrowCircleTip",
99
"ArrowSquareTip",
1010
"ArrowSquareFilledTip",
11+
"ArrowTriangleTip",
12+
"ArrowTriangleFilledTip",
13+
"StealthTip",
1114
]
1215

1316
import numpy as np
@@ -30,6 +33,7 @@ class ArrowTip(VMobject, metaclass=ConvertToOpenGL):
3033
:class:`ArrowCircleFilledTip`
3134
:class:`ArrowSquareTip`
3235
:class:`ArrowSquareFilledTip`
36+
:class:`StealthTip`
3337
3438
Examples
3539
--------
@@ -177,6 +181,47 @@ def length(self):
177181
return np.linalg.norm(self.vector)
178182

179183

184+
class StealthTip(ArrowTip):
185+
r"""'Stealth' fighter / kite arrow shape.
186+
187+
Naming is inspired by the corresponding
188+
`TikZ arrow shape <https://tikz.dev/tikz-arrows#sec-16.3>`__.
189+
"""
190+
191+
def __init__(
192+
self,
193+
fill_opacity=1,
194+
stroke_width=3,
195+
length=DEFAULT_ARROW_TIP_LENGTH / 2,
196+
start_angle=PI,
197+
**kwargs,
198+
):
199+
self.start_angle = start_angle
200+
VMobject.__init__(
201+
self, fill_opacity=fill_opacity, stroke_width=stroke_width, **kwargs
202+
)
203+
self.set_points_as_corners(
204+
[
205+
[2, 0, 0], # tip
206+
[-1.2, 1.6, 0],
207+
[0, 0, 0], # base
208+
[-1.2, -1.6, 0],
209+
[2, 0, 0], # close path, back to tip
210+
]
211+
)
212+
self.scale(length / self.length)
213+
214+
@property
215+
def length(self):
216+
"""The length of the arrow tip.
217+
218+
In this case, the length is computed as the height of
219+
the triangle encompassing the stealth tip (otherwise,
220+
the tip is scaled too large).
221+
"""
222+
return np.linalg.norm(self.vector) * 1.6
223+
224+
180225
class ArrowTriangleTip(ArrowTip, Triangle):
181226
r"""Triangular arrow tip."""
182227

0 commit comments

Comments
 (0)