1 puan yazan GN⁺ 3 시간 전 | 2 yorum | WhatsApp'ta paylaş
  • Ratty, satır içi 3D grafikleri destekleyen GPU ile render edilen bir terminal emülatörüdür
  • Dönen fare imleci içerir
  • Sitede blog yazısını okuyabilirsiniz
  • Sitede Ratty indirme sayfasına gidebilirsiniz
  • Sitede kaynağı görüntüle bağlantısına gidebilirsiniz

2 yorum

 
GN⁺ 2 시간 전
Hacker News yorumları
  • Bazıları burada VR kullanımından bahsediyordu; ben de geçmişte yazılım geliştirme için sığ bir 3D arayüzü biraz kurcalamıştım
    Gün boyu kullanıldığında VAC kaynaklı göz yorgunluğunu azaltmak için, dizüstü ekranının birkaç santimetre içinde kalan sığ bir derinliği vardı; odanın içinde kollarını savurarak etkileşime girmektense, 3D içinde renk ve katman ekleyerek çizim yapmak gibi hissettiriyordu
    3D; sallanma tabanlı 3D, web kamerasıyla kafa/göz takibi üzerinden oluşturulan perspektif, shutter gözlük stereosu, XR HMD gibi yöntemlerle mümkün. Sallanma yöntemi en kolayı ama sevimli ve dikkat dağıtıcı; perspektif yaklaşımı ise daha ince ve daha az rahatsız edici
    Bir uygulamanın stereo çifti, “sol/sağ göz için iki pencere sunmak” ya da “sol ve sağ görünümü sırayla gösterip etiketleme/senkronizasyon/polling yapmak” şeklinde olabilir; bunların önemli bir kısmı pencere sistemi/yöneticisi/masaüstü desteği gerektirir. Electron ve X’i üst üste kullanmak bu konuda oldukça büyük bir kaldıraç sağladı
    Metni 3D’ye itmek, renklendirmeden daha eğlenceli ve dağınık bir görünümü kabullenirseniz derinlikle ayrılmış yardımcı bilgi katmanları da eklenebilir. Emacs’te karakter başına derinlik olsa, LispM’de bile olmayan bir şey elde edilmiş olurdu
    Yine de kod metni gibi doğası gereği 3D olmayan şeylerin potansiyelini keşfederken, UX prototiplemesini ön plan/arka plan renkleri, yazı tipi, Unicode ve animasyonla yapmak çok daha kolay; tarayıcıdaysanız üst üste binen div’ler ve saydam 2D/3D canvas da yeterli

    • Tam çalışan bir 3D glif tabanlı metin işleme sistemi var ama insanların bakmasını sağlamak zor oldu
      Her karakter 3D’ye yerleştirilmiş bir quad ve instance rendering ile çiziliyor; bu yüzden on milyonlarcasını işleyebiliyor. Her karakter ayrı ayrı adreslenip değiştirilebiliyor; sanki farklı poligonlarmış gibi
      Bunu tüm bir GitHub deposunu tek seferde render etmek için kullanıyorum; hem yerel Apple sürümü hem de web sürümü var. Web sürümünde bir IDE düzeninin temel yapı taşları mevcut; fikirlerinizi ve görüşlerinizi duymak isterim
      https://ivanlugo.dev/ide
  • UNIX, REPL deneyimi açısından hâlâ Xerox iş istasyonlarını ya da tipik bir Lisp makinesini yakalamaya çalışıyor gibi görünüyor
    1981’de bile satır içi grafik vardı
    https://youtu.be/o4-YnLpLgtk?t=376

    • Bazen, 1968’deki Mother of all Demos içinde zaten çözülmüş UX’i hâlâ kovalamaya devam ediyormuşuz gibi geliyor
      Hâlâ izlemeyenler için: https://www.youtube.com/watch?v=yJDv-zdhzMY
    • Bu 3D değil
    • Ya da TempleOS var
  • Bunu beğendim. Terminalin yalnızca metni desteklemek zorunda olması için bir sebep yok
    Veri bilimi not defterleri, terminalin evrilebileceği yönlerden birini gösteriyor ve bu alanda çok ilginç şeyler oluyor. Kitty muhtemelen burada en agresif yenilikçi [1]
    Yalnız ortada bütünlüklü bir vizyon var mı emin değilim
    [1]: https://sw.kovidgoyal.net/kitty/protocol-extensions/

    • Aslında evrimleşmesi gerekmiyor. Benim projem euporie [1] ile veri bilimi not defterlerini grafik görüntü çıktıları, HTML, LaTeX ve daha fazlasıyla tamamen terminal içinde kullanabilirsiniz
      [1] https://github.com/joouha/euporie
    • pyvista kullanarak Kitty grafikleri üzerinden rastgele 3D şekilleri doğrudan terminalde render etmeyi başardım
      Devasa bir hack ve performans elde etmenin shm kullanmak dışında bir yolu yoktu
      https://git.theresno.cloud/panki/kglobe
    • Terry A Davis bunu zaten yapmıştı. O zaman da bugün olduğu kadar çılgıncaydı
    • Bu 3D grafikleri veri bilimi not defterleri, yerel LLM’ler, entegre kodlama araçları ve kişisel veriler üzerinde görünürlükle birleştirirseniz inanılmaz derecede harika bir şey çıkabilir
      Benim ideal bilişim geleceği olarak hayal ettiğim “haiku+macOS mashup”ını bile aşabilir
    • Acaba bu, terminaldeki küçük önizlemeler için de çalışabilir mi diye merak ediyorum
      Genelde dosya yöneticisini tıklayarak kullanmaktansa dosya sistemine terminalden göz atmayı tercih ediyorum; dizindeki 3D modelleri (STL/STEP, 3D baskı) terminal tabanlı render ile gösteren ızgara biçimli bir ls gerçekten çok faydalı olurdu
      Modelleri önizleyip döndürerek inceleyebilmek ekstra puan kazandırır
  • Bunun nerede işe yarayacağını pek bilmiyorum ama görsel efekt hoştu ve sitenin brütalist tasarımını da sevdim. Bana güzel eski günleri hatırlattı

  • Bu bayağı iyi görünüyor, değil mi?
    Bir sorum var. Render kabiliyeti açısından 2D’yi de iyi işlemesi gerekir gibi görünüyor; yoksa ben mi yanlış anladım? Terminalde yüksek kaliteli 2D görüntü ya da rasterizasyon elde etmeye yönelik mevcut çözümler genelde pek iyi değildi. Bunun başka çözümlerden daha iyi olup olamayacağını ya da bir yerde temel bir sınıra çarpıp çarpmadığını merak ediyorum
    Ayrıca GPU hızlandırma varsa ssh üzerinde bunun nasıl çalıştığını da merak ediyorum

    • Kitty grafik protokolü oldukça iyi ve Ghostty bunu tamamen uyguluyor
    • GPU tabanlı terminal emülatörleri zaten epey fazla. Aradığınız şey bu mu?
  • Terminal yavaş yavaş tam özellikli bir web tarayıcısına dönüşüyor

    • “Zaten hep öyleydi” mem’i birazdan gelir gibi. Daha ciddi konuşursak, araçların amacı işi halletmektir; dolayısıyla asıl soru, bunun yararlı bir araca dönüştürülüp dönüştürülemeyeceği
      Dürüst olmak gerekirse henüz bilmiyorum ama yakında kendim denemeyi düşünüyorum :D
    • İstediğiniz şey buydu işte…
      https://github.com/fathyb/carbonyl
    • Ya da terminal zaten tam özellikli bir web tarayıcısı olabilir
      https://hyper.is/
    • Gerçekten de öyle görünüyor
  • Terry’nin huzur içinde yatmasını dilerim. Asla unutulmasın
    Ek olarak, bu projeye bakınca onun ruhu yaşamaya devam ediyor gibi geliyor :D

  • Bunu görünce compiz çıktığında herkesin “pencerem bir küpün üstünde” ya da “sallanan pencerelere ihtiyacım var” dediği günleri hatırladım
    O yüzden ben de tam o tipe uygun şekilde bunu hemen kurdum

    • KDE Plasma’da bunu hâlâ yapabiliyorsunuz. Harika olduğu için sallanan pencereleri açık tutuyorum
    • O güzel günleri hatırlıyorum. compiz küpünün bir yüzünde, VirtualBox içinde çalışan Windows XP’ye özel bir masaüstüm vardı
      Tüm compiz animasyon efektleriyle Windows ve Ubuntu arasında geçiş yapmak sihir gibi hissettiriyordu
  • Bağlantısı verilen blog yazısı sayesinde yeni önerilen glif protokolünü [1] öğrenmiş oldum ve çok ilginç buldum
    Yaklaşık 6 ay önce tam da böyle bir şeyin eksikliğinden yakınmıştım [2]
    [1] https://rapha.land/introducing-glyph-protocol-for-terminals/
    [2] https://news.ycombinator.com/item?id=45805072

    • Katılıyorum. Asıl anahtar glifler
      https://github.com/tikimcfee/glyph3d-js
    • Güzel fikir. Son zamanlarda gördüğüm bazı terminal projelerinin aksine, terminalin neler yapabileceği fikrini tamamen yeniden icat etmeye kalkmadan sorunu ele alıyor
  • Kitty grafik protokolüyle bu zaten bir ölçüde mümkün. Kitty’de 3D grafik render etme demosu yapmıştım [1]
    Aslında eksik olan önemli parça vsync ve sanırım ratty’de de yok
    Render işlemi hizalanmazsa, uygulama framebuffer’a yazarken terminal emülatörü onu okuyabilir ve bu da görsel artefaktlara yol açabilir
    [1] https://x.com/zack_overflow/status/2035921425341763756?s=20

 
