
    EiO                        d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
mZmZ eee
e   f   Ze G d d             Ze G d d             Ze G d	 d
             Zy)u   SceneStillSyncService 내부 3-way 분해 계약 타입.

P3-1 (W4): loader → normalizer → writer 파이프라인의 데이터 계약을 정의.
외부 API(SceneStillSyncService.sync_from_checkpoint)는 변경 없음.
    )annotations)	dataclassfield)AnyDictListOptionalSetTuplec                     e Zd ZU dZ ee      Zded<   dZded<   dZ	ded<    ee      Z
ded	<   dZded
<    ee      Zded<    ee      Zded<    ee      Zded<    ee      Zded<    ee      Zded<    ee      Zded<    ee      Zded<    ee      Zded<    ee      Zded<    ee      Zded<   y)CheckpointBundleu   SceneStillCheckpointLoader가 산출하는 체크포인트 덤프.

    Normalizer/Writer는 이 번들만 읽고 `_load_cp`에 다시 접근하지 않는다.
    default_factoryzList[Dict[str, Any]]scenesFboolsd_completed
sd_partial	shot_depsshot_dep_completedzDict[int, List[Dict[str, Any]]]shot_info_by_scenezDict[int, Set[int]]selected_flag_by_scenezDict[int, List[str]]scene_director_vescene_director_audioscene_director_hallz Dict[Tuple[int, int], List[str]]shot_director_ve_mapzDict[str, Dict[str, Any]]dep_mapscene_summariesshot_cine_shotsscene_cine_scenesN)__name__
__module____qualname____doc__r   listr   __annotations__r   r   r   r   dictr   r   r   r   r   r   r   r   r   r        i/Users/manta/Documents/Projects/TheRoad-I1/backend/app/services/checkpoint_sync/_scene_still_contracts.pyr   r      s    $)#>F >L$ J ',D&AI#A$$ ;@PT:U7U272M/M /4D.I+I16t1L.L05d0K-K >CSW=X:X */t)DG&D -2$,GO)G -2$,GO)G.3D.I+Ir(   r   c                      e Zd ZU dZ ee      Zded<    ee      Zded<    ee      Z	ded<    ee      Z
ded<   y)	
EntityMapsuS   entity_canon 조회 결과 — normalizer가 visible_entities 해석할 때 사용.r   zDict[str, str]
name_to_idname_to_shortshort_to_idshort_to_nameN)r    r!   r"   r#   r   r&   r,   r%   r-   r.   r/   r'   r(   r)   r+   r+   8   sA    ]!&t!<J<$)$$?M>?"'"=K=$)$$?M>?r(   r+   c                  V    e Zd ZU dZded<   ded<   ded<   ded<    ee	      Zd
ed<   y)PlannedStillu   Normalizer가 작성, Writer가 UPSERT하는 한 row의 설계도.

    `columns`에는 SceneStill 모델의 대부분의 필드가 들어가고,
    `still_index`/`scene_index`/`t2i_composer_version`은 writer가 명시적으로 처리.
    StillKeykeyintstill_indexscene_indexstrt2i_composer_versionr   zDict[str, Any]columnsN)r    r!   r"   r#   r%   r   r&   r9   r'   r(   r)   r1   r1   B   s/     
M#D9G^9r(   r1   N)r#   
__future__r   dataclassesr   r   typingr   r   r   r	   r
   r   r4   r2   r   r+   r1   r'   r(   r)   <module>r=      s   
 # ( 8 8 hsm#$ %J %J %JP @ @ @ : : :r(   