"""Generate deterministic synthetic dog-ish images for seeding/tests (no network, no real photos). Each "dog" gets a distinct base pattern so the MockEmbedder produces stable (if not semantically meaningful) vectors. Returns JPEG bytes. """ from __future__ import annotations import io from PIL import Image, ImageDraw def make_image(seed: int, size: int = 256) -> bytes: rng_r = (seed * 53) % 256 rng_g = (seed * 97) % 256 rng_b = (seed * 193) % 256 img = Image.new("RGB", (size, size), (rng_r, rng_g, rng_b)) draw = ImageDraw.Draw(img) # A few shapes seeded by the id so distinct dogs differ visibly. for i in range(6): x = (seed * (i + 7)) % size y = (seed * (i + 13)) % size r = 20 + (seed * (i + 3)) % 60 color = ((rng_b + i * 30) % 256, (rng_r + i * 20) % 256, (rng_g + i * 40) % 256) draw.ellipse([x, y, x + r, y + r], fill=color) buf = io.BytesIO() img.save(buf, format="JPEG", quality=85) return buf.getvalue()