"""Zoomed screenshot of the office cast to eyeball the per-NPC floor faces + walk wiring. Server must be running. Usage: python tests/probe_sprites.py [url] """ import sys import time from playwright.sync_api import sync_playwright BASE = sys.argv[1] if len(sys.argv) > 1 else "http://localhost:7871" with sync_playwright() as pw: b = pw.chromium.launch() pg = b.new_page(viewport={"width": 1100, "height": 850}) pg.goto(f"{BASE}/game", wait_until="networkidle") pg.click("#btn-start") pg.wait_for_selector("#hud", state="visible", timeout=5000) time.sleep(1.0) # nudge the player so it's mid-stride for the shot for _ in range(8): pg.keyboard.down("d"); time.sleep(0.03); pg.keyboard.up("d") time.sleep(0.2) pg.locator("#stage").screenshot(path="tests/shots/sprites_zoom.png") print("saved tests/shots/sprites_zoom.png") b.close()