Path: blob/main/crates/bevy_render/src/render_graph/mod.rs
6596 views
mod app;1mod camera_driver_node;2mod context;3mod edge;4mod graph;5mod node;6mod node_slot;78pub use app::*;9pub use camera_driver_node::*;10pub use context::*;11pub use edge::*;12pub use graph::*;13pub use node::*;14pub use node_slot::*;1516use thiserror::Error;1718#[derive(Error, Debug, Eq, PartialEq)]19pub enum RenderGraphError {20#[error("node {0:?} does not exist")]21InvalidNode(InternedRenderLabel),22#[error("output node slot does not exist")]23InvalidOutputNodeSlot(SlotLabel),24#[error("input node slot does not exist")]25InvalidInputNodeSlot(SlotLabel),26#[error("node does not match the given type")]27WrongNodeType,28#[error("attempted to connect output slot {output_slot} from node {output_node:?} to incompatible input slot {input_slot} from node {input_node:?}")]29MismatchedNodeSlots {30output_node: InternedRenderLabel,31output_slot: usize,32input_node: InternedRenderLabel,33input_slot: usize,34},35#[error("attempted to add an edge that already exists")]36EdgeAlreadyExists(Edge),37#[error("attempted to remove an edge that does not exist")]38EdgeDoesNotExist(Edge),39#[error("node {node:?} has an unconnected input slot {input_slot}")]40UnconnectedNodeInputSlot {41node: InternedRenderLabel,42input_slot: usize,43},44#[error("node {node:?} has an unconnected output slot {output_slot}")]45UnconnectedNodeOutputSlot {46node: InternedRenderLabel,47output_slot: usize,48},49#[error("node {node:?} input slot {input_slot} already occupied by {occupied_by_node:?}")]50NodeInputSlotAlreadyOccupied {51node: InternedRenderLabel,52input_slot: usize,53occupied_by_node: InternedRenderLabel,54},55}565758