"""FikoYT Karakter Stüdyosu — profil tanımı, sahne çekimi, çoklu açı,
LoRA eğitim dataset'i. Tutarlı karakterle baştan sona film akışı için.
"""
import json
import os
import time

try:
    import numpy as np
    from PIL import Image
except ImportError:
    np = None
    Image = None

_YOK = "yok"


def _combo(*items):
    return [_YOK, *items]


_CINSIYET = {
    "kadin": "woman", "erkek": "man", "genc_kadin": "young woman",
    "genc_erkek": "young man", "androjen": "androgynous person",
}
_YAS = {
    "genc_yetiskin": "young adult in her 20s", "yetiskin": "adult in their 30s",
    "orta_yas": "middle aged", "olgun": "mature elderly",
}
_VUCUT = {
    "ince": "slim build", "atletik": "athletic toned build",
    "kasli": "muscular build", "kivrimli": "curvy build",
    "dolgun": "plus size build", "fit": "fit build",
}
_SAC_RENK = {
    "siyah": "black hair", "kahve": "brown hair", "sari": "blonde hair",
    "kizil": "red hair", "platin": "platinum hair", "gri": "silver gray hair",
    "mavi": "blue hair", "pembe": "pink hair", "mor": "purple hair",
}
_SAC_STIL = {
    "uzun_duz": "long straight", "uzun_dalgali": "long wavy",
    "kisa": "short", "topuz": "bun updo", "orgu": "braided",
    "at_kuyrugu": "ponytail", "kivircik": "curly", "dagilmis": "messy",
}
_GOZ = {
    "kahve": "brown eyes", "mavi": "blue eyes", "yesil": "green eyes",
    "ela": "hazel eyes", "gri": "gray eyes", "siyah": "dark eyes",
}
_TEN = {
    "acik": "fair skin", "bugday": "tan skin", "esmer": "olive skin",
    "koy