# SPDX-License-Identifier: BSD-3-Clause """Watercolour environment for OpenEnv. The model writes a p5.brush sketch, the environment paints it in a headless browser and compares the result against a pool of reference paintings. The reward is comparative rather than absolute: a vision judge is asked which of two paintings is the better watercolour, in both presentation orders, because that is a question it answers stably and an absolute rating is not. Examples: ```python from envs.watercolour_env import WatercolourAction, WatercolourEnv with WatercolourEnv(base_url="http://localhost:8000") as env: observation = env.reset().observation reply = my_model(observation.system_prompt, observation.prompt) result = env.step(WatercolourAction(response=reply)) print(result.reward, result.observation.feedback) ``` """ from .client import WatercolourEnv from .models import WatercolourAction, WatercolourObservation, WatercolourState __all__ = [ "WatercolourEnv", "WatercolourAction", "WatercolourObservation", "WatercolourState", ]