
    (iN
                        d Z ddlmZ ddlmZ ddlmZmZmZ ddl	m
Z
 ddlmZmZmZ dd	d	d	d
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZeeeeefZy	)ul  H3. GPT 스타일 카드 — Codex CLI 통합 GPT image 배경 + 한글 텍스트.

용도: 다양한 스타일 (Gemini로 어려운 영역 — 추상, 아트, 특정 컨셉 등).
배경: GPT image, **반드시** Codex CLI 통합 경로 한정.
   ✅ subprocess.run(["codex", "exec", "--image-out", path, prompt])
   ❌ import openai 직접 호출 절대 금지
   ❌ HTTP requests로 api.openai.com 호출 절대 금지
텍스트: 한글 100% 정확 (Pretendard/Noto Sans KR).

IDS Phase 1 §3.2.1 / §0.2 Hybrid Pattern Standard 준수.
task-2428 Phase 2-1: 결정성 보장을 위해 procedural PIL render 사용.
    )annotations)Path   )build_background_layer_htmldefault_gradientgenerate_codex_gpt_background)render_h3_procedural)as_intbuild_text_overlay_htmlrender_html_to_png)i8  iF  N)sizedesign_tokensbackground_pathprompt_hintc          
     6   |\  }}t        |      }|j                  j                  dd       |xs i }	d}
|t        |      }|j                         r|}
|
*|r(|j                  |j                   dz  }t        ||      }
t        | ||||t        |	            S )u  H3 GPT 스타일 카드를 렌더링한다 (procedural PIL).

    Args:
        title: 한글 헤드라인.
        body: 한글 본문.
        output_path: 출력 PNG 경로.
        size: (width, height) 픽셀.
        design_tokens: 디자인 토큰 dict (gradient_theme/primary_hex/hint_*).
        background_path: 사전 생성된 배경 이미지.
        prompt_hint: GPT image 프롬프트 힌트 (Codex CLI로 전달, 옵셔널).

    Returns:
        저장된 PNG 경로.
    T)parentsexist_okNz
_h3_bg.png)widthheightr   )r   parentmkdirexistsstemr   r	   dict)titlebodyoutput_pathr   r   r   r   r   r   tokensbg_path	candidategen_paths                E/home/jay/workspace/skills/hybrid-image/patterns/h3_gpt_style_card.pyrenderr#      s    0 ME6{#KTD9 bF  G")	G;%%;+;+;*<J(GG/XF6l     )r   strr   r%   r   z
Path | strr   ztuple[int, int]r   zdict[str, object] | Noner   zPath | str | Noner   z
str | Nonereturnr   )__doc__
__future__r   pathlibr   _backgroundsr   r   r   _pil_renderr	   _satorir
   r   r   r#   _BACKWARD_COMPAT_HTML_BUILDER r$   r"   <module>r/      s    #  
 . H H ).2)-"00
0 0
 0 ,0 '0 0 
0h  
! r$   