1#![forbid(unsafe_code)]
8
9mod engine;
10mod error;
11mod graph;
12mod passes;
13mod residency;
14mod residency_machine;
15mod scene_gpu;
16
17#[inline]
18fn fallback<T>(candidate: impl IntoIterator<Item = T>, fallback: T) -> T {
19 candidate.into_iter().fold(fallback, |_, value| value)
20}
21
22#[cfg(test)]
23mod testing;
24
25pub use engine::{
26 AdaptiveQuality, AdaptiveQualityConfig, AntiAliasingStyle, AttributeChunkWindow, BackdropStyle,
27 BloomStyle, BondChunkPlacement, ChunkPlacementError, ChunkPlacementId, ChunkPlacementStatus,
28 ChunkRepresentation, ChunkResidencyError, ChunkResidencyMetrics, DepthCue, DepthOfField,
29 DerivedCacheBudget, DerivedCacheUsage, DisplayGamut, DisplayTransform, EffectLayer, Engine,
30 EngineConfig, FocusTarget, FrameCompleteness, FrameDegradation, FrameMetrics, FrameReport,
31 FrameStatus, FrameTiming, HdrImage, IllustrationStyle, Image, ImageConfig,
32 InstanceChunkPlacement, InstanceChunkWindow, LigandPoseStats, LightingEnvironment, MotionBlur,
33 PICK_READBACK_BYTES, Pick, PickEntity, PointChunkPlacement, PresentationEffect, QualityTier,
34 RelationChunkPlacement, RenderMode, RenderProfile, RenderSession, ResidentGenericChunk,
35 ResidentStructureChunk, ResidentTrajectoryChunk, ResolvedRenderPlan, StructureChunkPlacement,
36 ToneMapping, TrajectoryChunkWindow, TransferFunction,
37};
38pub(crate) use engine::{
39 DerivedCache, DerivedCacheClass, DerivedCacheKey, DerivedFootprint, MaterializationPlan,
40};
41#[cfg(not(target_arch = "wasm32"))]
42pub use engine::{FrameTicket, SequenceConfig, SequenceFrame, SequenceRenderer};
43pub use error::RenderError;
44pub use molgfx_geometry::PackingError;
45pub use residency::{
46 ImmutableArenaMetrics, ResidencyConfig, ResidencyCounters, ResidencyInitError,
47 ResidencyMetrics, ResidencyWorkspace,
48};
49pub use residency_machine::{
50 ResidencyMachine, ResidencyMachineError, ResidencyMachineMetrics, ResidencyState,
51 ResidencyTicket,
52};
53pub use scene_gpu::brick_atlas::types::{
54 BrickAtlasConfig, BrickAtlasError, BrickAtlasKind, BrickAtlasMetrics, BrickAtlasPoll,
55 BrickAtlasUpload,
56};
57pub use scene_gpu::brick_atlas::upload::GpuBrickAtlas;