# Bố trí màn hình khi quay
> Vì `run-all.sh` **tự in title card + mô tả + lệnh + exit code** ngay trong terminal, chính terminal đã là "text hiển thị". Không cần phần mềm dựng phụ đề — chỉ cần layout terminal đọc rõ.
---
## ✅ PHƯƠNG ÁN 1 — Một terminal full-screen (KHUYẾN NGHỊ)
Đơn giản nhất, ít lỗi nhất, hợp video text-only. Script tự dẫn chuyện tuần tự.
```
┌──────────────────────────────────────────────────────────────┐
│ │
│ TERMINAL DUY NHẤT (full-screen, font lớn) │
│ → chạy: bash .../video-steps/run-all.sh │
│ │
│ ┏━ A1 · Direct prompt injection │
│ ┗━ OWASP LLM01 · MAESTRO L1 │
│ 🎯 Tấn công: ... │
│ 🛡️ Control: ... │
│ $ bash $S/security-check.sh ... │
│ SECURITY_BLOCKED ... rc=2 │
│ → exit=2 │
│ [Enter ▶ bước tiếp theo] │
│ │
└──────────────────────────────────────────────────────────────┘
```
**Thiết lập terminal khi quay:**
- Kích thước cửa sổ: **1920×1080** (khớp khung quay 1080p), hoặc 2560×1440.
- Font: **18–22pt** monospace (JetBrains Mono / Menlo / Fira Code), **line-height 1.4**.
- Theme **nền tối, tương phản cao** (vd Dracula, One Dark) — chữ trắng/vàng/xanh nổi rõ.
- `columns ≈ 100`, đủ để dòng title card + rule không bị xuống dòng.
- **Tắt** thông báo hệ thống, Do Not Disturb, ẩn thanh menu.
- Xoá scrollback trước khi quay: `clear && printf '\033[3J'`.
**Cách chạy khi quay:**
```bash
# MẶC ĐỊNH: tự chạy, dừng 5s mỗi bước rồi tiếp (rảnh tay, hợp quay)
bash /…/optimize-docs/video-steps/run-all.sh
STEP_DELAY=8 bash /…/run-all.sh # bước nhiều output → tăng thời gian dừng
AUTO=0 bash /…/run-all.sh # bấm Enter thủ công (kiểm soát nhịp cắt cảnh)
```
---
## ◧ PHƯƠNG ÁN 2 — tmux 2 pane + BẢN ĐỒ SỐNG nhấp nháy (KHUYẾN NGHỊ cho bạn)
Pane trái là **bản đồ ANSI sống**: `run-all.sh` chạy tới bước nào thì bản đồ **tự tô màu bước đó, nhấp nháy vàng**, các bước trước chuyển **✓ xanh**, bước sau **mờ**. Hai pane đồng bộ qua một file trạng thái (`/tmp/casan_step`).
```
┌────────────────────┬─────────────────────────────────────────┐
│ CASAN·ATTACK MAP │ PANE PHẢI — run-all.sh │
│ tiến độ chạy ▸ │ │
│ ⭐ H4 · SECURITY │ ┏━ D1 · Cost-spike 3× 🔥 │
│ ✓ A1 direct inj │ 🎯 Tấn công: ... │
│ ✓ A2 paraphrase │ 🛡️ Control: ... │
│ ✓ … │ $ cost-spike-detect ... │
│ ⭐ H6 · AGENTOPS │ COST_SPIKE_DETECTED exit=2 │
│ ▶ D1 cost-spike🔥 ◀│ → exit=2 │ ← ▶ nhấp nháy
│ · D2 negative │ [Enter ▶ bước tiếp] │
│ · … │ │
└────────────────────┴─────────────────────────────────────────┘
↑ ✓ xanh = xong · ▶ vàng nháy = đang chạy · · mờ = chưa tới
```
**Cách chạy — 1 lệnh dựng sẵn cả 2 pane:**
```bash
cd
| # vd: AINative_OKR_CASAN5
bash /…/optimize-docs/video-steps/start-tmux.sh
```
`start-tmux.sh` tự: tạo session `casan`, pane trái chạy [`map-live.sh`](map-live.sh), pane phải chạy [`run-all.sh`](run-all.sh) — **mặc định tự chạy, dừng 5s/bước**. Tuỳ chỉnh:
```bash
STEP_DELAY=8 bash /…/start-tmux.sh # tăng thời gian dừng mỗi bước
AUTO=0 bash /…/start-tmux.sh # pane phải bấm Enter thủ công
COLS=240 ROWS=60 LEFT=48 bash /…/start-tmux.sh # cửa sổ to hơn / pane trái rộng hơn
```
**Cơ chế đồng bộ (nếu muốn tự dựng tay):**
- `run-all.sh` ghi id bước hiện tại vào `$CASAN_STEP_FILE` (mặc định `/tmp/casan_step`) tại mỗi bước.
- `map-live.sh ` poll file đó ~0.45s/lần, vẽ lại map và **tự toggle nhấp nháy** (không phụ thuộc terminal có hỗ trợ thuộc tính blink hay không).
- Cả hai pane phải trỏ **cùng** một `step_file`.
---
## ❓ Mermaid có làm được không?
**Không — không dùng trực tiếp trong pane tmux.** Mermaid render bằng engine SVG của trình duyệt/markdown-viewer; terminal không có engine đó, và bản mermaid tĩnh cũng không "nhấp nháy theo bước". Vì vậy hiệu ứng bạn muốn được làm bằng **bản đồ ANSI sống** ở trên (đúng tinh thần "chạy đến đâu sáng đến đó").
Nếu bạn **thích đúng look mermaid**, có 2 lối vòng (không khuyến nghị cho tmux):
1. **Render ảnh mỗi bước:** `mmdc` (mermaid-cli) sinh PNG với node hiện tại được tô (`classDef current`/`:::current`), rồi hiện bằng terminal hỗ trợ ảnh (kitty `icat`, iTerm2 `imgcat`, hoặc `chafa`). Mỗi bước phải sinh lại ảnh → nặng, và **không nhấp nháy**.
2. **Trang HTML mermaid + JS:** highlight node theo bước bằng JavaScript, quay **cửa sổ trình duyệt** đặt cạnh terminal thay cho pane trái. Đẹp, mượt, nhưng bỏ mô hình tmux thuần.
> Muốn phương án 2 (HTML mermaid động, tôi dựng thành 1 trang tự chạy highlight)? Nói mình làm — nhưng để quay trong tmux thì `map-live.sh` là lựa chọn gọn nhất.
---
## 🎚️ Cửa sổ phụ (KHÔNG đưa lên khung quay)
Để riêng ở tab/desktop khác, chỉ bật trước:
| Cửa sổ | Việc | Ghi chú |
|---|---|---|
| **SSH tunnel Ollama** | `ssh -N -L 11434:...` | giữ chạy để A3/A8/D4 có model — KHÔNG cần quay |
| **asciinema** | `asciinema rec casan.cast` | ghi terminal thật để giám khảo replay (tuỳ chọn) |
> `run-all.sh` tự phát hiện Ollama: nếu tunnel sống → chạy A3/A8/D4; nếu không → in "SKIP" có ghi chú. Bật tunnel trước là đủ.
---
## 🎬 Nhịp quay gợi ý (với Enter thủ công)
1. Mở màn hình intro (banner + 3 dòng nguyên tắc) → đọc/để 5s → Enter.
2. Mỗi vector: để title card + 🎯/🛡️ hiện ~2s → Enter chạy lệnh → giữ **exit code** ~2s → Enter.
3. 4 cảnh 🔥 (A5 · B1 · D1 · CHAIN): giữ lâu hơn (~4s), zoom dòng kết quả khi dựng.
4. Kết: security-gate `PASS=11 FAIL=0` + card chốt → giữ ~4s.
Tổng ~12–15 phút khớp bảng thời lượng ở Mục 9 kịch bản gốc.