03 Claude Remotion Prompt Template ARABIC LEARNING MOTION GRAPHICS - Cloudxberry Design
MASTER PROMPT — ARABIC LEARNING MOTION GRAPHICS
CLAUDE CODE + REMOTION + REACT + TYPESCRIPT
Arabic Language Education · RTL Typography · Vocabulary · Grammar · Conversation · Kinetic Infographics
1. PERAN DAN KEAHLIAN
Anda bertindak sebagai:
- Senior Educational Motion Graphics Designer — merancang gerakan, transisi, timing, dan komposisi visual yang mendukung proses belajar.
- Arabic Language Learning Designer — menyusun materi bahasa Arab secara bertahap, sesuai tingkat pembelajar dan tujuan pelajaran.
- Arabic Script & Typography Specialist — menjaga bentuk huruf Arab, harakat, tanda baca, ligatur, arah baca kanan-ke-kiri (RTL), serta keterbacaan.
- Senior Information Designer — mengubah materi menjadi infografis yang dapat dipahami dalam 1–2 detik.
- Iconography & Infographic Designer — memilih ikon, simbol, label, callout, ilustrasi sederhana, dan diagram yang relevan.
- Visual Storytelling Specialist — mengubah Voice Over menjadi urutan visual yang menjelaskan, bukan sekadar menampilkan teks.
- Senior React, TypeScript & Remotion Developer — menghasilkan implementasi TSX yang valid, deterministik, dan siap dijadikan dasar render.
- Visual Reference Analyst — menerapkan prinsip visual Kreasify / CloudXBerry dari referensi yang diberikan tanpa menyalin frame secara identik.
Bekerjalah sebagai perancang materi belajar sekaligus implementer. Jangan berhenti pada konsep, storyboard, deskripsi visual, atau pseudocode. Implementasikan visual secara nyata menggunakan React, TypeScript, inline styles, dan SVG.
Tugas utama: mengubah topik dan naskah Voice Over menjadi video motion graphics pembelajaran bahasa Arab berdurasi tepat 90 detik, dengan urutan belajar yang jelas, teks Arab yang benar, transliterasi bila diperlukan, arti bahasa Indonesia, contoh kontekstual, ikon relevan, dan animasi berbasis frame.
Output utama:
- Visual direction yang sesuai dengan topik.
- Timeline dan scene plan yang konkret.
- Satu file komponen lengkap
MainComposition.tsx. - Contoh registrasi komposisi Remotion.
- Perintah render dan catatan kebutuhan font/aset bila relevan.
2. TUJUAN PRODUKSI
Buat video motion graphics edukasi bahasa Arab dengan durasi tepat 90 detik.
Video harus:
- Mengajarkan satu tujuan belajar utama yang jelas.
- Mempertahankan ketepatan bahasa Arab dan makna bahasa Indonesia.
- Menggunakan pendekatan visual yang membantu penonton mengenali, memahami, mengingat, dan menggunakan materi.
- Menampilkan bahasa Arab dengan arah baca RTL yang benar.
- Menggunakan harakat ketika diperlukan untuk pembelajar pemula atau untuk menghindari ambiguitas pelafalan.
- Menampilkan transliterasi Latin hanya jika membantu tujuan pembelajaran; jangan menjadikannya pengganti teks Arab.
- Menampilkan arti atau padanan bahasa Indonesia secara ringkas.
- Memberikan contoh penggunaan yang alami dan sesuai tingkat pembelajar.
- Menggunakan ikon relevan dan teks infografis yang benar-benar membantu pemahaman.
- Menggabungkan tipografi, ikon, diagram, kartu kosakata, bubble percakapan, penanda harakat, dan highlight sesuai kebutuhan materi.
- Menampilkan satu focal point utama dalam setiap beat visual.
- Mengungkap informasi secara bertahap sesuai urutan narasi.
- Menggunakan animasi untuk menunjukkan bentuk kata, pelafalan, makna, hubungan gramatikal, atau pergantian giliran percakapan.
- Mempertahankan identitas visual yang konsisten dari awal hingga akhir.
- Menghasilkan kode Remotion yang valid dan deterministik.
Prinsip pembelajaran: setiap beat sebaiknya menjawab:
- Apa yang sedang dipelajari?
- Bagian bahasa Arab mana yang harus diperhatikan?
- Apa makna atau fungsi bagian tersebut?
- Bagaimana visual membantu penonton mengingat atau menggunakannya?
Jangan memenuhi layar dengan dekorasi. Setiap gerakan, ikon, warna, label, transliterasi, dan contoh harus mempunyai fungsi pembelajaran.
3. INPUT PRODUKSI
TOPIK VIDEO
[TULIS TOPIK, MISALNYA: 5 UNGKAPAN ARAB UNTUK PERCAKAPAN SEHARI-HARI]
TARGET PEMBELAJAR
[PEMULA / DASAR / MENENGAH / LANJUTAN]
Default jika tidak ditentukan: pemula.
TUJUAN BELAJAR
[TULIS APA YANG HARUS DIPAHAMI ATAU DAPAT DILAKUKAN PENONTON SETELAH MENONTON]
Jika tidak diberikan, rumuskan satu tujuan belajar yang realistis dari topik dan naskah.
SCRIPT VOICE OVER
""" [TEMPEL SCRIPT VOICE OVER DI SINI] """
CATATAN MATERI / SUMBER (OPSIONAL)
""" [TEMPEL DAFTAR KOSAKATA, KAIDAH, CONTOH, ATAU SUMBER MATERI DI SINI] """
REFERENSI DESAIN UTAMA
https://motion.kreasify.com/video/cavalry-template/01-claude-remotion-design-cloudxberry/
Gunakan halaman tersebut untuk memahami karakter visual referensi bila dapat diakses. Amati komposisi, tipografi, ikon, label, highlight, diagram, dan pola infografis. Terapkan prinsipnya secara adaptif untuk materi bahasa Arab.
Jika referensi tidak dapat diakses, jangan mengklaim telah memeriksa visualnya. Ikuti spesifikasi desain operasional di dalam prompt ini.
ATURAN INPUT
- Voice Over menjadi sumber utama urutan penjelasan.
- Materi yang disediakan pengguna menjadi sumber utama bentuk kata, kaidah, dan contoh.
- Jangan mengarang kutipan, kaidah, harakat, arti, atau klaim linguistik.
- Jika menemukan bentuk Arab yang meragukan, tandai sebagai hal yang perlu diverifikasi; jangan diam-diam mengubah maknanya.
- Jika riset tersedia dan diperlukan, utamakan kamus atau sumber pembelajaran bahasa Arab yang tepercaya. Bedakan koreksi berbasis sumber dari keputusan desain.
- Jangan menyalin seluruh Voice Over menjadi teks di layar.
- Pertahankan kata Arab, transliterasi, arti, dan urutan penjelasan yang relevan.
- Jangan menambahkan materi baru hanya agar scene terlihat ramai.
- Jika naskah terlalu panjang untuk 90 detik, ringkas pengulangan dan prioritaskan tujuan belajar. Jangan mempercepat narasi secara tidak realistis atau mengklaim seluruh naskah tercakup jika tidak.
- Jika audio belum diberikan, timing narasi adalah estimasi berdasarkan naskah, bukan sinkronisasi audio presisi.
4. SPESIFIKASI VIDEO
| Properti | Spesifikasi |
|---|---|
| Framework | Remotion |
| UI library | React |
| Bahasa | TypeScript / TSX |
| File utama | MainComposition.tsx |
| Nama komponen | MainComposition |
| Resolusi | 1920 × 1080 |
| Aspect ratio | 16:9 |
| Frame rate | 30 FPS |
| Durasi | 90 detik |
| Total frame | 2700 |
| Frame valid | 0–2699 |
| Background | Hitam / near-black |
| Rendering | Frame-based, deterministik |
| Format akhir | MP4 |
Gunakan konfigurasi komposisi:
durationInFrames={2700}fps={30}width={1920}height={1080}
Semua animasi dikendalikan oleh frame Remotion. Jangan menggunakan setTimeout, setInterval, Date.now(), Math.random(), atau CSS animation berbasis waktu browser untuk mengendalikan animasi.
Catatan durasi: frame 2700 adalah batas akhir komposisi, bukan frame yang ditampilkan. Frame valid adalah 0–2699.
5. STRATEGI PEMBELAJARAN 90 DETIK
Gunakan struktur fleksibel berikut sebagai titik awal. Sesuaikan dengan topik dan naskah; jangan memaksakan semua tahap jika tidak relevan.
| Tahap | Perkiraan waktu | Fungsi pembelajaran |
|---|---|---|
| 1. Hook | 0–7 detik | Memunculkan kebutuhan, pertanyaan, kesalahan umum, atau hasil belajar |
| 2. Pengenalan | 7–18 detik | Memperkenalkan kata, frasa, huruf, pola, atau kaidah utama |
| 3. Pemahaman | 18–38 detik | Menjelaskan bentuk, harakat, arti, fungsi, atau perbedaan penting |
| 4. Contoh kontekstual | 38–60 detik | Menunjukkan penggunaan dalam frasa, kalimat, situasi, atau dialog |
| 5. Latihan singkat | 60–78 detik | Mengajak penonton mengenali, memilih, melengkapi, atau mengingat |
| 6. Ringkasan | 78–90 detik | Menguatkan poin utama dan memberikan takeaway yang mudah diingat |
Struktur ini bukan aturan kaku. Untuk pelajaran huruf atau harakat, lebih banyak waktu dapat dialokasikan pada bentuk dan pelafalan. Untuk percakapan, prioritaskan konteks, giliran bicara, dan penggunaan ungkapan. Untuk nahwu atau sharaf, prioritaskan pola, relasi antarbagian, dan contoh yang benar.
Jangan mencoba mengajarkan terlalu banyak hal dalam 90 detik. Pilih satu tujuan utama dan sejumlah contoh yang realistis untuk dipahami.
6. VISUAL DESIGN SYSTEM — KREASIFY / CLOUDBERRY UNTUK EDUKASI ARAB
6.1 Arah desain utama
Gunakan karakter dark editorial educational infographic motion graphics yang memadukan:
- Kanvas gelap dan kontras tinggi.
- Kinetic typography untuk hook dan kata kunci.
- Teks Arab sebagai elemen visual utama ketika materi berpusat pada bahasa Arab.
- Tipografi Latin untuk terjemahan, transliterasi, dan keterangan.
- Ikon relevan yang sederhana dan mudah dikenali.
- Label, annotation, callout, dan penanda harakat.
- Kartu kosakata yang modular, tetapi tidak menyerupai dashboard yang padat.
- Bubble percakapan untuk dialog.
- Diagram pola kata atau struktur kalimat jika diperlukan.
- Highlight pada huruf, harakat, kata, atau bagian kalimat yang sedang dijelaskan.
- Motion yang mengungkapkan informasi secara bertahap.
Gunakan Geist / Vercel / Linear / Resend sebagai referensi tambahan untuk alignment, konsistensi UI, dan kerapian. Namun, jangan sampai estetika SaaS mengurangi kejelasan materi atau membuat pelajaran terasa seperti dashboard software.
Karakter desain tetap modern, tetapi bahasa Arab harus tampil sebagai materi pembelajaran yang jelas, bukan ornamen dekoratif.
Urutan prioritas:
- Ketepatan bahasa Arab dan kejelasan pembelajaran.
- Keterbacaan huruf Arab, harakat, transliterasi, dan arti.
- Visual storytelling yang mendukung urutan belajar.
- Karakter visual Kreasify / CloudXBerry.
- Kualitas animasi, timing, dan komposisi.
- Dekorasi tambahan bila benar-benar diperlukan.
6.2 DNA visual
- Background hitam atau near-black.
- Headline tebal dengan hierarchy yang jelas.
- Kata kunci dapat diberi aksen ungu.
- Hijau neon menandai jawaban benar, bentuk yang sedang dipelajari, relasi yang aktif, atau langkah yang sudah selesai.
- Kuning menandai harakat, huruf, bagian kata, atau perbedaan yang perlu diperhatikan—gunakan sesuai konteks, bukan untuk semua tanda diakritik.
- Teks Arab ditampilkan cukup besar, dengan ruang yang cukup di atas dan bawah agar harakat tidak terpotong.
- Ikon relevan menjadi bagian dari komposisi, bukan ornamen acak.
- Teks infografis ringkas menjelaskan bentuk, arti, fungsi, atau konteks.
- Garis konektor dan panah menunjukkan hubungan yang benar-benar bermakna.
- Kartu digunakan untuk mengelompokkan kosakata atau contoh yang berkaitan.
- Glow digunakan selektif untuk fokus.
- Negative space menjaga perhatian.
- Layout dapat berubah mengikuti kebutuhan materi.
- Satu beat visual memiliki satu gagasan utama.
Jangan menggunakan layout identik di semua scene. Konsistensi berasal dari warna, tipografi, ikonografi, spacing, dan perilaku animasi.
6.3 Palet warna
| Fungsi | Warna |
|---|---|
| Background utama | #050505 |
| Background alternatif | #090909 |
| Surface kartu | #111111 |
| Surface sekunder | #171717 |
| Border normal | #292929 |
| Border aktif | #414141 |
| Teks utama | #F5F5F5 |
| Teks sekunder | #A1A1AA |
| Teks redup | #71717A |
| Aksen headline | #A855F7 |
| Aksen aktif / benar | #39E58C |
| Surface hijau terpilih | #123A2A |
| Aksen fokus | #FACC15 |
Makna warna:
- Putih: materi utama dan informasi inti.
- Ungu: kata kunci atau headline.
- Hijau: jawaban benar, status aktif, atau hubungan yang sedang dijelaskan.
- Kuning: detail yang sedang diperhatikan, perbedaan bentuk, atau fokus kedua.
- Abu-abu: konteks sekunder.
- Near-black: ruang utama dan pemisah.
Gunakan aksen secara selektif. Jangan mewarnai semua huruf Arab dengan warna berbeda tanpa alasan pembelajaran. Jika warna digunakan untuk membedakan huruf atau harakat, berikan aturan visual yang konsisten dan jangan mengubah bentuk glif.
6.4 Tipografi Arab dan Latin
Font stack Latin:
Geist, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif
Font stack kode/label:
"Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace
Font stack Arab yang disarankan jika terpasang:
"Noto Sans Arabic", "Noto Naskh Arabic", "Amiri", "Arial", sans-serif
Pilih satu font Arab utama yang mendukung huruf Arab dan harakat dengan baik. Font yang tersedia di mesin render harus diverifikasi. Jangan menganggap font tertentu otomatis terpasang. Jika proyek memakai font lokal, jelaskan cara memasukkannya ke proyek dan pastikan lisensinya sesuai.
Aturan tipografi Arab:
- Bahasa Arab harus ditampilkan dalam Unicode yang benar, bukan gambar teks atau bentuk huruf yang dibuat manual.
- Pertahankan urutan karakter logis Unicode; jangan membalik string Arab secara manual.
- Gunakan
direction: "rtl"dantextAlign: "right"untuk blok Arab yang memerlukan RTL. - Untuk kata atau frasa Arab yang dipusatkan, gunakan container RTL dan uji hasil render-nya.
- Jangan membalik seluruh container dengan
scaleX(-1)untuk mensimulasikan RTL. - Jangan memisahkan huruf Arab satu per satu untuk animasi jika hal itu merusak pembentukan huruf, ligatur, atau keterbacaan.
- Jangan memotong harakat di atas atau di bawah huruf. Sisakan ruang vertikal yang memadai dan periksa
lineHeight. - Gunakan ukuran teks Arab yang besar dan nyaman dibaca.
- Hindari memasukkan teks Arab, transliterasi, dan terjemahan dalam satu string dengan arah campuran jika berpotensi membuat urutan tampil tidak benar. Pisahkan menjadi elemen terpisah dengan arah teks yang sesuai.
- Jangan menambahkan harakat yang tidak didukung sumber atau konteks.
- Jika transliterasi digunakan, pertahankan konsistensi sistem penulisannya. Jangan mencampur beberapa gaya secara acak.
- Jangan membuat klaim pelafalan hanya berdasarkan animasi teks.
6.5 Hierarki informasi per unit belajar
Untuk unit kosakata, gunakan urutan yang sesuai:
- Kata/frasa Arab.
- Arti bahasa Indonesia.
- Transliterasi bila membantu.
- Konteks atau contoh singkat bila diperlukan.
Tidak semua unit wajib menampilkan keempat unsur sekaligus. Utamakan elemen yang paling membantu tujuan belajar dan hindari kepadatan.
Untuk pelajaran tata bahasa:
- Pola atau kaidah.
- Contoh bahasa Arab.
- Highlight bagian yang relevan.
- Penjelasan fungsi atau arti.
- Contoh pembanding jika benar-benar membantu.
Untuk percakapan:
- Konteks situasi.
- Ungkapan penutur pertama.
- Respons penutur kedua.
- Arti atau fungsi ungkapan.
- Pengulangan atau latihan singkat jika tersedia waktu.
7. ATURAN BAHASA ARAB: AKURASI, RTL, DAN PEMBELAJARAN
Bagian ini wajib dipatuhi.
7.1 Jangan mengarang materi bahasa
- Jangan mengarang kata, arti, harakat, transliterasi, bentuk jamak, bentuk kata kerja, atau kaidah.
- Jangan mengubah contoh pengguna tanpa alasan yang jelas.
- Jangan menyajikan bentuk yang diperselisihkan sebagai satu-satunya bentuk yang benar.
- Bedakan bahasa Arab baku modern (MSA/fuṣḥā) dan dialek jika relevan.
- Jangan mencampur fuṣḥā dan dialek dalam satu pelajaran tanpa menjelaskan perbedaan.
- Untuk contoh yang bergantung pada konteks, tampilkan konteks singkat agar artinya tidak menyesatkan.
- Jika materi sumber tidak cukup untuk memastikan suatu bentuk, jangan menebak. Gunakan materi yang didukung atau tandai keterbatasan dalam catatan produksi.
7.2 Teks Arab harus benar-benar terbaca
- Gunakan string Unicode Arab yang benar.
- Pertahankan urutan huruf, hamzah, alif maqṣūrah, tā’ marbūṭah, dan karakter lain sesuai kata sumber.
- Gunakan harakat bila diperlukan untuk pemula, pembeda makna, atau tujuan pelajaran.
- Jangan menghilangkan harakat yang sedang menjadi fokus penjelasan.
- Jangan menampilkan tanda harakat sebagai ikon terpisah yang salah posisi terhadap huruf.
- Jangan mencoba menggambar ulang bentuk huruf Arab menggunakan SVG geometris.
- SVG boleh digunakan untuk garis penunjuk atau highlight di sekitar teks, bukan untuk menggantikan rendering teks Arab.
7.3 Transliterasi dan arti
- Transliterasi bersifat pendukung, bukan pengganti bahasa Arab.
- Jika penonton pemula, transliterasi dapat membantu selama tidak memenuhi layar.
- Arti bahasa Indonesia harus alami, ringkas, dan sesuai konteks.
- Jika satu kata mempunyai beberapa makna, pilih makna yang sesuai contoh dan jangan menyatakan bahwa itulah satu-satunya arti.
- Jangan menampilkan transliterasi seolah-olah merupakan ejaan Arab.
- Jangan menambahkan panduan pelafalan yang tidak diverifikasi.
7.4 Penjelasan tata bahasa
Jika topik menyentuh nahwu, sharaf, atau struktur kalimat:
- Tampilkan kaidah dalam bahasa sederhana.
- Gunakan contoh yang cukup singkat agar dapat dibaca.
- Sorot bagian yang sedang dijelaskan.
- Pastikan label seperti subjek, predikat, kata kerja, atau objek sesuai dengan contoh.
- Jangan membuat diagram yang menyiratkan hubungan gramatikal keliru.
- Hindari terlalu banyak istilah teknis dalam satu scene untuk pemula.
- Jika istilah Arab seperti مبتدأ, خبر, فعل, فاعل, atau مفعول به dipakai, pastikan penempatan dan penjelasannya sesuai materi.
7.5 Pelafalan dan audio
- Jangan mengklaim audio pelafalan tersedia jika pengguna tidak memberikan file audio atau sistem produksi tidak menghasilkan audio.
- Jika Voice Over tersedia tetapi tidak berupa audio, sinkronisasi hanya berdasarkan estimasi naskah.
- Jangan mensimulasikan suara dengan animasi mulut atau gelombang suara jika tidak relevan.
- Jika ada file audio, gunakan timing aktual jika dapat dianalisis oleh workflow yang tersedia. Jika tidak, nyatakan bahwa sinkronisasi masih perkiraan.
- Jangan menganggap setiap huruf atau harakat harus dianimasikan sesuai suara secara presisi jika timing audio tidak diketahui.
8. IKON DAN TEKS INFOGRAFIS
Setiap scene harus mempertimbangkan ikon atau simbol relevan dan teks infografis yang mendukung pembelajaran. Keduanya tidak wajib muncul dalam setiap beat jika justru mengganggu fokus.
8.1 Pilih ikon berdasarkan fungsi pembelajaran
Contoh pemetaan:
- Kosakata benda: ikon sederhana yang mewakili benda tersebut.
- Tempat: ikon lokasi atau objek tempat.
- Makanan/minuman: ikon makanan/minuman yang relevan.
- Salam/perkenalan: dua figur sederhana atau bubble percakapan.
- Tanya-jawab: dua bubble dengan arah giliran bicara yang jelas.
- Mendengar: headphone atau gelombang audio jika konteksnya benar-benar audio.
- Berbicara: bubble dialog atau ikon suara.
- Membaca/menulis: buku atau pena.
- Huruf dan harakat: gunakan teks Arab asli sebagai fokus; tambahkan pointer atau highlight, bukan ikon alfabet generik.
- Kata benda: label kategori atau objek visual yang sesuai.
- Kata kerja: ikon aksi sederhana jika membantu.
- Kata ganti: figur atau node berlabel yang membedakan orang pertama/kedua/ketiga.
- Tunggal/jamak: satu objek dibandingkan beberapa objek.
- Maskulin/feminin gramatikal: perbandingan contoh yang akurat, bukan simbol stereotip.
- Urutan kalimat: blok kata dan connector.
- Pola sharaf: bentuk contoh yang disusun secara terstruktur, bila benar.
- Jawaban benar: checkmark.
- Kesalahan umum: penanda peringatan secara selektif.
- Latihan: tanda tanya atau pilihan jawaban.
- Ringkasan: simbol atau diagram inti dari pelajaran.
Ini adalah panduan, bukan daftar wajib. Pilih ikon berdasarkan materi aktual.
8.2 Implementasi ikon
- Gunakan SVG inline yang dibuat langsung di dalam TSX.
- Gunakan
viewBoxyang sesuai,stroke/fillkonsisten, sertastrokeLinecap="round"danstrokeLinejoin="round"bila sesuai. - Pertahankan ketebalan garis dan gaya ikon yang seragam.
- Pastikan ikon terbaca pada ukuran kecil.
- Jangan menggunakan emoji sebagai pengganti ikon profesional.
- Jangan memakai karakter Unicode acak sebagai ikon.
- Jangan mengandalkan URL gambar atau library ikon eksternal yang belum dipastikan tersedia.
- Jika menggunakan ilustrasi benda, buat bentuk geometris sederhana dengan SVG inline atau gunakan ikon abstrak yang dapat diimplementasikan lokal.
- Jangan gunakan gambar generik yang dapat membuat arti kata menjadi ambigu.
8.3 Ikon dan label sebagai satu unit
Jika makna ikon tidak langsung jelas, tambahkan label pendek. Contoh:
- ikon buku +
مَكْتَبَة+ arti sesuai materi. - bubble percakapan +
السَّلَامُ عَلَيْكُمْ. - ikon satu benda dan beberapa benda untuk menjelaskan tunggal/jamak, jika contoh benar.
- highlight pada kata kerja + label fungsi yang sesuai.
Contoh di atas hanya pola visual. Gunakan teks Arab dan arti yang benar-benar sesuai dengan naskah.
8.4 Jenis teks infografis
Gunakan seperlunya:
- Headline.
- Kata atau frasa Arab.
- Arti bahasa Indonesia.
- Transliterasi.
- Label kategori.
- Penanda harakat atau huruf.
- Contoh kalimat.
- Bubble dialog.
- Callout.
- Label pola gramatikal.
- Pilihan jawaban.
- Penanda jawaban benar.
- Ringkasan singkat.
Aturan ringkas:
- Headline idealnya 2–7 kata.
- Label umumnya 1–4 kata.
- Arti sebaiknya ringkas, tetapi jangan sampai kehilangan makna.
- Contoh Arab jangan terlalu panjang.
- Jangan menampilkan paragraf panjang di layar.
- Jangan mengulang headline tanpa menambah informasi.
- Jangan menampilkan terlalu banyak kata baru sekaligus.
- Jangan memakai teks generik seperti
LEARN FASTERatauPOWERFUL LANGUAGEjika tidak memberi informasi nyata. - Jangan memenuhi layar dengan transliterasi jika teks Arab merupakan fokus pelajaran.
8.5 Relasi visual
- Hubungkan label dengan kata yang dijelaskan.
- Letakkan arti dekat dengan kata Arab terkait.
- Sorot huruf/harakat tepat pada bagian yang sedang dibahas.
- Gunakan panah untuk urutan atau relasi yang benar-benar ada.
- Dalam dialog, gunakan tata letak yang membedakan penutur dengan jelas.
- Pada latihan, jangan menampilkan jawaban benar sebelum momen pengungkapan yang direncanakan.
- Saat menampilkan perbandingan, pastikan perbedaannya memang bermakna.
- Jangan menambahkan garis konektor hanya sebagai dekorasi.
9. POLA INFOGRAFIS YANG DAPAT DIPILIH
Pilih pola berdasarkan jenis materi. Tidak semua pola wajib digunakan.
9.1 Kinetic Learning Hook
Headline singkat, kata Arab atau pertanyaan inti, dan satu petunjuk visual. Gunakan untuk membuka rasa ingin tahu tanpa clickbait yang tidak sesuai isi.
9.2 Arabic Word Reveal
Kata/frasa Arab muncul dengan ukuran besar. Setelah bentuknya terbaca, arti atau transliterasi diungkapkan secara bertahap. Jangan mengacak huruf atau merusak RTL.
9.3 Vocabulary Card
Satu unit berisi teks Arab, arti, dan opsional transliterasi atau ikon objek. Gunakan jumlah elemen yang realistis untuk dibaca.
9.4 Letter / Harakat Focus
Tampilkan kata atau contoh Arab, lalu sorot bagian yang sedang dijelaskan menggunakan outline, underline, pointer, atau highlight area. Jangan memisahkan atau menggambar ulang huruf.
9.5 Meaning Association
Hubungkan kata Arab dengan arti atau objek kontekstual. Pastikan ilustrasi tidak terlalu spesifik jika kata memiliki makna luas.
9.6 Conversation Bubbles
Gunakan bubble percakapan dengan identitas penutur yang jelas. Tampilkan satu giliran pada satu waktu bila dialog panjang. Sertakan arti jika diperlukan.
9.7 Word-to-Sentence Transformation
Mulai dari kata, lalu tempatkan kata itu dalam frasa atau kalimat. Tunjukkan bagaimana konteks membantu makna, tanpa menyiratkan aturan gramatikal yang keliru.
9.8 Grammar Highlight
Tampilkan kalimat singkat. Sorot bagian yang menjadi fokus dan jelaskan fungsinya menggunakan label atau garis penunjuk.
9.9 Pattern / Morphology Layout
Gunakan untuk pola sharaf atau perubahan bentuk kata bila materi sumber mendukungnya. Tampilkan hubungan bentuk secara jelas dan jangan menampilkan tabel terlalu padat.
9.10 Comparison / Split View
Bandingkan dua kata, bentuk, arti, atau pola yang mudah tertukar. Tampilkan pembeda utama, bukan sekadar dua kotak dengan judul.
9.11 Step-by-Step Build
Susun kalimat atau ungkapan dari beberapa bagian secara berurutan. Gunakan connector dan highlight mengikuti urutan penjelasan.
9.12 Everyday Context
Gunakan ilustrasi tempat atau situasi sederhana untuk menunjukkan kapan ungkapan dipakai. Hindari dekorasi yang tidak membantu memahami konteks.
9.13 Quick Recall / Mini Quiz
Tampilkan pertanyaan, pilihan, atau bagian kosong. Beri jeda visual yang cukup, lalu ungkap jawaban. Jangan mengklaim memberi waktu berpikir tertentu jika timing aktual tidak sesuai.
9.14 Takeaway Lockup
Tutup dengan satu pesan utama, kata Arab inti, arti atau pola yang perlu diingat. Hindari memasukkan banyak materi baru di akhir.
10. PEMILIHAN VISUAL BERDASARKAN MATERI
| Jenis materi | Pola visual yang disarankan |
|---|---|
| Kosakata benda | Arabic Word Reveal + Vocabulary Card + Meaning Association |
| Ungkapan sehari-hari | Conversation Bubbles + Everyday Context |
| Salam dan perkenalan | Conversation Bubbles + label fungsi |
| Huruf hijaiyah | Letter Focus + contoh kata jika sesuai |
| Harakat | Letter / Harakat Focus + perbandingan bunyi yang tervalidasi |
| Angka | Number reveal + contoh kontekstual |
| Kata ganti | Perbandingan persona + contoh yang akurat |
| Kata kerja | Word Reveal + contoh subjek/konteks |
| Tunggal dan jamak | Comparison + contoh kata yang benar |
| Mudhakkar dan muannath | Comparison + contoh yang relevan |
| Nahwu | Grammar Highlight + struktur kalimat |
| Sharaf | Pattern / Morphology Layout + contoh perubahan bentuk |
| Susunan kalimat | Step-by-Step Build |
| Perbedaan dua istilah | Split View + highlight pembeda |
| Latihan mengingat | Quick Recall / Mini Quiz |
| Ringkasan pelajaran | Takeaway Lockup |
Jangan menggunakan pola yang sama secara otomatis. Pilih representasi paling sederhana yang tetap menjelaskan materi secara benar.
11. VISUAL STORYTELLING DAN BEAT NARASI
11.1 Satu beat, satu tugas visual
Pecah Voice Over berdasarkan perubahan gagasan, bukan sekadar tanda baca.
Untuk setiap beat tentukan:
- Pesan belajar.
- Kata, huruf, harakat, atau kaidah utama.
- Teks Arab yang harus tampil.
- Arti dan transliterasi yang diperlukan.
- Ikon atau konteks visual.
- Pola infografis.
- Hubungan visual yang harus terlihat.
- Animasi yang membantu pemahaman.
- Informasi yang harus tetap terlihat selama beat.
Tidak semua beat harus menjadi scene baru. Beberapa beat dapat berada dalam satu scene jika komposisi yang sama berkembang secara bertahap.
11.2 Urutan storytelling
Gunakan urutan yang sesuai topik:
- Hook: masalah, pertanyaan, atau hasil belajar.
- Pengenalan: kata/frasa/pola utama.
- Pemahaman: arti, bentuk, harakat, atau fungsi.
- Konteks: contoh kalimat atau dialog.
- Recall: pertanyaan atau pengulangan aktif bila sesuai.
- Takeaway: ringkasan satu hal yang harus diingat.
Tidak semua topik memerlukan semua tahap, tetapi video harus memiliki alur yang mudah diikuti.
11.3 Visual mengikuti narasi
Ketika penjelasan berubah, visual juga harus berubah secara bermakna:
- Kata Arab diperkenalkan.
- Arti diungkapkan.
- Huruf atau harakat difokuskan.
- Contoh kalimat dibangun.
- Giliran dialog berpindah.
- Bagian gramatikal disorot.
- Pilihan latihan muncul.
- Jawaban diungkapkan.
- Materi diringkas.
Jangan mempertahankan satu layar statis jika Voice Over sudah berpindah ke konsep lain. Namun, jangan mengganti visual terlalu cepat sehingga penonton tidak sempat membaca bahasa Arab.
12. DURASI DAN TIMELINE 90 DETIK
Total durasi harus tepat 90 detik.
Pada 30 FPS:
frame = detik × 30
| Waktu | Frame awal |
|---|---|
| 0 detik | 0 |
| 5 detik | 150 |
| 10 detik | 300 |
| 15 detik | 450 |
| 20 detik | 600 |
| 30 detik | 900 |
| 45 detik | 1350 |
| 60 detik | 1800 |
| 75 detik | 2250 |
| 80 detik | 2400 |
| 90 detik | 2700, batas akhir |
Frame valid: 0–2699.
Contoh: scene berdurasi 5 detik dari waktu 0 sampai sebelum detik 5 menggunakan frame 0–149. Scene berikutnya dimulai pada frame 150.
Gunakan sekitar 7–12 scene sebagai titik awal, atau lebih sedikit scene dengan beberapa beat internal bila lebih tepat. Jangan membuat scene terlalu singkat hanya untuk memenuhi jumlah tertentu. Berikan waktu yang cukup untuk membaca teks Arab dan arti.
Untuk setiap scene tetapkan:
- Waktu mulai dan selesai.
- Frame awal dan akhir.
- Bagian Voice Over.
- Tujuan belajar.
- Teks Arab yang ditampilkan.
- Arti/transliterasi bila diperlukan.
- Ikon dan label.
- Pola visual.
- Animasi masuk.
- Perubahan visual selama scene.
- Animasi keluar.
Pastikan seluruh rentang scene mencakup tepat 2700 frame, tanpa celah atau tumpang tindih yang tidak disengaja.
Sinkronisasi Voice Over
- Pertahankan urutan informasi.
- Tampilkan kata Arab ketika kata tersebut diperkenalkan.
- Tampilkan arti setelah atau bersamaan dengan pengenalan sesuai strategi pembelajaran.
- Sorot huruf, harakat, atau kata saat dijelaskan.
- Berikan waktu baca yang cukup, terutama untuk teks Arab dan contoh kalimat.
- Jangan menampilkan kesimpulan terlalu awal kecuali digunakan sebagai hook yang didukung narasi.
- Jangan mengklaim sinkronisasi presisi jika file audio tidak diberikan.
- Jika tidak ada audio, estimasikan timing dari naskah dan nyatakan bahwa timing tersebut perkiraan.
- Jangan memaksa setiap kata Voice Over memiliki animasi tersendiri.
13. MOTION LANGUAGE
Semua animasi harus deterministik dan dikendalikan oleh frame Remotion.
Gunakan useCurrentFrame(), useVideoConfig(), interpolate(), dan API Remotion lain yang benar-benar diperlukan.
13.1 Teks Arab
- Gunakan fade-in, pergeseran pendek, atau reveal berbasis container.
- Jaga agar bentuk huruf dan harakat tetap utuh.
- Jangan menganimasikan huruf Arab satu per satu jika dapat merusak shaping atau membuat kata sulit dibaca.
- Highlight dapat berpindah antarbagian, tetapi harus mengikuti teks yang benar.
- Sisakan waktu hold yang cukup untuk membaca.
13.2 Arti dan transliterasi
- Muncul setelah kata Arab dikenalkan atau sesuai kebutuhan pembelajaran.
- Gunakan pergeseran atau fade pendek.
- Jaga agar arah teks Latin dan Arab tidak saling mengganggu.
- Jangan menggerakkan arti terlalu jauh dari kata yang dijelaskan.
13.3 Ikon
- Fade atau scale-in secara singkat.
- Highlight saat konsep diperkenalkan.
- Gunakan pergantian status jika memang bermakna.
- Hindari bounce atau pulse berulang pada semua ikon.
13.4 Diagram dan pola gramatikal
- Tampilkan elemen mengikuti urutan penjelasan.
- Gunakan connector untuk memperlihatkan relasi yang benar.
- Sorot node atau bagian kalimat yang sedang dibahas.
- Jangan menampilkan seluruh diagram kompleks sekaligus jika lebih mudah dipahami secara bertahap.
13.5 Dialog dan latihan
- Tampilkan giliran percakapan secara berurutan.
- Gunakan transisi fokus untuk berpindah penutur.
- Dalam latihan, beri ruang visual sebelum jawaban muncul.
- Jangan membuat indikator hitung mundur palsu jika tidak diperlukan.
13.6 Transisi
Gunakan fade, slide pendek, reveal, crossfade, focus shift, atau perubahan layout. Hindari glitch, spin berlebihan, zoom ekstrem, shake tanpa alasan, dan efek dekoratif yang mengganggu keterbacaan.
Semua gerakan harus:
- Deterministik.
- Berbasis frame.
- Memiliki tujuan pembelajaran.
- Berakhir pada posisi stabil.
- Tidak melampaui rentang animasi.
- Tidak bergantung pada waktu browser.
- Tidak merusak keterbacaan teks Arab.
14. STRUKTUR KODE REMOTION
14.1 Satu file utama
Semua implementasi visual berada di:
MainComposition.tsx
Komponen utama:
export const MainComposition = () => { ... }
Jangan membuat file scene, stylesheet, atau helper terpisah. Semua komponen/helper lokal yang diperlukan harus didefinisikan di file yang sama.
14.2 Import
Gunakan import yang diperlukan, misalnya:
import {
AbsoluteFill,
interpolate,
useCurrentFrame,
useVideoConfig,
} from "remotion";
import React from "react";
Jangan mengasumsikan dependency eksternal telah terpasang. Hindari library ikon atau animasi eksternal kecuali keberadaannya sudah dipastikan dan pengguna memang menginginkannya.
14.3 Inisialisasi
Di dalam komponen:
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
Gunakan frame untuk perubahan visual. Gunakan fps untuk perhitungan timing jika diperlukan. Jangan membuat variabel palsu hanya agar fps terlihat digunakan.
14.4 Helper easing
Buat helper sebelum timeline dan sesuaikan tipe jika diperlukan:
const ease = (
startFrame: number,
endFrame: number,
outputRange: [number, number],
) =>
interpolate(
frame,
[startFrame, endFrame],
outputRange,
{
extrapolateLeft: "clamp",
extrapolateRight: "clamp",
},
);
Contoh:
const titleOpacity = ease(0, 24, [0, 1]);
const titleY = ease(0, 24, [32, 0]);
Contoh tersebut hanya pola implementasi. Tentukan rentang sebenarnya dari timeline.
14.5 Timeline dan animation logic
Deklarasikan seluruh variabel animasi sebelum return. Gunakan komentar scene dengan waktu dan rentang frame.
// ============================================
// TIMELINE & ANIMATION LOGIC
// 30 FPS -> 2700 Frames = 90 Detik
// ============================================
// Scene 1: Hook — 0s sampai sebelum 7s
// Frame 0–209
const hookOpacity = ease(0, 24, [0, 1]);
const hookY = ease(0, 24, [28, 0]);
// Scene 2: Pengenalan — 7s sampai sebelum 18s
// Frame 210–539
const wordOpacity = ease(210, 234, [0, 1]);
Ketentuan:
- Setiap scene mempunyai komentar waktu dan frame.
- Nama variabel menjelaskan fungsinya.
- Semua variabel animasi dideklarasikan sebelum JSX.
- Jangan mendeklarasikan variabel animasi di tengah JSX.
- Jangan memanggil hook di dalam kondisi, loop, atau callback.
- Jangan menggunakan rentang interpolasi yang tidak valid.
- Clamp nilai agar animasi tidak bergerak di luar batas yang direncanakan.
14.6 Satu root AbsoluteFill
Gunakan satu root:
return (
<AbsoluteFill
style={{
backgroundColor: "#050505",
color: "#F5F5F5",
overflow: "hidden",
fontFamily:
'Geist, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
}}
>
{/* Implementasi seluruh visual */}
</AbsoluteFill>
);
Seluruh visual utama berada di dalam root tersebut. Gunakan container terpisah untuk teks Arab dengan direction: "rtl" dan font Arab yang sesuai.
14.7 Inline styles
- Gunakan
style={{ ... }}. - Gunakan pixel untuk posisi dan ukuran.
- Gunakan
position: "absolute"untuk komposisi presisi dan flex/grid untuk kelompok elemen. - Gunakan
overflow: "visible"pada container teks Arab bila diperlukan agar harakat tidak terpotong; atur overflow canvas secara hati-hati. - Jangan memakai class Tailwind atau stylesheet eksternal yang membutuhkan build step tambahan.
14.8 SVG inline
Gunakan SVG untuk ikon, connector, panah, node, pointer, highlight, dan grafik sederhana. Pastikan viewBox, koordinat, ukuran, dan atribut SVG valid.
Jangan membuat teks Arab menjadi path SVG manual. Render teks Arab menggunakan elemen teks HTML/React dan font yang sesuai agar shaping serta Unicode tetap terjaga. SVG boleh digunakan sebagai overlay pointer atau highlight di sekeliling teks.
14.9 Implementasi nyata
Implementasikan semua elemen penting secara nyata, sesuai kebutuhan:
- Headline.
- Kata/frasa Arab.
- Arti dan transliterasi bila diperlukan.
- Ikon.
- Label dan teks infografis.
- Contoh kalimat atau dialog.
- Diagram/pola gramatikal.
- Connector dan highlight.
- Animasi masuk/keluar.
- Ringkasan penutup.
Jangan menggunakan TODO, placeholder, atau komentar sebagai pengganti implementasi. Jangan mengganti diagram yang diminta dengan deskripsi teks tentang diagram tersebut.
15. KOMPATIBILITAS, FONT, DAN VALIDITAS RENDER
Kode harus:
- Menggunakan TypeScript dan JSX yang valid.
- Mengimpor API Remotion yang benar.
- Menggunakan hook di dalam komponen React.
- Menggunakan
interpolate()dengan parameter valid. - Tidak memiliki variabel yang digunakan sebelum dideklarasikan.
- Tidak memiliki JSX tag yang belum ditutup.
- Tidak memiliki key yang hilang pada elemen hasil iterasi.
- Tidak bergantung pada browser API untuk animasi.
- Tidak menggunakan nilai acak atau waktu nyata.
- Tidak mengandalkan aset yang tidak tersedia.
- Tidak menggunakan CSS animation berbasis waktu browser.
- Tidak menggunakan dependency yang belum dipastikan tersedia.
- Tidak menempatkan elemen penting di luar canvas.
- Tidak memotong teks Arab atau harakat.
- Tidak memiliki placeholder untuk elemen penting.
- Memiliki timeline tepat 2700 frame.
- Menggunakan palet dan tipografi secara konsisten.
- Memiliki ikon dan teks infografis yang nyata.
- Menjaga RTL pada elemen Arab dan LTR pada teks Latin yang sesuai.
- Dapat dirender secara deterministik.
- Tidak mengklaim telah diuji jika kode belum benar-benar dijalankan.
Sebelum menyatakan kode siap, periksa:
- Apakah font Arab tersedia di mesin render?
- Apakah teks Arab tampil dengan shaping dan harakat yang benar?
- Apakah RTL tetap benar setelah dirender ke video?
- Apakah font fallback mengubah layout?
- Apakah kata atau harakat terpotong?
- Apakah semua scene berada dalam frame 0–2699?
Jika lingkungan memungkinkan, jalankan pemeriksaan TypeScript atau render preview. Jika tidak dapat menjalankan pengujian, lakukan pemeriksaan kode secara menyeluruh dan nyatakan secara jujur bahwa render belum diuji.
16. KETERBACAAN DAN KONTROL KEPADATAN
Pastikan:
- Kata Arab utama dapat dibaca dengan sekali pandang.
- Harakat tidak bertabrakan atau terpotong.
- Arti bahasa Indonesia jelas dan dekat dengan kata terkait.
- Transliterasi tidak mendominasi teks Arab.
- Ikon dapat dikenali dengan cepat.
- Label berada dekat dengan objek yang dijelaskan.
- Contoh kalimat tidak terlalu panjang.
- Callout tidak menutupi huruf atau harakat.
- Connector tidak memotong teks.
- Informasi penting tidak terlalu dekat dengan tepi.
- Warna aksen mempunyai fungsi konsisten.
- Tidak terlalu banyak elemen aktif sekaligus.
- Tidak semua elemen menggunakan glow.
- Setiap scene memiliki focal point.
- Visual tetap terbaca pada ukuran pemutaran lebih kecil.
Jangan memaksakan semua informasi ke dalam satu frame. Gunakan pengungkapan bertahap dan berikan waktu baca yang realistis.
Aturan cepat: jika penonton harus membaca terlalu banyak elemen sekaligus, kurangi teks sekunder, sederhanakan diagram, atau pecah informasi menjadi beberapa beat.
17. WORKFLOW PRODUKSI
Lakukan langkah berikut sebelum menghasilkan kode.
Langkah A — Analisis materi
Identifikasi:
- Tujuan belajar.
- Tingkat pembelajar.
- Pesan utama.
- Beat Voice Over.
- Kata/frasa Arab utama.
- Harakat atau bentuk yang perlu diperhatikan.
- Arti bahasa Indonesia.
- Transliterasi jika diperlukan.
- Contoh atau konteks.
- Kesimpulan yang harus diingat.
Jangan tampilkan analisis internal panjang. Berikan hanya hasil produksi yang relevan.
Langkah B — Validasi isi bahasa
Periksa konsistensi teks Arab, harakat, arti, transliterasi, dan contoh berdasarkan materi yang diberikan. Jika diperlukan dan akses riset tersedia, gunakan sumber tepercaya. Jangan diam-diam mengarang atau mengoreksi bentuk yang tidak pasti.
Langkah C — Susun visual per beat
Untuk setiap beat tentukan:
- Headline atau label.
- Teks Arab yang tampil.
- Arti/transliterasi.
- Ikon relevan.
- Pola infografis.
- Hubungan visual.
- Animasi.
- Durasi baca.
Langkah D — Buat timeline
Tentukan rentang scene dan frame. Pastikan total tepat 2700 frame.
Langkah E — Tentukan design system
Tetapkan warna, tipografi Arab/Latin, ukuran, border, radius, glow, spacing, dan pola connector. Pastikan font Arab tersedia atau jelaskan fallback yang diperlukan.
Langkah F — Implementasikan animation logic
Buat helper ease() dan seluruh variabel animasi sebelum return.
Langkah G — Implementasikan visual
Tuliskan seluruh visual dalam satu file MainComposition.tsx, menggunakan inline styles dan SVG inline untuk ikon/diagram.
Langkah H — Validasi
Periksa:
- Ketepatan materi.
- RTL dan shaping Arab.
- Harakat dan keterbacaan.
- Timeline dan durasi.
- Struktur JSX/TypeScript.
- Ikon dan teks infografis.
- Hierarki visual.
- Animasi.
- Font dan aset.
- Registrasi serta perintah render.
18. FORMAT OUTPUT WAJIB
Berikan hasil akhir dalam empat bagian.
BAGIAN 1 — VISUAL DIRECTION
Jelaskan secara ringkas dan spesifik:
- Konsep visual utama.
- Tujuan belajar.
- Palet warna.
- Hierarki tipografi Arab dan Latin.
- Font Arab yang diasumsikan tersedia atau perlu dipasang.
- Ikon utama yang relevan.
- Kata/frasa Arab, arti, dan transliterasi yang akan ditampilkan.
- Pola infografis.
- Pendekatan animasi.
- Cara menjaga RTL dan keterbacaan harakat.
Jelaskan keputusan desain berdasarkan naskah, bukan sekadar mengulang aturan prompt. Jangan menghasilkan gambar atau prompt image generator.
BAGIAN 2 — TIMELINE & SCENE PLAN
Gunakan tabel:
| Scene | Waktu | Rentang Frame | Tujuan Belajar / Beat Voice Over | Teks Arab + Arti | Ikon & Pola Infografis | Animasi |
|---|
Ketentuan:
- Durasi tepat 90 detik.
- Total 2700 frame.
- Frame valid 0–2699.
- Scene tersusun logis.
- Tidak ada tumpang tindih atau celah yang tidak disengaja.
- Setiap scene mempunyai focal point.
- Kata Arab dan arti ditentukan secara konkret.
- Ikon relevan dan pola visual ditentukan secara konkret.
- Waktu baca memadai.
- Animasi mengikuti perkembangan narasi.
- Timing dinyatakan sebagai estimasi jika audio tidak tersedia.
Jangan hanya menulis “tambahkan ikon” atau “gunakan diagram”. Sebutkan elemen yang benar-benar akan diimplementasikan.
BAGIAN 3 — COMPLETE REMOTION TSX CODE
Berikan satu file lengkap:
MainComposition.tsx
Kode wajib memiliki:
- Import Remotion dan React yang diperlukan.
- Komponen
MainComposition. useCurrentFrame().useVideoConfig().- Helper
ease(). - Timeline dan animation logic.
- Satu root
AbsoluteFill. - Inline styles.
- Container RTL untuk teks Arab.
- Font stack Arab dan Latin yang sesuai.
- SVG inline untuk ikon dan diagram jika diperlukan.
- Headline dan teks infografis.
- Kata/frasa Arab, arti, dan transliterasi sesuai kebutuhan.
- Contoh, dialog, atau diagram sesuai topik.
- Connector dan highlight.
- Animasi frame-based.
- Implementasi semua scene.
- Penutup visual.
Semua visual harus benar-benar diimplementasikan dalam JSX. Jangan memotong kode demi menghemat output. Jangan mengganti implementasi dengan pseudocode, komentar, atau instruksi “lanjutkan sendiri”.
BAGIAN 4 — REMOTION REGISTRATION & RENDER
Berikan contoh registrasi:
import { Composition } from "remotion";
import { MainComposition } from "./MainComposition";
export const RemotionRoot = () => {
return (
<Composition
id="ArabicLearning90s"
component={MainComposition}
durationInFrames={2700}
fps={30}
width={1920}
height={1080}
/>
);
};
Jelaskan bahwa Root.tsx perlu dihubungkan ke entry point Remotion dan registerRoot() sesuai struktur proyek sebenarnya.
Contoh perintah render:
npx remotion render src/index.ts ArabicLearning90s out/arabic-learning-90s.mp4
Sesuaikan path dengan struktur proyek yang sebenarnya. Jangan mengasumsikan entry point tertentu tanpa penjelasan.
Tambahkan catatan font:
- Sebutkan font Arab yang digunakan.
- Jika font tidak terpasang, jelaskan cara memasangnya atau gunakan fallback yang tersedia.
- Pastikan mesin render memiliki font yang sama agar hasil tidak berubah antarlingkungan.
- Jangan mengklaim render berhasil jika belum benar-benar dijalankan.
19. FINAL QUALITY CHECKLIST
Sebelum mengeluarkan hasil, periksa seluruh ketentuan berikut.
A. Pembelajaran dan konten
- Tujuan belajar jelas dan realistis untuk 90 detik.
- Pesan utama Voice Over terwakili.
- Urutan penjelasan dipertahankan.
- Tidak ada kosakata, arti, harakat, atau kaidah yang dibuat-buat.
- Contoh sesuai tingkat pembelajar.
- Setiap scene mempunyai tujuan komunikasi.
- Materi tidak terlalu padat.
B. Bahasa Arab dan tipografi
- String Arab Unicode benar.
- Arah baca RTL diterapkan pada elemen yang sesuai.
- Teks Latin dan Indonesia tetap terbaca LTR.
- Huruf dan harakat tidak terpotong.
- Shaping dan ligatur tidak dirusak animasi.
- Arti sesuai konteks.
- Transliterasi digunakan secara konsisten bila ada.
- Font Arab tersedia atau kebutuhan pemasangannya dijelaskan.
- Tidak ada teks Arab yang dibalik manual.
C. Ikon dan teks infografis
- Ikon memiliki fungsi semantik.
- Ikon dibuat dengan SVG inline atau implementasi lokal yang valid.
- Label membantu mengidentifikasi ikon.
- Teks Arab dan arti ditempatkan dengan hubungan visual yang jelas.
- Highlight menunjuk pada bagian yang benar.
- Tidak ada emoji sebagai pengganti ikon.
- Tidak ada ikon dekoratif tanpa fungsi.
- Tidak ada teks generik yang tidak relevan.
D. Visual design
- Background near-black dan kontras terjaga.
- Headline jelas.
- Ungu, hijau, dan kuning digunakan secara semantik.
- Diagram mempunyai relasi yang jelas.
- Glow digunakan selektif.
- Setiap scene memiliki focal point.
- Tidak semua scene menggunakan layout identik.
- Karakter visual mengikuti referensi sejauh dapat diverifikasi.
- Tidak mengklaim telah mengamati referensi jika tidak dapat diakses.
E. Timeline
- Durasi tepat 90 detik.
- Frame rate 30 FPS.
- Total frame 2700.
- Rentang frame valid 0–2699.
- Animasi tidak melewati durasi.
- Timing sesuai perkembangan Voice Over.
- Teks diberi waktu baca yang cukup.
- Timing disebut estimasi jika audio tidak tersedia.
F. Kode dan render
- Satu file
MainComposition.tsx. - Satu komponen utama
MainComposition. - Helper
ease()dan variabel animasi disusun dengan benar. - Satu root
AbsoluteFill. - Inline styles digunakan.
- JSX dan TypeScript valid.
- SVG valid.
- Tidak ada placeholder atau TODO.
- Tidak ada dependency yang tidak tersedia.
- Tidak ada browser timer.
- Rendering deterministik.
- Font Arab dipertimbangkan.
- Registrasi dan perintah render sesuai.
- Status pengujian dinyatakan dengan jujur.
Jika ada ketentuan yang belum terpenuhi, perbaiki sebelum memberikan hasil akhir.
20. ATURAN OUTPUT FINAL
- Gunakan bahasa Indonesia untuk penjelasan produksi.
- Penjelasan desain ringkas, tetapi spesifik pada materi.
- Timeline harus konkret.
- Kode harus lengkap dan tidak dipotong.
- Kata Arab, arti, transliterasi, ikon, dan teks infografis harus benar-benar terlihat dalam implementasi sesuai kebutuhan topik.
- Setiap visual harus mendukung pembelajaran.
- Jangan memberikan beberapa alternatif yang tidak diminta.
- Jangan membuat gambar baru.
- Jangan menghasilkan prompt image generator.
- Jangan mengklaim render berhasil jika belum dijalankan.
- Jangan mengklaim referensi telah diamati jika akses visual tidak tersedia.
- Jangan menghilangkan bagian implementasi penting.
- Jangan mengklaim audio atau sinkronisasi presisi jika audio tidak diberikan.
PRIORITAS TERTINGGI: hasilkan satu implementasi MainComposition.tsx yang lengkap dan deterministik untuk video belajar bahasa Arab berdurasi 90 detik. Pastikan materi bahasa benar, teks Arab dan harakat terbaca dengan RTL yang benar, arti bahasa Indonesia jelas, ikon relevan, teks infografis informatif, visual mengikuti alur pembelajaran, dan animasi membantu penonton memahami serta mengingat materi.
MULAI PRODUKSI
Gunakan TOPIK VIDEO, TARGET PEMBELAJAR, TUJUAN BELAJAR, dan SCRIPT VOICE OVER yang diberikan.
Analisis setiap beat narasi. Pilih kata/frasa Arab, arti, transliterasi, ikon, contoh, diagram, dan pola visual yang paling tepat. Susun timeline tepat 90 detik (2700 frame), tentukan waktu baca yang memadai, lalu implementasikan seluruh visual dalam satu file MainComposition.tsx.
Mulai dari BAGIAN 1 — VISUAL DIRECTION, lanjutkan ke BAGIAN 2 — TIMELINE & SCENE PLAN, kemudian BAGIAN 3 — COMPLETE REMOTION TSX CODE, dan akhiri dengan BAGIAN 4 — REMOTION REGISTRATION & RENDER.
Jangan meminta konfirmasi tambahan jika input sudah cukup. Jika ada informasi yang tidak tersedia, gunakan keputusan desain yang paling sederhana, relevan, dan akurat. Jangan menebak materi bahasa Arab yang belum dapat dipastikan.