Skip to main content

Crate fastanim_core

Crate fastanim_core 

Source
Expand description

Core model for fastanim: geometry, mobject state, animations, the scene builder and the baked, seekable timeline (see docs/SPEC.md §4).

Has no Bevy dependency so it can be tested with plain cargo test.

Re-exports§

pub use anim::Animation;
pub use anim::AnimationExt;
pub use anim::Ease;
pub use anim::LaggedStart;
pub use anim::Overlay;
pub use anim::Parallel;
pub use anim::RateFn;
pub use anim::ReplacementTransform;
pub use anim::Sequence;
pub use anim::Transform;
pub use anim::Unwrite;
pub use anim::Update;
pub use anim::UpdateGroup;
pub use anim::apply_function;
pub use anim::circumscribe;
pub use anim::create;
pub use anim::draw_border_then_fill;
pub use anim::fade_in;
pub use anim::fade_out;
pub use anim::flash;
pub use anim::grow_from_center;
pub use anim::indicate;
pub use anim::lagged_start;
pub use anim::move_to;
pub use anim::replacement_transform;
pub use anim::rotate;
pub use anim::scale;
pub use anim::shift;
pub use anim::shrink_to_center;
pub use anim::spin_in;
pub use anim::transform;
pub use anim::uncreate;
pub use anim::unwrite;
pub use anim::wiggle;
pub use anim::write;
pub use axes::Axes;
pub use color::Color;
pub use geom::SubPath;
pub use geom::VPath;
pub use geom::align;
pub use mobject::MobjectId;
pub use mobject::SceneState;
pub use mobject::Stroke;
pub use mobject::VState;
pub use position::DEFAULT_BUFF;
pub use position::EDGE_BUFF;
pub use position::Position;
pub use position::arrange;
pub use svg::to_svg;
pub use timeline::BakedTimeline;
pub use timeline::Scene;
pub use transform_diff::DiffStyle;
pub use transform_diff::Group;
pub use transform_diff::Layout;
pub use transform_diff::Phasing;
pub use transform_diff::ReplaceStyle;
pub use transform_diff::TransformDiff;
pub use kurbo;

Modules§

anim
Animations (SPEC §4.4): planned once at bake time, then sampled as a pure function of progress.
axes
manim’s Axes: a coordinate system mapped onto the scene, for plotting in graph units.
color
sRGB colors that interpolate in Oklab (SPEC §4.3).
geom
Vector geometry (SPEC §4.1) and path alignment (§4.3).
mobject
Mobject state (SPEC §4.2): a plain value type that can be cloned, interpolated and snapshotted.
position
Positioning helpers (SPEC §8.3): next_to, align_to, to_edge and arrange, for anything with a bounding box that can be transformed.
svg
SVG still export, straight from a SceneState (no GPU).
timeline
Scene builder and baked, seekable timeline (SPEC §4.5).
transform_diff
TransformDiff (SPEC §7): turns an edit script between two keyed sequences of parts into choreographed animation, so unchanged parts slide, moved parts arc and only real changes fade or morph.

Structs§

Point
A 2D point.
Vec2
A 2D vector.

Enums§

Op
One step of an edit script.

Constants§

DOWN
Unit vector down.
FRAME_HEIGHT
Frame height in scene units (manim’s).
FRAME_WIDTH
Frame width in scene units: 16:9.
LEFT
Unit vector left.
ORIGIN
The origin.
RIGHT
Unit vector right.
UP
Unit vector up (y is up).

Traits§

Interpolate
Values that can be blended; lerp(a, b, 0) == a and lerp(a, b, 1) == b.