Skip to main content

촬영 준비 단계 설계

기준일: 2026-03-11

이 문서는 Scene 생성 전에 거치는 공통 촬영 준비 단계의 목적과 MVP 범위를 정의합니다.

1. 목적​

  1. Scene(i2i/i2v) 생성 전에 현재 사용할 외형 구성을 먼저 선택한다.
  2. 레거시 look 선택 개념을 제거하고, 현재 도메인 기준인 outfit 중심으로 정리한다.
  3. 향후 헤어, 메이크업 등 외형 프리셋 카테고리로 확장 가능한 UI/상태 모델을 미리 확보한다.

2. 라우트​

  • 이미지 준비: /personas/[id]/prepare/image
  • 비디오 준비: /personas/[id]/prepare/video

준비 단계가 끝나면 다음 페이지로 이동한다.

  • 이미지 생성: /personas/[id]/generate/image
  • 비디오 생성: /personas/[id]/generate/video

3. MVP 선택 규칙​

  1. 현재 활성 카테고리는 착장(outfit) 하나만 사용한다.
  2. Scene 생성 계약은 여전히 outfitId 필수 기준을 유지한다.
  3. 준비 단계는 미래 확장을 고려한 일반 구조를 갖되, 실제 동작은 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 기준으로 준비 단계에서 다음 값을 생성 페이지에 전달한다.

  • personaId
  • outfitId
  • mode(image|video)

현재는 outfitId가 없으면 생성 페이지로 직접 진입할 수 없다.

7. 안전 가드​

  1. 저장된 착장이 없으면 다음 버튼을 비활성화한다.
  2. 준비 단계에서 선택되지 않은 상태로는 Scene 생성 페이지로 이동할 수 없다.
  3. 생성 페이지에 직접 진입했을 때 outfitId가 없으면 준비 단계로 되돌린다.

8. 미래 확장 메모​

준비 단계는 장기적으로 외형 구성 선택 페이지 역할을 맡는다.

추후 확장 예시:

  • 헤어스타일 preset
  • 메이크업 preset
  • 기타 persona 외형 preset

다만 MVP 동안 backend Scene 계약은 outfitId 중심을 유지한다.

9. 관련 문서​