1mod backend;
13mod blend;
14mod builtins;
15mod call_budget;
16mod canary;
17mod catalog;
18mod color;
19mod composite;
20mod cpu;
21mod diagnostics;
22mod effect;
23mod effect_resource;
24mod error;
25mod gaussian_blur;
26mod generator;
27mod gpu_errors;
28mod graph;
29mod graph_cache;
30mod graph_execute;
31mod graph_plan;
32mod graph_submit;
33pub mod hdr;
34mod loop_bound;
35mod masking;
36mod paint_wgsl;
37mod pipeline;
38mod pool;
39mod quad;
40mod readback;
41mod registry;
42pub use registry::{CompiledEffect, MAX_EFFECT_INPUTS, PendingEffect};
43mod renderer;
44mod repack;
45mod result_cache;
46mod retire;
47mod robustness;
48mod runtime_effect;
49mod settle;
50mod shader_inventory;
51mod target;
52#[cfg(test)]
53mod tests;
54mod uniform;
55mod vector;
56mod yuv;
57
58#[cfg(not(target_arch = "wasm32"))]
63pub(crate) type Shared<T> = std::sync::Arc<T>;
64#[cfg(target_arch = "wasm32")]
65pub(crate) type Shared<T> = std::rc::Rc<T>;
66
67pub use backend::{EffectCatalog, RenderControls};
68pub use blend::{BlendMode, BlendSpace};
69pub use builtins::{
70 CHROMA_KEY_ID, GAUSSIAN_BLUR_ID, GLOW_ID, LUT_3D_ID, builtin_effect_definitions,
71 builtin_transition_definitions, chroma_key_definition, gaussian_blur_definition,
72 glow_definition, lut_3d_definition,
73};
74pub use catalog::{builtin_catalog, builtin_catalog_json};
75pub use color::{
76 Color, ColorDiagnostic, ColorError, ColorPolicy, SdrOutputTransfer, YuvSample,
77 convert_yuv_to_linear_rgba, encode_linear_rgb, is_hdr,
78};
79pub use composite::{CompositeLayer, LayerTransform};
80pub use cpu::{CpuImage, CpuRenderStats, CpuRenderer, CpuSource, RgbaPixels, YuvPlanes};
81pub use diagnostics::{
82 AdapterDiagnostics, BenchmarkMetadata, PassTiming, RenderDiagnostics, TimingSource,
83};
84pub use effect::{
85 DiagnosticSeverity, EffectDef, EffectId, EffectKind, EffectParams, EffectResourceKind,
86 EffectResources, EffectRuntime, InputSpec, ParamSpec, ParamType, ParamUnit, ParamValue,
87 ResourceSpec, ShaderDiagnostic, ShaderDiagnostics, UniformField, UniformLayout,
88};
89pub use effect_resource::{Lut3dData, LutParseError};
90pub use error::{
91 DEFAULT_GPU_WAIT_TIMEOUT, GPU_DEVICE_LOST_MESSAGE, GPU_TIMEOUT_MESSAGE,
92 GPU_WORK_DROPPED_MESSAGE, ReadbackFailure, RenderError,
93};
94pub use generator::{
95 FILL_PAINT_PARAMS, GENERATOR_EFFECT_ID, MAX_GENERATOR_STOPS, PAINT_KINDS, PAINT_SPREADS,
96 PaintParams, generator_definition,
97};
98pub use gpu_errors::GpuErrorReports;
99pub use graph::{
100 EffectInputs, GraphError, GraphLayer, RenderCacheKey, RenderGraph, RenderNodeId, RenderNodeKind,
101};
102pub use graph_plan::RenderPlan;
103pub use graph_submit::FrameSubmitTimings;
104pub use masking::{
105 MASK_COMBINE_EFFECT_IDS, MASK_COMBINE_NAMES, MASK_MODES, MAX_SHAPE_MASKS, MaskCombineNames,
106 TRACK_MATTE_EFFECT_ID, mask_combine_definition, mask_combine_definitions,
107 track_matte_definition,
108};
109pub use pipeline::{PipelineCacheStats, WarmupReport};
110pub use pool::{ReadbackBufferPoolStats, TexturePoolStats, UploadTexture, UploadTexturePoolStats};
111pub use readback::{
112 EncodedNv12Pack, Nv12PlaneTargets, PlaneTarget, Rgba8Readback, StagingPlane, Yuv420pPlanes,
113 Yuv420pReadback, Yuv420pTargets, yuv420p_staging_bytes,
114};
115pub use renderer::{RenderQualityControls, Renderer};
116pub use repack::RepackSource;
117pub use result_cache::{CacheEligibility, CacheIntent, CacheInvalidation, ResultCacheStats};
118pub use robustness::{
119 CapabilityDiagnostic, DegradationDecision, ResourceBudget, filter_sample_limit,
120 resolve_degradation,
121};
122pub use shader_inventory::{builtin_wgsl_modules, effect_wgsl};
123pub use target::{RenderSize, RenderedTexture, SourceView};
124pub use uniform::UniformBufferPoolStats;
125pub use yuv::{
126 ExternalTextureLease, GpuVideoPlanes, PendingSourceWork, PreparedSourceTexture, SourceAlpha,
127 SourcePlane, SourcePresentation, Yuv420Frame, YuvFrame,
128};