# 🖼️ Asset Images & Models Checklist ## Struktur Asset yang Diperlukan Pastikan file-file berikut sudah ada di folder yang sesuai: ``` assets/ ├── images/ │ ├── gunung_lemongan.jpg │ ├── gunung_semeru.jpg │ ├── pantai_watu_godeg.jpg │ ├── pantai_watu_pecak.jpg │ ├── puncak_b29.jpg │ ├── ranu_kumbolo.jpg │ ├── ranu_pani.jpg │ └── ranu_regulo.jpg │ └── models/ ├── gunung_lemongan.glb ├── gunung_semeru.glb ├── pantai_watu_godeg.glb ├── pantai_watu_pecak.glb ├── puncak_b29.glb ├── ranu_kumbolo.glb ├── ranu_pani.glb └── ranu_regulo.glb ``` --- ## 📸 Spesifikasi Gambar ### Rekomendasi Format Gambar - **Format**: JPEG atau PNG - **Ukuran**: 1920x1080px (landscape) - **Aspect Ratio**: 16:9 atau 4:3 - **Kompresi**: Optimized (< 500KB per file) - **Color Space**: sRGB ### Daftar Gambar yang Dibutuhkan | No | Nama File | Destinasi | Ukuran Disarankan | |----|-----------|-----------|-------------------| | 1 | gunung_lemongan.jpg | Gunung Lemongan | 1920x1080 | | 2 | gunung_semeru.jpg | Gunung Semeru | 1920x1080 | | 3 | pantai_watu_godeg.jpg | Pantai Watu Godeg | 1920x1080 | | 4 | pantai_watu_pecak.jpg | Pantai Watu Pecak | 1920x1080 | | 5 | puncak_b29.jpg | Puncak B29 | 1920x1080 | | 6 | ranu_kumbolo.jpg | Ranu Kumbolo | 1920x1080 | | 7 | ranu_pani.jpg | Ranu Pani | 1920x1080 | | 8 | ranu_regulo.jpg | Ranu Regulo | 1920x1080 | --- ## 🎬 Model 3D (.glb files) ### Format GLB (GLTF Binary) - **Format**: .glb (binary GLTF) - **Ukuran**: Optimal < 10MB per file - **Kompresi**: Gunakan Draco compression - **Polygon Count**: Optimal < 100k triangles ### Daftar Model yang Dibutuhkan | No | Nama File | Destinasi | Status | |----|-----------|-----------|--------| | 1 | gunung_lemongan.glb | Gunung Lemongan | Perlu dibuat | | 2 | gunung_semeru.glb | Gunung Semeru | Perlu dibuat | | 3 | pantai_watu_godeg.glb | Pantai Watu Godeg | Perlu dibuat | | 4 | pantai_watu_pecak.glb | Pantai Watu Pecak | Perlu dibuat | | 5 | puncak_b29.glb | Puncak B29 | Perlu dibuat | | 6 | ranu_kumbolo.glb | Ranu Kumbolo | Perlu dibuat | | 7 | ranu_pani.glb | Ranu Pani | Perlu dibuat | | 8 | ranu_regulo.glb | Ranu Regulo | Perlu dibuat | --- ## 🛠️ Tools untuk Membuat Asset ### Untuk Gambar: - **Photoshop** / **GIMP**: Edit dan compress - **TinyPNG**: Kompresi gambar online - **ImageOptim**: Batch optimization - **Krita**: Design landscape images ### Untuk Model 3D: - **Blender**: Model dan convert ke GLB - **Maya**: Professional 3D modeling - **SketchUp**: Modeling landscape/arsitektur - **Sketchfab**: Download model 3D siap pakai --- ## 📝 Pubspec.yaml Configuration Pastikan `pubspec.yaml` sudah konfigurasi assets: ```yaml flutter: assets: - assets/ - assets/images/ - assets/models/ - assets/images/gunung_lemongan.jpg - assets/images/gunung_semeru.jpg - assets/images/pantai_watu_godeg.jpg - assets/images/pantai_watu_pecak.jpg - assets/images/puncak_b29.jpg - assets/images/ranu_kumbolo.jpg - assets/images/ranu_pani.jpg - assets/images/ranu_regulo.jpg - assets/models/gunung_lemongan.glb - assets/models/gunung_semeru.glb - assets/models/pantai_watu_godeg.glb - assets/models/pantai_watu_pecak.glb - assets/models/puncak_b29.glb - assets/models/ranu_kumbolo.glb - assets/models/ranu_pani.glb - assets/models/ranu_regulo.glb ``` --- ## ✅ Checklist Setup Assets ### Sebelum Run Aplikasi: - [ ] Folder `assets/images/` ada dan kosong/berisi placeholder - [ ] Folder `assets/models/` ada dan kosong/berisi placeholder - [ ] Minimal 1 gambar test di `assets/images/` - [ ] `pubspec.yaml` sudah update dengan asset paths - [ ] Run `flutter pub get` setelah update pubspec - [ ] No flutter warnings tentang missing assets ### Saat Testing Awal: - [ ] Test dengan placeholder images (gradient) - [ ] Verify card fallback image bekerja - [ ] Verify error handling saat image tidak ada - [ ] Verify model path ditampilkan di detail ### Sebelum Production: - [ ] Semua 8 gambar sudah ada dan optimized - [ ] Semua 8 model GLB sudah ada - [ ] Image resolution konsisten - [ ] File size total < 50MB - [ ] No missing asset warnings - [ ] Test di device fisik minimal 2 ukuran layar --- ## 📊 Image Optimization Tips ### Untuk Landscape Photos: 1. **Crop ke 16:9 aspect ratio** 2. **Resize ke 1920x1080** 3. **Compress dengan JPEG quality 80-85** 4. **Final size target: 200-300KB** ### Batch Processing: ```bash # Menggunakan ImageMagick mogrify -resize 1920x1080 -quality 85 *.jpg ``` ### Online Compression: - TinyPNG: https://tinypng.com/ - TinyJPG: https://tinyjpg.com/ - ImageOptim: https://imageoptim.com/ --- ## 🎯 Model 3D Conversion ### Dari Blender ke GLB: 1. Open model di Blender 2. **File → Export As → glTF Binary (.glb)** 3. Settings: - Format: glTF Binary - Include: All data - Draco: Enable compression 4. Save di `assets/models/` ### File Size Target: - Gunung model: 5-8MB - Lake model: 3-5MB - Beach model: 4-6MB --- ## 🔄 Placeholder Strategy Jika asset belum ready, gunakan placeholder: ### Gambar Placeholder: ```dart Container( color: Color(0xFF1F8F5F), child: Icon( Icons.landscape, color: Colors.white, size: 100, ), ) ``` ### Model Placeholder: ```dart Text('Model: assets/models/gunung_semeru.glb') ``` --- ## 📱 Testing dengan Placeholder Sebelum asset final, test dengan: 1. **Gradient Background** sebagai gambar 2. **Icon landscape** sebagai fallback 3. **Text string** untuk model path 4. **Fixed data** tanpa image loading --- ## 🚀 Deployment Checklist - [ ] Semua asset di-optimize - [ ] File size total acceptable - [ ] Load time < 2 detik - [ ] No memory leaks - [ ] Image caching working - [ ] Model loading smooth - [ ] Error states handled - [ ] Device storage sufficient --- ## 💡 Pro Tips 1. **Gunakan CDN atau cloud storage** untuk model besar 2. **Implement lazy loading** untuk images 3. **Cache gambar locally** setelah first load 4. **Monitor bundle size** di APK/AAB 5. **Test pada slow network** (3G/4G) --- ## 📞 Resource Links ### Image Compression: - TinyPNG: https://tinypng.com/ - ImageMagick: https://imagemagick.org/ ### 3D Model Creation: - Blender: https://www.blender.org/ - Sketchfab: https://sketchfab.com/ ### GLB Validation: - Babylon.js Sandbox: https://sandbox.babylonjs.com/ - Three.js Editor: https://threejs.org/editor/ --- **Status**: 📋 Checklist Ready **Last Updated**: 2026-05-16