· kaynak Hacker News – Front Page (native)
Blender'ın arayüzü Python, Rust, JS ve C++ için hızlı bağımsız bir kütüphaneye dönüştürüldü
BUI, Blender'ın widget çizim ve etkileşim kurallarını Python, Rust, JavaScript, C++, C++ ve Dear ImGui bağlantıları olan küçük bir C runtime'a taşıyor ve frame başına gpui-fast'a kıyasla 2-4 kat daha az CPU kullanımı bildiriyor.
BUI nedir
BUI adlı açık kaynak bir proje, Blender'ın kullanıcı arayüzünü 3D uygulamadan çıkarıp bağımsız bir GUI kütüphanesi olarak yeniden paketledi. 6 Kasım'da Hacker News ana sayfasına ulaşan projenin README'sine göre kütüphane, Blender'ın widgetlarını ve etkileşim modelini Python, Rust, JavaScript/React, C, C++ ve Dear ImGui'ye sunuyor — ve kendi benchmarkları, yeni nesil GPU hızlandırmalı UI framework'lerinden biri olan GPUI'nin CPU maliyetinin çok altında bir maliyet bildiriyor.\n BUI'nin çekirdeğinde README'nin "kit" dediği şey var: tek bir widget ağacına sahip olan, layout'u hesaplayan, fare ve klavye girdisini işleyen ve arayüzü çizen kompakt bir C runtime. Çizim kodu, Blender'ın widget çizim kaynağı olan interface_widgets.cc'nin C'ye aktarılmış hali; etkileşimler ise Blender'ın kendi kurallarını izliyor. Üstünde ince bağlantılar (binding) bulunuyor, böylece üst düzey diller ağacı kurup callback'leri yönetirken layout, girdi ve render CPU ya da GPU'daki native kodda kalıyor.
Proje ne olmadığını da açıkça belirtiyor. Bu Blender değil — 3D paketinin kurulması ya da bilinmesi gerekmiyor. Ayrıca bir tarayıcı da değil: Rust ve JavaScript API'leri arayüzleri HTML ve CSS ile tanımlasa da altında tarayıcı motoru, webview ya da ağ yığını yok.
Blender hissi, korunmuş şekilde
Vaaadin iddianın büyük kısmı sanatçıların kas hafızasıyla bildiği etkileşim detaylarına dayanıyor. Sayı alanları gizli, sürekli bir imleçle sürüklenebiliyor; böylece işaretçi ekrandan çıksa bile değerler değişmeye devam ediyor. Shift hassasiyet ekliyor, Ctrl yuvarlıyor. Alanlar aynı zamanda hesap makinesi olarak da çalışıyor; 2*pi ya da min(4, 3) gibi ifadeleri Blender'ın kendi değerlendiricisiyle kabul ediyorlar. Menüler bulanık aramayı destekliyor — README'deki örnek, "Add Cube"ı bulmak için "ad cu" yazmak — yazım hatalarına tolerans gösteriyor ve son seçimleri ilk sıraya koyuyor. Pie menüler, bir sütun halindeki checkbox'lar üzerinden sürükleme, her UI düzenlemesinde undo, HSV renk çarkı, eğriler, bir node editörü ve Blender'ın dosya tarayıcısının hepsi dahil; ayrıca runtime'da değiştirilebilen koyu ve açık temalar da mevcut.
Toplamda Python bileşen API'si 45 yerel Blender widget, editör ve template sunuyor; bunların onuna Rust ve JavaScript'ten de erişilebiliyor.
Birçok giriş noktası
Mevcut tkinter programları değiştirilmeden çalışabiliyor: README, tkinter ve ttk'deki 7.846 genel adın tamamını kapsadığını, dokuz gerçek programın standart kütüphane ile BUI üzerinde aynı davrandığını iddia ediyor. Qt widget'larının ortak alt kümesini kapsayan Qt tarzı bir Python API mevcut ama kısmi olarak işaretlenmiş.
Rust için BUI kendini web benzeri bir framework olarak sunuyor: 113 HTML elementinin tamamı, flexbox, isimli alanlarla grid, iç içe geçirme, @container ve color-mix() içeren modern CSS, Tailwind CSS v4, HTML benzeri markup makroları, React tarzı hook'lar ve hatta gpui uyumlu bir sözdizimi. Crate, crates.io üzerinde blenderui adıyla yayınlanıyor. JavaScript ve React, napi-rs üzerinden Node.js ya da Bun üzerinde çalışıyor; DOM benzeri bir API ya da JSX sunuyor, React hook'ları sinyallerle destekleniyor. Dear ImGui, Blender temasında render edilen BUI pencerelerinde değiştirilmeden çalışabiliyor ya da ImGui'nin widget'larının Blender'ınkilerle değiştirildiği bir build kullanılabiliyor. Düz bir C başlık dosyası olan BUI_kit.h kit'i doğrudan açığa çıkarıyor; Go tatlandırıcılı bir giriş noktası ise henüz mevcut değil olarak listeleniyor.
Performans iddiaları, bağlamıyla
BUI'nin verimlilik argümanı damage rendering'e dayanıyor: boşta olan bir arayüz CPU tüketmiyor ve bir hover yalnızca etkilenen widget'ı yeniden çiziyor. İsteğe bağlı GPU renderer — Windows'ta Direct3D 11, Linux'ta OpenGL 3.3 — Blender'ın instanced widget çizimine dayanıyor ve bildirildiğine göre CPU rasterizer ile aynı pikselleri üretiyor.
README'nin benchmark bölümü, frame başına gpui-fast'a kıyasla 2–4 kat daha az CPU, daha düşük bellek kullanımı ve yaklaşık 5 milisaniyede ilk frame bildiriyor; bu da Hacker News başlığındaki araç setinin "GPUI'den çok daha hızlı" iddiasının temelini oluşturuyor. Bunlar projenin kendi rakamları ve README, okuyucuları rakamlara körü körüne inanmak yerine benchmarkları kendilerinin çalıştırmaya davet ediyor.
Neden önemli
Masaüstü GUI geliştirme, Electron ve webview gibi stack'ler yoluyla tarayıcı etrafında ya da hâlâ olgunlaşmakta olan genç native framework'ler etrafında birleşiyordu. BUI üçüncü bir yol öneriyor: onlarca yıl boyunca büyük bir profesyonel kullanıcı tabanı tarafından rafine edilmiş bir arayüz katmanı, insanların zaten yazdığı dillerden bir anda kullanılabilir hale geliyor. Yaşlanan tkinter araçlarının bakımcıları için potansiyel bir tak-çalıştır yüzey yenilemesi; Rust ve React geliştiricileri için tarayıcı göndermeden native pencere vaadi. Uyarılar gerçek — benchmarklar kendi bildirdikleri, bağlantıların tamamlanma düzeyi "tam"dan "çalışıyor" ve "kısmi"ye kadar değişiyor ve proje genç — ama savaşta test edilmiş bir UI'yi genel amaçlı altyapı olarak geri dönüştürmek izlemeye değer bir fikir.
- #blender
- #gui-toolkit
- #open-source
- #python
- #rust
İlgili yazılar
- Hugging Face CEO'su AI Riskinin Kapalı Laboratuvarlardan Kaynaklandığını Söyledi, P(Doom) Değerini Sıfıra Yakın Buluyor
- Home Assistant 2026.11, HACS'ı yerleşik bir Marketplace'e taşıyor ve varlık adlandırmayı yeniden inşa ediyor
- GitHub, 2 Aralık 2026'dan itibaren herkese açık depolarda pull_request_target workflow'larını engelleyecek