Decisions, Current State, and Roadmap
1. 설계 결정 상태
| 주제 | 상태 | 결정 또는 기준 |
|---|---|---|
| 서비스 정체성 | 확정 | 단순 AI Video Generator가 아니라 계층형 영화 제작 데이터 모델 기반 워크스페이스 |
| 탐색 구조 | 확정 | Script에서 Project -> Sequence -> Scene -> Beat/Shot으로 점진적 구체화 |
| Beat와 Shot 관계 | 확정 | Scene 아래 독립 엔티티, BeatShotMapping으로 M:N 연결 |
| 상속 범위 | 확정 | Project -> Sequence -> Scene의 기본값 해석. Beat와 Shot은 서로 상속하지 않음 |
| Concept Frame 위치 | 확정 | Scene 레벨의 시각 구체화 자료 |
| Performance의 위치 | 확정 | Beat Design 안의 독립 하위 영역 |
| Asset 소유 모델 | 확정 | Project와 분리된 Asset Library + 프로젝트·단계별 Usage/State/Reference |
| Blender 역할 | 확정 | Physical / World State. Narrative State의 단일 저장소가 아님 |
| 생성 결과 모델 | 확정 | Attempt를 누적하고 Selected Clip을 명시적으로 선택 |
| Edit Relation | 확정 | 인접 Shot의 연결이 만드는 관객 추론, 감정, 연속성, 정보 공개를 별도 관계로 관리 |
| Context Director 역할 | 확정 | 전체 맥락을 해석하되 직접 생성하지 않고 Renderer Brief와 QA 기준을 생성 |
| Context Director 명칭 | 임시 | 역할 계층의 작업명이며 Montage Director AI, Narrative Context AI 등 대체 명칭 검토 가능 |
| 상속과 프롬프트 주입 | 확정 | resolved context는 Director 입력이며 Renderer에는 선별된 부분집합만 전달 |
| Shot 생성 단계 | 확정 | Frame Design 기반 Start Image와 Motion Design 기반 Video 생성을 분리 |
| Renderer Prompt 원칙 | 확정 | 현재 보이는 상태를 긍정형으로 기술하고 미래·숨김 정보는 제외 |
| 관계형 DB 스키마 | 미결정 | 엔티티, ID, 삭제·복구, JSONB 경계, 인덱스 설계 필요 |
| Script 범위 추적 | 미결정 | Script 수정 후 Sequence/Scene 원문 범위를 유지·재매핑하는 정책 필요 |
| Blender 동기화 | 미결정 | 초기 수동 연결 이후의 일방향/양방향 동기화 계약 필요 |
| 모델 Adapter 계약 | 미결정 | provider별 기능 선언, 오류·비용 표준화, 참조 자료 변환 계약 필요 |
| Field Routing 스키마 | 미결정 | 단일 route와 복수 audience, visibility/purpose 분리 여부 결정 필요 |
| Context Director JSON | 미결정 | Context Window, Brief source, withheld information, QA 출력 계약 필요 |
| 편집 타임라인 모델 | 미결정 | Selected Clip 이후의 편집 데이터 모델과 export 정책 필요 |
2. 현재 구현 상태
현재 frontend-vivid-film과 기존 backend에는 다음 기반 기능이 구현되어 있다.
- Film 프론트엔드의 인증·포인트 연동 기반
- Scene 단위 평면도 에디터: 카메라, 인물, 조명, 소품, 벽의 배치·회전·스케일과 카메라 FOV
- 평면도 서버 저장·불러오기 API 및 참조 이미지의 S3 외부화
- 카메라 중심 Shot 목록과 평면도·참조 이미지를 사용한 이미지 생성 연동
- 생성 결과의 기본 표시와 기존 생성 파이프라인 연계
자세한 인프라와 구현 이력은 film.surfai.org Subdomain Service Plan을 기준으로 한다.
다음은 아직 구현됐다고 간주하지 않는다.
- Project, Sequence, Scene, Beat, Shot의 완전한 저장 모델과 화면
- Script 자동 Sequence/Scene 분해 및 사용자 승인 흐름
- Beat-Shot Mapping 편집기
- Edit Relation과 Timeline View
- 전역 Asset Library와 Asset Usage/State/Reference 모델
- Context Director, Field Routing, Renderer Brief Compiler, Reference Composer
- Frame Design 기반 시작 이미지와 Motion Design 기반 영상 생성 파이프라인
- 범용 Model Adapter
- Blender Scene 동기화
- Context QA, Attempt 비교, Selected Clip, 편집 타임라인 모델
3. 권장 구현 순서
| 단계 | 범위 | 완료 기준 |
|---|---|---|
| 1. 프로젝트 골격 | Project, Script, Sequence CRUD와 순서·원문 발췌 | 사용자가 Script로부터 Sequence 구조를 만들고 수정·승인 가능 |
| 2. Scene 구조화 | Sequence 안의 Scene CRUD, physical setting, 기존 평면도 연결 | Scene이 Sequence 문맥과 Layout을 함께 보유 |
| 3. 서사와 편집 관계 | Beat, Shot, Mapping, Performance, Edit Relation 입력 | Beat와 Shot을 M:N 연결하고 인접 Shot의 편집 의도를 설계 가능 |
| 4. Asset 기반 | Asset Library, Version, Usage, State, Reference | 동일 에셋을 여러 Project에서 안전하게 재사용하고 버전 추적 가능 |
| 5. Context와 생성 Compiler | Context Window, Director, Field Routing, Frame/Motion Brief, attempt snapshot | 전체 맥락과 Renderer 전달 정보가 분리되고 출처·제외 이유 확인 가능 |
| 6. 모델·Blender 확장 | model adapter, Blender link, previs | 모델 기능 차이를 명시하고 물리 씬 입력을 연결 |
| 7. QA와 후반 작업 | Context QA, Selected Clip, continuity review, editing timeline | 전후 맥락을 검수하고 결과를 선택해 편집 단계로 전달 가능 |
4. 구현 전 결정해야 할 세부 계약
Script와 구조화 결과
- Script를 수정할 때 기존 Sequence/Scene의 원문 범위를 자동 이동할지, 사용자 검토 상태로 둘지
- AI 재분해 결과를 기존 수동 수정과 어떻게 비교·병합할지
- 원문 발췌를 문자 offset, 문단 ID, 별도 segment ID 중 무엇으로 식별할지
상속과 상태
- 상속 가능한 필드와 반드시 로컬이어야 하는 필드의 목록
unset, 명시적 제거, 로컬 override의 API 표현- 에셋 상태가 Sequence·Scene·Beat에 중복 지정될 때 충돌 해석 규칙
버전·삭제·권한
- Script, Asset, Concept Frame, Layout, Blender Scene, Generation Attempt의 버전 단위
- 삭제 시 하위 엔티티와 과거 Attempt를 보존하는 방법
- 공유 Asset의 읽기·복제·프로젝트 전용 파생 권한
AI 입력과 검증
- 모델별 capability registry의 스키마
- 참조 이미지가 모델 상한을 넘을 때의 선택·합성 규칙
- 모델이 지원하지 않는 시간축·카메라·연기 지시를 사용자에게 알리는 방식
- 생성 실패의 분류, 재시도, 비용·환불 정책
Context Director와 편집 관계
- Context Window의 기본 크기, 확장 조건, 토큰 예산
- Edit Relation과 비인접 Shot Relation의 테이블 분리 여부
- Field Routing의 단일·복수 audience 표현과 접근 제어
- Context Director 입력·출력, Frame/Motion Brief, QA 결과 JSON Schema
- 긍정형 Renderer Prompt 변환과 모델별 negative prompt 예외 정책
- Start Image Attempt와 Video Attempt의 연결 및 비용 기록 방식
5. 문서 유지 원칙
이 카테고리는 목표 도메인 모델의 단일 기준 문서다. DB 스키마, API, 화면 구현이 확정되면 해당 문서는 여기의 원칙과 모순되지 않는지 검토한 뒤 구체 계약 문서로 확장한다. 구현 상태가 바뀌면 본 문서의 "현재 구현 상태"와 changelog를 함께 갱신한다.