from pathlib import Path
from PIL import Image, ImageDraw, ImageFont
import time
root = Path(__file__).parent
font = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf", 20)
for side in ("before", "after"):
    lines = (root / (side + ".txt")).read_text().splitlines()
    def render():
        image = Image.new("RGB", (1150, 110 + len(lines) * 30), "#10161e")
        draw = ImageDraw.Draw(image)
        draw.text((30, 24), side.upper() + " — captured CLI output (verbatim)", font=font, fill="#ffffff")
        for n, line in enumerate(lines):
            draw.text((30, 80 + n * 30), line, font=font, fill="#93dcff" if line.startswith("$ ") else "#e4e9ef")
        return image
    first = render()
    time.sleep(0.5)
    second = render()
    assert first.tobytes() == second.tobytes()
    second.save(root / (side + ".png"))
