#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
=============================================================================
THẬP NGŨ NIÊN (THE FIFTEEN SPRINGS) - EPISODE 02 SCREENPLAY & PROMPT EXPANDER
=============================================================================
Mở rộng Tập 2 lên quy mô điện ảnh 30 phút (188 shots, 15 cảnh, 3 Hồi chuẩn Hollywood):
- Hồi 1 (Cảnh 01 - 05, 68 shots): Đêm trao duyên bất hủ & Cuộc ngã giá Mã Giám Sinh
- Hồi 2 (Cảnh 06 - 10, 60 shots): Biệt ly quan san, giông tố đầu đời & Lầu xanh Lâm Tri
- Hồi 3 (Cảnh 11 - 15, 60 shots): Lầu Ngưng Bích khóa xuân, bốn cõi sầu muộn & Bẫy Sở Khanh
Tuân thủ tuyệt đối:
- Anti-Male-Tears Directive (0% nam nhân rơi lệ)
- Lip-Sync & Off-Screen Dialogue Guard ([KHÓA KHẨU HÌNH BẮT BUỘC])
- 100% YouTube Green Dollar Compliance (Chiaroscuro & Nature Metaphors)
- Motion Continuity & Continuous Head-Tail Chaining
=============================================================================
"""

import os
import sys
import json
from pathlib import Path

BASE_DIR = Path(__file__).resolve().parent.parent
EPISODES_DIR = BASE_DIR / "episodes"
EP02_DIR = EPISODES_DIR / "ep02"
SCREENPLAY_FILE = EP02_DIR / "screenplay.md"
MUSE_PROMPTS_FILE = EP02_DIR / "prompts" / "muse_prompts.json"
BANANA_PROMPTS_FILE = EP02_DIR / "prompts" / "banana_prompts.json"
MANIFEST_FILE = EP02_DIR / "manifest.json"

SCENE_DEFINITIONS = [
    {
        "id": "ep02_scene01",
        "title": "NỘI. KHUÊ PHÒNG THÚY KIỀU - ĐÊM MƯA GIÓ (GIỌT SÁP NẾN ĐỎ)",
        "slug": "INT. THUY KIEU'S BEDCHAMBER - RAINY NIGHT",
        "shots_count": 12,
        "location": "Khuê phòng mộc mạc họ Vương, gian gác nhỏ, ánh đèn dầu lạc, mưa quất ngoài liếp",
        "characters": ["Thúy Kiều (17t)", "Thúy Vân (16t)"],
        "act": "HỒI 1: ĐÊM TRAO DUYÊN BẤT HỦ & BUỔI SÁNG PHƯỜNG BUÔN THỊT (00:00 - 10:00)",
        "beat": "Mở đầu đêm cuối cùng Kiều ở gia trang họ Vương, nỗi cô đơn tột cùng trước kỷ vật tình đầu."
    },
    {
        "id": "ep02_scene02",
        "title": "NỘI. KHUÊ PHÒNG - THÚY KIỀU SỤP LẠY THÚY VÂN (CẬY EM CHỊ LẠY RỒI THƯA)",
        "slug": "INT. THUY KIEU'S BEDCHAMBER - NIGHT",
        "shots_count": 16,
        "location": "Gian gác nhỏ, góc giường Thúy Vân, nền sàn đá gạch",
        "characters": ["Thúy Kiều (17t)", "Thúy Vân (16t)"],
        "act": "HỒI 1: ĐÊM TRAO DUYÊN BẤT HỦ & BUỔI SÁNG PHƯỜNG BUÔN THỊT (00:00 - 10:00)",
        "beat": "Kiều quỳ lạy Vân, trao lại mối tơ duyên dang dở với Kim Trọng."
    },
    {
        "id": "ep02_scene03",
        "title": "NỘI. KHUÊ PHÒNG - TRAO KỶ VẬT & LỜI THỀ HỒN CỎ CÂY",
        "slug": "INT. BEDCHAMBER - MIDNIGHT",
        "shots_count": 14,
        "location": "Bàn gỗ khuê phòng, chiếc thoa kim, tờ mây, quạt ngọc, phím tỳ bà",
        "characters": ["Thúy Kiều (17t)", "Thúy Vân (16t)"],
        "act": "HỒI 1: ĐÊM TRAO DUYÊN BẤT HỦ & BUỔI SÁNG PHƯỜNG BUÔN THỊT (00:00 - 10:00)",
        "beat": "Trao kỷ vật, lời nguyền linh hồn nương ngọn gió hiu hiu trở về, tiếng thét Kim Lang và ngất lịm."
    },
    {
        "id": "ep02_scene04",
        "title": "NGOẠI / NỘI. CỔNG GIA TRANG & TIỀN ĐƯỜNG - MÃ GIÁM SINH XUẤT HIỆN",
        "slug": "EXT./INT. VUONG FAMILY COMPOUND - OVERCAST MORNING",
        "shots_count": 12,
        "location": "Ngõ nhỏ gia trang họ Vương, sập gụ phòng khách",
        "characters": ["Mã Giám Sinh (45t)", "Mụ Mối (50t)", "Vương Ông (56t)", "Vương Quan (15t)"],
        "act": "HỒI 1: ĐÊM TRAO DUYÊN BẤT HỦ & BUỔI SÁNG PHƯỜNG BUÔN THỊT (00:00 - 10:00)",
        "beat": "Bộ mặt nhẵn nhụi trơ trẽn của Mã Giám Sinh, hành vi sỗ sàng trèo tót lên ghế trên."
    },
    {
        "id": "ep02_scene05",
        "title": "NỘI. TIỀN ĐƯỜNG - CUỘC NGÃ GIÁ BUÔN THỊT & BỐN TRĂM LƯỢNG BẠC",
        "slug": "INT. LIVING ROOM - MORNING",
        "shots_count": 14,
        "location": "Tiền đường họ Vương, mặt bàn bày bạc nén, rèm che buồng trong",
        "characters": ["Thúy Kiều (17t)", "Mã Giám Sinh", "Mụ Mối", "Vương Ông", "Vương Bà"],
        "act": "HỒI 1: ĐÊM TRAO DUYÊN BẤT HỦ & BUỔI SÁNG PHƯỜNG BUÔN THỊT (00:00 - 10:00)",
        "beat": "Kiều bước ra đẫm lệ, bị săm soi ép gảy đàn vịnh quạt; bạc đổ đầy bàn định đoạt số phận."
    },
    {
        "id": "ep02_scene06",
        "title": "NGOẠI. SÂN GIA TRANG & CỔNG LÀNG - BIỆT LY ĐOẠN TRƯỜNG",
        "slug": "EXT. VILLAGE GATE - AFTERNOON",
        "shots_count": 12,
        "location": "Sân nhà họ Vương, ngõ làng, cỗ xe ngựa mành tre khép kín",
        "characters": ["Thúy Kiều (17t)", "Vương Ông", "Vương Bà", "Thúy Vân", "Vương Quan", "Mã Giám Sinh"],
        "act": "HỒI 2: BIỆT LY QUAN SAN & LẦU XANH LÂM TRI (10:00 - 20:00)",
        "beat": "Lạy tạ cha mẹ lần cuối, Vương Quan và Vương Ông nén sâu nỗi uất hận trượng phu, xe lăn bánh."
    },
    {
        "id": "ep02_scene07",
        "title": "NGOẠI. ĐƯỜNG THIÊN LÝ - RỪNG PHONG THU NHUỐM MÀU QUAN SAN",
        "slug": "EXT. AUTUMN MOUNTAIN PASS - LATE AFTERNOON",
        "shots_count": 10,
        "location": "Đèo núi hiểm trở, rừng cây lá phong đỏ úa, dặm trường cát bụi hồng",
        "characters": ["Thúy Kiều (trong xe)", "Mã Giám Sinh (cưỡi ngựa)", "Đoàn tùy tùng"],
        "act": "HỒI 2: BIỆT LY QUAN SAN & LẦU XANH LÂM TRI (10:00 - 20:00)",
        "beat": "Bút pháp tả cảnh ngụ tình Nguyễn Du: Rừng phong thu đỏ rực máu lệ chia ly quan san."
    },
    {
        "id": "ep02_scene08",
        "title": "NỘI / NGOẠI. LỮ QUÁN HOANG VEN ĐƯỜNG - ĐÊM GIÔNG BÃO THẤT THÂN",
        "slug": "INT./EXT. ROADSIDE INN - STORMY NIGHT",
        "shots_count": 14,
        "location": "Căn phòng trọ tồi tàn, ngọn nến đỏ chao đảo, vách nứa, cành hoa lê ngoài sân",
        "characters": ["Thúy Kiều (17t)", "Mã Giám Sinh"],
        "act": "HỒI 2: BIỆT LY QUAN SAN & LẦU XANH LÂM TRI (10:00 - 20:00)",
        "beat": "Bộ mặt thật của tên buôn người; ẩn dụ hoa lê rụng trong mưa bão (100% YouTube Green Dollar)."
    },
    {
        "id": "ep02_scene09",
        "title": "NỘI. ĐẠI SẢNH THANH LÂU LÂM TRI & BÀN THỜ BẠCH MI THẦN",
        "slug": "INT. BROTHEL MAIN HALL - DUSK",
        "shots_count": 12,
        "location": "Đại sảnh thanh lâu tráng lệ ngột ngạt mùi phấn sáp, tượng Bạch Mi Thần mày trắng râu quặp",
        "characters": ["Thúy Kiều (17t)", "Tú Bà (50t)", "Mã Giám Sinh", "Các kỹ nữ lầu xanh"],
        "act": "HỒI 2: BIỆT LY QUAN SAN & LẦU XANH LÂM TRI (10:00 - 20:00)",
        "beat": "Kiều đến Lâm Tri, bàng hoàng thấy bàn thờ quỷ quái, Tú Bà bắt lạy nhận sư phụ tiếp khách."
    },
    {
        "id": "ep02_scene10",
        "title": "NỘI. GIAN PHÒNG THANH LÂU - RÚT TRÂM TỰ VẪN & MƯU ĐỘC TÚ BÀ",
        "slug": "INT. BROTHEL ROOM - NIGHT",
        "shots_count": 12,
        "location": "Gian phòng riêng lầu xanh, giường son, trâm ngọc nhọn hoắt",
        "characters": ["Thúy Kiều (17t)", "Tú Bà", "Đám tỳ nữ thanh lâu"],
        "act": "HỒI 2: BIỆT LY QUAN SAN & LẦU XANH LÂM TRI (10:00 - 20:00)",
        "beat": "Kiều thà chết không chịu nhục, đâm trâm vào cổ; Tú Bà hoảng sợ đổi kế giam lỏng ra Lầu Ngưng Bích."
    },
    {
        "id": "ep02_scene11",
        "title": "NGOẠI / NỘI. LẦU NGƯNG BÍCH - KHÓA XUÂN TRƯỚC BIỂN HOANG VU",
        "slug": "EXT./INT. NGUNG BICH PAVILION - COASTAL CLIFF - TWILIGHT",
        "shots_count": 12,
        "location": "Lầu cao cô độc trên mỏm đá biển, non xa mờ sương, cồn cát vàng, trăng lạnh",
        "characters": ["Thúy Kiều (17t)"],
        "act": "HỒI 3: LẦU NGƯNG BÍCH KHÓA XUÂN & BẪY ĐÊM RỪNG TRÚC (20:00 - 30:00)",
        "beat": "Khóa xuân giữa vũ trụ rợn ngợp; vầng trăng lạnh bầu bạn cùng người con gái lưu lạc."
    },
    {
        "id": "ep02_scene12",
        "title": "NGOẠI. LẦU NGƯNG BÍCH - TẢ CẢNH NGỤ TÌNH (CÁNH BUỒM & HOA TRÔI)",
        "slug": "EXT. NGUNG BICH BALCONY - SUNSET / DUSK",
        "shots_count": 14,
        "location": "Lan can lầu cao nhìn ra cửa biển hoàng hôn và ngọn nước mới sa",
        "characters": ["Thúy Kiều (17t)"],
        "act": "HỒI 3: LẦU NGƯNG BÍCH KHÓA XUÂN & BẪY ĐÊM RỪNG TRÚC (20:00 - 30:00)",
        "beat": "Cánh buồm xa xa gợi nhớ song thân tựa cửa; cánh hoa đào trôi man mác dòng nước xiết thương thân."
    },
    {
        "id": "ep02_scene13",
        "title": "NGOẠI. LẦU NGƯNG BÍCH - TẢ CẢNH NGỤ TÌNH (CỎ RẦU RẦU & SÓNG GẦM QUANH GHẾ)",
        "slug": "EXT. NGUNG BICH BALCONY - NIGHTFALL",
        "shots_count": 12,
        "location": "Lan can lầu cao, đồng cỏ ven biển úa màu, biển động sóng vỗ vách đá ầm ầm",
        "characters": ["Thúy Kiều (17t)"],
        "act": "HỒI 3: LẦU NGƯNG BÍCH KHÓA XUÂN & BẪY ĐÊM RỪNG TRÚC (20:00 - 30:00)",
        "beat": "Nội cỏ rầu rầu xanh mờ mịt; tiếng sóng gầm dữ dội quanh ghế báo hiệu định mệnh kinh hoàng."
    },
    {
        "id": "ep02_scene14",
        "title": "NỘI / NGOẠI. LẦU NGƯNG BÍCH - MŨI TÊN LỤA ĐÀO & SỞ KHANH ƯỚC HẸN",
        "slug": "INT./EXT. NGUNG BICH BALCONY - DUSK",
        "shots_count": 10,
        "location": "Khung cửa sổ lầu cao, bãi cát phía sau lầu, bóng dáng Sở Khanh cưỡi ngựa",
        "characters": ["Thúy Kiều (17t)", "Sở Khanh (25t)"],
        "act": "HỒI 3: LẦU NGƯNG BÍCH KHÓA XUÂN & BẪY ĐÊM RỪNG TRÚC (20:00 - 30:00)",
        "beat": "Mũi tên bọc thư tình bay qua cửa sổ, Sở Khanh buông lời nghĩa hiệp hứa cứu nàng đào thoát."
    },
    {
        "id": "ep02_scene15",
        "title": "NGOẠI. NGÃ BA RỪNG TRÚC HOANG VU - BẪY ĐUỐC ĐỎ CLIFFHANGER",
        "slug": "EXT. BAMBOO FOREST CROSSROADS - PITCH BLACK NIGHT",
        "shots_count": 14,
        "location": "Bìa rừng trúc hẻo lánh, đường đất bùn lầy, hàng chục ngọn đuốc rực lửa",
        "characters": ["Thúy Kiều (17t)", "Sở Khanh", "Tú Bà", "Toán tay sai đao gậy"],
        "act": "HỒI 3: LẦU NGƯNG BÍCH KHÓA XUÂN & BẪY ĐÊM RỪNG TRÚC (20:00 - 30:00)",
        "beat": "Sở Khanh lật mặt cười nham hiểm, Tú Bà trên kiệu vây kín; Kiều rơi vào bẫy tuyệt vọng cùng cực."
    }
]

print("Script template ready.")
