ManimCommunity / ManimCommunity/manim
Succession should be reconstructed
- Dominant language
- Python
- Stars
- 40.9k
- Forks
- 3.1k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 25
Description
## Description of bug / unexpected behavior
`Succession` should be reconstructed as _a group of animations_ rather than _a group of mobjects_.
In fact, we should reconstruct a series of classes for `AnimationGroup`, otherwise, a lot of bugs will appear.
## Bug1
```
class s1(Scene):
def construct(self):
square = Square()
cirlce = Circle()
anim = Succession(Write(square), FadeIn(cirlce), FadeOut(cirlce))
self.play(anim)
```
In this case, `square` and `circle` will add to the screen at the beginning, then play the corresponding animation.
## Bug2
```
class s1(Scene):
def construct(self):
square = Square()
self.add(square)
print(square in self.mobjects) # True
self.play(Succession(square.animate.shift(UP), Rotate(square)))
print(square in self.mobjects) # False
```
In this case, after playing the animation `Succession`, `square` are considered not in `self.mobjects`.
Contributor guide
Research direction
Start by reproducing the two Succession examples in the issue and inspect the related AnimationGroup and Succession behavior. Done means grouped animations do not add all mobjects at the beginning, and an existing square remains in self.mobjects after the succession completes; add regression coverage for both cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100