Skip to main content

proof_engine/rendergraph/
mod.rs

1//! Declarative render graph subsystem for the Proof Engine.
2//!
3//! This module provides a frame-graph architecture where render passes are
4//! declared as nodes in a directed acyclic graph. Resource lifetimes are
5//! managed automatically, barriers are inserted between passes, and execution
6//! order is derived via topological sort.
7//!
8//! # Architecture
9//!
10//! - [`graph`] — RenderGraph, RenderPass, ResourceNode, topological sort,
11//!   cycle detection, conditional passes, multi-resolution, validation,
12//!   graph merging, DOT export.
13//! - [`resources`] — ResourceDescriptor, TransientResource, ResourcePool,
14//!   aliasing, ImportedResource, version tracking, memory budgets.
15//! - [`executor`] — GraphExecutor, PassContext, barrier insertion, GPU
16//!   timing queries, triple-buffered frame timeline, async compute,
17//!   execution statistics, hot-reload.
18//! - [`passes`] — 12 built-in pass implementations for a full deferred
19//!   rendering pipeline.
20
21pub mod graph;
22pub mod resources;
23pub mod executor;
24pub mod passes;
25
26// Re-export the most commonly used types.
27pub use graph::{
28    DependencyKind, PassCondition, PassDependency, PassType, QueueAffinity, RenderGraph,
29    RenderGraphBuilder, RenderPass, ResolutionScale, ResourceNode, ValidationResult,
30    GraphConfig, PassConfig, ResourceConfig,
31};
32pub use resources::{
33    DanglingKind, DanglingResource, ImportedResource, MemoryBudget, PoolFrameStats,
34    ResourceDescriptor, ResourceHandle, ResourceLifetime, ResourcePool, ResourceTable,
35    ResourceVersionChain, SizePolicy, TextureFormat, TransientResource, UsageFlags,
36};
37pub use executor::{
38    AsyncComputeSchedule, BarrierKind, BoxedPassExecutor, ExecutionStats, FnPassExecutor,
39    FramePacer, FrameState, FrameStatus, FrameTimeline, GraphExecutor, MultiGraphExecutor,
40    PassBarrier, PassContext, PassExecutor, PassTimingQuery,
41};
42pub use passes::{
43    BloomPass, BuiltinPass, DebugOverlayPass, DebugVisualization, DepthPrePass, DrawCall,
44    DrawType, FXAAPass, FinalCompositePass, GBufferPass, LightingPass, SSAOPass, ShadowPass,
45    SkyboxPass, ToneMapOperator, ToneMappingPass, TransparencyPass, WeightFunction,
46    build_deferred_pipeline,
47};