class Trellis2ModelConfig:
    """
    Configuration holder for TRELLIS2 models.

    This doesn't load any models - it just stores the configuration
    that node methods need to run inference.
    """

    def __init__(
        self,
        model_name: str = "microsoft/TRELLIS.2-4B",
        resolution: str = "1024_cascade",
        attn_backend: str = "auto",
    ):
        """
        Initialize model configuration.

        Args:
            model_name: HuggingFace model name
            resolution: Output resolution mode (512, 1024_cascade, 1536_cascade)
            attn_backend: Attention backend (auto, flash_attn, xformers, sdpa)
        """
        self.model_name = model_name
        self.resolution = resolution
        self.attn_backend = attn_backend

    def __repr__(self) -> str:
        return (
            f"Trellis2ModelConfig(model={self.model_name}, "
            f"resolution={self.resolution}, attn_backend={self.attn_backend}"
        )
