4 poin oleh GN⁺ 2025-08-20 | Belum ada komentar. | Bagikan ke WhatsApp
  • Pada D2 versi 0.7.1, ditambahkan fitur untuk merender diagram teks ke ASCII
  • Dengan diagram ASCII sederhana di komentar kode, alur fungsi atau kelas bisa dijelaskan
  • Secara default menggunakan karakter Unicode, tetapi dapat memilih ASCII standar melalui flag opsi
  • Fitur ini masih dalam tahap alfa, sehingga sebagian style, karakter khusus, dan bentuk tertentu belum didukung
  • Rendering ASCII dapat dicoba langsung di D2 Playground dan ekstensi Vim

Pengenalan rendering ASCII di D2

Mulai dari rilis terbaru D2 (versi 0.7.1), ditambahkan fitur output ASCII untuk diagram teks.
File output dengan ekstensi .txt akan otomatis dirender menggunakan renderer ASCII.
Contohnya bisa dilihat di ekstensi Vim D2, dan saat membuka file .d2 serta menyimpannya melalui jendela pratinjau, hasil diagram ASCII dapat dipantau secara real-time.

Pemanfaatan dalam dokumentasi kode

Diagram ASCII paling praktis saat disisipkan ke dalam komentar source code

  • Jika menambahkan diagram sederhana di samping fungsi atau kelas kecil, pemahaman kode dapat terbantu secara lebih intuitif dibanding penjelasan alur biasa
  • Di ekstensi Vim, Anda dapat menulis kode D2 lalu langsung mengubah area yang dipilih menjadi diagram ASCII

Memilih Unicode atau ASCII standar

Rendering ASCII bawaan menggunakan karakter box-drawing Unicode untuk memberikan output yang lebih enak dilihat

  • Jika menginginkan portabilitas maksimum, Anda juga bisa merender dengan karakter ASCII biasa melalui flag opsi --ascii-mode=standard

Keterbatasan saat ini

Fitur rendering ASCII ini masih dalam tahap alfa

  • Bisa ada banyak corner case, area yang perlu ditingkatkan, dan bug
  • Pengguna didorong untuk mengirim laporan bug atau masukan melalui situs web

Batasan utama

  • Style belum didukung
    • Animasi, font, dan sejenisnya tidak bermakna dalam ASCII
    • Ke depannya akan dipertimbangkan dukungan untuk sebagian style terbatas seperti warna terminal
    • Tema juga belum didukung
    • double-border, multiple, dan sebagainya masuk dalam daftar peningkatan untuk masa depan
  • Jarak yang tidak seragam
    • Dalam proses konversi ke ASCII, penempatan kotak bisa menjadi lebih tidak teratur dibanding SVG
  • Objek yang tidak dapat dirender
    • Dukungan untuk teks khusus seperti Markdown, Latex, dan kode belum diimplementasikan
    • Gambar dan ikon, kelas UML, tabel SQL, dan sebagainya tidak dapat dirender
    • Untuk item-item ini, nantinya akan diputuskan apakah akan dihapus atau ditampilkan sebagai placeholder
  • Sebagian bentuk belum didukung
    • Bentuk melengkung seperti cloud dan lingkaran sulit direpresentasikan dengan baik dalam ASCII
    • Bentuk tersebut akan diganti dengan persegi panjang, lalu dibedakan tipenya lewat ikon kecil di kiri atas

Coba langsung

Fitur ini bisa langsung digunakan di D2 Playground

  • Anda dapat membuka blok kode yang disediakan dan mencoba sendiri rendering ASCII

Belum ada komentar.

Belum ada komentar.