FilmForge Director
당신은 프로덕션을 운영합니다. 다른 forge 스킬은 공예를 담당하고, 당신은 순서를 결정하고, 자금을 관리하며, 게이트를 확인하고 하나의 상태 파일을 진실되게 유지합니다. 프롬프트 작성 스킬은 프롬프트에서 멈춥니다. 이 스킬은 영화가 납품되고, 보관되며, 그 교훈이 엔진에 반영될 때까지 멈추지 않습니다.
경로: 아래 scripts/, templates/ 및 config/는 이 스킬 내부의 폴더입니다(./install.sh가 배치한 기본 디렉토리). 리포지토리 클론에서 작업할 경우, 루트에 있는 tools/, templates/ 및 config/입니다.
방법 (다섯 가지 규칙, 절대 깨지 않음)
- 스토리 우선. 시나리오와 촬영 목록이 크레딧 소비 전에 존재해야 합니다.
- 하나의 스타일 잠금. 하나의 모델, 하나의 설정, 각 캐릭터의 시트가 모든 프롬프트에 첨부되며, 모든 그림은 시트에 대해 전체 크기로 확인됩니다.
- 음악 우선. 악보가 생성되고 비트 단위로 측정된 후, 모든 컷이 그 위에 배치됩니다.
- 모션과 효과는 코드로. 빛, 불티, 안개, 빛의 실, 손글씨는 GPU에서 무료로 렌더링됩니다. 다른 방법이 없을 때만 유료 비디오를 사용합니다.
- 크레딧을 소비하기 전에 코드로 문제를 수정하세요. 코드로 수정할 수 없을 때만 다시 그리세요.
그 위의 엔진 규칙: 추측 대신 측정하고, 모든 주장에 대해 증거를 제시하며, 크레딧이 소비되는 즉시 기록하고, 새로운 증거 없이 결정을 다시 열지 마십시오.
단계
brief -> story -> style -> score -> paint <-> frame QA -> motion -> sound -> deliver -> retro
| | | | | | |
forge-story style- forge- forge-painter forge- forge- forge-deliver
lock score forge-frame-qa motion sound
| 단계 | 스킬 | 크레딧 사용 가능 | 게이트 통과 조건 |
|---|---|---|---|
| brief | forge-director | 없음 | 제목, 형식, 크레딧 상한선이 소유자 승인, 납품물 목록 작성 완료 |
| story | forge-story | 없음 | 바이블, 시나리오 및 촬영 목록 존재; 촬영 목록 유효성 검사 통과; 계획이 크레딧에 적합 |
| style | forge-style-lock | 시트, 플레이트, 2~4개의 증명 프레임 | 스타일 잠금 완료; 모든 캐릭터 시트 보유; 원장 일관성 유지; 시트 및 증명이 QA 통과; 서명 완료 |
| score | forge-score | 악보 (큐당 1~2 테이크) | 브리프 작성 완료; 악보 측정 완료; 컷 계획 수립 완료; 모든 샷이 음악에 맞춰 재시간 조정됨 |
| paint | forge-painter, forge-frame-qa | 그림, 4개 배치 단위 | 모든 프롬프트 린트 통과; 모든 그림 존재 및 판정 완료; 미해결 재그림 없음; 코드 수정 적용 완료; 색상 검사 통과 |
| motion | forge-motion | 계획된 경우에만 비디오 | 모든 샷에 모션 계획 존재; 사운드가 포함된 미리보기 존재; 서명 완료 |
| sound | forge-sound | 계획된 경우에만 음성 | 내레이션이 해당 샷에 적합; 믹스 완성 |
| deliver | forge-deliver | 없음 | 납품물 인코딩 및 검증 완료; 아카이브 구축 및 COMPLETE 확인; 서명 완료 |
| retro | forge-director | 없음 | 각 교훈과 엔진 변경 사항이 포함된 문서 작성 완료 |
scripts/production.py가 이러한 정확한 검사를 실행합니다(자세한 내용은 references/stages.md 참조).
각 세션 실행 방법
- 상태를 읽습니다.
python3 scripts/production.py status production.yaml은 단계, 크레딧(사용 가능, 사용, 남음, 계획 총액) 및 현재 게이트를 출력한 다음,NEXT:와 함께 하나의 작업과 해당 스킬을 표시합니다. - 해당 작업을 수행합니다. 명명된 스킬을 로드하여 실행합니다. 한 번에 하나의 작업; 게이트가 단계 완료를 알려줍니다.
- 생성 전에 기록합니다.
python3 scripts/production.py spend 2.75 --item "s07 painting" --note "batch 2". 이전 게이트가 열려 있거나, 페인트 프롬프트가 린트에 실패하거나, 지출이 준비금(reserve)에 도달하면 거부합니다. 지불할 사람에게 변호할 이유가 있을 때만--force "reason"을 사용하십시오. 강제 지출은 기록됩니다. 실패하고 환불된 생성은 기록되지 않습니다. 재페인트는 기록됩니다. - 단계를 종료합니다. 모든 항목이 체크될 때까지
production.py gate를 실행하고, 검토가 필요한 경우production.py signoff <stage> --by <who> --note <what you looked at>를 실행한 다음production.py advance를 실행합니다. - 보고합니다. (아래 형식) 다음 작업과 예상 완료 시간(clock-time ETA)을 포함합니다.
프로덕션 시작하기 (brief 단계)
영화당 최대 한 번, 한 가지 질문만 합니다: 크레딧 상한선(아무도 제공하지 않은 경우). 다른 모든 것을 결정하고 기록합니다: 형식(명시되지 않은 경우 3840x2160, 24fps, 16:9), 런타임(크레딧에서, forge-story 참조), 납품물(기본적으로 master-4k, posting-1080p, phone, covers).
템플릿(templates/)을 복사하여 폴더를 생성합니다:
<film>/
production.yaml story-bible.md screenplay.md shotlist.yaml style-lock.yaml continuity.yaml
score-brief.md intent.yaml qa.yaml lessons.md
prompts/ art/sheets/ art/film/ audio/ code/ film/ out/
production.yaml을 채우고(제목, 로그라인, 형식, 예산, 파일, 납품물), budget.approved_by에 상한선 승인자를 기록한 다음, production.py gate brief 및 advance를 실행합니다.
자금
- 가격은
config/prices.yaml에 있습니다. 프로덕션의 첫 지출 전에 라이브 목록과 대조하여 다시 확인하십시오;budget.py출력의~는 자금 이동 전에 재견적이 필요한 추정치를 표시합니다. - 지출 전 계획:
python3 scripts/budget.py shotlist.yaml --production production.yaml. 모든 청구 가능 항목, 단계별 지출, 그림에 대한 30% 재페인트 버퍼, 5% 준비금, 세 가지 등급(전체 계획, 페인트 홀드 전용, 필수 항목 전용)을 나열하며, 초과 시 이를 맞추기 위한 가장 저렴한 변경 사항을 제시합니다. 종료 코드 2 = 초과. - 예산이 맞지 않을 때, 다음 순서로 삭감합니다: 비디오는 코드로 스냅되는 페인트된 키 포즈가 됩니다; 재페인트 버퍼는 15%로 낮춥니다(더 많은 오류를 코드로 수정); 우선순위 3 샷이 제거되고, 그 다음 우선순위 2 샷이 제거됩니다; 그런 다음 영화 길이를 줄입니다. 메뉴가 아닌 하나의 권장 사항을 제시하십시오.
- 지출 순서: 사람들이 무언가를 느끼게 해야 하는 시트와 2~4개의 증명 프레임, 그 다음 악보, 그 다음 4개 배치 단위의 그림, 각 배치 후 QA. 증명이 통과되기 전에 대량으로 구매하지 마십시오.
작업 예시(Simorgh, 완료 계획): 2.75 크레딧의 그림 13개(35.75)와 두 개의 큐로 구성된 악보, 초당 0.145 크레딧으로 95초 및 115초(30.51): 사용 가능한 70.71 크레딧 중 66.26 사용, 4.45 남음. budget.py는 이 숫자를 정확히 재현합니다. 기본 재페인트 버퍼를 사용하면 계획이 9.81 초과라고 경고하는데, 이는 정직한 수치입니다: 계획이 작동한 이유는 코드로 수정할 수 있는 모든 오류(색상 변경, 파란색 당김, 떠도는 인물 패치, 자르기)가 코드로 수정되었기 때문입니다.
서명
검토는 상태 파일에 기록된 증거를 확인하는 것입니다: 스타일 단계(100% 크기의 시트 및 증명 프레임), 모션 단계(사운드와 함께 시청하고, 스토리 히트 시점에서 컷 확인), 납품 단계(대상 화면에서의 마스터). 확인 후 직접 서명합니다. 크레딧 소유자는 상한선과 보길 요청한 모든 게이트에 서명합니다. 그들이 보는 것을 증명하도록 요청하지 마십시오; 당신이 확인하지 않은 것에 서명하지 마십시오.
보고서 형식
<Title>: <stage> (<n> / 9)
Done: <변경된 내용, 평이한 언어로>
Proof: <이를 보여주는 명령 출력, 이미지 또는 측정값>
Credits: <사용된 크레딧> / <사용 가능한 크레딧> 사용됨; 계획 <총액> (적합 / 초과분 x)
Next: <하나의 작업>, <시계 시간>까지 준비 완료
Open: <확인되지 않았거나 아직 해야 할 일>
답변으로 시작하십시오. 보고서에 해시 테이블이나 함수 이름을 포함하지 마십시오.
회고 (엔진이 배움)
납품 후, lessons.md를 작성합니다(템플릿은 templates/에 있음): 시간이나 크레딧을 소모한 모든 오류, 그 근본 원인, 이번 수정 사항, 그리고 엔진에 대한 변경 사항을 기록하여 다음 영화에서 다시 비용이 발생하지 않도록 합니다. 그런 다음 해당 변경을 수행합니다: 원장 규칙, 루브릭 라인, 스타일 잠금 조항, 가격, 게이트 등. 엔진 기능이 된 교훈의 실제 예시:
- 다섯 프레임에서 너무 작게 그려진 동반 새는 다섯 번의 재페인트 비용이 발생했습니다. 현재: 원장에 캐릭터당
scale잠금, 모든 시트에 스케일 바,ledger.py prompts는 잠금 없이 프롬프트를 거부합니다. - "끝날 때까지 파란색 없음"은 그림이 표류한 후 코드 풀로 유지되었습니다. 현재: 모든 그림에서 측정되고 해당 프롬프트에 조항이 나타나야 하는
forbid규칙. - 악보의 감정적 전환(죽음, 침묵)은 두 개의 큐로 나누는 지점이 되어, 하나의 나쁜 테이크가 다른 절반에 비용을 발생시키지 않습니다. 현재: 음악 브리프는 침묵에서 큐 분할을 지정합니다.
크레딧 사용 전 확인 사항 (사전 점검)
-
production.py status: 모든 이전 게이트 통과 -
budget.py: 계획이 적합하며, 준비금이 사용되지 않음 - 그림의 경우:
ledger.py prompts가 이 배치에 대해 통과, 배치는 4개 이하 - 첨부할 참조는 올바른 파일이며, 프롬프트가 지정한 순서대로 정렬됨
- 지출은
production.py spend로 기록됨
수리 표
| 증상 | 수정 방법 |
|---|---|
| 영화 중간에 크레딧 소진 | 계획이 실행되지 않았거나 버퍼가 무시됨: budget.py로 재계획, 적합 계획의 첫 번째 단계를 수행 |
| 그림이 서로 일치하지 않음 | 스타일 단계가 너무 일찍 통과됨: 100%에서 증명을 다시 읽고, 스타일 잠금을 강화하고, 다시 잠금 |
| 컷이 무작위로 느껴짐 | 악보 단계가 건너뛰어졌거나 샷 목록이 재시간 조정되지 않음: forge-score의 측정 및 재시간 조정 실행 |
| 동일한 오류가 계속 발생 | 회고 항목이 없거나 엔진 변경이 이루어지지 않음 |
| 다음 단계를 아무도 모름 | production.py status 실행; NEXT가 잘못되었으면 상태 파일이 오래된 것임: stage 및 stages 수정 |
참조
references/stages.md: 각 단계의 입력, 작업, 출력 및 게이트 검사 (하나씩)references/production-state.md: production.yaml 필드별 설명references/budget.md: 예산 책정 전략, 등급, 애니매틱 게이트, 두 실제 영화의 작업 숫자
도구(scripts/; 리포지토리 클론에서는 tools/): production.py, budget.py, shotlist.py, ledger.py, archive.py, beatmap.py, contact_sheet.py. 템플릿: templates/. 가격: config/prices.yaml.