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 retime;
12mod shapes;
13#[cfg(test)]
14mod tests;
15
16pub use animation::{
17    EffectParamValue, sample_effect_param, sample_paint, sample_path, sample_point, sample_scalar,
18    sample_vec2, sample_visual,
19};
20pub use audio::{
21    ActiveAudioClip, AudioSpan, AudioSpanDesc, AudioSpanScratch, evaluate_audio, evaluate_audio_in,
22};
23pub(crate) use composition::IndexedComposition;
24pub use composition::{
25    ActiveComposition, CompositionPlan, MAX_PLAN_BYTES, PlanError, Step, StepLayer, StepOp,
26    plan_composition, plan_source_composition,
27};
28pub use error::EvalError;
29pub(crate) use error::{IndexedCaptions, IndexedClip, IndexedTransition};
30pub(crate) use evaluate::ensure_index_matches;
31pub use evaluate::{evaluate, frame_needs};
32pub use frame::{
33    ActiveCaption, ActiveClip, ActiveEffect, ActiveTransition, EvaluatedVisual, FrameDesc,
34    FrameNeed,
35};
36pub use index::ActiveIndex;
37pub(crate) use interval_tree::{
38    IntervalNode, build_tree, collect_active, collect_overlapping, count_overlapping,
39};
40pub use retime::picture_source_time;
41pub(crate) use retime::{Mirror, map_source_time};
42pub use shapes::{ShapesPlan, evaluate_geometry, evaluate_item, evaluate_items};