#!/usr/bin/env python3
"""Test render of 01-hook only."""
import os
from playwright.sync_api import sync_playwright

W, H, FPS = 1920, 1080, 30
BASE = '/tmp/raportis-promo'

print("Starting...")
with sync_playwright() as p:
    print("Launching browser...")
    browser = p.chromium.launch(
        executable_path='/usr/bin/chromium',
        headless=True,
        args=['--no-sandbox','--disable-gpu','--disable-dev-shm-usage']
    )
    print("Browser started")
    page = browser.new_page()
    page.set_viewport_size({"width": W, "height": H})
    print("Page opened")
    tmp = f'{BASE}/_01-hook.html'
    page.goto(f'file://{tmp}', wait_until='networkidle')
    print("Page loaded, waiting 800ms...")
    page.wait_for_timeout(800)
    print("Taking screenshots...")
    for frame in range(FPS * 3):
        t = frame / FPS
        page.evaluate(f"gsap.globalTimeline.time({t});gsap.globalTimeline.pause();")
        page.screenshot(path=f'{BASE}/frames/01-hook/frame_{frame:05d}.png', clip={"x":0,"y":0,"width":W,"height":H})
        if frame % 10 == 0:
            print(f"  Frame {frame}")
    page.close()
    browser.close()
print("Done!")
