D2 , alat diagram-sebagai-kod yang popular, telah mengeluarkan versi 0.7.1 yang menampilkan keupayaan output teks ASCII . Ciri baharu ini membolehkan pembangun menjana diagram berasaskan teks yang boleh dibenamkan terus dalam komen kod sumber dan dokumentasi.
Rendering ASCII Membawa Diagram ke Fail Teks
Kemas kini terkini memperkenalkan cara mudah untuk mencipta diagram ASCII dengan menggunakan sambungan fail .txt
. Apabila pengguna menjalankan d2 in.d2 out.txt
, alat ini secara automatik beralih ke mod rendering ASCII . Ciri ini menyokong kedua-dua aksara lukisan kotak Unicode secara lalai dan aksara ASCII standard untuk keserasian maksimum merentas sistem yang berbeza.
Renderer ASCII berfungsi dengan mengecilkan susun atur daripada enjin susun atur ELK dan menggunakan pasca-pemprosesan untuk menjadikan output lebih padat. Pendekatan ini memungkinkan untuk memasukkan diagram visual di tempat-tempat di mana format imej tradisional tidak akan berfungsi, seperti komen kod atau dokumentasi teks biasa.
Arahan Output ASCII D2
- Penggunaan asas:
d2 in.d2 out.txt
- Mod ASCII standard:
d2 in.d2 out.txt --ascii-mode=standard
- Lalai: Aksara lukisan kotak Unicode
- Sambungan fail:
.txt
secara automatik mencetuskan perenderan ASCII
Komuniti Menemui Isu Playground
Pengguna awal dengan cepat mengenal pasti masalah dengan ciri baharu ini. Pengguna melaporkan bahawa output ASCII muncul sebagai teks hitam pada latar belakang hitam apabila menggunakan mod gelap dalam playground D2 , menjadikan diagram benar-benar tidak kelihatan. Pasukan pembangunan mengakui kesilapan ini dan sedang berusaha untuk menyelesaikannya.
Walaupun terdapat isu mod gelap, pembangun menunjukkan minat terhadap potensi ciri ini untuk dokumentasi kod. Keupayaan untuk menggantikan penerangan teks yang panjang dengan aliran visual yang jelas terus dalam komen kod sumber boleh meningkatkan kebolehbacaan kod dengan ketara.
Versi Berasaskan Pelayar Kini Tersedia
Perkembangan menarik muncul daripada perbincangan komuniti mengenai keupayaan web D2 . Alat ini kini berjalan sepenuhnya dalam pelayar melalui d2.js , port WebAssembly yang menghapuskan keperluan untuk pelayan backend. Perubahan ini menangani batasan sebelumnya di mana playground dalam talian memerlukan pemprosesan sisi pelayan untuk penjanaan diagram.
Batasan ASCII Renderer
- Gaya: Tiada sokongan untuk animasi, fon, tema
- Jarak: Jarak tidak sekata disebabkan koordinat diskret
- Kemungkinan masa hadapan: Warna untuk output terminal, sempadan berganda, pelbagai gaya
- Status: Peringkat alpha dengan laporan pepijat yang aktif
Batasan Semasa dan Rancangan Masa Depan
Renderer ASCII kekal dalam peringkat alpha dengan beberapa batasan yang diketahui. Ciri gaya seperti animasi, fon, dan tema tidak disokong, walaupun beberapa pilihan penggayaan asas seperti warna untuk output terminal mungkin ditambah dalam keluaran masa depan. Ruang koordinat diskret rendering ASCII juga boleh mengakibatkan jarak yang tidak sekata berbanding dengan output SVG .
Pasukan pembangunan sedang aktif mengumpul maklum balas dan laporan pepijat sambil mereka berusaha untuk meningkatkan kestabilan ciri ini dan mengembangkan keupayaannya.
ASCII: American Standard Code for Information Interchange - standard pengekodan aksara untuk teksWebAssembly (WASM): Format arahan binari yang membolehkan kod berjalan dalam pelayar web pada kelajuan hampir-natif
Rujukan: ASCII output