Explainer
Gumuk Pasir yang Berjalan
Simulasi 3D sebuah gurun dilihat dari atas lalu dari samping: angin meniup butir pasir dari sebelas tumpukan bulat sampai masing-masing menjadi gumuk bulan sabit (barkan) yang terpisah, lereng luncurnya longsor, lalu gumuk itu berjalan puluhan meter searah angin. Label penjelas menandai punggung landai, lereng luncur, ujung tanduk, dan jarak pergeseran dari bendera tahun ke-6.
Prompt
Bangun simulasi gumuk pasir 3D yang berjalan sendiri dari nol dalam satu file HTML dengan Three.js, tanpa physics engine. Gunakan model lempeng pasir (slab model) pada grid periodik 256 x 160 sel: angin bertiup ke satu arah, lempeng pasir diangkat lalu dilompatkan beberapa sel searah angin, jauh lebih mudah mengendap di atas pasir daripada di tanah gundul (peluang 0,6 berbanding 0,3) dan sesekali bergeser satu sel ke samping, mengendap pasti di zona bayangan angin di balik puncak, dan longsor setiap kali lereng melewati sudut diam sekitar 34 derajat. Mulai dari sebelas tumpukan pasir bulat yang berjauhan (ditempatkan acak dengan jarak minimum) di atas dasar gurun berkerikil yang miskin pasir; dalam 20 detik setiap tumpukan harus berubah menjadi gumuk bulan sabit (barkan) yang terpisah satu sama lain, dengan dua tanduk menunjuk ke hilir, lalu bergerak maju. Render medan dengan shader: tinggi dari data texture yang disampel bikubik, normal dihitung per piksel di fragment shader, pasir keemasan dengan riak angin halus di punggung landai, lereng luncur cokelat oker hangat yang lebih gelap karena membelakangi matahari sore, kilau pasir segar di jalur longsoran, dan dasar gurun gundul yang lebih gelap. Hitung bayangan matahari sore di atas heightfield supaya lereng luncur dan dasar di belakangnya tertutup bayangan. Langit biru pucat dengan kabut hangat tipis di cakrawala, dan medan jauh sedikit dibelokkan supaya pola grid periodik tidak terlihat berulang. Tambahkan ribuan butir pasir yang melompat-lompat (saltasi) dan garis aliran angin tipis. Kamera bergerak pelan: mulai lebar dan tinggi, menukik sekitar 65 derajat ke bawah, lalu turun miring dan mengikuti satu barkan terbesar yang berdiri sendiri. Lapisan penjelas berbahasa Indonesia: judul kecil di kiri atas, panel tahun simulasi dan arah angin di kanan atas, empat bab di kiri bawah (Angin menerbangkan butir pasir, Tumpukan berubah menjadi bulan sabit, Lereng luncur longsor di sudut 34 derajat, Gumuk berjalan searah angin), label bergaris penunjuk untuk punggung landai, lereng luncur, dan ujung tanduk, lalu tiang bendera oranye di posisi puncak tahun ke-6 dengan garis putus-putus ke puncak sekarang dan jarak pergeseran gumuk dalam meter.



