#!/usr/bin/env python3
"""Sample the FARM GAME reference photos to build the new FIGHTSKILL palette."""
from PIL import Image

UP = "/home/z/my-project/upload"

def hexat(img, x, y):
    r, g, b = img.getpixel((x, y))[:3]
    return f"#{r:02x}{g:02x}{b:02x}"

def region_avg(img, box):
    r = img.crop(box).resize((1, 1), Image.LANCZOS)
    px = r.getpixel((0, 0))
    return f"#{px[0]:02x}{px[1]:02x}{px[2]:02x}"

logo = Image.open(f"{UP}/photo_2026-09-21_15-56-46.jpg").convert("RGB")
banner = Image.open(f"{UP}/photo_2026-09-21_15-56-14.jpg").convert("RGB")

print("── LOGO CARD (photo_46) ──")
print("paper bg (top):      ", region_avg(logo, (200, 40, 460, 120)))
print("paper bg (bottom):   ", region_avg(logo, (60, 560, 240, 620)))
print("F gradient start (F stem):", hexat(logo, 75, 330))
print("F gradient mid:      ", hexat(logo, 160, 320))
print("RM (M right):        ", hexat(logo, 560, 320))
print("GAME letters:        ", hexat(logo, 85, 425))
print("mascot body:         ", region_avg(logo, (300, 330, 350, 380)))

print("── BANNER (photo_14) ──")
print("light side bg:       ", region_avg(banner, (60, 40, 420, 200)))
print("dark side bg:        ", region_avg(banner, (1000, 60, 1160, 200)))
print("dark side deep:      ", region_avg(banner, (1050, 500, 1180, 620)))
print("purple glow:         ", hexat(banner, 905, 345))
print("purple glow 2:       ", hexat(banner, 1090, 420))
print("FARM gradient left:  ", hexat(banner, 100, 300))
print("FARM gradient mid:   ", hexat(banner, 350, 300))
print("FARM gradient right: ", hexat(banner, 590, 300))
print("GAME gray:           ", region_avg(banner, (100, 395, 130, 435)))
print("diagonal edge sample:", region_avg(banner, (600, 250, 700, 350)))

# gradient of the FARM wordmark: scan a row through the letters
print("── FARM wordmark scan (banner row 300) ──")
row = []
for x in range(90, 620, 60):
    row.append((x, hexat(banner, x, 300)))
print(row)

print("── letter scan on logo (row 330) ──")
row2 = []
for x in range(60, 600, 60):
    row2.append((x, hexat(logo, x, 330)))
print(row2)
