1#[derive(Debug, thiserror::Error)]
2pub enum CartesianTreeError {
3 #[error("Frame '{0}' not found or has been dropped")]
4 FrameDropped(String),
5 #[error("Frame '{0}' is a root frame and has no parent")]
6 RootHasNoParent(String),
7 #[error("Cannot update transform for frame '{0}' as it has no parent")]
8 CannotUpdateRootTransform(String),
9 #[error("A child frame with name '{0}' already exists for parent '{1}'")]
10 ChildNameConflict(String, String),
11 #[error("Failed to find a common ancestor between frame '{0}' and '{1}'")]
12 NoCommonAncestor(String, String),
13 #[error("Frame '{0}' is not an ancestor of '{1}'")]
14 IsNoAncestor(String, String),
15 #[error("Internal error: Weak pointer upgrade failed")]
16 WeakUpgradeFailed(),
17 #[error("Serialization/Deserialization error: {0}")]
18 SerdeError(#[from] serde_json::Error),
19 #[error("Tree structure mismatch during config apply: {0}")]
20 Mismatch(String),
21}