촬영 준비 단계 설계
기준일: 2026-03-11
이 문서는 Scene 생성 전에 거치는 공통 촬영 준비 단계의 목적과 MVP 범위를 정의합니다.
1. 목적
- Scene(i2i/i2v) 생성 전에 현재 사용할 외형 구성을 먼저 선택한다.
- 레거시
look선택 개념을 제거하고, 현재 도메인 기준인outfit중심으로 정리한다. - 향후
헤어,메이크업등 외형 프리셋 카테고리로 확장 가능한 UI/상태 모델을 미리 확보한다.
2. 라우트
- 이미지 준비:
/personas/[id]/prepare/image - 비디오 준비:
/personas/[id]/prepare/video
준비 단계가 끝나면 다음 페이지로 이동한다.
- 이미지 생성:
/personas/[id]/generate/image - 비디오 생성:
/personas/[id]/generate/video
3. MVP 선택 규칙
- 현재 활성 카테고리는
착장(outfit)하나만 사용한다. - Scene 생성 계약은 여전히
outfitId필수 기준을 유지한다. - 준비 단계는 미래 확장을 고려한 일반 구조를 갖되, 실제 동작은
outfit선택만 처리한다.
4. 페이지 구조
기본 레이아웃은 CreateWorkspaceShell을 재사용한다.
4.1 좌측 영역
- 현재 페르소나 요약
- 선택 안내 및 가드 메시지
4.2 중앙 영역
- 카테고리별 가로 스크롤 섹션
- MVP 활성 섹션
착장
- 추후 확장 섹션
헤어메이크업
4.3 우측 영역
- 현재 선택된 착장 상세
- 향후 외형 조합 요약으로 확장
4.4 하단 레일
이전다음
5. 선택 상태 모델
미래 확장을 고려해 선택 상태는 아래 형태를 권장한다.
type ScenePreparationSelection = {
outfitId: string | null;
hairStyleId: string | null;
makeupId: string | null;
};
MVP에서는 outfitId만 실제로 사용한다.
6. 생성 페이지 전달 계약
MVP 기준으로 준비 단계에서 다음 값을 생성 페이지에 전달한다.
personaIdoutfitIdmode(image|video)
현재는 outfitId가 없으면 생성 페이지로 직접 진입할 수 없다.
7. 안전 가드
- 저장된 착장이 없으면
다음버튼을 비활성화한다. - 준비 단계에서 선택되지 않은 상태로는 Scene 생성 페이지로 이동할 수 없다.
- 생성 페이지에 직접 진입했을 때
outfitId가 없으면 준비 단계로 되돌린다.
8. 미래 확장 메모
준비 단계는 장기적으로 외형 구성 선택 페이지 역할을 맡는다.
추후 확장 예시:
헤어스타일preset메이크업preset- 기타 persona 외형 preset
다만 MVP 동안 backend Scene 계약은 outfitId 중심을 유지한다.