D2 एक आधुनिक, पाठ-आधारित उपकरण है जो स्पष्ट, पढ़ने योग्य आरेख बनाने के लिए है। इसका अर्थ है “घोषित आरेखण।” VPasCode में, D2 सॉफ्टवेयर विकासकर्ताओं और समाधान वार्डों को सरल कोड पाठ को साफ दृश्य मॉडल में बदलने की अनुमति देता है बिना आकृतियों को हाथ से बनाए।
1. मूल आकृतियाँ और संबंध
आकृतियाँ बनाने के लिए, बस उनके नाम टाइप करें। आकृतियों को जोड़ने के लिए, एक तीर का उपयोग करें (-> एक दिशा वाले या <-> दो दिशाओं वाले के लिए)।
# सरल संबंध
उपयोगकर्ता -> वेब सर्वर: HTTP अनुरोध
वेब सर्वर -> डेटाबेस: डेटा प्राप्त करें
डेटाबेस -> वेब सर्वर: परिणाम वापस करें
वेब सर्वर <-> कैश: पढ़ें/लिखें सिंक 
2. आकृति प्रकार और कस्टम लेबल
डिफ़ॉल्ट रूप से, आकृतियाँ मानक बॉक्स के रूप में दिखाई देती हैं। आप आसानी से एक आकृति के आइकन प्रकार को बदल सकते हैं या कस्टम लेबल सेट कर सकते हैं आकृति गुण।
# आकृति प्रकार परिभाषित करना
ग्राहक: {
आकृति: व्यक्ति
}
क्लाउड सेवाएँ: {
आकृति: बादल
}
मुख्य डेटाबेस: {
आकृति: सिलेंडर
लेबल: "प्राथमिक डेटाबेस (PostgreSQL)"
}
ग्राहक -> क्लाउड सेवाएँ -> मुख्य डेटाबेस 
3. क्लास परिभाषाएँ
D2 मूल रूप से ऑब्जेक्ट-ओरिएंटेड संरचना डिज़ाइन के लिए समर्थन करता है जिसमें क्लास आकृति का उपयोग किया जाता है।
ग्राहक खाता: {
आकृति: क्लास
खाता पहचान: स्ट्रिंग
ईमेल पता: स्ट्रिंग
सक्रिय है(): बूलियन
} 
4. नेस्टेड कंटेनर (समूहीकरण)
D2 मानक कुंजी बंद (“{“, “}”) का उपयोग करके कंटेनर के भीतर आइटम को एक साथ समूहीकृत करने में आसानी प्रदान करता है। आप बिंदु नोटेशन का उपयोग करके विभिन्न समूहों के बीच तत्वों को जोड़ सकते हैं।{}D2 मानक कुंजी बंद (“{“, “}”) का उपयोग करके कंटेनर के भीतर आइटम को एक साथ समूहीकृत करने में आसानी प्रदान करता है। आप बिंदु नोटेशन का उपयोग करके विभिन्न समूहों के बीच तत्वों को जोड़ सकते हैं।
# कंटेनर के साथ समूहीकरण
फ्रंटएंड एप्लिकेशन: {
रिएक्ट UI -> स्टेट मैनेजर
}
बैकएंड इंफ्रास्ट्रक्चर: {
API गेटवे -> ऑथ माइक्रोसर्विस
API गेटवे -> ऑर्डर माइक्रोसर्विस
}
# समूह के बीच कनेक्शन
फ्रंटएंड एप्लिकेशन.स्टेट मैनेजर -> बैकएंड इंफ्रास्ट्रक्चर.API गेटवे: REST कॉल 
5. शैली और रंग
कस्टम बैकग्राउंड रंग, स्ट्रोक रंग और फॉन्ट शैली को ब्लॉक के भीतर सीधे उपयोग करके कस्टमाइज़ किया जा सकता हैशैलीकीवर्ड।
सर्विस A: {
शैली: {
भरना: "#e0e7ff"
स्ट्रोक: "#4338ca"
सीमा-त्रिज्या: 8
}
}
सर्विस B: {
शैली: {
भरना: "#fef3c7"
स्ट्रोक: "#d97706"
}
}
सर्विस A -> सर्विस B: संदेश भेजें 
6. त्वरित सिंटैक्स चेट शीट
| अवधारणा | कोड उदाहरण | यह क्या करता है |
|---|---|---|
| दिशात्मक कनेक्शन | A -> B |
A से B की ओर इशारा करते हुए एक तीर खींचता है। |
| लाइन लेबल | A -> B: डेटा भेजें |
कनेक्शन तीर के ऊपर टेक्स्ट जोड़ता है। |
| द्विदिशात्मक तीर | A <-> B |
दोनों दिशाओं में इशारा करते हुए एक तीर खींचता है। |
| कंटेनर / समूह | सर्वर: { ... } |
एकल बॉक्स में कई आकृतियों को समूहित करता है। |
| आकृति चयन | आकृति: सिलेंडर |
मानक बॉक्स को डेटाबेस आइकन, व्यक्ति, बादल, कक्षा आदि में बदलता है। |
| टिप्पणियाँ | # मेरी टिप्पणी |
एकल पंक्ति टिप्पणियाँ रेंडरिंग के दौरान नजरअंदाज की जाती हैं। |