name = "getting_started3"
code = """
```rust,linenos
use ranim::{\r
animation::{\r
creation::WritingAnimSchedule, fading::FadingAnimSchedule, transform::TransformAnimSchedule,\r
},\r
color::palettes::manim,\r
items::vitem::{Circle, Square},\r
prelude::*,\r
};\r
\r
#[scene]\r
struct GettingStarted3Scene;\r
\r
impl TimelineConstructor for GettingStarted3Scene {\r
fn construct<'t: 'r, 'r>(\r
self,\r
timeline: &'t RanimTimeline,\r
_camera: &'r mut Rabject<'t, CameraFrame>,\r
) {\r
let mut square = Square(300.0).build();\r
square.set_color(manim::BLUE_C);\r
\r
let mut square = timeline.insert(square);\r
let mut circle = Circle(300.0).build();\r
circle.set_color(manim::RED_C);\r
\r
timeline.play(square.transform_to(circle).apply()); // Use `apply` on an anim schedule to update rabject data\r
timeline.play(square.unwrite()); // Do not use `apply` to keep the data in Rabject not changed\r
timeline.play(square.write());\r
timeline.play(square.fade_out());\r
}\r
}\r
\r
fn main() {\r
render_timeline(GettingStarted3Scene, &AppOptions::default());\r
}\r
```"""
hash = "b777a4c065157d2ef47186c1387f1e35aaaeb508"
preview_imgs = []
output_files = ["/examples/getting_started3/output.mp4"]