Cubacadabra platform kurallarını Rust tabanlı ortak çekirdeğe taşıyor
Öne çıkanlar
- iOS entegrasyonunda yapılan ilk Rust geçişi 106 satır eklerken 269 satır kodu sildi.
- Karakter modelleri için geliştirilen morph doğrulayıcı 64 megabayt üzerindeki kaynakları reddediyor.
- İstemci oturumları mobil cihazlarda 7 fonksiyonluk C arayüzü, tarayıcıda ise wasm-bindgen kullanıyor.
Cubacadabra projesinin geliştiricisi, iOS, Android ve web istemcilerinde yinelenen uygulama mantığını ortadan kaldırmak amacıyla taşınabilir kuralları Rust ile yazılmış ortak modüllere taşıma sürecini paylaştı. Geliştirici, Swift, Kotlin ve JavaScript katmanlarını yalnızca yerel arayüz ve cihaz servislerini yöneten ince kabuklara dönüştürdü. Hesap yönetimi, oturum takibi ve oyun motoru gibi kritik bileşenler tek bir Rust çekirdeğinde birleştirildi.
Yeni mimaride kullanıcı adı kaydetme veya katalog gezinme gibi işlemler JSON tabanlı C ABI ve WebAssembly köprüleriyle Rust katmanına iletiliyor. Rust, HTTP isteklerinin içeriğini ve durum doğrulamasını üstlenirken ağ çağrısının kendisini yerel platformlar yürütüyor. Grafik tarafında wgpu kütüphanesinden yararlanılırken, karakter varlıkları için hazırlanan özel morph doğrulama araçları 3D modellerin motor kodunu değiştirmeden içeri aktarılmasını sağlıyor.
Oyun senaryoları yerel platformlarda mlua, tarayıcıda ise luaur-rt çalışma zamanı üzerinden Luau diliyle yürütülüyor. Çok oyunculu çatışma çözümlemesi Cloudflare Durable Object altyapısıyla sıralama tabanlı olarak koordine ediliyor. Geliştirici, platform bağımsız mantığın tek bir Rust kod tabanında toplanmasının hata riskini azalttığını ve istemciler arası sürüm eşitleme sorunlarını çözdüğünü belirtti.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.