diff --git a/runware/types.py b/runware/types.py index f2cb329..31a7371 100644 --- a/runware/types.py +++ b/runware/types.py @@ -865,6 +865,15 @@ def request_key(self) -> str: return "meshCluster" +@dataclass +class IDracoCompression(SerializableMixin): + enabled: Optional[bool] = None + level: Optional[int] = None + quantizationPosition: Optional[int] = None + quantizationNormal: Optional[int] = None + quantizationTexCoord: Optional[int] = None + + @dataclass class ITextInferenceCache(SerializableMixin): @@ -1087,6 +1096,7 @@ class ISettings(SerializableMixin): decimationTarget: Optional[int] = None dilatePixels: Optional[int] = None draft: Optional[bool] = None + dracoCompression: Optional[Union[bool, IDracoCompression, Dict[str, Any]]] = None editRegions: Optional[List[List[Union[IEditRegion, Dict[str, Any]]]]] = None earlyStopThreshold: Optional[float] = None emotion: Optional[str] = None @@ -1226,6 +1236,8 @@ def __post_init__(self, toolChoice: Optional[Union["ITextInferenceToolChoice", D self.texSlat = ITexSlat(**self.texSlat) if self.meshCluster is not None and isinstance(self.meshCluster, dict): self.meshCluster = IMeshCluster(**self.meshCluster) + if self.dracoCompression is not None and isinstance(self.dracoCompression, dict): + self.dracoCompression = IDracoCompression(**self.dracoCompression) if self.tools is not None: self.tools = [ ITextInferenceTool(