ManimCommunity / ManimCommunity/manim

Succession should be reconstructed

Open
#3,193 2 comments 1 reaction 0 assignees View on GitHub
issue:bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.