1#![doc = include_str!("../README.md")]
2
3pub mod assets;
4pub mod core;
5pub mod elements;
6pub mod project;
7#[cfg(feature = "runtime")]
8pub mod runtime;
9
10pub use project::Project;
14
15pub use crate::core::animation::paint::Paint;
16pub use glam::Vec2;
18pub use peniko::Color;
19pub use peniko::{ColorStop, ColorStops, Extend, Gradient, GradientKind};
20
21pub type Result<T> = std::result::Result<T, Box<dyn std::error::Error>>;
23
24pub mod nodes {
26 pub use crate::elements::*;
27}
28
29pub mod flows {
31 pub use crate::core::animation::flow::*;
32 pub use crate::{all, any, chain, delay, loop_anim, sequence, wait, with_easing};
34 #[cfg(feature = "audio")]
35 pub use crate::{audio_wait, play};
36}
37
38pub mod easings {
40 pub use crate::core::easings::*;
41}
42
43pub mod prelude {
45 pub use crate::project::Project;
46
47 pub use crate::core::animation::base::Animation;
49 pub use crate::core::animation::base::Node;
50 pub use crate::core::animation::tween::Signal;
51 pub use crate::core::animation::tween::Tweenable;
52 pub use crate::core::filters::{Blur, DEFAULT_BLUR};
53 pub use crate::core::{AnyAnimation, AnyNode};
54
55 pub use crate::easings;
57 pub use crate::flows;
58 pub use crate::nodes;
59
60 #[cfg(feature = "runtime")]
61 pub use crate::runtime::ProjectRuntimeExt;
62
63 pub use crate::core::animation::flow::*;
65 pub use crate::core::easings::*;
66
67 pub use crate::core::masks::MaskMode;
68 pub use crate::elements::container::*;
69 pub use crate::elements::masks::{MaskNode, MaskNode as Mask};
70 pub use crate::elements::media::*;
71 pub use crate::elements::shapes::*;
72
73 #[cfg(feature = "physics")]
74 pub use crate::elements::physics::{
75 PhysicsMode, PhysicsNode, PhysicsShape, RigidBodyNode, StaticBodyNode,
76 };
77
78 pub use crate::{
79 all, any, chain, delay, linear_gradient, loop_anim, radial_gradient, sequence, wait,
80 with_easing,
81 };
82 #[cfg(feature = "audio")]
83 pub use crate::{audio_wait, play};
84
85 pub use crate::assets::font_manager::FontManager;
86 pub use crate::assets::palette::Palette;
87 pub use crate::Result;
88
89 pub use crate::core::animation::paint::Paint;
90 pub use glam::Vec2;
91 pub use kurbo::{Affine, BezPath, Point};
92 pub use peniko::Color;
93 pub use peniko::{ColorStop, ColorStops, Extend, Gradient, GradientKind};
94
95 #[cfg(feature = "runtime")]
96 pub use vello::Scene;
97}