alpha2-engine 0.5.0

Player and exporter facade for alpha2.
Documentation
//! Player and exporter public API.
//!
//! # `wgpu` interop
//!
//! The default API names no `wgpu` type: hosts lend frames as [`alpha2_render::SourceView`]s
//! through [`FrameProvider`] and get back [`alpha2_render::RenderedTexture`]s and readbacks.
//! Items taking `wgpu` textures (such as rendering into hardware encoder NV12 planes) are
//! documented only with the `wgpu-interop` feature and follow `wgpu`'s major version.

mod audio;
mod capabilities;
mod downmix;
mod error;
mod error_code;
mod exporter;
mod frame;
mod generated;
mod layout;
mod passthrough;
mod playback;
mod player;
mod policy;
mod quality;
mod schedule;
mod snapshot;
mod text;

pub use alpha2_layout::{
    Baselines, CanvasRect, LAYOUT_WRAP_SLACK, LayoutBounds, NodeBounds, PictureSize,
    PictureSizeError, TextBounds, measure_layout, measure_text, text_key,
};
pub use audio::{
    AudioContinuity, AudioNeed, AudioRenderStatus, AudioRenderer, MAX_AUDIO_BLOCK,
    MAX_SETTLING_SECONDS,
};
pub use capabilities::{
    CAPABILITY_SCHEMA, CAPABILITY_VERSION, CapabilityReport, ColorReport, Feature, GpuMemoryReport,
    GpuReport, PlaybackReport, Runtime,
};
pub use error::EngineError;
pub use error_code::{ErrorCode, gpu_error_of, gpu_fault_of};
pub use exporter::{
    ExportAudioWindow, ExportFrameNeeds, ExportPlaneStep, ExportProgress, ExportStep,
    ExportStepTimings, ExportTextureStep, Exporter, MAX_EXPORT_FRAMES, export_audio_window,
};
pub use frame::{
    FrameGraph, FrameNv12Render, FrameProvider, FrameRender, FrameRenderer, FrameYuv420pRender,
    GpuFrameRenderer, RenderReport, check_frame_effects,
};
pub use layout::PreparedLayout;
pub use passthrough::{PassthroughAudio, PassthroughPlan, PassthroughSegment, passthrough_plan};
pub use playback::{ClockStep, PlaybackClock, PlaybackPolicy};
pub use player::{PlaybackFrame, Player};
pub use policy::{MissingFramePolicy, color_policy};
pub use quality::QualityProfile;
pub use snapshot::EngineProject;
pub use text::{
    FramesWithText, TextError, TextPixels, TextTexture, TextTextures, TextUpload, layout_key,
};