GN⁺ 3 시간 전
Lobste.rs görüşleri
  • Landing page'den LLM kokusu geliyordu; blog yazısına baktım, gerçekten de öyleymiş

    🐁: "Bu işte AI ne kadar rol oynadı?"

    AI destekli programlama konusundaki duruşum için şu blog yazısına bakabilirsiniz
    Kısacası dahil oldu, ama bunu benim "özensizce yaptığım" bir şey sayacak kadar değil
    Güzel, ama bu yanıt üretken yapay zekanın mevcut çalışmaları atıf yapmadan intihal etme eğilimini ya da diğer etik sorunları çözmüyor

    • Bence bu etiket, AI kullanımından ziyade vibe coding tartışmaları için daha uygun
      Kullanımın kendisini etiketleyeceksek projelerin %90'ına etiket koymamız gerekir ve sohbet de ortaya çıkan işin kendisinden uzaklaşır. Bir kişinin 3D fare gösterebilen bir terminal emülatörü hackleyip yapması hakkındaki bir başlığın etik tartışmasına dönmesini istemem
    • Fikir kaynağı olarak Terry Davis'i (Temple OS) ve Jeff Reeder, Jim Bergman, Mark Hayton'ı (RIPscript) kredilere eklemek gerektiğini mi düşünüyorsun?
    • İlk başta “güzelmiş, demek ki dostça bir rekabet doğuyor” diye düşündüm ama derine indikçe gülümsemem hayal kırıklığına dönüştü
      Hızlı bir wow etkisi için biraz 3D ekledim, ama bence amaç dikkatlice temelleri yeniden düşünmek olmalı. Deneyim başarısız olsa bile, insanlar için insani bir bakış açısıyla ürün yaptığımı söylemekten gurur duyuyorum
      Tabii bunu sadece eğlencesine yapıyorlarsa, bunda başlı başına bir sorun yok
    • Landing page'in hangi kısmının LLM hissi verdiğini merak ediyorum. Bana göre siyah arka plan dışında son 5-10 yılda gördüğümüz landing page'lerle neredeyse aynı görünüyor
  • Kaç kez okusam da hâlâ aşırı kafam karışıyor
    Bir yanım sixel ya da kitty gördüğümde olduğu gibi sürekli “neden?” diye düşünüyor. Temelde metin odaklı bir arayüze grafik katmanı eklemek havalı ama pratik görünmüyor. Elbette curses ya da slang için de aynı itiraz yapılabilir
    Öte yandan, bir 3D render protokolünü/ekranını bir şekilde Emacs'in içine sokmanın mümkün olup olmayacağını merak ediyorum. Ne yapacağım hakkında hiçbir fikrim yok ama bu projedeki gibi gerçekten çok havalı olabilir

  • Bir akşamüstümü harcayıp Haskell CAD framework'ümün Ratty'nin okuyabileceği şekilde nesneler çıktılamasını sağladım
    Harcadığım zamana göre oldukça umut verici göründü, ama “nesne yerleştirme” komutunun biraz daha yapılandırılabilir olmasını isterdim. REPL çıktısı içinde yer açma işini ve nesne ölçeklendirmeyi de kendi başına halletmesini beklerdim
    Ayrıca Ratty'nin assets klasörü dışındaki dosyaları yükleyememesi biraz can sıkıcı. Scroll da biraz bozuk gibiydi; nesnelerin kaybolması için erken sayılacak anlarda sık sık kaybolduğunu gördüm. Yine de buna benim yanlış yaptığım bir şey sebep olmuş olabilir