스토리보드로 코딩 비디오 만들기
조건 참고
- 사용자가 실제로
/goal을 입력하여 목표를 시작하거나 재개할 때만references/goal-director.md를 완전히 읽고 그 안의 감독 제약 조건에 따라 실행합니다. - 일반 샷 제작, 수정, 미리보기, 렌더링 및
/goal에 대한 단순 논의 시에는 해당 파일을 읽지 않으며, '더 안전하다'고 미리 로드하지 않습니다.
먼저 계획, 확인 전에 코드 작성 금지
.media/storyboard/의 모든 프레임을 보고 '동일 주체의 연속 존재 또는 형태 변화'에 따라 그룹화합니다.STORYBOARD.md에 그룹, 샷 의존성 및 자산 목록을 작성합니다. 자산은 화면 표시 크기를 명시해야 합니다.- 내부적으로 연속 형태 변화가 있는 샷의 경우
RENDER_STRATEGY.md에서 가능한 방식을 비교하고 구현 방법을 확정합니다 →references/render-strategy.md. - 그룹 테이블과 자산 목록을 사용자에게 보여주고 확인을 기다립니다.
timeline.json은 샷 번호, 시작/종료 시간 및 총 길이에 대한 유일한 계획 소스입니다. 여러 Markdown 파일에서 시간표를 중복 유지하지 마십시오.
제작 백본
- 동일 그룹의 샷은 먼저 공유 주체 렌더러, CameraRig, 자산 로더 및 씬 상태 세트를 구축합니다. 샷 파일은 상태와 시간 매개변수만 유지합니다.
- 먼저 스토리보드 키프레임을 정적으로 재현하고 하나의 간결한 접촉 테이블로 합성하여 사용자 승인을 받습니다. 종점이 통과되지 않으면 보간 및 완료를 수행하지 않습니다.
- 정적 승인 후 애니메이션을 만들고 드래그 가능한 미리보기만 제공하며 승인을 기다립니다.
- 후속 샷은 이전에 통과한 샷의 마지막 프레임에서 계속 진화합니다: 연속, 변형, 추가 또는 소멸. 이미 존재하는 주체를 다시 그리거나 덮어쓰지 않습니다 →
references/scene-continuity.md. - 모든 샷이 통과되면 유일한 최종 타임라인에 연결하고, 연결부, 총 길이 및 한 번의 완전 재생을 확인합니다. 사용자 확인 후 최종 렌더링을 진행합니다.
통과된 샷, 주체 및 자산은 모두 잠금 항목입니다. 문제가 크기, 위치, 자르기, 카메라 또는 특수 효과에서 발생하는 경우 해당 매개변수만 변경합니다. 사용자가 자산 자체를 명시적으로 부정하지 않는 한 자산을 다시 생성하지 마십시오.
의존성에 따라 병렬 처리, 샷 번호 순서대로 대기 금지
- 동일 주체의 연속 형태 변화 또는 이전 샷의 마지막 프레임을 반드시 계승해야 하는 부분은 의존성 순서에 따라 제작합니다.
- 독립적인 씬, 배경, 투명 자산 및 이전 샷의 구도에 의존하지 않는 완전한 샷은 병렬로 제작할 수 있습니다.
- 공유 모체 씬 인터페이스가 안정화되면 다른 샷의 상태, 오버레이 레이어 및 내부 애니메이션을 병렬로 제작할 수 있습니다.
- 병렬 분기는 자신의 디렉토리만 작성하고 최종 타임라인, 공유 모체 씬 소스 파일 및 통과된 샷을 변경하지 않습니다. 출력은 접촉 테이블 또는 미리보기만 필요합니다.
- 후속 샷이 진입 연결에만 의존하는 경우 먼저 주체 씬과 애니메이션을 완료한 다음 마지막으로 이전 샷의 마지막 프레임 매개변수를 연결합니다.
최단 실행 경로 및 프롬프트 제약 조건
- 각 실행 프롬프트는 사용자가 현재 보고자 하는 하나의 인도물에만 초점을 맞추고, 허용된 쓰기 범위, 최소 단계, 명확한 중단 지점 및 이번 라운드에서 하지 않을 작업을 명시합니다. 단계별 미리보기를 최종 승인으로 확장하지 마십시오.
- 사용자가 '미리보기'를 요청할 때 기본 경로는 다음과 같습니다: 필요한 편집 또는 마운트 완료 → 페이지 로드 가능 확인 → Studio 시작 → 링크 반환.
check, 일괄 스냅샷, 접촉 테이블, 프레임별 연결부 테이블, 해시 또는 완전 재생으로 미리보기를 차단하지 마십시오. - 임시 조합, 부분 샷 연결 및 디버깅 진입점은 최종 비디오 통합이 아닙니다. 사용자가 연속적인 화면을 볼 수 있도록 하는 것만 담당합니다. 연결부별 승인, 총 길이 재확인 및 완전 재생은 모든 샷이 통과된 후의 유일한 최종 통합 단계로 남겨둡니다.
- 검증은 현재의 특정 질문에 직접 답할 수 있어야 합니다. 오류나 명확한 시각적 문제가 없으면 진단 스크립트, 버전 탐지, 회귀 매트릭스, 역방향 Seek, 반복 스크린샷 또는 '만약을 대비한' 검사를 추가하지 마십시오.
- 동일 세션에서 여러 브라우저, Studio,
check,snapshot,render프로세스를 병렬 또는 직렬로 쌓지 마십시오. 현재 인도물에 필요한 하나의 포그라운드 프로세스만 한 번에 실행합니다. 이미 사용 가능한 결과가 있으면 즉시 전달합니다. - 비렌더링 검증이 몇 분 동안 새 출력이 없거나 정상 소요 시간을 명백히 초과하는 경우 즉시 중단하고 가장 직접적인 차단 지점을 확인합니다. 수십 분 동안 피드백 없이 기다리거나 동일하게 다시 실행하거나 계속 검증을 추가하지 마십시오.
- 실행 세션에 대한 프롬프트는 기본적으로 '끝내면 멈춤'을 사용합니다: 사용자의 현재 요구 사항에 도달하면 결과를 반환하고, 자발적으로 다음 단계로 진행하지 않으며, 기술적 검사 통과로 인해 작업을 계속 확장하지 않습니다.
표현 및 운동 규칙
- 복잡한 정적 소품은 고품질 투명 텍스처를 사용합니다. 구조적 지오메트리 및 규칙적인 그래픽은 Canvas/SVG를 사용합니다. 입자, 파편, 연기 및 광점은 Canvas를 사용합니다.
- 연속적인 성장, 침범 및 래핑은 지오메트리 레이어, 텍스처 레이어, 애니메이션 레이어를 분리해야 합니다. 확장되는 것은 지오메트리이지 텍스처 픽셀이 아닙니다.
- 단일 2D 텍스처는 원본 이미지에 없는 윗면, 옆면 및 가려진 부분을 생성할 수 없습니다. 실제 원근감이 필요한 경우 다각도 자산 또는 3D를 사용하고 먼저 근사 경계를 설명합니다.
- 카메라 후퇴, 씬 축소 및 객체 축소는 서로 다른 것입니다 →
references/camera-motion.md. - 동일한 위치 또는 레이아웃 문제가 연속 세 번 동안 보정되지 않은 경우 최소 조정 패널을 만듭니다 →
references/tune-panel.md.
자산 및 결정론
- 원본 이미지의 변 길이는 화면 표시 크기의 2배를 초과하지 않습니다. WebP q85를 우선 사용합니다. 단일 씬 이미지는 3MB를 초과하지 않습니다 →
references/asset-budget.md. - 렌더링 시 네트워크 연결 없음: CDN 스크립트 또는 온라인 폰트를 사용하지 않습니다.
- 자체 코드는
Math.random,Date.now또는 폴링을 사용하지 않습니다. 첫 번째 드로잉 전에await img.decode()를 실행합니다.
진입점 및 상태
/index.html: 유일한 최종 타임라인 및 최종 렌더링 진입점. 항상 0초에서 초기화됩니다./compositions/NN-name.html: 그룹 또는 단일 샷 디버깅 진입점. 독립적으로 초기화 가능해야 합니다.- 최종 타임라인은 실제 조합이어야 하며 iframe 또는 페이지 전환을 사용하지 않습니다.
HANDOFF.md는 현재 유효 상태, 잠금 항목, 현재 파일, 짧은 문장의 거부 항목 및 다음 단계만 저장합니다. 간결하게 유지하고 프로세스 기록, 긴 프롬프트 또는 이력 보고서를 저장하지 않습니다.
최소 승인 및 인도
- 정적 단계: 하나의 스토리보드 키프레임 접촉 테이블 + '승인 대기 중'.
- 애니메이션 단계: 하나의 드래그 가능한 미리보기 + '승인 대기 중'.
- 임시 연결 미리보기: 페이지 로드 가능 + Studio 링크. 접촉 테이블을 생성하지 않고 프레임별 연결부를 확인하지 않으며 공식
check를 실행하지 않습니다. - 수정 단계: 수정된 프레임 또는 미리보기 + 한 문장 설명.
- 최종 단계: 전체 미리보기 또는 비디오 + 길이 및 출력 경로.
- 일상적인 점검은 페이지 로드 가능, 자산 가시성, 키프레임 정확성만 확인합니다. 공식
check는 애니메이션 최종 확정, 최종 통합 또는 특정 실행 문제가 필요할 때만 한 번 실행합니다. Lint, check, 일괄 스냅샷 또는 프레임별 회귀를 반복하지 마십시오.
기본적으로 감사 스크립트, 검증 JSON, 매니페스트, 인도 설명서, 아이덴티티/메시/입자 보고서, 프레임별 해시, 픽셀 차이, 반복 렌더링, 역방향 드래그 검증 또는 다중 버전 접촉 테이블을 생성하지 않습니다. 특정 문제가 발생하면 관련 코드, 오류 또는 문제가 있는 한 프레임만 확인하고 수정 후 결과를 보여줍니다. 사용자가 명시적으로 요청한 경우에만 공식 진단 보고서를 생성합니다.