- Masalah porting lintas platform yang dialami Adobe saat memindahkan aplikasi besar seperti Photoshop dan Acrobat ke berbagai lingkungan menjadi titik awal pengembangan Renderlet
- Renderlet menargetkan diri sebagai framework grafis WASM yang dapat dijalankan dan di-embed di mana saja, dengan tujuan sekaligus mengejar kemudahan pengembangan aplikasi dan pemanfaatan GPU tingkat rendah
- Runtime terbuka Wander menyediakan API 3D tingkat rendah di atas GPU, dan sebuah eksperimen mengimplementasikan integrasi renderer vektor 2D open-source dari Rive ke dalamnya
- Saat ini berada pada tahap tepat sebelum alfa terbuka, dan jika compiler serta integrasi platform sudah siap, mereka berencana melakukan Show HN atau Launch HN
- Seperti Unity yang memudahkan pengembangan lintas platform untuk game, Renderlet berfokus pada memudahkan berbagai aplikasi visual agar dapat berjalan di banyak lingkungan
Masalah portabilitas yang ingin dipecahkan Renderlet
- Di Adobe, membuat aplikasi besar seperti Photoshop dan Acrobat berjalan di desktop, web, mobile, dan cloud merupakan tantangan besar
- Versi web Lightroom dan Photoshop melewati jalur panjang melalui JavaScript, Google PNaCl, asm.js, dan WebAssembly
- Mereka harus memikirkan ulang arsitektur GPU sesuai perangkat target, serta membutuhkan build single-thread dan rekonstruksi UI berbasis Web Components
- Build web kini berjalan dengan baik, tetapi proses tersebut memakan pekerjaan selama 10 tahun
- Stack grafis masih tetap menjadi bottleneck portabilitas, dan WebAssembly dipilih sebagai fondasi yang dapat dijalankan dan di-embed di mana saja serta mampu memberikan performa yang dibutuhkan untuk grafis real-time
- Renderlet menekankan struktur untuk membuat modul grafis yang mandiri dan menghubungkannya satu sama lain, sehingga dapat berjalan di atas lingkungan apa pun dan di dalam aplikasi apa pun
- Pengembangnya bergabung dengan YC sebagai founder solo, dan telah mengembangkan Renderlet selama 6 bulan terakhir
Eksperimen integrasi Rive Renderer
- Setelah Rive merilis mesin vektor 2D-nya sebagai open source, dilakukan eksperimen apakah Rive Renderer dapat dijalankan di backend GPU Renderlet
- Rive Renderer terdiri dari API 2D tingkat tinggi yang mirip dengan SVG
- Wander adalah bagian runtime open-source dari Renderlet, dan menyediakan API 3D tingkat rendah di atas GPU
- Hasil implementasinya menunjukkan bahwa library Rive Renderer dapat dijalankan di backend GPU Renderlet, sehingga backend vektor 2D juga dapat digunakan di aplikasi 3D
- Contoh yang berjalan dapat dilihat di video Vimeo
- Detail teknis dirangkum di Using renderlet with rive-renderer
- Kode Wander, runtime Wasm Renderer, tersedia di renderlet/wander
1 komentar
Opini Hacker News
Lebih baik melewati tahap PAL dan langsung masuk ke SetupRuntime. Pengembang non-grafis umumnya tidak mengetahui hal-hal seperti ini, dan tidak diinginkan membuat langkah tambahan yang tidak perlu di API. Karena PAL tidak digunakan di tempat lain, lebih baik menggunakan WebGPU. (IPal seharusnya menjadi anggota IRuntime dan siap dihapus dalam konteks WebGPU).
Proyek ini bisa menjadi widget kit yang keren untuk membuat GUI lintas platform dan kanvas luar biasa untuk model interaksi. Backend C/C++ dan target WASM memungkinkan pembangunan FFI dalam hampir semua bahasa.
Penasaran dengan rencana dukungan teks dan font. Beberapa engine grafis tidak mendukung teks dalam semua cara yang diinginkan. Pertanyaannya adalah apakah file OTF atau WOFF2 bisa dimuat dan string sebarang dapat ditampilkan.
Sangat tertarik dengan proyek ini. Ada beberapa pertanyaan tentang runtime, event loop, FFI, kepemilikan pointer jendela, dan sebagainya. Ada minat pada plugin audio dan VST, serta ada batasan terkait event loop dan manajemen jendela. JUCE adalah solusi de facto, tetapi sudah tua dan kurang nyaman.
Proyek ini benar-benar keren, dan merupakan sesuatu yang diimpikan selama beberapa tahun terakhir. WASM memiliki banyak potensi sebagai unit portabel untuk komputasi grafis/audio/multimedia.
Sedang mengerjakan upaya menjalankan WASM di Godot Engine. Ingin tahu bagaimana masalah akses shared array buffer di Safari dan masalah akses jaringan iklan yang penting untuk game online berhasil diatasi. Juga menyoroti masalah build single-thread dibanding build normal.
Senang melihat lebih banyak proyek di bidang grafis 3D/WASM. Bertanya apakah ada tips untuk masuk ke YC. Sudah bertahun-tahun mengerjakan porting Unreal Engine 5 ke WebGPU dan WebAssembly. Memiliki renderer multithread dan sistem streaming aset, sehingga pengguna tidak perlu mengunduh seluruh game/aplikasi terlebih dahulu. Selain itu, seluruh aplikasi juga tidak perlu dimuat ke memori sekaligus. Juga membangun seluruh platform hosting dan backend agar pengembang dapat menerapkan proyek secara online.
Presentasi di wasm I/O sangat mengesankan, dan senang melihat pekerjaan ini mulai mendapat perhatian.
Bertanya apakah sudah membaca artikel dari Ian Hickson, salah satu pengembang utama Flutter. Artikel itu menjelaskan konsep memiliki framework UI lintas platform sepenuhnya dengan menggunakan WASM, dan itulah konsep yang digunakan Flutter.
Sangat merekomendasikan manifold sebagai kernel CAD yang bisa diintegrasikan ke dalam aplikasi.