1#![forbid(unsafe_code)]
14
15pub mod animation;
16pub mod asset;
17pub mod audio;
18pub mod authoring;
19pub mod budget;
20pub mod color;
21pub mod display_list;
22pub mod drawing;
23pub mod error;
24pub mod filter;
25pub mod geometry;
26pub mod grading;
27pub mod instances;
28pub mod key;
29pub mod math;
30pub mod noise;
31pub mod optics;
32pub mod path2d;
33pub mod pixels;
34pub mod random;
35pub mod report;
36pub mod shape;
37pub mod sync;
38pub mod time;
39pub mod validation;
40
41pub use animation::{
42 Constant, Easing, FiniteAnimation, Interpolate, Interval, Keyframes, Signal, Spring,
43 SpringBuilder, Tween,
44};
45pub use animation::{
46 Extrapolate, FollowPath, Noise, NoiseBuilder, Oscillator, OscillatorBuilder, PathSample,
47 Waveform, piecewise, remap, try_piecewise, try_remap,
48};
49pub use asset::environment::FontEnvironment;
50pub use asset::environment::{FontIdentity, FontUsage};
51pub use asset::{
52 Asset, AssetState, Assets, Handle, LoadContext, RequestDiagnostics, ResourceLimits,
53 ResourceStore, Source,
54};
55pub use audio::{
56 AudioBus, AudioChapter, AudioClip, AudioClipParameters, AudioEffect, AudioMetadata,
57 AudioSource, Duck, DuckTrigger, Ducking, Limiter, Loudness, Master, PanLaw,
58};
59pub use authoring::camera::camera;
60pub use authoring::camera::{Camera, DepthOfField, DepthPlane, try_camera};
61pub use authoring::context::{CacheLimits, CachePartition, RenderCache, SceneCache, SceneContext};
62pub use authoring::elevation::{Elevation, ShadowLayer};
63pub use authoring::sampling::{MotionBlur, ShutterCurve, ShutterSampling, sample_offsets};
64pub use authoring::scene::IntoSceneOutput;
65pub use authoring::scene::scene;
66pub use authoring::skeleton::{Bone, BonePose, BoneTransform, Pose, Skeleton};
67pub use authoring::timeline::{
68 BoundaryAdjustment, BoundaryEdge, Clip, Diagnostics, ResolvedAudio, Soundtrack, Timeline,
69 TimelineBuilder, TimelineVisual, TimelineWarning, Track, TrackBuilder,
70};
71pub use authoring::transition::Direction;
72pub use authoring::transition::{
73 CrossFade, Iris, IrisShape, Push, Slide, Transition, Wipe, ZoomBlur,
74};
75pub use authoring::{Alignment, Column, Layout, Node, NodeModifiers, Row, Scene, Side};
76pub use budget::{RasterLimits, SceneLimits};
77pub use color::Color;
78pub use color::math::{
79 linear_to_srgb, premultiply, rec709_luminance, srgb_to_linear, unpremultiply,
80};
81pub use display_list::{DisplayList, PixelSize, ValidatedDisplayList};
82pub use drawing::{AtmosphereKind, AtmospherePaint, AtmosphereParameters};
83pub use drawing::{
84 BlendMode, BlendSpace, Canvas, ClipMode, DeferredContent, DrawCommand, DrawContext, Drawable,
85 Evaluation, FillRule, IntoShapeClip, LineCap, LineJoin, MAX_STROKE_VERBS, MaskMode, Paint,
86 PathClip, RectClip, RenderQuality, Shape, ShapeClip, StrokeStyle, Styled,
87};
88pub use drawing::{
89 GradientExtend, GradientSpace, GradientUnits, ImagePattern, LinearGradient, PatternImage,
90 RadialGradient, SweepGradient, WeakPatternImage,
91};
92pub use drawing::{
93 MAX_MESH_POINTS_PER_AXIS, MAX_MESH_SUBDIVISIONS, MeshGradient, MeshImage, MeshPaint, MeshPatch,
94 MeshVertex,
95};
96pub use error::{BoxedError, Error, ErrorKind};
97pub use filter::{Filter, FilterOperation};
98pub use geometry::bounds::{Pivot, Rect, Size};
99pub use geometry::{
100 AngleLiteral, MAX_PERSPECTIVE_CURVE_PIECES, Perspective, Point, Transform, TransformComponents,
101 Vector2,
102};
103pub use grading::{Cdl, ColorWheels, Lut1d, Lut3d, LutInput};
104pub use optics::{ApertureShape, HeightFrom, Optics};
105pub use path2d::{
106 MAX_BOOLEAN_EDGES, MAX_PATH_VERBS, MAX_SVG_PATH_BYTES, MorphPath, Path2D, PathBooleanOp,
107 PathBooleanOptions, PathBuilder, PathVerb,
108};
109pub use pixels::{ImagePixels, Sampling};
110pub use random::Random;
111pub use report::ErrorReport;
112pub use shape::{
113 Arc as ArcShape, Arrow, ArrowHead, Circle, Ellipse, FunctionGraph, Line, Polygon, Polyline,
114 RegularPolygon, Ring, RoundedRect, Spline, Star,
115};
116pub use time::{Duration, FrameRate, TICKS_PER_SECOND, Time, TimeLiteral, TimeOffset};
117pub use validation::{SceneStats, ValidationError, ValidationErrorKind, ValidationLimits};
118
119pub type Result<T = ()> = std::result::Result<T, Error>;
121
122pub mod prelude {
124 pub use crate::ClipMode;
125 pub use crate::{Alignment, Column, Layout, Node, NodeModifiers, Row, Scene, Side};
126 pub use crate::{
127 AngleLiteral, Color, Perspective, Pivot, Point, Rect, Size, Transform, TransformComponents,
128 Vector2,
129 };
130 pub use crate::{
131 ApertureShape, Cdl, ColorWheels, DepthOfField, DepthPlane, Elevation, HeightFrom, Lut1d,
132 Lut3d, LutInput, Optics, ShutterCurve, ShutterSampling,
133 };
134 pub use crate::{
135 ArcShape, Arrow, ArrowHead, Circle, Ellipse, FunctionGraph, Line, Polygon, Polyline,
136 RegularPolygon, Ring, RoundedRect, Spline, Star,
137 };
138 pub use crate::{
139 Asset, AssetState, Assets, AudioClip, AudioSource, Handle, LoadContext, RequestDiagnostics,
140 Source,
141 };
142 pub use crate::{
143 AtmosphereKind, AtmospherePaint, AtmosphereParameters, MeshGradient, MeshImage, MeshPaint,
144 MeshVertex,
145 };
146 pub use crate::{BlendMode, BlendSpace, Filter, FilterOperation, MaskMode, PixelSize};
147 pub use crate::{
148 Bone, BonePose, BoneTransform, Camera, Direction, Pose, SceneCache, SceneContext, Skeleton,
149 camera, try_camera,
150 };
151 pub use crate::{
152 BoundaryAdjustment, BoundaryEdge, Clip, Soundtrack, Timeline, TimelineBuilder,
153 TimelineWarning, Track, TrackBuilder,
154 };
155 pub use crate::{
156 Canvas, DeferredContent, DrawCommand, DrawContext, Drawable, FillRule, LineCap, LineJoin,
157 Paint, PathClip, RectClip, RenderQuality, Shape, ShapeClip, StrokeStyle, Styled,
158 };
159 pub use crate::{
160 Constant, Easing, FiniteAnimation, Interpolate, Keyframes, Signal, Spring, Tween,
161 };
162 pub use crate::{
163 CrossFade, Iris, IrisShape, MotionBlur, Push, Slide, Transition, Wipe, ZoomBlur,
164 };
165 pub use crate::{
166 Duration, FrameRate, Random, TICKS_PER_SECOND, Time, TimeLiteral, TimeOffset, fps,
167 };
168 pub use crate::{
169 Error, ErrorKind, ErrorReport, SceneLimits, SceneStats, ValidationError,
170 ValidationErrorKind, ValidationLimits,
171 };
172 pub use crate::{
173 Extrapolate, FollowPath, Noise, Oscillator, PathSample, Waveform, piecewise, remap,
174 };
175 pub use crate::{
176 GradientExtend, GradientSpace, GradientUnits, ImagePattern, LinearGradient, RadialGradient,
177 SweepGradient,
178 };
179 pub use crate::{MorphPath, Path2D, PathBooleanOp, PathBooleanOptions, PathVerb};
180 pub use crate::{group, scene};
181 pub use crate::{linear_to_srgb, premultiply, rec709_luminance, srgb_to_linear, unpremultiply};
182}