shader / models.py
tejadhith's picture
Upload folder using huggingface_hub
67f71c2 verified
"""Data models for the shader environment."""
from openenv.core.env_server.types import Action, Observation
from pydantic import Field
class ShaderAction(Action):
"""Agent submits Shadertoy-dialect GLSL fragment shader source."""
code: str = Field(..., description="Shadertoy-dialect GLSL fragment shader source")
class ShaderObservation(Observation):
"""Observation returned after reset or step."""
# Task context
task: str = Field(default="")
remaining: int = Field(default=0)
# Reference (non-empty on reset only)
reference_png: str = Field(
default="",
description="Base64-encoded PNG of the reference render. Non-empty on reset only.",
)
# Render result
compiled: bool = Field(default=False)
rendered: bool = Field(default=False)
errors: list[str] = Field(default_factory=list)
agent_png: str = Field(
default="",
description="Base64-encoded PNG of the agent's render. Empty if compile failed.",
)
# Reward signal
ssim: float = Field(default=0.0, description="SSIM vs reference in [0, 1]")