· kaynak Hacker News – Front Page (native)
Terrastruct, TALA diyagram otomatik yerleşim algoritmasını MPL-2.0 ile açık kaynak yaptı
Terrastruct, yazılım mimarisi diyagramları için geliştirdiği ortogonal otomatik yerleşim motoru TALA'yı MPL-2.0 lisansıyla açık kaynak yaptı. D2 v0.9.0 ile birlikte geliyor ve yapay zeka ajanlarıyla diyagram üretimine yönelik sabitlenebilir node koordinatlarını destekliyor.

Terrastruct, TALA'yı MPL-2.0 lisansıyla yayınladı
Terrastruct, otomatik diyagram yerleşim motoru TALA'yı, D2 diagram-as-code dili için de kullanılan Mozilla Public License 2.0 lisansıyla açık kaynak yaptı. Hacker News'in ana sayfasına çıkan D2 blogundaki duyuruya göre algoritma, D2 v0.9.0 ile birlikte geliyor ve --layout=tala bayrağıyla etkinleştirilebiliyor. Ayrıca tamamen istemci tarafında çalışan D2 tarayıcı playground'unda da kullanılabiliyor.
Mimari diyagramlar için ortogonal bir motor
TALA — Terrastruct's AutoLayout Algorithm — genel amaçlı grafikler değil, yazılım mimarisi diyagramları için geliştirildi. D2 blogu, onu özünde ortogonal bir yerleşim motoru olarak tanımlıyor: kenarlar dik açılarla dönüyor ve node'lar iki boyutlu yer kaplıyor; sistemlerin beyaz tahtaya çizilişine daha yakın bir yaklaşım bu. Bu, D2 ile birlikte gelen ve grafikleri tek yönde uzanacak şekilde yerleştiren DAG odaklı Dagre ve ELK motorlarına bilinçli bir tezat oluşturuyor.
Uygulama, kaynak kodunda atıf yapılan grafik çizimi araştırma makalelerinden ödünç alınan teknikleri özgün çalışmalarla harmanlıyor. Tek bir metriği optimize etmek yerine, aday yerleşimleri ekibin estetik dediği birkaç ölçüte göre değerlendiriyor: simetri, medyan mesafe, akış ve benzer node'ların gruplanması gibi. Karşılaştırmayı somutlaştırmak için yazıda, GitHub'da bulunan herkese açık D2 dosyaları için TALA ile üretilmiş diyagramlar Dagre ve ELK çıktılarının yanında gösteriliyor. Yazar, bunların özenle seçilmediğini ve bazı okurların tek tek örneklerde TALA dışı yerleşimi tercih edebileceğini belirtiyor.
Sabitlenebilir koordinatlar, yapay zeka ajanları dahil
TALA'nın en ayırt edici özelliği, node konumlarının ve boyutlarının özelleştirilebilmesi: koordinatlar sabitlenip kenarların motor tarafından bunların etrafından yönlendirilmesi sağlanabiliyor. Blog bunu, yapay zeka ajanı kullanım senaryoları için öne çıkarıyor; dil modelleri öğneleri iki boyutlu uzayda makul biçimde yerleştirebiliyor ama yönlendirmede hâlâ zorlanıyor — TALA'nın devraldığı iş tam olarak bu.
Hibrit mod daha da ileri giderek açık koordinatlı node'lar ile tamamen yerleşim motoruna bırakılan node'ları bir arada kullanıyor. Yazıdaki örnek diyagramlar, küçük bir node grubunu bilinçli bir düzende sabitliyor — bir hat üzerinde tutulan yazıcı istasyonları, şasinin köşelerine sabitlenmiş motor takımları — geri kalan her şey otomatik yerleştiriliyor. Bu konumlandırma örneklerinin bir kısmı yapay zeka ile üretilmiş.
Bedelleri
Duyuru, TALA'nın zayıf kaldığı noktalar konusunda alışılmadık ölçüde açık:
- Düzenlemeler arasında belirsizlik. Algoritma rastgele tohumlarla — varsayılan olarak üç tane — arama yapıyor ve en yüksek puanlı sonucu tutuyor. Aynı tohumlar ve girdiler her zaman aynı diyagramı üretir, ancak tek bir node eklemek tüm yerleşimi değiştirebilir. Dagre ve ELK ise yeni bir node'u minimum aksamayle içine alıyor; yazar bazen bunu tercih ettiğini söylüyor.
- Uzun akış grafiklerinde daha zayıf. Uzun, DAG tarzı diyagramlarda yazar çoğu zaman hâlâ Dagre veya ELK'e yöneliyor.
- Runtime. TALA büyük diyagramlarda daha uzun sürebiliyor; runtime doğrusal olmayan biçimde artıyor. Karşılaştırmalı benchmark'lar GitHub'daki d2lang/d2-benchmarks deposunda yayımlanmış durumda.
Nasıl edinilir
D2 kullanıcıları için TALA ayrı bir kurulum gerektirmiyor: D2 v0.9.0 ile birlikte geliyor ve --layout=tala ile seçiliyor. D2 sitesindeki playground onu tarayıcıda çalıştırıyor. Yazı, TALA genelindeki kapsamlı katkılarından dolayı Gavin Nishizawa'ya ve hiyerarşi algoritmalarındaki çalışmalarından dolayı Júlio César Batista'ya teşekkür ediyor; kod açık olduğu için ekip topluluktan gelecek iyileştirmeler bekliyor.
Neden önemli
Otomatik yerleşim sessizce zor bir problem ve diyagram araçlarının çoğu aynı küçük akademik motor kümesine bel bağlı. İzin verici bir lisansla yayınlanan ortogonal ve estetik odaklı bir motor, araç ekosistemine gerçekten farklı bir seçenek sunuyor — kenarları güvenilir biçimde yönlendiremeyen ama diyagram üreten yapay zeka ajanları için de. En az bunun kadar değerli olan samimiyet: artımlı düzenlemeler, uzun DAG'ler ve büyük girdilerdeki belgelenmiş zayıflıklar ve yayımlanmış benchmark'lar, olası kullanıcıların karar vermeden önce uygunluğu değerlendirmesini sağlıyor. MPL-2.0 yürürlükte olduğuna göre, merak edilen şu: diğer araçlar TALA'yı doğrudan gömme yoluna gidecek mi?
- #open-source
- #diagramming
- #d2
- #graph-layout
- #developer-tools
İlgili yazılar
- Engrim, yapay zekâ kodlama ajanları için paylaşımlı yerel SQLite bellek deposu sunuyor
- Trail of Bits, Claude Code ve Codex'i tek kullanımlık VM'lerde çalıştıran Rust tabanlı Coop CLI aracını yayınladı
- Flame IDE, çoklu repo projelerini, Git worktree'leri ve AI ajanlarını tek bir ücretsiz çalışma alanında birleştiriyor