Show HN: Reladraw – एक डायग्राम भाषा जहाँ आप तय करते हैं कि चीज़ें कहाँ रखें
Reladraw नाम की एक नई diagramming भाषा Mermaid, Graphviz, और D2 जैसे auto-layout टूल्स तथा draw.io जैसे manual टूल्स के बीच की खाई पाटने का प्रयास करती है, जिसमें लेखक “right of,” “below,” और edge sides जैसी relative positioning निर्दिष्ट कर सकते हैं, जबकि engine arithmetic और routing संभालता है। टिप्पणीकार इसकी intent की स्पष्टता, fine-grained control, और AI agents के लिए deterministic layouts की उपयोगिता की प्रशंसा करते हैं, साथ ही इसे Pikchr, TikZ, PlantUML, और C4 modeling जैसी प्रणालियों से तुलना करते हैं। मुख्य feature requests और शुरुआती सुधार edge routing, themes, multiline तथा macro-like constructs, और editors व markdown workflows में integration पर केंद्रित हैं।
समग्र प्रतिक्रिया
- कई टिप्पणीकार उत्साहित हैं; कई का कहना है कि यह auto-layout टूल्स (Mermaid, Graphviz, D2) और manual टूल्स (Draw.io, Excalidraw) के बीच लंबे समय से मौजूद एक खाली जगह को भरता है।
- आम दर्द-बिंदु: मानसिक चित्र से मिलाने के लिए layout engines से जूझना; Reladraw की स्पष्ट relative placement को एक राहत माना जा रहा है।
- कुछ लोग कहते हैं कि वे इसे वास्तविक काम के diagrams में आज़माएँगे या इसे note-taking/IDE workflows (Obsidian, VS Code, IntelliJ) में एकीकृत करेंगे।
मौजूदा टूल्स से तुलना
- Pikchr और pic की तुलना में: वे “turtle graphics” या coordinate/offset आधारित हैं; Reladraw constraint-/relationship-based है (जैसे, “right of A”)।
- Mermaid/Graphviz/D2 की तुलना में: वे layout स्वतः तय करते हैं; Reladraw users/agents को placement तय करने देता है, लेकिन arithmetic और collision spacing फिर भी संभालता है।
- TikZ/PlantUML की तुलना में: TikZ अधिक शक्तिशाली है लेकिन LaTeX-भारी है; PlantUML लचीला है लेकिन फिर भी layout‑hint आधारित है। Reladraw का लक्ष्य एक संकीर्ण, अधिक प्रत्यक्ष diagram DSL है।
- कुछ लोग कहते हैं कि D2 का TALA पहले से advanced constrained layout देता है, लेकिन अन्य लोगों को लगता है कि यह अभी भी Reladraw जैसी deterministic control नहीं देता।
भाषा डिज़ाइन और क्षमताएँ
- nodes, edges, और सरल relative relations (left/right/below/of) पर ज़ोर।
- Edges में right angles (sharp/rounded), styles (solid/dashed/dotted), thickness, और side-specific ports के साथ एक ही side पर multiple edges के बीच spacing का समर्थन है।
- टकराती या अस्पष्ट constraints स्पष्ट errors पैदा करती हैं, silent overrides नहीं; strict errors बनाम warnings और sensible defaults पर बहस है।
- वर्तमान दर्शन: blocks नहीं, multi-line statements नहीं; कई टिप्पणीकार line continuations और multi-line/long labels मांगते हैं, parser trade-offs का उल्लेख करते हुए।
- नियोजित features: custom attributes, variables, functions, संभावित parameters वाले macros, और बेहतर reuse mechanisms (जैसे sequence/C4-style diagrams के लिए)।
- बाहरी data (CSV/JSON) से parameterization और अधिक programmatic generation पर चर्चा।
Routing, themes, और bugs
- पूर्ण obstacle-avoiding auto-routing नहीं है, लेकिन edges nodes के बीच से “pass between” कर सकते हैं; कुछ users कम routing micromanagement चाहते हैं।
- Right-angle और curved edge behavior पर काम जारी है; edge curvature और themes में bugs रिपोर्ट हुए और जल्दी ठीक किए गए।
- कई themes (light/dark, जिसमें “Vesper”-जैसी एक theme भी शामिल है) अब मौजूद हैं; शुरुआत में Safari/theming glitches नोट किए गए।
Ecosystem और integration
- Rendering और syntax highlighting के लिए VS Code extension पहले से मौजूद है।
- GitHub पर
mermaidजैसी Markdown embedding फिलहाल संभव नहीं है; local tools plugins के माध्यम से इसे सपोर्ट कर सकते हैं। - CLI अभी rendered diagrams output करता है, लेकिन एक ऐसे mode में रुचि है जो केवल resolved positions (JSON) output करे ताकि अन्य renderers/backends इस्तेमाल किए जा सकें।
- Implementation TypeScript/Node में है; कुछ लोग छोटे, dependency‑free binaries चाहते हैं। scriptc और Deno जैसे tools के साथ experiments का उल्लेख है, binary size में trade-offs के साथ।
AI/agents और workflow
- कई टिप्पणीकार स्पष्ट रूप से इसे एक “agent-friendly” diagram DSL के रूप में चाहते हैं: agents coordinates का अनुमान लगाने या auto-layout से लड़ने के बजाय relative layout व्यक्त कर सकते हैं।
- कुछ लोग और भी अधिक “visual-first” approaches (pure visual programming/UML) के पक्ष में तर्क देते हैं, जबकि अन्य बताते हैं कि Draw.io या Graphviz को agents के साथ चलाकर अच्छे नतीजे मिलते हैं।
- एक व्यक्ति नोट करता है कि अब वे अक्सर frontier models से सीधे SVG output करवाते हैं, लेकिन अन्य लोग reproducibility और control के लिए एक stable DSL को मूल्यवान मानते हैं।
आलोचनाएँ और संदेह
- कुछ लोगों को लगता है कि लंबी labels और जटिल layouts के लिए syntax और constraints तब तक बोझिल हो सकते हैं जब तक multiline/continuation नहीं जोड़ा जाता।
- भाषा fragmentation को लेकर चिंताएँ हैं बनाम Mermaid या D2 को extend करना; अन्य लोग सोचते हैं कि auto-layout और strong constraints को मिलाना बहुत जटिल होगा।
- एक टिप्पणीकार परियोजना के मूल्य पर सवाल उठाता है यदि बड़े हिस्से LLM-generated लगते हैं, और distrust व्यक्त करता है; अन्य लोग इस रुख का विरोध करते हैं।
- कुल मिलाकर, concept को लेकर उत्साह और यह समझ—दोनों हैं कि ergonomics, reuse, और ecosystem support दीर्घकालिक adoption तय करेंगे।