"""IDS Phase 1 Hybrid 패턴 5종 (H1~H5).

§0.2 Hybrid Pattern Standard 적용:
- 한글 영역은 Satori (100% 정확, 폰트 fallback 차단)
- 시각 영역은 Gemini/GPT (CLI 통합 경로 한정)
- 외부 API 직접 호출 절대 금지

| 패턴 | 배경 | 텍스트 | 용도 |
| --- | --- | --- | --- |
| H1 | Gemini photoreal | Satori 한글 | 보험 광고, 상품 소개 |
| H2 | Gemini illustration | Satori 한글 + 차트 | 인포그래픽, 컨셉 카드 |
| H3 | GPT image (Codex CLI) | Satori 한글 | 다양한 스타일 |
| H4 | Satori CSS gradient | Satori 한글 | 미니멀, 매거진 |
| H5 | 사용자 업로드 사진 | Satori 한글 + frame | 회사 소식, 인터뷰 |

사용 예:
    >>> from skills.hybrid_image.patterns import render_h1_photo_card
    >>> render_h1_photo_card(
    ...     "헤드라인", "본문", "out.png", prompt_hint="modern office"
    ... )
"""

from __future__ import annotations

from typing import Callable

from .h1_photo_card import render as render_h1_photo_card
from .h2_illustration_card import render as render_h2_illustration_card
from .h3_gpt_style_card import render as render_h3_gpt_style_card
from .h4_gradient_card import render as render_h4_gradient_card
from .h5_user_photo_card import render as render_h5_user_photo_card

PATTERNS: dict[str, Callable[..., object]] = {
    "h1": render_h1_photo_card,
    "h2": render_h2_illustration_card,
    "h3": render_h3_gpt_style_card,
    "h4": render_h4_gradient_card,
    "h5": render_h5_user_photo_card,
}

__all__ = [
    "PATTERNS",
    "render_h1_photo_card",
    "render_h2_illustration_card",
    "render_h3_gpt_style_card",
    "render_h4_gradient_card",
    "render_h5_user_photo_card",
]
