# VID-002 · Scene 3 — "1. LIFT"

Bukti konsep: satu scene video 9:16 yang seluruh visualnya digambar sebagai SVG
dan dianimasikan oleh Remotion. **Tidak ada file gambar sama sekali** — jadi nol
VRAM, nol biaya AI image, dan tetap tajam di 1080×1920.

Durasi 7 detik (210 frame @ 30fps), sesuai baris scene ke-3 di `src/data/recipe.json`.

---

## Jalankan

```bash
npm install
npm run dev        # buka Remotion Studio, geser timeline, lihat animasinya
```

Render ke MP4:

```bash
npm run render     # hasil: out/vid002-scene03-lift.mp4
```

Di laptop CPU-only, 7 detik biasanya selesai **2–5 menit**. Kalau render mati
sendiri karena RAM, turunkan `Config.setConcurrency` di `remotion.config.ts`
jadi `1`.

Butuh satu frame saja untuk cek komposisi (jauh lebih cepat):

```bash
npm run still      # out/lift.png pada frame 120
```

---

## Yang perlu dilihat di kodenya

`src/scenes/Lift.tsx` adalah isi sebenarnya. Tiga bagian yang layak dibaca pelan:

**1. Garis aliran = materi, bukan hiasan.**
`SPEED_TOP = 1` dan `SPEED_BOTTOM = 0.45`. Udara di atas sayap sengaja bergerak
lebih dari dua kali lebih cepat, karena persis itulah yang menghasilkan lift.
Kalau nanti kamu bikin scene lain, tahan godaan menganimasikan sesuatu hanya
karena "biar rame" — setiap gerakan harus menjelaskan sesuatu.

**2. Satu kurva dipakai dua kali.**
`toPath()` menggambar garisnya, `pointOnCubic()` menempatkan partikel di kurva
yang sama. Jadi partikel dijamin menempel pada garis, tanpa menebak-nebak
koordinat.

**3. Koreografi ditulis sebagai deret frame.**
Semua `interpolate(frame, [58, 76], ...)` di bagian atas komponen adalah
storyboard-nya. Mengubah timing = mengubah dua angka, bukan membongkar animasi.

## Yang perlu dilihat di Root.tsx

Durasi, timecode, dan narasi **tidak diketik di komponen** — semuanya dibaca dari
`recipe.json`. Ini pola yang membuat sistemnya bisa diskalakan: nanti recipe
dihasilkan pipeline, komponen tinggal mengeksekusi. Ubah `duration: 7` jadi `9`
di JSON, komposisinya ikut memanjang tanpa menyentuh kode.

---

## Menambahkan suara (setelah Tahap 2 & 3)

Taruh hasil Piper di `public/voice/` lalu buka blok komentar di bagian bawah
`Lift.tsx`:

```tsx
import {Audio, staticFile} from 'remotion';

<Audio src={staticFile('voice/vid002-scene03.wav')} />
<Audio src={staticFile('sfx/wind.wav')} volume={0.25} />
```

Biarkan tetap komentar selama file audionya belum ada — Remotion gagal render
kalau path-nya kosong.

---

## Membuat 4 scene sisanya

Polanya sudah jadi. Salin `Lift.tsx`, ganti bagian SVG-nya, daftarkan di
`Root.tsx`. Perkiraan waktu kalau kamu dibantu Claude Code: sekitar 30–60 menit
per scene untuk yang pertama, lalu jauh lebih cepat.

- `Hook` — pesawat lepas landas, zoom in
- `Intro` — 4 ikon gaya muncul bergantian
- `Thrust` — mesin + api + panah dorong
- `DragWeight` — panah hambatan dan berat

Setelah kelimanya ada, bungkus dengan `<Series>` di satu komposisi `VID-002`
berdurasi 30 detik dan render sekali jalan.

---

## Catatan lisensi

Remotion gratis untuk perorangan dan perusahaan kecil, tapi punya syarat lisensi
untuk perusahaan di atas ukuran tertentu. Cek `LICENSE.md` di paketnya sebelum
dipakai komersial serius.
