Product Model and User Flow
1. 사용자 경험의 기준점
Cinema는 /cinema에서 다음 다섯 단계로 탐색한다.
Scenario -> Sequence -> Scene -> Beat -> Shot
Beat와 Shot은 Scene 아래의 형제 데이터이며 M:N Mapping으로 연결한다. Frame과 Motion은 탐색 단계가 아니라 승인된 Shot 카드 안에서 관리하는 두 Prompt 영역이다.
2. Project와 ScriptRevision
사용자는 Project를 만들고 제목, 로그라인, 주제, 장르, 시각 스타일과 전체 시나리오를 입력한다. 시나리오를 수정해 저장하면 확인 후 새 불변 ScriptRevision을 만든다.
작품 정보와 시나리오 본문은 분석 입력에서 구분한다. 제목, 장르, 로그라인, 등장인물 정보가 Sequence·Scene의 원문 범위에 섞이지 않아야 한다. 승인된 Sequence와 Scene은 분석한 ScriptRevision에 귀속한다.
3. Scene까지의 두 가지 분석 방식
단계별 분석
- ScriptRevision에서 Sequence Proposal을 생성한다.
- 사용자가 수정, 분할, 제외, 정렬하고 승인한다.
- 승인 Sequence별 Scene Proposal을 생성한다.
- 사용자가 Scene을 검토하고 승인한다.
통합 분석
- 사용자는
Scene까지 분석을 한 번 실행한다. - 서버는 내부적으로 Sequence 분석과 Sequence별 Scene 분석을 순차 실행한다.
- 하나의 검토 화면에서 전체 구조를 확인한다.
- 승인 결과는 단계별 분석과 같은 Sequence·Scene 엔티티를 만든다.
두 방식은 Proposal schema, source range validator와 승인 규칙을 공유한다. 차이는 사용자의 중간 개입 시점뿐이다.
4. Scene 이후
Beat Design
Scene 원문과 연출 메모에서 사건, 의도, 감정 변화, Performance와 Blocking을 Beat Proposal로 만든다. Beat에는 카메라 사양을 넣지 않는다. 사용자는 각 제안을 편집, 분할, 제외, 채택한 뒤 계획을 확정한다.
Shot Design
활성 Beat와 Scene 문맥으로 Shot Proposal을 만든다. Shot은 다음 정보를 충분히 표현한다.
- 목적과 제목
- Beat M:N Mapping과 Coverage 역할
- 주요 피사체와 Blocking
- Performance
- Shot Size, Camera Angle·Height·Movement
- Lens, Framing, Composition
- Environment, Lighting, Props, Continuity
- Dialogue·Audio와 Duration
모든 활성 Beat는 하나 이상의 Shot이 다뤄야 하고 모든 Shot은 하나 이상의 Beat와 연결되어야 한다.
5. Shot AI 편집
Shot 편집 팝업은 수동 편집과 AI 편집을 함께 제공한다.
- 사용자가 자연어로 수정 지시를 입력한다.
- AI가 현재 Proposal과 Mapping을 기준으로 수정안을 만든다.
- 화면에 변경 요약과 제안값을 표시한다.
- 사용자가
편집 폼에 반영을 선택한다. - 사용자가 일반 저장 버튼으로 최종 확정한다.
AI 응답을 즉시 DB에 쓰지 않는다. 채택되었거나 계획이 확정된 Proposal은 기존 정책대로 읽기 전용이다.
6. Shot 승인 후 Prompt
Shot 계획을 확정하면 같은 Shot 화면에서 Shot Prompt Package를 생성한다.
Frame Prompt
현재 Shot의 정적인 핵심 순간에 집중한다.
- 보이는 피사체와 배치
- 자세, 표정, 시선
- 카메라, 렌즈, 구도
- 환경, 조명, 소품과 시각 스타일
Motion Prompt
현재 Shot 안의 시간 전개에 집중한다.
- 행동과 Performance progression
- Camera와 Gaze progression
- Timing과 Rhythm
- 정확한 대사, 화자, Delivery
- Ambience, SFX와 종료 상태
두 Prompt는 함께 생성하지만 서로를 선행 조건으로 삼지 않는다. Frame 이미지 생성·선택 없이 Motion Prompt를 사용할 수 있고, 이전 Shot의 이미지나 경계 설정도 필요하지 않다.
7. 화면 역할
| 화면 | 주된 작업 | AI의 역할 | 사용자의 역할 |
|---|---|---|---|
/cinema | Project 목록과 생성 | 없음 | 프로젝트 탐색·관리 |
| Scenario | ScriptRevision과 작품 정보 | 구조·작품 정보·등장인물 제안 | Revision 저장과 분석 실행 |
| Sequence | 서사 구간 | Sequence·Scene 제안 | 구조 검토·승인 |
| Scene | 원문과 제작 문맥 | Scene·Beat 제안 | Scene과 Beat 작업 진입 |
| Beat | 사건·감정·연기·동선 | Beat 분석 | 제안 편집·채택·확정 |
| Shot | Shot 설계와 두 Prompt | Shot 분석, AI 편집, Prompt 생성 | Shot 확정, Prompt 편집·복사 |
| Assets | 공용 원본과 Version | 태깅·연결 제안 | Character Sheet와 Version 관리 |
8. 변경 영향
상위 정보를 수정했다고 하위 데이터를 즉시 삭제하지 않는다. Shot이 바뀌면 definitionVersion이 증가하고 Prompt Package는 생성 요청 당시의 shotDefinitionVersion을 기록한다. 비동기 결과는 두 값이 같은 경우에만 반영되므로 오래된 생성 결과가 최신 Shot Prompt를 덮어쓰지 않는다. 더 정교한 DAG는 실제 부분 재생성 요구가 확인된 뒤 Shot 입력 그룹 단위로 확장한다.