#!/usr/bin/env python3
"""컨셉 #16 네이비 타이포 임팩트 — Playwright 렌더링 스크립트"""

from pathlib import Path
from playwright.sync_api import sync_playwright

TEMPLATE = Path(__file__).parent / "template.html"
OUTPUT   = Path(__file__).parent / "sample.png"

def main():
    with sync_playwright() as p:
        browser = p.chromium.launch()
        page = browser.new_page(viewport={"width": 1080, "height": 1080})

        page.goto(f"file://{TEMPLATE.resolve()}", wait_until="domcontentloaded")

        # 폰트 완전 로딩 대기
        page.evaluate("() => document.fonts.ready")
        page.wait_for_timeout(500)

        OUTPUT.parent.mkdir(parents=True, exist_ok=True)
        page.screenshot(
            path=str(OUTPUT),
            type="png",
            clip={"x": 0, "y": 0, "width": 1080, "height": 1080}
        )
        browser.close()

    size_kb = OUTPUT.stat().st_size / 1024
    print(f"[완료] {OUTPUT}  ({size_kb:.0f} KB)")

if __name__ == "__main__":
    main()
