Skip to main content

alpha2_eval/
lib.rs

1//! Pure, deterministic timeline evaluation.
2
3mod animation;
4mod audio;
5mod composition;
6mod error;
7mod evaluate;
8mod frame;
9mod index;
10mod interval_tree;
11mod layout;
12mod retime;
13mod shapes;
14#[cfg(test)]
15mod tests;
16mod text_animation;
17
18pub use animation::{
19    EffectParamValue, sample_effect_param, sample_hold, sample_insets, sample_length, sample_paint,
20    sample_path, sample_point, sample_rgba, sample_scalar, sample_vec2, sample_visual,
21};
22pub use audio::{
23    ActiveAudioClip, AudioSpan, AudioSpanDesc, AudioSpanScratch, evaluate_audio, evaluate_audio_in,
24};
25pub(crate) use composition::IndexedComposition;
26pub use composition::{
27    ActiveComposition, CompositionPlan, MAX_PLAN_BYTES, PlanError, Step, StepLayer, StepOp,
28    plan_composition, plan_source_composition,
29};
30pub use error::EvalError;
31pub(crate) use error::{IndexedCaptions, IndexedClip, IndexedTransition};
32pub(crate) use evaluate::ensure_index_matches;
33pub use evaluate::{evaluate, frame_needs};
34pub use frame::{
35    ActiveCaption, ActiveClip, ActiveEffect, ActiveTransition, EvaluatedVisual, FrameDesc,
36    FrameNeed,
37};
38pub use index::{ActiveIndex, SourceRead};
39pub(crate) use interval_tree::{
40    IntervalNode, build_tree, collect_active, collect_overlapping, count_overlapping,
41};
42pub use layout::{
43    EvaluatedLayout, EvaluatedNode, EvaluatedText, GeneratorPlan, LayoutPlan, NodeContent,
44    NodeLayout, NodePaint, NodeVisual, Sides,
45};
46pub use retime::picture_source_time;
47pub(crate) use retime::{Mirror, map_source_time};
48pub use shapes::{ShapesPlan, evaluate_geometry, evaluate_item, evaluate_items};
49pub use text_animation::{
50    SampledAnimator, SampledSelector, hash_sampled_animators, sample_text_animators,
51};