use thiserror::Error;
#[derive(Debug, Clone, Error)]
pub enum EngineError {
#[error("atlas allocation failed")]
AtlasError,
#[error("missing texture binding")]
MissingTextureBinding,
#[error("intermediate texture too large")]
IntermediateTextureTooLarge,
#[error("intermediate texture limit reached")]
IntermediateTextureLimitReached,
#[error("target exceeds u16 ceiling (65,535 pixels)")]
TargetTooLarge,
#[error("non-finite transform refused")]
InvalidTransform,
#[error("non-finite geometry refused")]
InvalidGeometry,
#[error("scheduler escalation: {reason}")]
SchedulerEscalation {
reason: String,
},
#[error("alpha capacity exhausted")]
AlphaCapacity,
#[error("encoded-paint capacity exhausted")]
PaintCapacity,
}