칼카피 재는 도구 - 열쇠 없이 이 컴퓨터에서 돈다 (서버는 이 파일들을 돌리지 않는다. 폴더가 없으면 falcon_kalcopy action=tools 로 받는다)
이 폴더 = 받은 꾸러미 안의 kalcopy_tools (맥 꾸러미도 같다). 이 폴더에서 연 터미널 기준이다. 맥은 python -> python3.
먼저 한 번: ffmpeg -version 이 나오는지 보고, python -m pip install --user pillow yt-dlp

1) shot_ref.py - 레퍼런스 한 컷을 뜯는다 (프레임 6장 + 카메라/밝기 숫자 + 프롬프트 재료 md. 영상은 지운다)
   python shot_ref.py "https://youtu.be/XXXX" 87 --dur 4 --out 결과폴더
   python shot_ref.py 내영상.mp4 12 --dur 3 --out 결과폴더   (카메라 판정은 pip install --user opencv-python-headless numpy 뒤에)
2) ks_ingest.py - 영화 한 편 -> 컷 목록(scenes.md) + movie.json + 장면 판(sheets/*.jpg)
   python ks_ingest.py 영화.mp4 작업폴더
   받아쓰기 json(json-v2)이 작업폴더/asr/영화이름.json 에 있으면 대사까지 넣고, 없으면 대사 없이 간다.
3) ks_script_gate.py - 대본이 실측 범위에 드는지 숫자로 본다 (목소리 굽기 전에)
   python ks_script_gate.py 대본.md --틀 A     (틀은 A 또는 B 또는 C, 1분 샘플은 --샘플, 통과 0 / 벗어남 1)
   대본 문법은 ks_parse.py 맨 위에 적혀 있다. endings.py, tone_gate.py, ks_parse.py 는 같은 폴더에 둔다.
4) kimsiseon_speech.py - 받아쓰기 json 으로 말 쪽(시간 몫, 끝말, 번갈이)을 잰다
   python kimsiseon_speech.py 받아쓰기폴더 [id ...] [--first 60]
이 꾸러미에 없는 것: 받아쓰기(sm_transcribe), 목소리 굽기와 영상 만들기(ks_build) - 열쇠가 필요해 넣지 않았다.
이 도구들이 재지 않는 것: 자막 위치, 글꼴, 색, 소재 종류. 그 칸은 shot_ref.py 로 뽑은 프레임을 눈으로 보고 채우고 reason 앞에 「눈 확인:」 이라 적는다.
